@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
/* Brand tokens match the marketing site; operational severity colours remain distinct. */
:root{color-scheme:light;--bg:#faf8ff;--panel:#fff;--panel-alt:#f0eafa;--ink:#27133e;--muted:#635770;--accent:#7042b9;--accent-hover:#5c319f;--on-accent:#fff;--line:#e2d8ed;--line-strong:#b9a5d1;--accent-soft:#eee6fb;--shadow:0 12px 36px #27133e08;--paper:var(--bg);--purple:var(--accent);--danger:#b42318;--success:#166534;--warning:#755324;--warning-bg:#fff8df}
:root[data-theme=dark]{color-scheme:dark;--bg:#100b1c;--panel:#191226;--panel-alt:#241936;--ink:#f5f0ff;--muted:#bcb0cc;--accent:#b49aff;--accent-hover:#ccbaff;--on-accent:#211139;--line:#382a49;--line-strong:#66517e;--accent-soft:#a78bfa16;--shadow:0 12px 36px #0002;--danger:#ffaaa2;--success:#8de2ac;--warning:#dbc38c;--warning-bg:#30271b}
body,body.overview-mode,body.overview-mode main{background:var(--bg);color:var(--ink);font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif}
body h1,body h2,body h3,.brand-stack{font-family:Manrope,ui-sans-serif,system-ui,sans-serif}
body h1,body.overview-mode .heading h1{font-weight:600;letter-spacing:-1.2px}
body button,body input,body select,body textarea{font-family:inherit}
body .topbar{background:var(--panel);color:var(--ink);border-bottom:1px solid var(--line);gap:20px}
body .brand,body .topbar .brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;white-space:nowrap;letter-spacing:0}
body .brand span{color:inherit}
body .brand .brand-mark{display:block;flex-shrink:0;width:43px;height:43px;transform:none;color:#2e1065}
[data-theme=dark] body .brand .brand-mark{color:#f5f0ff}
body .brand .brand-accent{color:var(--accent)}
body .brand-stack>span{display:block;font-size:21px;font-weight:800;letter-spacing:-1px;line-height:1.25}
body .brand-stack small{display:block;font:400 10px/1.5 'DM Sans',sans-serif;letter-spacing:.3px;margin-top:3px;color:var(--muted)}
body .account>span,body .environment{color:var(--muted)}
body .account{gap:14px;min-width:0}
body .account button,body #theme-toggle{height:auto;border:1px solid var(--line-strong);border-radius:6px;background:var(--panel);color:var(--ink);padding:8px 12px;font-size:12px;cursor:pointer}
body #theme-toggle[hidden]{display:none}
body .sidebar{background:var(--panel);border-color:var(--line)}
body .nav-item{color:var(--muted);font-size:13px;font-weight:600;border-radius:6px}
body .nav-item.active,body .nav-item:hover{background:var(--accent-soft);color:var(--accent)}
body .eyebrow,body .kicker,body.overview-mode .eyebrow{color:var(--accent)}
body .primary,body .email-button{background:var(--accent);color:var(--on-accent);border-radius:6px}
body .primary:hover,body .email-button:hover{background:var(--accent-hover)}
body .panel,body .metrics article,body.overview-mode .metrics article,body .issue-table-wrap{background:var(--panel);border-color:var(--line);border-radius:10px;box-shadow:var(--shadow)}
body .metrics span,body .metrics small,body.overview-mode .metrics span,body.overview-mode .metrics small,body .overview-section-heading>span,body .overview-footnote,body .activity-copy small,body .table-head,body.overview-mode .empty{color:var(--muted)}
body.overview-mode .metrics strong,body .overview-activity-row,body .issue-link{color:var(--ink)}
body .overview-status,body .activity-symbol,body .flow span{background:var(--accent-soft);color:var(--accent);border-color:var(--line)}
body .overview-link{color:var(--accent)}
body .overview-activity-row,body .overview-activity .overview-section-heading,body #applicationAuth,body #applicationAuth details,body .auth-row{border-color:var(--line)}
body .activity-engine{border-color:var(--line-strong);color:var(--muted)}
body .overview-activity-row:hover,body .issue-table tr[data-issue]:hover{background:var(--panel-alt)}
body .severity-row>span{color:var(--muted)}body .severity-track{background:var(--panel-alt)}
body .risk-critical{background:#a855f7}body .risk-high{background:#ef4444}body .risk-medium{background:#f97316}body .risk-low{background:#d99b12}body .risk-informational{background:#3b82f6}
body .row-action,body input,body select,body textarea,body #applicationAuth textarea{background:var(--panel);color:var(--ink);border-color:var(--line-strong)}
body input::placeholder,body textarea::placeholder{color:var(--muted);opacity:.85}
body input[type=checkbox],body progress{accent-color:var(--accent)}
body dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line)}
body .scanner-card,body .risk-card,body .finding>summary,body .report-grid,body .report-empty,body .issue-table th,body .finding-body pre{background:var(--panel-alt);border-color:var(--line)}
body .scanner-settings select:disabled,body .email-button:disabled,body .provider.disabled{background:var(--panel-alt);color:var(--muted)}
body .notice{background:var(--warning-bg);color:var(--warning);border-color:var(--line-strong)}
body .form-error,body .message.error,body .auth-result-failed,body .activity-symbol.failed{color:var(--danger)}
body .auth-result-success,body .message.success{color:var(--success)}body .auth-result-inconclusive{color:var(--warning)}
body .toast{background:var(--accent);color:var(--on-accent)}
body .login-shell{max-width:1160px}body .login-brandbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
body .login-card h1{font-size:clamp(30px,4vw,40px);font-weight:600;letter-spacing:-1.4px}
body .provider{background:var(--panel-alt);color:var(--ink);border-color:var(--line)}body .provider:hover{background:var(--panel);border-color:var(--line-strong)}
body .message{color:var(--muted)}
body #scans .scan-heading{align-items:center;gap:20px;margin-bottom:24px}
body #scans .scan-heading h1{font-size:32px;line-height:1.2;letter-spacing:-.8px}
body .scan-subtitle{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
body #newScan{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;padding:11px 16px;white-space:nowrap}
body #newScan>span{font-size:20px;font-weight:400;line-height:1}
body .scanner-status{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:14px 18px;margin:0 0 24px;background:var(--panel);border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:1.5;color:var(--muted)}
body .scanner-status-label{font-weight:600;color:var(--ink)}
body .scanner-status-items{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
body .scanner-status-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
body .scanner-status-item strong{font-weight:600;color:var(--ink)}
body .scanner-status-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;flex-shrink:0}
body .scanner-status-item.is-busy .scanner-status-dot{background:#facc15;box-shadow:0 0 0 1px #a1620733}
body .scanner-status-item.is-unavailable .scanner-status-dot{background:#ef4444}
body .scanner-status-item.is-unavailable>span:last-child{color:var(--danger)}
body .scanner-status-note{margin-left:auto;font-size:11px}
@media(max-width:600px){body .scanner-status{gap:10px 16px;padding:14px}body .scanner-status-items{gap:10px 20px;flex-basis:100%;order:3}body #scans .scan-heading h1{font-size:28px}body .scan-subtitle{max-width:230px}}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
@media(max-width:800px){body .topbar{padding:12px 18px;min-height:76px;height:auto;flex-wrap:wrap}body .account{margin-left:auto;gap:8px}body .sidebar{position:static;overflow-x:auto}body .brand .brand-mark{width:34px;height:34px}body .brand-stack>span{font-size:18px}body .layout{min-height:calc(100vh - 76px)}body .heading{flex-wrap:wrap}}
@media(max-width:480px){body .topbar{gap:12px}body .account>span{display:none}body .account button{padding:7px 9px}body .login-brandbar{gap:10px}body .login-card{padding:50px 0}}
