:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#14263d;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,a{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.06fr .94fr;background:#f7f9fc}.login-brand{position:relative;overflow:hidden;padding:clamp(44px,7vw,100px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 75% 20%,rgba(62,153,255,.34),transparent 31%),linear-gradient(145deg,#0b2035,#123d66 56%,#146da3)}.login-brand:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-200px;bottom:-230px;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}.brand-mark{width:70px;height:70px;border-radius:17px;display:grid;place-items:center;background:#fffffff5;box-shadow:0 12px 35px #0000002b;margin-bottom:46px;padding:8px}.brand-mark svg{display:block;width:100%;height:100%}.brand-mark.small{width:44px;height:44px;border-radius:12px;margin:0;padding:5px}.eyebrow{color:#56708c;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow.light,.login-brand .eyebrow{color:#95d7ff}.login-brand h1{max-width:660px;font-size:clamp(42px,5vw,72px);line-height:.99;letter-spacing:-.055em;margin:15px 0 28px}.login-brand>p{max-width:580px;color:#c5d7e8;font-size:18px;line-height:1.65;margin:0}.security-note{margin-top:52px;color:#cfe3f3;font-size:13px;display:flex;gap:9px;align-items:center}.security-note span{color:#52d890;font-size:10px}.login-panel{display:grid;place-items:center;padding:38px}.login-card{width:min(440px,100%);background:#fff;border:1px solid #e4eaf1;border-radius:24px;padding:clamp(30px,5vw,48px);box-shadow:0 20px 60px #1b3b5b17}.mobile-logo{display:none;align-items:center;gap:11px;margin-bottom:38px}.login-card h2{margin:9px 0 12px;font-size:31px;letter-spacing:-.035em}.login-card>p{color:#66798c;line-height:1.6;margin:0 0 28px}.primary-button{border:0;width:100%;min-height:52px;border-radius:12px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;text-decoration:none;background:#176da5;color:#fff;font-weight:750;box-shadow:0 10px 20px #176da533}.primary-button:hover{background:#125c8e}.primary-button:disabled{opacity:.6;cursor:wait}.primary-button.inline{width:fit-content;gap:25px;margin-top:22px}.login-help{border-top:1px solid #e8edf3;margin-top:30px;padding-top:22px;color:#728296;font-size:13px}.login-help a{color:#176da5;font-weight:700}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 15px 17px;color:#d6e3ef;background:#102a43}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 9px 28px;color:#fff}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font-size:16px}.sidebar-brand span{font-size:11px;color:#8eacc6;letter-spacing:.16em;text-transform:uppercase;margin-top:1px}.sidebar nav{display:grid;gap:3px;overflow-y:auto}.sidebar nav button{position:relative;display:grid;grid-template-columns:28px 1fr auto;align-items:center;width:100%;border:0;border-radius:10px;padding:11px 12px;text-align:left;color:#afc3d5;background:transparent;font-size:13px}.sidebar nav button:hover{color:#fff;background:#ffffff0e}.sidebar nav button.active{color:#fff;background:#1b466c;box-shadow:inset 3px 0 #53b7ef}.sidebar nav i{color:#7895ac;font-size:9px;font-style:normal}.nav-icon{font-size:16px;color:#79bee8}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 5px 0;display:grid;grid-template-columns:34px minmax(0,1fr) 26px;gap:9px;align-items:center}.avatar{width:34px;height:34px;border-radius:10px;background:#287caf;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.user-copy{min-width:0}.user-copy strong,.user-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-copy strong{color:#fff;font-size:11px}.user-copy span{color:#7f9bb1;font-size:9px;margin-top:2px}.logout{border:0;background:transparent;color:#9bb1c4;padding:4px}.portal-main{min-width:0;padding:38px clamp(24px,4vw,62px) 60px}.portal-main>header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:30px}.portal-main header h1{font-size:31px;letter-spacing:-.04em;margin:4px 0}.portal-main header p{margin:0;color:#718397;font-size:13px}.header-actions{display:flex;align-items:center;gap:10px}.icon-button{width:39px;height:39px;border-radius:10px;border:1px solid #dae2eb;color:#42627f;background:#fff}.status-pill{height:39px;display:flex;align-items:center;gap:8px;border:1px solid #dae2eb;background:#fff;border-radius:10px;padding:0 13px;color:#526b81;font-size:11px;font-weight:700}.status-pill span{width:7px;height:7px;border-radius:50%;background:#24b56a;box-shadow:0 0 0 4px #e4f7ed}.status-pill.offline span{background:#dd5151;box-shadow:0 0 0 4px #fbe9e9}.welcome-card{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:30px;border-radius:18px;padding:31px 34px;color:#fff;background:linear-gradient(115deg,#174a74,#1476a8);box-shadow:0 14px 35px #164d762e}.welcome-card:after{content:"";position:absolute;right:-65px;top:-120px;width:300px;height:300px;border-radius:50%;border:35px solid rgba(255,255,255,.06)}.welcome-card>*{position:relative;z-index:1}.welcome-card h2{margin:6px 0 8px;font-size:24px;letter-spacing:-.03em}.welcome-card p{margin:0;color:#c6e1f0;font-size:13px}.welcome-card button{flex:0 0 auto;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:12px 16px;background:#fff;color:#145d8b;font-size:12px;font-weight:800}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.stats-grid article,.panel,.module-card{background:#fff;border:1px solid #e1e7ee;border-radius:15px;box-shadow:0 5px 18px #1f405f0b}.stats-grid article{padding:19px}.stats-grid article>span{display:block;color:#718397;font-size:11px;font-weight:700}.stats-grid strong{display:block;margin:8px 0 7px;font-size:25px;letter-spacing:-.04em}.stats-grid .text-stat{font-size:16px;margin-top:13px}.stats-grid small{color:#8392a3;font-size:10px}.progress{height:5px;border-radius:10px;background:#e9edf2;margin:11px 0 8px;overflow:hidden}.progress i{display:block;height:100%;background:#2997d0;border-radius:inherit}.content-grid{display:grid;grid-template-columns:1.35fr .95fr;gap:18px}.panel{padding:23px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.panel-title h3{margin:4px 0 0;font-size:17px}.panel-title button{border:0;background:transparent;color:#1773aa;font-size:11px;font-weight:800}.timeline>div{min-height:59px;display:grid;grid-template-columns:28px 1fr;gap:8px;position:relative}.timeline>div:not(:last-child):before{content:"";position:absolute;left:7px;top:18px;bottom:0;width:2px;background:#e3e9ef}.timeline i{position:relative;z-index:1;width:15px;height:15px;border-radius:50%;border:3px solid #d6dee7;background:#fff}.timeline .done i{border-color:#35b677;background:#35b677}.timeline .active i{border-color:#2997d0;box-shadow:0 0 0 4px #e5f4fb}.timeline strong,.timeline span{display:block}.timeline strong{font-size:12px}.timeline span{color:#8392a3;font-size:10px;margin-top:3px}.quick-links{display:grid;gap:7px}.quick-links button{display:grid;grid-template-columns:35px 1fr 18px;gap:10px;align-items:center;border:1px solid #e6ebf0;border-radius:10px;padding:11px;background:#fbfcfd;text-align:left;color:#19324a}.quick-links b{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;background:#e8f5fc;color:#1c80b8}.quick-links strong,.quick-links small{display:block}.quick-links strong{font-size:11px}.quick-links small{font-size:9px;color:#8796a7;margin-top:2px}.quick-links em{color:#61809a;font-style:normal}.module-card{min-height:350px;display:flex;align-items:flex-start;gap:22px;padding:34px}.module-icon{flex:0 0 auto;width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:#e7f4fb;color:#1774aa;font-size:24px}.module-card h2{font-size:25px;margin:6px 0 9px}.module-card p{max-width:700px;color:#677b8e;line-height:1.65}.workspace-grid{display:grid;grid-template-columns:minmax(220px,.38fr) minmax(0,1fr);gap:18px;align-items:start}.onboarding-workspace .panel,.documents-workspace .panel,.service-workspace .panel{box-shadow:0 5px 18px #1f405f0b}.section-nav{padding:22px;position:sticky;top:28px}.module-kicker{color:#56708c;font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.section-nav>strong{display:block;margin:8px 0 4px;font-size:28px;letter-spacing:-.04em}.section-nav>small{color:#8090a1;font-size:10px}.module-progress{height:7px;overflow:hidden;margin:8px 0;border-radius:20px;background:#e8edf2}.module-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1b79b2,#36a6dc)}.section-nav nav{display:grid;gap:5px;margin-top:22px}.section-nav nav button{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;width:100%;border:0;border-radius:10px;padding:10px;text-align:left;color:#516a80;background:transparent}.section-nav nav button:hover,.section-nav nav button.active{color:#173751;background:#edf6fb}.section-nav nav button>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #d5e2ec;border-radius:8px;color:#2384bb;background:#fff;font-size:11px;font-weight:850}.section-nav nav b,.section-nav nav small{display:block}.section-nav nav b{font-size:11px}.section-nav nav small{color:#8a9aaa;font-size:9px;margin-top:2px}.question-panel{padding:28px}.question-header{display:flex;justify-content:space-between;gap:22px;border-bottom:1px solid #e8edf2;padding-bottom:20px}.question-header h2,.document-summary h2,.service-form h2{margin:5px 0 6px;font-size:23px;letter-spacing:-.035em}.question-header p,.document-summary p,.service-form>p{margin:0;color:#76899b;font-size:12px;line-height:1.55}.save-badge{align-self:flex-start;min-width:86px;border:1px solid #dce4eb;border-radius:20px;padding:7px 10px;text-align:center;color:#718397;background:#f8fafc;font-size:10px;font-weight:800}.save-badge.saving{color:#8a6412;background:#fff8df}.save-badge.saved{color:#187344;background:#e9f8f0}.save-badge.error{color:#a63737;background:#fff0ef}.question-list{display:grid;gap:24px;padding:26px 0}.question-field>label,.service-form>label,.form-row label{display:block;margin-bottom:8px;color:#20384f;font-size:12px;font-weight:780}.question-field label em{color:#db4d4d;font-style:normal;margin-left:4px}.question-field>p{margin:-2px 0 9px;color:#8594a4;font-size:10px}.question-field input[type=text],.question-field input[type=number],.question-field input[type=date],.question-field textarea,.question-field select,.service-form input,.service-form select,.service-form textarea{width:100%;border:1px solid #d7e0e9;border-radius:9px;padding:11px 12px;outline:none;color:#1e3449;background:#fff}.question-field input:focus,.question-field textarea:focus,.question-field select:focus,.service-form input:focus,.service-form textarea:focus,.service-form select:focus{border-color:#3899ce;box-shadow:0 0 0 3px #e7f5fc}.choice-row,.choice-grid{display:flex;flex-wrap:wrap;gap:8px}.choice-row button,.choice-grid button{border:1px solid #d9e2ea;border-radius:9px;padding:10px 16px;color:#3d5870;background:#fff}.choice-row button.selected,.choice-grid button.selected{border-color:#2586bd;color:#14628f;background:#eaf6fc;box-shadow:0 0 0 2px #dff1fa}.checkbox-grid{display:grid;gap:7px}.checkbox-grid label{display:flex;align-items:center;gap:9px;border:1px solid #e2e8ee;border-radius:9px;padding:10px 12px;font-size:11px}.checkbox-grid input{accent-color:#1e7fb5}.module-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e8edf2;padding-top:20px}.secondary-action,.main-action{min-height:42px;border-radius:9px;padding:0 16px;font-size:11px;font-weight:800}.secondary-action{border:1px solid #d8e1e9;color:#46627a;background:#fff}.main-action{border:0;color:#fff;background:#176da5}.main-action.full{width:100%;margin-top:4px}.secondary-action:disabled,.main-action:disabled{opacity:.5;cursor:not-allowed}.module-state{min-height:280px;display:grid;place-items:center;align-content:center;text-align:center;padding:35px}.module-state h2{margin:13px 0 5px}.module-state p{margin:0;color:#7d8d9e}.module-state.error>div{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#df5757;font-weight:900}.loading-logo-wrap{position:relative;width:112px;height:112px;margin-bottom:5px}.loading-logo{position:absolute;inset:0;display:block;width:100%;height:100%}.loading-logo-base{opacity:.14;filter:grayscale(.35)}.loading-logo-color{clip-path:inset(100% 0 0 0);filter:drop-shadow(0 0 4px rgba(23,105,170,.28));animation:loading-logo-reveal 2.1s ease-in-out infinite}.loading-scan-line{position:absolute;top:14%;right:12%;left:12%;height:3px;border-radius:999px;background:#2f75bd;box-shadow:0 0 11px #2f75bdd9;opacity:0;animation:loading-scan-line 2.1s ease-in-out infinite}@keyframes loading-logo-reveal{0%{clip-path:inset(100% 0 0 0);opacity:.55}66%,88%{clip-path:inset(0 0 0 0);opacity:1}to{clip-path:inset(100% 0 0 0);opacity:.55}}@keyframes loading-scan-line{0%{top:14%;opacity:0}7%{opacity:1}66%{top:84%;opacity:1}76%,to{top:84%;opacity:0}}@media(prefers-reduced-motion:reduce){.loading-logo-color{clip-path:inset(0);animation:none}.loading-scan-line{display:none}}.module-alert{display:flex;gap:10px;align-items:center;border-radius:10px;padding:12px 14px;margin:14px 0;font-size:11px}.module-alert span{flex:1}.module-alert button{margin-left:auto;border:0;color:inherit;background:transparent;font-weight:800}.module-alert.error{color:#9d3535;background:#fff0ef}.module-alert.info{color:#23627f;background:#eaf6fc}.module-alert.success{color:#186a42;background:#e9f8ef}.documents-workspace,.service-workspace{display:grid;gap:16px}.document-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px}.document-actions{display:flex;gap:8px;align-items:center}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.document-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.document-categories button{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;border:1px solid #e0e7ed;border-radius:11px;padding:13px;text-align:left;color:#405c73;background:#fff}.document-categories button.active{border-color:#419bc8;background:#eef8fc}.document-categories button>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#1b79ad;background:#e6f3fa;font-weight:850}.document-categories b,.document-categories small{display:block}.document-categories b{font-size:10px}.document-categories small{color:#8998a7;font-size:9px;margin-top:2px}.document-list{padding:23px}.document-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;border-top:1px solid #edf0f3;padding:14px 2px}.file-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;color:#227eb1;background:#e9f5fb}.document-row b,.document-row small{display:block}.document-row b{font-size:11px}.document-row small{color:#8796a5;font-size:9px;margin-top:3px}.document-row a{color:#176fa5;font-size:10px;font-weight:800;text-decoration:none}.pending-link{color:#8796a5;font-size:10px}.document-open{border:0;padding:7px 9px;color:#176fa5;background:transparent;font-size:10px;font-weight:800}.document-open:disabled{opacity:.55;cursor:wait}.empty-state{padding:36px 18px;text-align:center;color:#758799}.empty-state b{color:#2c455c;font-size:13px}.empty-state p{margin:5px 0 0;font-size:11px}.service-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;align-items:start}.service-form,.request-list{padding:24px}.service-form{display:grid;gap:15px}.service-form>p{margin-top:-9px}.service-form label input,.service-form label select,.service-form label textarea{margin-top:7px;font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.request-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:start;border-top:1px solid #edf0f3;padding:14px 2px}.request-row b,.request-row small{display:block}.request-row b{margin:7px 0 3px;font-size:12px}.request-row small,.request-row em{color:#8796a5;font-size:9px}.request-row em{font-style:normal}.request-status{border-radius:12px;padding:4px 7px;color:#23627f;background:#e8f5fb;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.service-grid{grid-template-columns:1fr}.document-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.mobile-logo{display:flex}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding-bottom:10px}.sidebar nav{display:flex;overflow-x:auto}.sidebar nav button{min-width:max-content;grid-template-columns:24px 1fr}.sidebar nav i,.sidebar-footer{display:none}.portal-main{padding:24px 16px 45px}.portal-main>header{flex-direction:column}.welcome-card{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.workspace-grid{grid-template-columns:1fr}.section-nav{position:static}.section-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.login-panel{padding:18px}.login-card{padding:28px 22px}.stats-grid,.document-categories,.form-row{grid-template-columns:1fr}.header-actions{width:100%}.status-pill{flex:1}.module-card{padding:24px;flex-direction:column}.question-panel,.document-summary,.document-list,.service-form,.request-list{padding:20px}.question-header,.document-summary{align-items:flex-start;flex-direction:column}.section-nav nav{grid-template-columns:1fr}.module-actions{flex-direction:column-reverse}.module-actions button{width:100%}}
