:root[data-theme=dark]{--bg-page:#0b0e1a;--bg-surface:#1a1a2e;--bg-surface-raised:#16213e;--bg-input:#0f0f1a;--bg-surface-hover:#ffffff0f;--bg-nav:#0003;--login-card-bg:#ffffff08;--login-card-border:#ffffff14;--login-card-shadow:none;--login-divider:#ffffff14;--text-primary:#f0f0f0;--text-secondary:#b0b0b0;--text-tertiary:#9a9a9a;--text-muted:#909090;--text-link:#3b82f6;--border:#333;--border-subtle:#ffffff14;--border-strong:#444;--accent-blue:#3b7a8c;--accent-teal:#3b7a8c;--accent-teal-light:#4a9aaf;--accent-teal-dark:#2d5f6e;--accent-green:#22c55e;--accent-amber:#f59e0b;--accent-red:#ef4444;--accent-purple:#8b5cf6;--accent-cyan:#06b6d4;--topbar-height:64px;--sidebar-width:240px;--sidebar-collapsed-width:56px;--sidebar-bg:#0f0f1e;--sidebar-border:#ffffff0f;--sidebar-item-hover:#ffffff0a;--sidebar-item-active-bg:#3b7a8c1f;--sidebar-item-active-text:#e0e0e0;--sidebar-item-inactive-text:#888;--sidebar-section-label:#9a9a9a;--sidebar-section-gold:#fbbf24;--sidebar-section-gold-hover:#fcd34d;--topbar-bg:#0f0f1e}:root[data-theme=light]{--bg-page:#e7e9ee;--bg-surface:#f7f8fb;--bg-surface-raised:#1e293b09;--bg-input:#eceef3;--bg-surface-hover:#1e293b0d;--bg-nav:#f7f8fb;--login-card-bg:#fff;--login-card-border:#d3d8e0;--login-card-shadow:0 1px 3px #0f172a14, 0 10px 30px #0f172a0f;--login-divider:#0f172a1a;--text-primary:#16202e;--text-secondary:#33404f;--text-tertiary:#4c5666;--text-muted:#5a6473;--text-link:#235a86;--border:#c4cad4;--border-subtle:#1e293b1a;--border-strong:#9aa4b2;--accent-blue:#3b7a8c;--accent-teal:#3b7a8c;--accent-teal-light:#4a9aaf;--accent-teal-dark:#2d5f6e;--accent-green:#15803d;--accent-amber:#a16207;--accent-red:#b91c1c;--accent-purple:#454f78;--accent-cyan:#0e6f86;--topbar-height:64px;--sidebar-width:240px;--sidebar-collapsed-width:56px;--sidebar-bg:#0f0f0f;--sidebar-border:#ffffff14;--sidebar-item-hover:#ffffff0f;--sidebar-item-active-bg:#3b7a8c33;--sidebar-item-active-text:#f0f0f0;--sidebar-item-inactive-text:#a0a0a0;--sidebar-section-label:gray;--sidebar-section-gold:#fbbf24;--sidebar-section-gold-hover:#fcd34d;--topbar-bg:#0f0f0f;--chrome-text-primary:#f0f0f0;--chrome-text-secondary:silver;--chrome-text-tertiary:#909090;--chrome-hover:#ffffff0f}:root[data-theme=dark]{--chrome-text-primary:#f0f0f0;--chrome-text-secondary:silver;--chrome-text-tertiary:#909090;--chrome-hover:#ffffff0f}.auth-surface{--login-card-bg:#1a1a2e;--login-card-border:#2e3650;--login-card-shadow:0 10px 30px #00000073;--login-divider:#ffffff1a;--text-primary:#f0f0f0;--text-secondary:#b6bdc9;--text-tertiary:#aab2c0;--text-muted:#9aa3b2;--text-link:#7fb0e6;--border:#646e8c;--bg-input:#10131f}:root[data-theme=dark]{--rag-green:#4ade80;--rag-green-tint:#4ade8026;--rag-green-text:#86efac;--rag-amber:#fbbf24;--rag-amber-tint:#fbbf2426;--rag-amber-text:#fcd34d;--rag-red:#f87171;--rag-red-tint:#f8717126;--rag-red-text:#fca5a5;--rag-grey:#94a3b8;--rag-grey-tint:#94a3b821;--rag-grey-text:#cbd5e1;--cat-1:#60a5fa;--cat-1-tint:#60a5fa26;--cat-1-text:#93c5fd;--cat-2:#818cf8;--cat-2-tint:#818cf826;--cat-2-text:#a5b4fc;--cat-3:#c084fc;--cat-3-tint:#c084fc26;--cat-3-text:#d8b4fe;--cat-4:#e879f9;--cat-4-tint:#e879f926;--cat-4-text:#f0abfc;--cat-5:#22d3ee;--cat-5-tint:#22d3ee26;--cat-5-text:#67e8f9;--cat-6:#2dd4bf;--cat-6-tint:#2dd4bf26;--cat-6-text:#5eead4;--cat-7:#a3a3a3;--cat-7-tint:#a3a3a321;--cat-7-text:#d4d4d4;--level-0:#475569;--level-1:#3f6699;--level-2:#4178c9;--level-3:#4d8df0;--level-4:#60a5fa;--level-5:#93c5fd;--status-ink:#1a1a2e;--status-green-bg:#4ade80;--status-green-border:#16a34a;--status-amber-bg:#fbbf24;--status-amber-border:#d97706;--status-red-bg:#f87171;--status-red-border:#dc2626;--status-blue-bg:#60a5fa;--status-blue-border:#2563eb;--status-violet-bg:#a78bfa;--status-violet-border:#7c3aed;--status-cyan-bg:#22d3ee;--status-cyan-border:#0891b2;--status-neutral-bg:#cbd5e1;--status-neutral-border:#94a3b8;--framework-tag-bg:#60a5fa52;--framework-tag-text:#bfdbfe}:root[data-theme=light]{--rag-green:#16a34a;--rag-green-tint:#e8f1ea;--rag-green-text:#15803d;--rag-amber:#d97706;--rag-amber-tint:#f3eede;--rag-amber-text:#b45309;--rag-red:#dc2626;--rag-red-tint:#f2e6e6;--rag-red-text:#b91c1c;--rag-grey:#64748b;--rag-grey-tint:#e6e9ee;--rag-grey-text:#475569;--cat-1:#3a5a86;--cat-1-tint:#dde3ec;--cat-1-text:#26466f;--cat-2:#44506b;--cat-2-tint:#dde1ea;--cat-2-text:#333d54;--cat-3:#3b6670;--cat-3-tint:#d9e4e6;--cat-3-text:#2b4d54;--cat-4:#39455c;--cat-4-tint:#dde2ea;--cat-4-text:#2a3447;--cat-5:#1a6678;--cat-5-tint:#d8e6e9;--cat-5-text:#134d5b;--cat-6:#2a6b62;--cat-6-tint:#d9e6e2;--cat-6-text:#1d5048;--cat-7:#5a6675;--cat-7-tint:#e0e4ea;--cat-7-text:#434d5c;--level-0:#cbd2dd;--level-1:#9aa9c2;--level-2:#6f86ad;--level-3:#4f6c97;--level-4:#3a5580;--level-5:#2a4368;--status-ink:#1a1a2e;--status-green-bg:#4ade80;--status-green-border:#16a34a;--status-amber-bg:#fbbf24;--status-amber-border:#d97706;--status-red-bg:#f87171;--status-red-border:#dc2626;--status-blue-bg:#60a5fa;--status-blue-border:#2563eb;--status-violet-bg:#a78bfa;--status-violet-border:#7c3aed;--status-cyan-bg:#22d3ee;--status-cyan-border:#0891b2;--status-neutral-bg:#cbd5e1;--status-neutral-border:#94a3b8;--framework-tag-bg:#8fb0d6;--framework-tag-text:#16202e}html,body{background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:background-color .15s,color .15s}#root{background:var(--bg-page);min-height:100vh;color:var(--text-primary)}input,select,textarea,button{font-family:inherit}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-topbar{height:var(--topbar-height);min-height:var(--topbar-height);background:var(--topbar-bg);border-bottom:1px solid var(--sidebar-border);z-index:50;align-items:center;padding:0 16px;display:flex;position:sticky;top:0}.topbar-icon-btn{width:32px;height:32px;color:var(--chrome-text-tertiary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:16px;transition:background .15s,color .15s;display:inline-flex}.topbar-icon-btn:hover:not(:disabled){background:var(--chrome-hover);color:var(--chrome-text-primary)}.topbar-icon-btn:disabled{opacity:.35;cursor:not-allowed}.topbar-wordmark{color:var(--chrome-text-primary);letter-spacing:-.01em;font-size:20px;font-weight:700;text-decoration:none}.topbar-user-btn{cursor:pointer;color:var(--chrome-text-primary);background:0 0;border:1px solid #0000;border-radius:20px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:12px;transition:background .15s,border-color .15s;display:inline-flex}.topbar-user-btn:hover{background:var(--chrome-hover);border-color:var(--sidebar-border)}.topbar-user-avatar{background:var(--accent-blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:inline-flex}.topbar-user-name{color:var(--chrome-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:12px;overflow:hidden}.topbar-user-menu{background:var(--bg-surface);border:1px solid var(--sidebar-border);z-index:60;border-radius:8px;min-width:220px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 24px #00000059}.user-menu-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;padding:8px 14px;font-size:13px;display:flex}.user-menu-item:hover{background:var(--sidebar-item-hover)}.user-menu-theme-row{color:var(--text-primary);align-items:center;padding:6px 14px;font-size:13px;display:flex}.app-body{flex:1;min-height:0;display:flex}.app-sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);top:var(--topbar-height);min-height:calc(100vh - var(--topbar-height));max-height:calc(100vh - var(--topbar-height));flex-direction:column;flex-shrink:0;align-self:flex-start;transition:width .22s;display:flex;position:sticky;overflow:hidden}.app-sidebar.collapsed{width:var(--sidebar-collapsed-width)}.app-main{background:var(--bg-page);flex:1;min-width:0}.page-shell{max-width:1440px;padding:24px 32px}@media (width<=768px){.page-shell{padding:16px}}.page-shell>*>:first-child{margin-top:0}.sidebar-section-header{width:100%;color:var(--sidebar-section-gold);opacity:.85;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:8px 16px 4px;font-size:10px;font-weight:700;display:flex}.sidebar-section-header:hover{color:var(--sidebar-section-gold-hover);opacity:1}.sidebar-section-chevron{opacity:.8;flex-shrink:0}.sidebar-section-divider{background:var(--sidebar-border);height:1px;margin:6px 12px}.sidebar-item{color:var(--sidebar-item-inactive-text);white-space:nowrap;border-left:3px solid #0000;border-radius:6px;align-items:center;gap:10px;margin:1px 8px;padding:7px 16px 7px 13px;font-size:13px;line-height:1.2;text-decoration:none;transition:background .14s,color .14s,border-color .14s;display:flex}.sidebar-item:hover{background:var(--sidebar-item-hover);color:var(--chrome-text-primary)}.sidebar-item.active{background:var(--sidebar-item-active-bg);border-left-color:var(--accent-blue);color:var(--sidebar-item-active-text);font-weight:600}.sidebar-item.collapsed{border-left-width:0;justify-content:center;margin:2px 6px;padding:8px 0}.sidebar-item.collapsed.active{background:var(--sidebar-item-active-bg);box-shadow:inset 2px 0 0 0 var(--accent-blue)}.sidebar-item.coming-soon{opacity:.4;cursor:not-allowed;pointer-events:auto}.sidebar-item.coming-soon:hover{color:var(--sidebar-item-inactive-text);background:0 0}.sidebar-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.sidebar-item-label{text-overflow:ellipsis;flex:1;transition:opacity .14s;overflow:hidden}.app-sidebar.collapsed .sidebar-item-label{opacity:0}.sidebar-item-lock{opacity:.8;flex-shrink:0;margin-left:6px}.app-sidebar.collapsed .sidebar-item{position:relative}.app-sidebar.collapsed .sidebar-item[data-tooltip]:not([data-tooltip=""]):after{content:attr(data-tooltip);background:var(--bg-surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);white-space:nowrap;pointer-events:none;opacity:0;z-index:120;border-radius:5px;padding:4px 9px;font-size:12px;font-weight:500;transition:opacity .12s .2s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%);box-shadow:0 4px 16px #00000040}.app-sidebar.collapsed .sidebar-item[data-tooltip]:not([data-tooltip=""]):hover:after{opacity:1}.quickaction-backdrop{z-index:200;background:#0000008c;justify-content:center;align-items:flex-start;padding-top:14vh;display:flex;position:fixed;inset:0}.quickaction-panel{background:var(--bg-surface);border:1px solid var(--sidebar-border);border-radius:10px;width:100%;max-width:440px;padding:6px 0;box-shadow:0 16px 48px #00000073}.quickaction-header{border-bottom:1px solid var(--sidebar-border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.quickaction-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.quickaction-list{padding:6px 0}.quickaction-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:9px 16px;font-size:13px;display:flex}.quickaction-item:hover{background:var(--sidebar-item-hover)}.quickaction-icon{width:20px;height:20px;color:var(--accent-blue);justify-content:center;align-items:center;margin-right:10px;font-size:14px;display:inline-flex}.quickaction-divider{background:var(--sidebar-border);height:1px;margin:2px 0}@media (width<=768px){.app-sidebar{top:var(--topbar-height);height:calc(100vh - var(--topbar-height));max-height:calc(100vh - var(--topbar-height));z-index:100;position:fixed;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0000004d}.app-sidebar.mobile-open{transform:translate(0)}.app-sidebar.collapsed{width:var(--sidebar-width)}.topbar-user-name{display:none}}@media (width>=769px){.sidebar-mobile-backdrop{display:none!important}}@media (width<=768px){.client-portal-nav{-webkit-overflow-scrolling:touch;overflow-x:auto}.client-portal-table{display:none}.client-portal-cards{flex-direction:column;gap:8px;display:flex}}@media (width>=769px){.client-portal-cards{display:none}}.vp-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}@media (width<=768px){.app-main{margin-left:0!important}.topbar-tenant-selector,.topbar-search-btn{display:none}.dashboard-grid{grid-template-columns:1fr!important}.risk-pill-row{flex-wrap:wrap;gap:6px}.page-content table,.vp-table{min-width:600px}.risk-detail-panel{z-index:200;overflow-y:auto;border-radius:0!important;width:100%!important;max-width:100%!important;position:fixed!important;inset:0!important}.risk-filter-bar{flex-direction:column!important;gap:8px!important}.risk-filter-bar select,.risk-filter-bar input{box-sizing:border-box;width:100%!important}.vp-form input[type=text],.vp-form input[type=email],.vp-form input[type=password],.vp-form input[type=date],.vp-form input[type=number],.vp-form input[type=url],.vp-form select,.vp-form textarea{box-sizing:border-box;width:100%}.vp-form-row{flex-direction:column!important;gap:8px!important}.vp-form-actions button,.vp-form-actions a{box-sizing:border-box;text-align:center;width:100%}.vp-modal{margin:0 auto;width:95vw!important;max-width:95vw!important}.control-card-grid{grid-template-columns:1fr!important}.section-nav-bar{-webkit-overflow-scrolling:touch;white-space:nowrap;overflow-x:auto;flex-wrap:nowrap!important}.progress-bar-wrap{width:100%!important}.ack-confirm-label{min-height:44px;padding:14px!important}.ack-submit-btn{min-height:52px;font-size:16px!important}.ack-quiz-option label{min-height:44px;padding:12px!important}.stat-grid-4{grid-template-columns:repeat(2,1fr)!important}.stat-grid-3{grid-template-columns:1fr!important}.page-header{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}.page-header button,.page-header a{text-align:center;box-sizing:border-box;width:100%}.page-content{padding:16px!important}}:root[data-theme=light] input[type=text],:root[data-theme=light] input[type=email],:root[data-theme=light] input[type=url],:root[data-theme=light] input[type=date],:root[data-theme=light] input[type=number],:root[data-theme=light] input[type=password],:root[data-theme=light] select,:root[data-theme=light] textarea{background:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border)!important}:root[data-theme=light] .auth-surface input[type=text],:root[data-theme=light] .auth-surface input[type=email],:root[data-theme=light] .auth-surface input[type=url],:root[data-theme=light] .auth-surface input[type=date],:root[data-theme=light] .auth-surface input[type=number],:root[data-theme=light] .auth-surface input[type=password],:root[data-theme=light] .auth-surface select,:root[data-theme=light] .auth-surface textarea{background:var(--bg-input)!important;color:var(--text-primary)!important;border-color:var(--border)!important}.vp-page-title{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:700;line-height:1.3}.vp-section-title{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600;line-height:1.4}.vp-card-title{color:var(--text-primary);font-size:.9375rem;font-weight:600;line-height:1.4}.vp-body{color:var(--text-primary);font-size:.875rem;font-weight:400;line-height:1.6}.vp-secondary{color:var(--text-secondary);font-size:.8125rem;font-weight:400;line-height:1.5}.vp-caption{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.vp-disclaimer{color:var(--text-tertiary);font-size:.75rem;font-weight:400;line-height:1.5}.vp-page-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:.9375rem;font-weight:400;line-height:1.5}@keyframes vp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.vp-skip-link{z-index:100;color:#fff;background:#1e40af;border-radius:4px;padding:10px 16px;text-decoration:none;position:absolute;top:-9999px;left:-9999px}.vp-skip-link:focus{top:12px;left:12px}.vp-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}
