/* ErgoComply C - Precision. Interface tokens never define native risk categories. */
@font-face{font-family:Inter;src:url('./brand/fonts/Inter-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ec-font:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--ec-midnight:#1e2a46;--ec-blue:#2f4c8d;--ec-azure:#0073c4;--ec-coral:#e65a5a;--ec-signal:#e9c641;--ec-canvas:#f5f7fb;--ec-surface:#fff;--ec-subtle:#edf2f8;--ec-border:#d6deeb;--ec-control-border:#7b8ca5;--ec-text:#1e2a46;--ec-muted:#52627b;--ec-focus:#0073c4;--ink:var(--ec-text);--muted:var(--ec-muted);--deep:var(--ec-midnight);--bg:var(--ec-canvas);--paper:#fff;--line:var(--ec-border);--radius:4px;--shadow:0 2px 8px #1e2a4606;color-scheme:light}
html{font-family:var(--ec-font);scroll-padding-top:var(--ec-header-offset,24px)}
body{margin:0;font-family:var(--ec-font);font-size:14px;line-height:1.55;color:var(--ec-text);background:var(--ec-canvas)}
body :is(button,input,select,textarea){font-family:var(--ec-font)}
body button{border-radius:4px}
body :is(h1,h2,h3,h4){font-family:var(--ec-font);font-weight:650;letter-spacing:-.025em;color:var(--ec-midnight);text-wrap:pretty}
body h1{line-height:1.25;font-size:clamp(23px,2.1vw,30px)}
body h2{line-height:1.35;font-size:20px}body h3{font-size:16px;line-height:1.4}
body :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ec-focus);outline-offset:3px}
body :is(input,select,textarea):disabled{cursor:not-allowed}
body :is(input,textarea)::placeholder{color:#64748b;opacity:1}
/* Keep small diagram markers, rating choices and coloured scores in their own native styles. */
body :is(button.primary,button.pi-primary,button.fs-primary,button.af-primary,.login form>button:not(#back),a.button.primary){background:var(--ec-azure);border-color:var(--ec-azure);color:#fff;border-radius:4px;font-weight:600;box-shadow:none}
body :is(button.primary,button.pi-primary,button.fs-primary,button.af-primary,.login form>button:not(#back)):hover:not(:disabled){background:#005fa3;border-color:#005fa3;filter:none}
body :is(.button-row,.page-action-toolbar,.page-primary-actions,.page-export-actions,.ce-actions,.um-actions){gap:8px;align-items:center}
body :is(.button-row,.page-action-toolbar,.page-primary-actions,.page-export-actions,.ce-actions,.um-actions)>:is(button,a.button){border-radius:4px;font-weight:600;min-height:40px}
body :is(.field,.form-row,.q-form-grid,.pi-grid,.af-grid,.um-form,.ce-form,.ta-dialog,.ms-dialog,.rp-dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){border-color:var(--ec-control-border);border-radius:4px;color:var(--ec-text);background:#fff;max-width:100%;min-width:0;line-height:1.45}
body :is(input[type=checkbox],input[type=radio]){accent-color:var(--ec-azure)}
body :is(input,select,textarea)[aria-invalid=true]{border-color:#a52b37;outline-color:#a52b37}
body :is(.card,.ta-panel,.completion-panel,.um-panel,.ce-panel,.pi-card,.af-card,.rp-panel,.ms-panel,.s2-panel,.s4-panel,.field-team-panel,.field-documents-panel){border-color:var(--ec-border);border-radius:4px;box-shadow:var(--shadow);background:#fff}
body :is(.assessment-card,.company-work-area-lists>section,.rd-panel,.ce-attendance-panel,.ce-minutes-panel,.fs-resume-card){border-color:var(--ec-border);border-radius:4px;background:#fff;box-shadow:var(--shadow)}
body .ce-panel{padding:20px;border:1px solid var(--ec-border)}
body .company-list-bulk{border-radius:4px;background:var(--ec-subtle)}
body .company-work-areas .company-list-bulk-toggle{color:var(--ec-blue)}
body :is(.ce-table-tools,.company-work-areas,.assessment-card,.rd-panel,.completion-panel) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){border-radius:4px;border-color:var(--ec-control-border)}
body :is(.card-header,.ce-heading,.ta-heading,.pi-heading,.af-heading,.um-heading){gap:16px;align-items:flex-start}
body :is(.help,.ce-muted,.pi-muted,.af-help,.muted){color:var(--ec-muted)}
body :is(.empty,.um-empty,.ce-empty){padding:28px 20px;border:1px dashed #c8d3e4;border-radius:4px;background:#f8fafd;color:var(--ec-muted)}
body :is(.empty,.um-empty,.ce-empty) strong{color:var(--ec-midnight)}
/* Identity slots support tall, square or wide replacement marks without changing pages. */
.ec-identity{display:inline-flex;align-items:center;gap:12px;max-width:100%;text-decoration:none;color:inherit;line-height:1.2}
.ec-symbol{display:block;object-fit:contain;object-position:center;width:42px;height:46px;flex:0 0 42px;max-width:100%}
.ec-wordmark{display:block;font-family:var(--ec-font);font-size:24px;font-weight:750;letter-spacing:-.055em;white-space:nowrap;color:inherit}
.ec-wordmark small{display:block;font-family:var(--ec-font);font-size:10px;font-weight:400;letter-spacing:0;line-height:1.5;margin-top:4px;color:inherit;opacity:.83;white-space:normal}
.ec-identity-compact .ec-symbol{width:32px;height:36px;flex-basis:32px}.ec-identity-compact .ec-wordmark{font-size:20px}
[data-brand-identity]{color:var(--ec-midnight);text-decoration:none}
[data-brand-identity=dark]{color:#fff}
/* The existing application header/context and collapsible navigation are retained. */
body .shell{grid-template-columns:248px minmax(0,1fr);grid-template-rows:auto 1fr}
body .shell>.topbar{grid-column:1/-1;grid-row:1}
body .shell>.sidebar{grid-column:1;grid-row:2}
body .shell>.workspace{grid-column:2;grid-row:2}
body .ec-header-brand{flex:0 0 220px;text-decoration:none;color:#fff}
body .topbar>.persistent-context{flex:1;min-width:260px}
body .topbar>.breadcrumb{flex:1}
body .sidebar,body #attendance-navigation{background:var(--ec-midnight);color:#e2e8f4;border-right:1px solid #ffffff12}
body .sidebar{padding:24px 14px;overflow-y:auto;scrollbar-color:#667491 #1e2a46}
body .sidebar .brand{padding:0 9px 26px;letter-spacing:0;margin:0;color:white;display:block}
body .sidebar .brand small{color:#c5d1e5;font-size:10px;letter-spacing:0;font-weight:400}
body .sidebar-caption{color:#acbad2;letter-spacing:.1em;margin:0 12px 12px}
body .sidebar :is(.journey-nav button,.journey-nav a,.journey-menu>summary,.journey-stage-group>summary){color:#e2e8f4;border-radius:4px}
body .sidebar :is(.journey-nav button,.journey-nav a):hover{background:#ffffff0c;filter:none}
body .sidebar :is(.journey-nav button,.journey-nav a)[aria-current]{background:var(--ec-azure);border-color:transparent;color:white;box-shadow:inset 3px 0 #79c4ff}
body .sidebar :is(.journey-nav button,.journey-nav a) small{color:#becce2}
body .sidebar :is(button,a,summary):focus-visible{outline-color:#79c4ff}
body .topbar{display:flex;flex-wrap:wrap;background:var(--ec-midnight);color:#fff;border-bottom:1px solid #34435e;padding:14px 28px;gap:16px}
body .topbar .breadcrumb,body .topbar .breadcrumb strong,body .topbar .persistent-context dd{color:white}
body .topbar .persistent-context dt,body .topbar .persistent-context p,body .topbar .persona-label{color:#c1cee3}
body .topbar .topbar-actions{gap:14px;flex-wrap:wrap}
body .topbar :is(.subtle,.staff-users-link,.staff-signout),body .topbar .work-finder>summary{color:#f4f7fe}
body .topbar .connection:not(.offline){color:#b5e5d8}
body .topbar .connection.offline{color:#ffe3a1}
body .topbar .staff-role-control{background:#ffffff09;border-color:#5b6c8d;color:white;border-radius:4px;gap:14px}
body .topbar .staff-active-role-label{color:#c7d5eb}
body .topbar .staff-active-role-value{color:white}
body .staff-role-control select{border-radius:4px;background:#fff;color:var(--ec-midnight);font-family:var(--ec-font)}
body .topbar .staff-active-role>span,body .um-brand .staff-active-role>span{color:#c7d5eb}
body .topbar .staff-active-role>strong,body .um-brand .staff-active-role>strong{color:#fff}
body #work-finder.global-work-search>summary{color:#f4f7fe}
body #work-finder.global-work-search[open]>summary,body #work-finder.global-work-search>summary:hover{color:white;background:#ffffff12}
body .topbar .global-search-panel{color:var(--ec-text);border-color:var(--ec-border);border-radius:4px}
body .topbar .global-search-panel :is(label,h2,h3,strong){color:var(--ec-text)}
body main{padding-top:24px}
body .footer{color:var(--ec-muted);font-size:11px;padding:18px 0;margin-top:20px}
body :is(.cw-breadcrumb,.cw-breadcrumb button,.cw-breadcrumb a){color:var(--ec-blue)}
body :is(.cw-welcome h1,.cw-project-heading h1){font-size:clamp(24px,2.1vw,30px);line-height:1.25;letter-spacing:-.035em}
body .cw-welcome>p:last-child{font-size:14px;margin-bottom:22px}
body .customer-workspace{--cw-line:var(--ec-border)}
body :is(.cw-stats>div,.cw-customer-card,.cw-project-card,.cw-empty-card,.cw-summary-card,.cw-process-details,.cw-admin,.cw-pending,.foundation-card,.foundation-summary,.foundation-coverage,.foundation-predecessor,.foundation-details,.fs-context,.fs-question-section){border-radius:4px;border-color:var(--ec-border);box-shadow:var(--shadow)}
body :is(.cw-customer-card,.cw-project-card){padding:22px}
body :is(.cw-customer-card,.cw-project-card):hover{border-color:#8aa6ce;transform:none}
body :is(.cw-customer-card,.cw-project-card) h3{font-size:17px;line-height:1.4}
body .cw-stats{margin:18px 0 26px}
body .cw-stats>div{padding:18px 22px}
body .cw-stats strong{font-size:28px}
body .cw-card-symbol{color:var(--ec-blue);background:#edf3fb;border-radius:4px}
body .cw-tag{color:var(--ec-muted);background:var(--ec-subtle);border-color:var(--ec-border);border-radius:4px}
body :is(.cw-next,.foundation-next){background:#edf4fc;border-color:#bacfe9;border-radius:4px;padding:22px}
body .cw-next h2{font-size:21px}
body :is(.cw-stage-menu,.cw-stage-current,.foundation-inspection,.foundation-choice-group,.assessment-source-context,.ce-editor,.ce-person-editor,.pi-banner,.rp-context,.ms-referral-scope,.completion-meta,.completion-source,.fs-resume-filter,.fs-backup){background:#f1f5fa;border-color:var(--ec-border);border-radius:4px}
body .cw-progress-map>button{border-radius:4px}
body :is(.cw-admin,.assessment-foundation,.project-initiation,.fs-shell) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){border-color:var(--ec-control-border);border-radius:4px;font-family:var(--ec-font)}
body .project-initiation button,body .fs-shell :is(.fs-footer,.fs-heading,.fs-question-actions) button{border-radius:4px;font-family:var(--ec-font)}
body :is(.rp-tool-result,.rp-facts button.rp-tool-result){background:#edf4fc;color:var(--ec-blue);border-color:#bacfe9;border-radius:4px}
body :is(.rp-tool-result,.rp-facts button.rp-tool-result):hover{background:#e0edfc}
body .ms-decision-options label:has(input:checked){outline-color:var(--ec-azure);background:#edf4fc}
body :is(.setup-navigation,.collection-tabs,.field-summary-choices) button{border-radius:4px;color:var(--ec-blue);font-weight:600}
body .setup-navigation{border-radius:4px;background:#edf2f8;border-color:var(--ec-border)}
body :is(.setup-navigation,.collection-tabs,.field-summary-choices) button:is([aria-pressed=true],[aria-current=true]){background:var(--ec-azure);border-color:var(--ec-azure);color:white}
body .s1-tabs button{border-radius:4px}
body .s1-tabs button[aria-current=page],body .s1-tabs button[aria-pressed=true],body .s1-tabs button.active{background:var(--ec-azure);border-color:var(--ec-azure);color:white}
body nav:not(.journey-nav) button:is([aria-current=page],[aria-current=true],[aria-current=step]){background:var(--ec-azure);border-color:var(--ec-azure);color:white;border-radius:4px}
body .ta-panel button.ta-tool-link{background:#edf4fd;border-color:#b6cce6;color:#24467d;border-radius:999px}
body .ta-panel button.ta-tool-link:hover:not(:disabled){background:#dfeeff;color:#183b6a;border-color:#799ec9}
/* Data tables, not the source tool grids or report previews. */
body :is(.cw-table,.ce-table,.pi-table,.af-table,.ta-table-wrap,.rp-table,.ms-table,.um-table,.completion-panel,.rd-table,.field-team-table) th{background:#edf2f8;color:var(--ec-midnight);font-weight:650;border-color:var(--ec-border)}
body :is(.cw-table,.ce-table,.ta-table-wrap,.rp-table,.ms-table,.um-table,.completion-panel) td{border-color:var(--ec-border)}
body :is(.cw-table,.ce-table,.ta-table-wrap,.rp-table,.ms-table,.um-table) tbody tr:hover{background:#f8fafd}
body :is(.table-tools,.table-pagination) button{border-radius:4px}
/* Dialog frames and toolbars only: diagrams, scale fills and scoring cells retain native CSS. */
body dialog:not(.serap-page-loading){border-radius:6px;border-color:var(--ec-border);color:var(--ec-text);box-shadow:0 20px 70px #1e2a4638}
body dialog.ta-dialog.dr-dialog,body dialog.trec-dialog,body dialog.fs-dialog{border-radius:6px;border-color:var(--ec-border)}
body button.trec-floating{background:var(--ec-azure);border-color:var(--ec-azure);border-radius:4px;color:#fff}
body button.trec-floating:hover{background:#005fa3;border-color:#005fa3}
body dialog::backdrop{background:rgba(30,42,70,.52)}
body :is(.dialog-heading,.fs-heading,.s4-heading,.rula-heading,.reba-heading,.rosa-heading,.ecnc-heading,.completion-modal>header,.field-media-heading,.um-dialog>header){border-bottom-color:var(--ec-border);background:#fff;color:var(--ec-text)}
body :is(.fs-footer,.s4-footer,.completion-modal>footer,.fm-footer,.um-dialog form>.um-actions){border-top-color:var(--ec-border);background:#fff}
body .serap-confirmation{font-family:var(--ec-font);padding:28px;border:1px solid var(--ec-border);border-radius:6px}
body .serap-confirmation h2{color:var(--ec-midnight)}
body .serap-confirmation button.primary{background:var(--ec-azure);border-color:var(--ec-azure);border-radius:4px}
body .serap-page-loading{font-family:var(--ec-font);color:var(--ec-text);background:transparent;border-radius:0}
body .serap-page-loading::backdrop{background:rgba(245,247,251,.55)}
body .serap-page-loading-card{border-radius:6px;border-color:var(--ec-border);background:#fff;box-shadow:0 10px 40px #1e2a4614}
body .serap-page-loading-card strong{color:var(--ec-midnight)}
body .serap-page-loading-card>span:last-child{color:var(--ec-muted)}
body .serap-page-spinner{border-color:#dce6f4;border-top-color:var(--ec-azure)}
body .loading::before{border-color:#dce6f4;border-top-color:var(--ec-azure)}
body .workspace-startup{background:var(--ec-canvas);color:var(--ec-midnight)}
/* Graphic dashboard keeps all native distributions, status colours and existing geometry. */
body #main[data-dashboard-open=true],body #serap-dashboard{background:var(--ec-canvas);font-family:var(--ec-font);color:var(--ec-text)}
body #serap-dashboard .db-tabs{background:#fff;border-bottom:1px solid var(--ec-border);scrollbar-color:#a4b7d2 #f5f7fb;padding:0 12px}
body #serap-dashboard .db-tabs button{color:var(--ec-blue);background:transparent;border-radius:0;font-family:var(--ec-font);padding:16px 14px;border-bottom:3px solid transparent}
body #serap-dashboard .db-tabs button[aria-selected=true]{color:var(--ec-midnight);border-bottom-color:var(--ec-azure);background:#f0f6fd;font-weight:700}
body #serap-dashboard .db-tabs button:hover{color:var(--ec-midnight);background:#edf4fc}
body #serap-dashboard :is(button,a,input,select):focus-visible{outline-color:var(--ec-focus)}
body #serap-dashboard button.primary{background:var(--ec-azure)!important;border-color:var(--ec-azure)!important}
body #serap-dashboard :is(.db-card,.db-kpi,.db-panel){border-radius:4px;border-color:var(--ec-border);box-shadow:var(--shadow)}
body #serap-dashboard .db-kpi{border-left-color:var(--ec-azure)}
body #serap-dashboard :is(h1,h2,h3,h4){color:var(--ec-midnight)}
body .db-table-scroll th{background:#eaf0f8;color:var(--ec-midnight);font-size:11px;text-transform:none;letter-spacing:0}
body #serap-dashboard :is(.db-axis,.db-donut-label,.db-bar-label){font-family:var(--ec-font)}
/* Sign-in and standalone access journeys share the same identity and control treatment. */
body.ec-login{display:flow-root;min-height:100vh;background:linear-gradient(180deg,#1e2a46 0,#1e2a46 240px,#f5f7fb 240px)}
body.ec-login .login{max-width:460px;margin:7vh auto 24px;padding:36px;background:#fff;border:1px solid var(--ec-border);border-radius:6px;box-shadow:0 12px 40px #1e2a4610}
body.ec-login .login>.brand{margin:0 0 32px;padding:0;letter-spacing:0;display:block}
body.ec-login .login h1{margin:0 0 8px;font-size:28px}
body.ec-login .login>p:not(.brand){color:var(--ec-muted)}
body.ec-login .login form{gap:12px}
body.ec-login .login input:not([type=radio]),body.ec-login .login select{border:1px solid var(--ec-control-border);border-radius:4px;min-height:46px;padding:12px;font:inherit;max-width:100%;width:100%}
body.ec-login .login fieldset{margin:0;padding:12px 0;gap:24px}
body.ec-login .login legend{font-size:12px;font-weight:600;color:var(--ec-muted)}
body.ec-login .login fieldset label{display:flex;align-items:center;gap:8px;min-height:36px}
body.ec-login .login :is(button,#back){border-radius:4px;min-height:44px;font:600 14px var(--ec-font)}
body.ec-login .login #back{background:#edf2f8;color:var(--ec-blue);border:1px solid var(--ec-border)}
.ec-partners{text-align:center;font-size:11px;color:var(--ec-muted);padding:0 16px 24px;line-height:1.5}
body :is(.um-brand,.field-header,.attendance-workspace>header,.ec-standalone-header){background:var(--ec-midnight);color:white;border-color:#34435e}
body :is(.um-brand,.field-header,.attendance-workspace>header,.ec-standalone-header)>a{color:white;text-decoration:none}
body .ec-standalone-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(24px,calc((100vw - 1160px)/2));border-bottom:1px solid #34435e}
body .ec-standalone-header .pill{background:#ffffff12;color:#e1e9f7;border-color:#647794;border-radius:4px}
body .um-brand{padding:16px 28px;gap:24px;flex-wrap:wrap}
body .um-brand .staff-role-control{background:#ffffff0c;color:white;border-color:#647794}
body .attendance-brand{display:block;padding:0 4px 24px;color:white;font-size:inherit;letter-spacing:0}
body.attendance-staff{background:var(--ec-canvas);color:var(--ec-text)}
body.attendance-staff .card{border-radius:4px;border-color:var(--ec-border)}
body.attendance-staff :is(.statement,.roster-row){border-radius:4px;border-color:var(--ec-border)}
body.attendance-staff .statement{background:var(--ec-subtle)}
body.attendance-staff .eyebrow{color:var(--ec-blue)}
body.attendance-staff th{background:#edf2f8;color:var(--ec-midnight)}
body #attendance-navigation :is(a,summary){color:#dfe8f7;border-radius:4px}
body #attendance-navigation a[aria-current=page]{background:var(--ec-azure);color:white;box-shadow:inset 3px 0 #79c4ff}
body #attendance-navigation .attendance-sidebar-foot{color:#becce2;font-size:11px}
body .ec-client-main{max-width:1000px;margin:24px auto;padding:24px}
body .ws-worker-page{font-family:var(--ec-font);border-radius:4px}
body .ws-worker-page>header{background:#fff;border-bottom:1px solid var(--ec-border)}
body .ws-worker-page>header h1{margin-top:24px}
body [role=alert]:not(:empty):not([hidden]){scroll-margin-top:24px}
@media(max-width:1100px){body .shell{grid-template-columns:222px minmax(0,1fr)}body .sidebar{padding:22px 10px}body .sidebar .ec-symbol{width:34px;height:38px;flex-basis:34px}body .sidebar .ec-wordmark{font-size:21px}body .topbar{padding:12px 20px;flex-wrap:wrap}body .topbar .topbar-actions{gap:10px}}
@media(max-width:760px){body .shell{display:block}body .sidebar{position:static;height:auto;padding:16px;overflow:visible}body .sidebar .brand{padding:0 0 14px}body .sidebar .ec-identity{gap:10px}body .sidebar .ec-wordmark{font-size:23px}body .sidebar-caption{display:none}body .topbar{padding:14px 16px;gap:12px}body .topbar .persistent-context{min-width:0;width:100%}body .topbar .persistent-context dl{gap:10px}body .topbar .topbar-actions{width:100%;justify-content:flex-start}body .topbar .staff-role-control{flex-wrap:wrap;max-width:100%}body main{padding:18px 16px}body .footer{flex-wrap:wrap;gap:6px}body dialog:not(.serap-page-loading){max-width:calc(100vw - 16px)}body .ec-standalone-header{padding:16px;flex-wrap:wrap}body .um-brand{padding:16px;gap:14px}body .ec-client-main{margin:0;padding:18px 16px}body .ec-symbol{width:36px;height:40px;flex-basis:36px}body .ec-wordmark{font-size:23px}body .field-header{flex-wrap:wrap;gap:12px}body :is(input:not([type=radio]):not([type=checkbox]):not([type=range]),select,textarea){font-size:16px}body #serap-dashboard .db-tabs button{padding:12px;font-size:12px}}
@media(max-width:500px){body.ec-login .login{margin:24px 14px;padding:26px 22px}body.ec-login .login>.brand{margin-bottom:26px}body .ec-wordmark small{font-size:10px}body .serap-confirmation{padding:22px}body .serap-confirmation-actions{flex-wrap:wrap}body .serap-confirmation-actions button{flex:1 1 auto}body .topbar .connection{white-space:normal}}
@media(prefers-reduced-motion:reduce){body .serap-page-spinner,body .loading::before{animation:none}body{scroll-behavior:auto}}
@media(forced-colors:active){body :is(button,a,summary):focus-visible{outline-color:Highlight}.ec-symbol{forced-color-adjust:none}body .serap-page-spinner{border-color:CanvasText;border-top-color:Highlight}}
@media(max-width:760px){html{scroll-padding-top:16px}body .topbar{position:static;align-items:flex-start}body .ec-header-brand{flex:1 0 100%;width:100%}body .topbar>.persistent-context{flex:1 0 100%;width:100%;min-width:0}body .topbar .persistent-context dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}body .topbar .persistent-context dd{overflow-wrap:anywhere}body .topbar .staff-role-control{width:100%}}
@media(max-width:760px){body #serap-dashboard .db-tabs{top:0}body #serap-dashboard .db-body-layout>.db-body{position:static}body #serap-dashboard .db-card,body #serap-dashboard [role=tab]{scroll-margin-top:65px}}
