:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-plane:#080b14;--surface-1:#0f1523;--surface-2:#0a0e19;--surface-raised:#141c2e;--text-primary:#f3f5f9;--text-secondary:#94a3b8;--text-muted:#7c8aa4;--gridline:#ffffff12;--baseline:#ffffff29;--border:#ffffff17;--series-1:#3b82f6;--series-2:#0d9488;--series-3:#8b5cf6;--status-good:#22c55e;--status-warning:#eab308;--status-serious:#f97316;--status-critical:#ef4444;--accent-violet:#8b5cf6}*{box-sizing:border-box}html,body{background:var(--page-plane);color:var(--text-primary);font-family:var(--font-sans), system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;margin:0;padding:0;font-size:16px;line-height:1.5}a,a:link,a:visited{color:inherit}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.app-shell.nav-hidden{grid-template-columns:1fr}.app-shell.nav-hidden .topbar{padding-left:68px}.nav-toggle{z-index:40;width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;display:flex;position:fixed;top:22px;left:198px}.nav-toggle:hover{color:var(--text-primary);background:var(--surface-raised)}.nav-toggle-hidden{border-color:var(--border);background:var(--surface-1);left:20px}.nav-toggle:focus-visible{outline:2px solid var(--series-1);outline-offset:2px}.auth-shell{min-height:100vh}.sidebar{background:var(--surface-2);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:10px;padding:4px 8px 20px;display:flex}.sidebar-brand-mark{box-shadow:0 4px 14px color-mix(in srgb, var(--accent-violet) 30%, transparent);border-radius:8px;flex-shrink:0;display:block}.sidebar-brand-name{letter-spacing:-.01em;color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.1}.sidebar-brand-tagline{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:11px}.sidebar-nav{scrollbar-width:thin;flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.sidebar-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:10px 12px 4px;font-size:10.5px;font-weight:600;line-height:1}.sidebar-link{color:var(--text-secondary);border-radius:8px;align-items:center;gap:12px;padding:8px 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-link:hover{background:var(--surface-raised);color:var(--text-primary)}.sidebar-link.active{background:color-mix(in srgb, var(--series-1) 16%, transparent);color:var(--text-primary)}.sidebar-link.disabled{color:var(--text-muted);cursor:not-allowed;pointer-events:none}.sidebar-link-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:var(--surface-raised);border-radius:999px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:600}.sidebar-footer{color:var(--text-muted);border-top:1px solid var(--border);margin-top:12px;padding:16px 8px 4px;font-size:13px}.content-column{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 32px 20px;display:flex}.topbar-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--series-1);margin:0 0 6px;font-size:12px;font-weight:700}.topbar-title{letter-spacing:-.01em;color:var(--text-primary);margin:0 0 4px;font-size:28px;font-weight:700}.topbar-subtitle{color:var(--text-secondary);margin:0;font-size:15px}.topbar-side{flex-direction:column;flex:0 auto;align-items:flex-end;gap:14px;min-width:0;display:flex}.topbar-filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}@media (max-width:1100px){.topbar{flex-wrap:wrap}.topbar-side{align-items:flex-start;width:100%}.topbar-filters{justify-content:flex-start}}.topbar-actions{flex-shrink:0;align-items:center;gap:16px;display:flex}.back-btn{background:var(--surface-raised);min-height:38px;color:var(--text-primary);white-space:nowrap;cursor:pointer;border:1px solid #fff3;border-radius:10px;align-items:center;gap:8px;padding:0 16px 0 13px;font-size:14px;font-weight:600;line-height:1;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex;box-shadow:0 1px 2px #00000059}.back-btn svg{flex-shrink:0;width:16px;height:16px}.back-btn:hover{border-color:var(--series-1);background:color-mix(in srgb, var(--series-1) 22%, var(--surface-raised));box-shadow:0 2px 10px color-mix(in srgb, var(--series-1) 28%, transparent)}.back-btn:active{background:color-mix(in srgb, var(--series-1) 32%, var(--surface-raised))}.back-btn:focus-visible{outline:2px solid var(--series-1);outline-offset:2px}.date-range-badge{color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;display:flex}.icon-button{background:var(--surface-1);border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.icon-button-dot{background:var(--status-critical);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.user-chip{align-items:center;gap:10px;display:flex}.user-avatar{background:var(--surface-raised);border:1px solid var(--border);width:34px;height:34px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.user-name{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.2}.user-role{color:var(--text-muted);font-size:12px}.page-body{flex-direction:column;gap:20px;padding:24px 32px 64px;display:flex}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:20px}.hero-figure{font-size:56px;font-weight:600;line-height:1}.section-title{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 14px;font-size:16px;font-weight:600;display:flex}.sample-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-raised);border:1px solid var(--border);border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}table{border-collapse:collapse;width:100%;font-size:15px}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--gridline);padding:8px 12px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--gridline);font-variant-numeric:tabular-nums;padding:10px 12px}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-raised)}.table-compact{table-layout:fixed;font-size:13.5px}.table-compact th,.table-compact td{overflow:hidden}.table-compact td.truncate{text-overflow:ellipsis;white-space:nowrap}.table-compact th{padding:8px 6px;font-size:11px}.table-compact td{padding:8px 6px}.table-wrap{font-size:14px}.table-wrap th{padding:8px}.table-wrap td{overflow-wrap:anywhere;vertical-align:top;padding:8px}.tile-link{cursor:pointer}.tile-link:hover{border-color:color-mix(in srgb, var(--series-1) 40%, var(--border))}.crit-pill{text-transform:capitalize;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.section-title-link{color:var(--series-1);white-space:nowrap;margin-left:auto;font-size:14px;font-weight:500;text-decoration:none}.section-title-link:hover{text-decoration:underline}.chart-legend{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.chart-legend-item{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:7px;font-size:13px;display:inline-flex}.chart-legend-swatch{border-radius:2px;flex-shrink:0;width:14px;height:3px}@keyframes nova-pulse{0%,80%,to{opacity:.3;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.control-link:hover{text-underline-offset:3px;text-decoration:underline!important;-webkit-text-decoration-color:color-mix(in srgb, var(--series-1) 70%, transparent)!important;text-decoration-color:color-mix(in srgb, var(--series-1) 70%, transparent)!important}.disclosure>summary::-webkit-details-marker{display:none}.disclosure-chevron{border:1px solid var(--border);background:var(--surface-raised);width:22px;height:22px;color:var(--text-secondary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .14s,color .14s,border-color .14s;display:inline-flex}.disclosure>summary:hover .disclosure-chevron{color:var(--text-primary);border-color:color-mix(in srgb, var(--series-1) 55%, var(--border))}.disclosure>summary:focus-visible{outline:2px solid var(--series-1);outline-offset:2px;border-radius:6px}.disclosure[open]>summary .disclosure-chevron{transform:rotate(90deg)}@media print{.sidebar,.nav-toggle,.global-search,[data-noprint],button[aria-label*=filter],button[aria-label*=Open\ AI],.tab-strip{display:none!important}.app-shell{display:block!important}.content-column{margin:0!important;padding:0!important}.page-section{page-break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}:root{--page-plane:#fff;--surface-1:#fff;--surface-2:#f5f6f8;--surface-raised:#eceef2;--text-primary:#101418;--text-secondary:#3f4652;--text-muted:#5c6472;--gridline:#e3e6ea;--baseline:#c4c9d2;--border:#d7dbe2}html,body{color:#101418!important;background:#fff!important}.page-body{padding:0!important}.card{break-inside:auto}table{table-layout:fixed!important;width:100%!important;font-size:10.5px!important}th,td{color:#101418!important;border-color:#dde1e7!important;padding:4px 6px!important}th{color:#4a5260!important}.crit-pill,.sample-badge{background:0 0!important;padding:1px 6px!important;font-size:10px!important}thead{display:table-header-group}tr{break-inside:avoid}[data-print-phase-card]{box-shadow:none!important;background:#fff!important}body:before{content:"Security Posture Dashboard — Exported " attr(data-export-date);color:#888;border-bottom:1px solid #ccc;margin-bottom:16px;padding-bottom:8px;font-size:11px;display:block}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar-soon{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:700}@media print{[data-collapsible-body]{grid-template-rows:1fr!important;margin-top:16px!important}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav-progress{z-index:200;opacity:0;background:linear-gradient(90deg, var(--series-1), var(--accent-violet));width:0;height:3px;box-shadow:0 0 10px color-mix(in srgb, var(--series-1) 60%, transparent);pointer-events:none;position:fixed;top:0;left:0}.nav-progress[data-state=loading]{opacity:1;width:85%;transition:width 8s cubic-bezier(.08,.7,.2,1),opacity .1s}.nav-progress[data-state=done]{opacity:0;width:100%;transition:width .2s ease-out,opacity .35s .15s}.nav-pending{border:2px solid color-mix(in srgb, var(--series-1) 30%, transparent);border-top-color:var(--series-1);opacity:0;border-radius:50%;width:12px;height:12px;margin-top:-6px;transition:opacity .15s;position:absolute;top:50%;right:8px}.nav-pending.is-pending{opacity:1;animation:.7s linear infinite nav-spin}@keyframes nav-spin{to{transform:rotate(360deg)}}.skel{background:linear-gradient(90deg, var(--surface-raised) 25%, color-mix(in srgb, var(--surface-raised) 60%, var(--text-muted) 12%) 45%, var(--surface-raised) 65%);background-size:300% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skel-shimmer;display:block}.skel-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.skel-card{flex-direction:column;gap:12px;display:flex}.page-skeleton .page-body{flex-direction:column;gap:16px;display:flex}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.skel,.nav-pending.is-pending{animation:none}.nav-progress[data-state=loading]{transition:opacity .1s}}
