
:root{
  --brand:#1b623e;
  --brand-dark:#115333;
  --brand-mid:#2b8a57;
  --brand-soft:#eaf5ed;
  --brand-soft-2:#d7ecdc;
  --ink:#102a22;
  --muted:#61736d;
  --line:#d7e1dc;
  --bg:#f5f8f6;
  --white:#fff;
  --warning:#a86b00;
  --warning-bg:#fff6df;
  --danger:#a43c3c;
  --danger-bg:#fff0f0;
  --shadow:0 10px 35px rgba(22,62,45,.09);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px}
a{color:#1265b0}
.site-header{height:90px;background:#fff;border-bottom:2px solid #36a968;display:flex;align-items:center}
.site-header .container-fluid{display:flex;align-items:center;justify-content:space-between}
.brand-wrap{display:flex;align-items:center;gap:13px}
.brand-mark{width:48px;height:48px;border-radius:11px;background:linear-gradient(145deg,#79ce35,#27a85e);display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.08)}
.brand-mark.small{width:38px;height:38px;border-radius:9px;font-size:20px}
.brand-title{font-weight:800;font-size:24px;letter-spacing:-.5px;color:var(--brand-dark)}
.brand-subtitle{font-size:14px;color:#356f53}
.language-switch{display:flex;align-items:center;gap:14px;font-size:16px}.language-switch i{font-size:20px}.language-switch .divider{height:24px;border-left:1px solid #b9c7c0}
.login-hero{min-height:720px;background:radial-gradient(circle at 25% 30%,#f4fbf5 0,#eaf5ed 38%,#dff0e3 100%);padding:38px 0 20px;position:relative;overflow:hidden}
.login-hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-100px;height:220px;background:linear-gradient(170deg,#d7ecdc,#c5e4ce);border-radius:50% 50% 0 0/40% 40% 0 0;opacity:.85}
.hero-copy{padding:25px 3% 50px 5%;position:relative;z-index:1}
.hero-copy h1{font-size:42px;line-height:1.2;color:var(--brand-dark);font-weight:800;letter-spacing:-1px}
.lead-copy{font-size:22px;line-height:1.55;max-width:720px;color:#172c3b;margin:25px 0 30px}
.benefits{display:grid;gap:18px;max-width:620px}.benefit{display:flex;align-items:center;gap:20px}.benefit-icon{width:66px;height:66px;border-radius:50%;background:#d1ebd5;display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:30px;flex:none}.benefit h3{margin:0;color:var(--brand-dark);font-size:22px}.benefit p{margin:2px 0 0;font-size:16px}
.login-card{background:rgba(255,255,255,.98);border:1px solid rgba(25,86,54,.08);border-radius:14px;padding:30px 34px;box-shadow:var(--shadow);position:relative;z-index:2}
.login-card h2{font-size:32px;color:var(--brand-dark);font-weight:800;margin-bottom:3px}
.form-label{font-weight:700;color:#104a32;margin-bottom:7px}.form-control,.form-select{border-color:#cbd8d2;min-height:46px}.form-control:focus,.form-select:focus{border-color:#38a866;box-shadow:0 0 0 .2rem rgba(56,168,102,.13)}
.input-group-text{background:#fff;border-color:#cbd8d2;color:#73817d}.input-group .form-control{border-left:0}.input-group .input-group-text:first-child{border-right:0}.password-toggle{border-color:#cbd8d2}
.help-dot{width:18px;height:18px;border:1px solid #6f8379;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#4d6459}
.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.role-card{background:#fff;border:1px solid #cbd8d2;border-radius:9px;padding:14px 8px;min-height:105px;color:#173a2c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:700}.role-card i:first-child{font-size:26px;color:#315766}.role-card small{color:#778982}.role-card.active{border:2px solid #1eaa62;background:#f1faf4}.role-card.active i:first-child,.role-card.active small{color:#15804a}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700;border-radius:7px}.btn-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.btn-outline-brand{border:1px solid var(--brand);color:var(--brand);background:#fff;font-weight:700;border-radius:7px}.btn-outline-brand:hover{background:var(--brand-soft);color:var(--brand-dark);border-color:var(--brand)}
.notice-strip{background:#fff;padding:25px 4%;position:relative;z-index:3}.notice-inner{border:1px solid #cfdde8;border-radius:10px;display:flex;align-items:center;min-height:66px;overflow:hidden}.notice-label{display:flex;align-items:center;gap:12px;background:#f5f9fd;padding:0 25px;color:#1265b0;font-size:17px;height:66px}.notice-date{padding:0 26px;color:#3b5268;white-space:nowrap}.notice-text{flex:1;color:#334e66}.notice-inner>a{padding:0 24px;text-decoration:none;white-space:nowrap}
.site-footer{background:#11623e;color:#fff;padding:26px 0}.footer-links{display:flex;gap:16px;align-items:center}.footer-links a{color:#fff;text-decoration:none}.footer-brand{display:flex;flex-direction:column;text-align:right}.footer-brand small{opacity:.85;margin-top:3px}
.app-navbar{height:70px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1030}.navbar-brand{display:flex;align-items:center;gap:10px;color:var(--brand-dark)}.navbar-brand span:last-child{display:flex;flex-direction:column;line-height:1.1}.navbar-brand small{font-size:11px;color:var(--muted);margin-top:3px}
.sidebar-toggle,.icon-btn{border:0;background:transparent;color:var(--brand);font-size:22px}.icon-btn{position:relative;width:42px;height:42px;border-radius:50%}.icon-btn:hover{background:var(--brand-soft)}.notification-badge{position:absolute;top:2px;right:1px;background:#d94d4d;color:#fff;border-radius:20px;font-size:10px;min-width:17px;height:17px;display:flex;align-items:center;justify-content:center}.profile-chip{border:0;background:#f2f7f4;border-radius:22px;padding:4px 10px 4px 5px;display:flex;align-items:center;gap:8px;color:var(--ink)}.avatar{width:32px;height:32px;border-radius:50%;background:#cce8d4;color:var(--brand-dark);display:inline-flex;align-items:center;justify-content:center;font-weight:800}.avatar.large{width:70px;height:70px;font-size:25px}
.app-layout{display:flex;min-height:calc(100vh - 70px)}.sidebar{width:250px;background:#fff;border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;flex:none}.sidebar-role{padding:0 9px 12px}.role-pill{display:inline-flex;align-items:center;border-radius:30px;padding:6px 12px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:800}.nav-section{font-size:10px;font-weight:800;color:#8b9a94;letter-spacing:1px;padding:17px 10px 7px}.nav-section.common{margin-top:10px}.nav-link{color:#486057;border-radius:8px;margin:2px 0;padding:10px 12px;display:flex;align-items:center;gap:11px;cursor:pointer;text-decoration:none}.nav-link i{width:19px;text-align:center}.nav-link:hover,.nav-link.active{background:var(--brand-soft);color:var(--brand-dark);font-weight:700}.nav-badge{margin-left:auto;background:#e85c5c;color:#fff;border-radius:12px;padding:1px 6px;font-size:10px}.logout-link{margin-top:5px}.sidebar-bottom{margin-top:auto;padding:18px 10px 3px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px;color:#85938d;font-size:10px}
.main-content{flex:1;padding:30px 34px;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.breadcrumb-lite{font-size:12px;color:#83938c;margin-bottom:5px}.page-header h1{font-size:29px;letter-spacing:-.4px;margin:0;color:var(--brand-dark);font-weight:800}.page-header p{color:var(--muted);margin:6px 0 0}.progress-card,.section-card,.filter-card,.metric-card,.stat-card{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 15px rgba(20,60,42,.035)}.progress-card{padding:24px}.progress-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.progress-percent{font-size:24px;font-weight:800;color:var(--brand)}.progress{height:10px;background:#e7eee9;border-radius:10px}.progress-bar{background:var(--brand);border-radius:10px}.stat-card{padding:20px;height:100%;display:flex;flex-direction:column;gap:5px}.stat-card span,.metric-card span{font-size:13px;color:var(--muted)}.stat-card strong,.metric-card strong{font-size:24px;color:var(--brand-dark)}.stat-card small,.metric-card small{color:#7c8c85}.section-card{padding:23px}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px}.section-title h2,.section-card h2{font-size:19px;color:var(--brand-dark);font-weight:800;margin:0}.section-title p{margin:4px 0 0;color:var(--muted);font-size:13px}
.step-list{border-top:1px solid var(--line)}.step-row{display:flex;align-items:center;gap:15px;padding:15px 4px;border-bottom:1px solid var(--line)}.step-row>div{flex:1}.step-number{width:31px;height:31px;border-radius:50%;border:1px solid #cbd8d2;display:flex;align-items:center;justify-content:center;color:#718078;flex:none}.step-row.done .step-number{background:#d8efde;border-color:#b8dfc3;color:#1d8650}.step-row.active{background:#f5faf6}.step-row.active .step-number{background:var(--brand);border-color:var(--brand);color:#fff}.step-row strong{display:block}.step-row small{display:block;color:var(--muted);margin-top:2px}.step-state{font-size:12px;color:#7a8a83}.step-row.active .step-state{color:var(--brand);font-weight:700}
.wizard-shell{max-width:980px;margin:auto}.wizard-progress{display:flex;align-items:flex-start;justify-content:center;margin-bottom:24px}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:6px;color:#7c8b85;min-width:65px}.wizard-step span{width:32px;height:32px;border-radius:50%;border:1px solid #cbd8d2;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.wizard-step small{font-size:11px}.wizard-step.done span{background:#d8efde;border-color:#b8dfc3;color:var(--brand)}.wizard-step.current span{background:var(--brand);border-color:var(--brand);color:#fff}.wizard-step.current small{color:var(--brand);font-weight:700}.wizard-line{height:1px;background:#d7e1dc;flex:1;margin:16px 4px 0}.wizard-line.done{background:#6fc18d}.wizard-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px}.step-kicker{font-size:11px;letter-spacing:1px;font-weight:800;color:var(--brand);margin-bottom:5px}.wizard-card h2{color:var(--brand-dark);font-size:26px;font-weight:800}.question-card{border:1px solid var(--line);border-radius:9px;padding:18px;margin:16px 0}.choice-row{display:flex;gap:12px}.choice{border:1px solid var(--line);border-radius:8px;padding:12px 18px;min-width:120px;cursor:pointer}.choice:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.form-hint{font-size:12px;color:#718079;margin-top:7px}.alert-soft{background:var(--brand-soft);border:1px solid #c9e6d1;color:#285d43;display:flex;gap:10px}.alert-warning-soft{background:var(--warning-bg);border:1px solid #f0d99a;color:#795514}.wizard-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}
.required-banner{display:flex;gap:12px;background:#f4f9f5;border:1px solid #cfe5d5;padding:14px;border-radius:8px;margin-bottom:15px;color:var(--brand-dark)}.required-banner small{display:block;color:var(--muted);margin-top:2px}.document-row{display:flex;align-items:center;gap:13px;border:1px solid var(--line);padding:14px;border-radius:8px;margin:9px 0}.document-row>div:nth-child(2){display:flex;flex-direction:column}.document-row small{color:var(--muted);font-size:12px}.doc-icon{width:38px;height:38px;border-radius:7px;background:#edf5ef;display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:21px}.upload-drop{border:1.5px dashed #a9c7b3;border-radius:9px;min-height:150px;margin-top:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--muted);background:#fbfdfb}.upload-drop i{font-size:32px;color:var(--brand)}.upload-drop strong{color:var(--ink)}.upload-drop.compact{min-height:190px}
.review-section{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.review-section>div:first-child{display:flex;justify-content:space-between}.review-section h3{font-size:16px;color:var(--brand-dark);font-weight:800}.link-btn{border:0;background:transparent;color:#1265b0;font-weight:700}.review-grid{display:grid;grid-template-columns:180px 1fr;margin:0}.review-grid dt,.review-grid dd{padding:8px 0;margin:0}.review-grid dt{color:var(--muted)}.confirm-check{background:#f4f9f5;border:1px solid #cfe5d5;padding:15px;border-radius:8px}
.complete-card{max-width:700px;margin:50px auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);text-align:center;padding:50px 30px}.complete-icon{width:80px;height:80px;border-radius:50%;background:#d8efde;color:#1d8650;font-size:45px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.complete-card h1{color:var(--brand-dark);font-weight:800}.completion-reference{background:#f5faf6;border:1px solid #d1e6d7;border-radius:9px;padding:18px;margin:25px auto 0;max-width:400px;display:flex;flex-direction:column;gap:4px}.completion-reference span{font-size:12px;color:var(--muted)}.completion-reference strong{font-size:20px;color:var(--brand)}
.status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:800;white-space:nowrap}.status-badge.success{background:#e2f4e6;color:#217343}.status-badge.warning{background:#fff2d1;color:#8a5d09}.status-badge.danger{background:#fde4e4;color:#a13e3e}.metric-card{padding:19px;display:flex;flex-direction:column;gap:4px}.metric-card.warning strong{color:#986b10}.metric-card.success strong{color:#247b46}.metric-card.danger strong{color:#a43c3c}.app-table th{font-size:12px;color:#708078;background:#f7faf8;border-bottom-color:var(--line)}.app-table td{border-bottom-color:var(--line)}.app-table td small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.mini-progress{width:90px;height:7px;background:#e7eee9;border-radius:10px}.mini-progress span{height:100%;display:block;background:var(--brand);border-radius:10px}.filter-card{padding:16px;margin-bottom:18px}.file-result{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:8px}.file-result>i{font-size:32px;color:var(--brand)}.file-result>div{display:flex;flex-direction:column}.file-result small{color:var(--muted)}.shortcut-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.shortcut-grid button{border:1px solid var(--line);background:#fff;border-radius:9px;text-align:left;padding:18px;display:flex;flex-direction:column;gap:5px}.shortcut-grid button:hover{border-color:#8ac5a0;background:#f7fbf8}.shortcut-grid i{font-size:25px;color:var(--brand)}.shortcut-grid small{color:var(--muted)}.permission-table th{font-size:12px;color:#718078;background:#f7faf8}.permission-table td:not(:first-child),.permission-table th:not(:first-child){text-align:center}.profile-head{display:flex;align-items:center;gap:15px;padding:12px 0 18px;border-bottom:1px solid var(--line)}.profile-head h3{margin:0 0 7px;color:var(--brand-dark)}.notification-list{max-width:900px}.notification-item{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px;display:flex;gap:13px;margin-bottom:10px}.notification-item.unread{border-left:4px solid var(--brand);background:#fbfefb}.notification-icon{width:40px;height:40px;border-radius:50%;background:#edf4ef;display:flex;align-items:center;justify-content:center;color:var(--brand);flex:none}.notification-icon.warning{background:#fff3d7;color:#a16d0d}.notification-icon.success{background:#e2f4e6;color:#217343}.notification-item p{margin:3px 0;color:var(--muted)}.notification-item small{color:#8b9892}.help-card{height:100%}.help-card>i{font-size:32px;color:var(--brand)}.help-card h2{margin-top:12px}.help-card a{text-decoration:none;font-weight:700}.simple-page{min-height:100vh;background:linear-gradient(135deg,#edf7ef,#dcefe1);display:flex}.simple-center{margin:auto;width:min(100% - 30px,500px)}.reset-card{text-align:left}.prototype-credit{position:fixed;right:10px;bottom:8px;background:rgba(16,42,34,.78);color:#fff;font-size:9px;padding:4px 8px;border-radius:4px;z-index:2000}
.toast-custom{position:fixed;right:20px;bottom:25px;background:#173f2c;color:#fff;border-radius:9px;padding:13px 17px;display:none;align-items:center;gap:9px;box-shadow:var(--shadow);z-index:3000}.toast-custom.show{display:flex}.toast-custom i{color:#8de0a7}
@media(max-width:991.98px){
 .site-header{height:auto;padding:15px 0}.brand-title{font-size:19px}.brand-subtitle{font-size:12px}.language-switch{font-size:13px}
 .login-hero{min-height:auto}.hero-copy{padding:20px 2%}.hero-copy h1{font-size:34px}.lead-copy{font-size:18px}.login-card{padding:24px}
 .sidebar{position:fixed;left:-270px;top:70px;bottom:0;z-index:1040;transition:left .2s;box-shadow:10px 0 25px rgba(0,0,0,.12)}.sidebar.open{left:0}.main-content{padding:22px 18px}
}
@media(max-width:767.98px){
 .site-header .container-fluid{align-items:flex-start}.language-switch{margin-top:4px}.brand-mark{width:40px;height:40px;font-size:22px}.brand-title{font-size:16px}.brand-subtitle{font-size:10px}
 .hero-copy h1{font-size:29px}.benefit-icon{width:52px;height:52px;font-size:23px}.benefit h3{font-size:18px}.benefit p{font-size:14px}.role-grid{grid-template-columns:1fr 1fr}.notice-inner{display:block}.notice-label,.notice-date,.notice-text,.notice-inner>a{display:block;padding:10px 14px}.notice-label{height:auto}.notice-date{padding-bottom:0}.notice-text{padding-top:6px}.notice-inner>a{padding-top:5px;padding-bottom:12px}
 .page-header{flex-direction:column}.page-header h1{font-size:25px}.wizard-progress{overflow-x:auto;justify-content:flex-start;padding-bottom:5px}.wizard-step{min-width:55px}.wizard-line{min-width:22px}.wizard-card{padding:20px}.review-grid{grid-template-columns:1fr}.review-grid dt{padding-bottom:0}.review-grid dd{padding-top:0;margin-bottom:7px}.shortcut-grid{grid-template-columns:1fr}.footer-brand{text-align:left}.footer-links{flex-wrap:wrap}
}
@media(max-width:480px){
 .login-card{padding:20px 16px}.role-grid{gap:7px}.role-card{min-height:95px;font-size:13px}.role-card i:first-child{font-size:22px}.app-navbar{height:62px}.app-layout{min-height:calc(100vh - 62px)}.sidebar{top:62px}.navbar-brand strong{font-size:13px}.main-content{padding:18px 12px}.section-card{padding:16px}.progress-card{padding:18px}.wizard-actions{flex-direction:column-reverse}.wizard-actions .btn{width:100%}.document-row{align-items:flex-start;flex-wrap:wrap}.document-row .status-badge{margin-left:auto}.document-row .btn{margin-left:auto}.profile-chip .bi-chevron-down{display:none}
}
@media screen and (max-width: 600px) {
  #no_mobile {
    display: none;
  }
  .no_mobile {
    display: none !important;
  }
}
