*{box-sizing:border-box}:root{--navy-950:#101b2a;--navy-900:#1e2d40;--navy-800:#2c4058;--orange-600:#e8531e;--orange-700:#c94213;--ink:#172033;--muted:#667085;--surface:#fff;--canvas:#f3f5f7;--border:#dfe4ea;--green:#2e7d32;--green-bg:#e8f5e9;--amber:#b54708;--amber-bg:#fff3e0;--red:#b42318;--red-bg:#ffebee;--shadow:0 20px 55px #101b2a1f}html{background:var(--canvas)}body{color:var(--ink);background:var(--canvas);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline-offset:2px;outline:3px solid #e8531e6b}.brand{color:var(--navy-900);align-items:center;gap:12px;display:flex}.brand__mark{background:var(--orange-600);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:19px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #fff3}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.025em;font-size:14px}.brand small{color:var(--muted);letter-spacing:.09em;margin-top:1px;font-size:10px}.brand--inverse{color:#fff}.brand--inverse small{color:#fff9}.auth-page,.context-page{background:radial-gradient(circle at 20% 0%, #344e6b 0, var(--navy-950) 45%, #0b1420 100%);place-items:center;min-height:100vh;padding:30px 18px;display:grid}.auth-card,.context-card{width:min(100%,440px);box-shadow:var(--shadow);background:#fffffffb;border:1px solid #fff6;border-radius:20px;padding:38px}.context-card{width:min(100%,720px)}.auth-card__heading{margin:31px 0 25px}.auth-card h1,.context-card h1{color:var(--navy-900);margin:5px 0 0;font-size:25px;line-height:1.2}.eyebrow{color:var(--orange-600);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.auth-card__help{color:var(--muted);text-align:center;margin:21px 0 0;font-size:12px}.stack-lg{gap:17px;display:grid}.field{gap:6px;display:grid}.field label{color:#475467;letter-spacing:.055em;text-transform:uppercase;font-size:11px;font-weight:700}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd5df;border-radius:8px;padding:11px 12px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange-600);outline:3px solid #e8531e24}.button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 15px;font-weight:700;text-decoration:none;display:inline-flex}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:var(--orange-600);color:#fff}.button--primary:hover{background:var(--orange-700)}.button--secondary{color:var(--navy-900);border:1px solid var(--border);background:#fff}.button--full{width:100%}.notice{color:#2b4b80;background:#eef4ff;border:1px solid #b8cae5;border-radius:9px;padding:12px 14px;font-size:12px}.notice--error{background:var(--red-bg);color:var(--red);border-color:#f3a7a7}.context-card>p{color:var(--muted)}.context-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:24px 0;display:grid}.context-option{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;padding:18px}.context-option:hover{border-color:var(--orange-600);transform:translateY(-1px)}.context-option strong,.context-option span{display:block}.context-option strong{color:var(--navy-900)}.context-option span{color:var(--orange-600);margin-top:8px;font-size:12px;font-weight:700}.portal{min-height:100vh}.portal-header{z-index:20;background:var(--navy-950);grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:26px;min-height:66px;padding:10px 22px;display:grid;position:sticky;top:0;box-shadow:0 2px 12px #00000038}.portal-header__context{color:#fff;border-left:1px solid #ffffff29;padding-left:20px}.portal-header__context span,.portal-header__context small{display:block}.portal-header__context span{font-weight:700}.portal-header__context small{color:#ffffff8f;font-size:11px}.portal-header__actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.portal-header__actions form{display:contents}.header-link{color:#ffffffc7;cursor:pointer;background:0 0;border:1px solid #ffffff2b;border-radius:7px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;text-decoration:none;display:inline-flex}.header-link:hover{color:#fff;border-color:#fff6}.portal-layout{grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 66px);display:grid}.admin-view-banner{z-index:19;color:#7a2e0e;background:#fff3e0;border-bottom:2px solid #f79009;justify-content:space-between;align-items:center;gap:18px;padding:12px 22px;display:flex;position:sticky;top:66px;box-shadow:0 4px 12px #101b2a1f}.admin-view-banner__message{align-items:center;gap:11px;display:flex}.admin-view-banner__message strong,.admin-view-banner__message span{display:block}.admin-view-banner__message strong{color:#7a2e0e}.admin-view-banner__message span{font-size:11px}.admin-view-banner__error{color:var(--red);font-weight:700}.admin-view-banner__exit{color:#8a3212;background:#fff;border:1px solid #c94213;flex:none}.admin-view-banner__exit:hover{background:#fff8f3}.portal-sidebar{background:var(--navy-900);padding:14px 0}.nav-button{color:#ffffffab;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:11px 20px;display:flex}.nav-button:hover{color:#fff;background:#ffffff12}.nav-button--active{color:#fff;background:var(--orange-600);font-weight:750}.nav-button--active:hover{background:var(--orange-600)}.portal-main{width:min(100%,1260px);padding:28px}.page-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.page-heading h1{color:var(--navy-900);margin:0 0 4px;font-size:24px;line-height:1.2}.page-heading p{color:var(--muted);margin:0}.source-state{color:var(--muted);text-align:right;grid-template-columns:8px auto;align-items:center;column-gap:7px;font-size:11px;display:grid}.source-state>span{background:#98a2b3;border-radius:50%;width:8px;height:8px}.source-state small{color:#98a2b3;grid-column:1/-1}.source-state--current>span,.source-state--no_records>span{background:#32a852}.source-state--stale>span{background:#f79009}.source-state--unavailable>span,.source-state--schema_invalid>span{background:#d92d20}.compliance-banner,.panel,.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:12px}.compliance-banner{border-width:2px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;padding:20px 22px;display:flex}.compliance-banner h2{color:var(--navy-900);margin:3px 0 0;font-size:19px}.compliance-banner--green{background:var(--green-bg);border-color:#6bbb72}.compliance-banner--amber{background:var(--amber-bg);border-color:#f79009}.compliance-banner--red{background:var(--red-bg);border-color:#ef6b63}.metric-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:0 0 15px;display:grid}.metric-card{padding:16px}.metric-card span,.measure span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:750;display:block}.metric-card strong{color:var(--navy-900);margin-top:4px;font-size:27px;display:block}.panel{margin-bottom:15px;padding:18px 20px}.panel__heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;display:flex}.panel__heading h2{color:var(--navy-900);margin:0;font-size:15px}.panel__heading span{color:var(--muted);font-size:11px}.measure-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.measure{background:#f8fafc;border-radius:9px;padding:12px}.measure strong{color:var(--navy-900);margin-top:4px;font-size:20px;display:block}.rag{min-height:25px;color:var(--muted);white-space:nowrap;background:#f2f4f7;border:1px solid #d0d5dd;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;font-weight:750;display:inline-flex}.rag--green{background:var(--green-bg);color:var(--green);border-color:#79be80}.rag--amber{background:var(--amber-bg);color:var(--amber);border-color:#f5a84f}.rag--red{background:var(--red-bg);color:var(--red);border-color:#eb8d88}.table-panel{padding:0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{background:var(--navy-900);color:#fff;letter-spacing:.045em;text-align:left;text-transform:uppercase;padding:10px 12px;font-size:10px}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}tbody tr:nth-child(2n){background:#fafbfc}tbody tr:hover{background:#f2f6fa}.cell-sub{color:var(--muted);margin-top:3px;font-size:10px;display:block}.alert-list{gap:9px;display:grid}.document-alert{background:#fafafa;border-left:4px solid;border-radius:8px;justify-content:space-between;gap:15px;padding:12px 14px;display:flex}.document-alert--amber{background:var(--amber-bg);border-color:#f79009}.document-alert--red{background:var(--red-bg);border-color:#d92d20}.document-alert strong,.document-alert span{display:block}.document-alert span{color:var(--muted);font-size:11px}.document-alert b{color:var(--navy-900);font-size:12px}.three-column{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.detail-list{margin:0}.detail-list div{border-bottom:1px solid var(--border);justify-content:space-between;gap:18px;padding:9px 0;display:flex}.detail-list dt{color:var(--muted)}.detail-list dd{color:var(--navy-900);text-align:right;margin:0;font-weight:700}.report{max-width:900px;margin-top:14px;padding:30px}.report>header{border-bottom:2px solid var(--navy-900);text-align:center;padding-bottom:18px}.report>header h2{color:var(--navy-900);margin:7px 0 2px;font-size:24px}.report>header span{color:var(--muted);font-size:11px}.report__status{grid-template-columns:minmax(180px,.65fr) 1.35fr;align-items:center;gap:20px;padding:22px 0;display:grid}.report__status>div:first-child>span{color:var(--muted);margin-bottom:8px;font-size:11px;display:block}.report h3{color:var(--navy-900);font-size:14px}.loading-state,.error-state{min-height:340px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:12px;display:grid}.spinner{border:3px solid var(--border);border-top-color:var(--orange-600);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.error-state h1{color:var(--navy-900);margin:0}.error-state p{max-width:500px;margin:0}@keyframes spin{to{transform:rotate(360deg)}}.mfa-qr{width:210px;height:210px;box-shadow:0 0 0 1px var(--border);border:10px solid #fff;margin:0 auto;display:block}.mfa-secret{overflow-wrap:anywhere;color:var(--muted);font-size:12px}.admin-layout{grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 66px);display:grid}.admin-sidebar{background:var(--navy-900);padding:14px 0}.admin-sidebar__label{color:#fff6;letter-spacing:.1em;text-transform:uppercase;padding:0 20px;font-size:10px;font-weight:800}.admin-main{width:min(100%,1420px);padding:28px}.admin-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);align-items:start;gap:16px;margin-top:16px;display:grid}.admin-form{gap:13px;display:grid;position:sticky;top:92px}.admin-form-column{gap:16px;display:grid}.admin-form-column .admin-form{position:static}.admin-view-form{background:#fffaf3;border:2px solid #f5a84f}.admin-form .panel__heading{margin-bottom:0}.admin-form h2{align-items:center;gap:7px;display:flex}.admin-form .field>span{color:#475467;letter-spacing:.055em;text-transform:uppercase;font-size:11px;font-weight:700}.check-field{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.form-note{color:var(--muted);margin:0;font-size:11px}.text-button{color:#175cd3;cursor:pointer;background:0 0;border:0;padding:4px;font-weight:700}.text-button--danger{color:var(--red)}.action-cell{gap:5px;display:flex}.assignment-list{flex-wrap:wrap;gap:.4rem;display:flex}.assignment{color:var(--navy);text-transform:capitalize;background:#edf1f5;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .35rem .25rem .65rem;font-size:.76rem;font-weight:700;display:inline-flex}.assignment button{color:#8d2535;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;font-size:1rem;line-height:1;display:inline-flex}.assignment button:hover,.assignment button:focus-visible{outline:2px solid var(--orange);background:#fff}.status-pill{color:#475467;text-transform:capitalize;background:#f2f4f7;border:1px solid #d0d5dd;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;display:inline-flex}.status-pill--active,.status-pill--valid{background:var(--green-bg);color:var(--green);border-color:#79be80}.status-pill--invalid,.status-pill--inactive,.status-pill--deactivated{background:var(--red-bg);color:var(--red);border-color:#eb8d88}.status-pill--draft,.status-pill--onboarding,.status-pill--pending,.status-pill--pending_mfa{background:var(--amber-bg);color:var(--amber);border-color:#f5a84f}@media (max-width:900px){.portal-header{grid-template-columns:auto 1fr}.portal-header__context{display:none}.portal-header__actions{grid-area:1/2}.portal-layout{grid-template-columns:1fr}.portal-sidebar{z-index:10;padding:0;display:flex;position:sticky;top:66px;overflow-x:auto}.nav-button{width:auto;min-width:max-content;padding:11px 14px}.portal-main{padding:22px 18px}.metric-grid{grid-template-columns:repeat(2,1fr)}.three-column,.admin-layout{grid-template-columns:1fr}.admin-sidebar{padding:0;display:flex;overflow-x:auto}.admin-sidebar__label{display:none}.admin-main{padding:22px 18px}.admin-grid{grid-template-columns:1fr}.admin-form{position:static}}@media (max-width:590px){.auth-card,.context-card{padding:28px 22px}.portal-header{gap:10px;padding:8px 12px}.portal-header .brand strong,.portal-header .brand small{display:none}.portal-header__actions{gap:4px}.header-link{padding:7px}.header-link svg+*{display:none}.page-heading{display:grid}.source-state{text-align:left}.metric-grid,.measure-grid,.report__status{grid-template-columns:1fr}.document-alert{display:grid}.admin-view-banner{flex-direction:column;align-items:stretch;padding:11px 14px}.admin-view-banner__exit{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body{background:#fff}.portal-header,.portal-sidebar,.admin-view-banner,.page-heading,.print-hide{display:none!important}.portal-layout{display:block}.portal-main{max-width:none;padding:0}.report{border:0;max-width:none;margin:0;padding:0}}
