:root{--nav-bg: #0e2a52;--nav-bg-2: #163a6e;--nav-active: #2e6cb5;--nav-text: #c7d2e6;--nav-text-active: #ffffff;--brand: #2e6cb5;--brand-dark: #1b3a6b;--brand-tint: #e9f0fb;--brand-navy: #1b3a6b;--brand-blue: #2e6cb5;--brand-green: #4e9a2e;--brand-green-light: #6fbf3f;--brand-gold: #eda81f;--cat-1: #1b3a6b;--cat-2: #2e6cb5;--cat-3: #4e9a2e;--cat-4: #eda81f;--cat-5: #5b9bd5;--cat-6: #6fbf3f;--cat-7: #15356a;--cat-8: #c8821a;--app-bg: #f4f6fa;--surface: #ffffff;--border: #e3e8f0;--text: #1b2431;--text-muted: #6b7686;--rate-high: #e23d3d;--rate-high-bg: #fdeaea;--rate-significant: #f08a24;--rate-significant-bg: #fdf0e2;--rate-moderate: #f5c518;--rate-moderate-bg: #fef8e0;--rate-low: #2fa36b;--rate-low-bg: #e7f6ee;--info: #2e6cb5;--info-bg: #e9f0fb;--purple: #7c5cbf;--radius: 10px;--radius-sm: 7px;--shadow: 0 1px 2px rgba(16, 33, 65, .06), 0 2px 8px rgba(16, 33, 65, .05);--shadow-lg: 0 8px 28px rgba(16, 33, 65, .14);--font: "Segoe UI", Inter, system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:var(--app-bg);font-size:14px;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}button{font-family:inherit}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.shell.collapsed{grid-template-columns:68px 1fr}.sidebar{background:linear-gradient(180deg,var(--nav-bg) 0%,var(--nav-bg-2) 100%);color:var(--nav-text);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:16px 16px 14px}.brand .logo-panel{width:100%;background:#fff;border-radius:9px;padding:8px 12px;display:flex;align-items:center;box-shadow:0 1px 3px #0000002e}.brand .brand-logo{height:30px;width:auto;max-width:100%;display:block}.brand .logo{width:34px;height:34px;border-radius:9px;background:radial-gradient(circle at 30% 30%,#4aa3ff,#1e5fbf 60%,#0a1f44);box-shadow:inset 0 0 0 2px #ffffff26;flex:none}.brand .name{font-weight:800;letter-spacing:.5px;color:#fff;line-height:1}.brand .name .g{color:var(--brand-green-light)}.brand .name small{display:block;font-weight:500;font-size:9px;letter-spacing:1.5px;color:var(--nav-text);margin-top:3px}.nav{flex:1;overflow-y:auto;padding:8px 10px}.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;color:var(--nav-text);font-weight:600;font-size:13.5px;margin-bottom:2px;white-space:nowrap}.nav a .ico{width:18px;text-align:center;flex:none;opacity:.9}.nav a:hover{background:#ffffff0f;color:#fff}.nav a.active{background:var(--nav-active);color:#fff;box-shadow:var(--shadow)}.collapsed .nav a .label,.collapsed .brand .name{display:none}.sidebar .collapse{border:none;background:transparent;color:var(--nav-text);padding:12px 18px;text-align:left;cursor:pointer;font-size:12px;border-top:1px solid rgba(255,255,255,.08)}.sidebar .collapse:hover{color:#fff}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 22px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar .banner{text-align:center}.topbar .banner b{color:var(--brand-dark);font-weight:800;letter-spacing:1px;font-size:15px}.topbar .banner span{display:block;color:var(--brand);font-size:10px;letter-spacing:2px;font-weight:700;margin-top:2px}.topbar .user{justify-self:end;display:flex;align-items:center;gap:14px;color:var(--text-muted)}.topbar .user .who{text-align:right;line-height:1.2}.topbar .user .who b{color:var(--text);font-size:13px}.topbar .user .who small{color:var(--text-muted);font-size:11px}.topbar .user .avatar{width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:13px}.topbar .user .avatar:focus-visible{outline:2px solid #fff;outline-offset:2px}.bell{position:relative;font-size:16px}.bell .dot{position:absolute;top:-4px;right:-5px;background:var(--rate-high);color:#fff;font-size:9px;border-radius:10px;padding:0 4px}.content{padding:20px 22px 40px;overflow-x:hidden}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:16px;flex-wrap:wrap}.pagehead h1{margin:0 0 3px;font-size:22px;color:var(--brand-dark)}.pagehead p{margin:0;color:var(--text-muted)}.crumbs{color:var(--text-muted);font-size:12px;margin-bottom:8px}.crumbs b{color:var(--text)}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:18px}@media(max-width:1200px){.kpis{grid-template-columns:repeat(3,1fr)}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.kpi .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:17px;margin-bottom:8px;background:var(--brand-tint);color:var(--brand)}.kpi .val{font-size:24px;font-weight:800;line-height:1}.kpi .lbl{color:var(--text-muted);font-size:12px;margin-top:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card .card-h{padding:13px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.card .card-h h3{margin:0;font-size:14px}.card .card-b{padding:14px 16px}.split{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}@media(max-width:1100px){.split{grid-template-columns:1fr}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px;flex-wrap:wrap}.tabs button{border:none;background:transparent;padding:10px 14px;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent}.tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.input{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 11px;font-size:13px;background:var(--surface)}.input:focus{outline:2px solid var(--brand-tint);border-color:var(--brand)}.grid-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table.grid{width:100%;border-collapse:collapse;font-size:13px}table.grid th{text-align:left;padding:11px 12px;background:#fafbfe;color:var(--text-muted);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);white-space:nowrap}table.grid td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}table.grid tr:last-child td{border-bottom:none}table.grid tr:hover td{background:#fafcff}.code{font-variant-numeric:tabular-nums;font-weight:700;color:var(--brand-dark)}.muted{color:var(--text-muted)}.dims{display:flex;gap:5px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}.pill.tag:before{display:none}.pill.high{color:var(--rate-high);background:var(--rate-high-bg)}.pill.significant{color:var(--rate-significant);background:var(--rate-significant-bg)}.pill.medium,.pill.moderate{color:#a9860a;background:var(--rate-moderate-bg)}.pill.low{color:var(--rate-low);background:var(--rate-low-bg)}.pill.info{color:var(--info);background:var(--info-bg)}.pill.neutral{color:var(--text-muted);background:#eef1f6}.pill.tag{color:var(--brand-dark);background:var(--brand-tint)}.status-approved{color:var(--rate-low);background:var(--rate-low-bg)}.status-draft{color:var(--text-muted);background:#eef1f6}.status-in_review{color:var(--info);background:var(--info-bg)}.status-retired{color:var(--rate-high);background:var(--rate-high-bg)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 13px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.btn:hover{background:#f7f9fd}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-dark)}.btn.ai{background:linear-gradient(90deg,#6a4fd0,#1e5fbf);border:none;color:#fff}.btn.ai:hover{filter:brightness(1.06)}.btn.ghost{background:transparent;border-color:transparent;color:var(--brand)}.btn.sm{padding:5px 10px;font-size:12px}.btn.success{background:var(--rate-low);border-color:var(--rate-low);color:#fff}.btn.danger{background:var(--surface);border-color:#f3c6c6;color:var(--rate-high)}.btn:disabled{opacity:.5;cursor:not-allowed}.ai-rail{display:flex;flex-direction:column;gap:12px}.ai-head{display:flex;align-items:center;gap:8px}.ai-badge{background:linear-gradient(90deg,#6a4fd0,#1e5fbf);color:#fff;font-size:10px;font-weight:800;letter-spacing:.6px;padding:3px 8px;border-radius:6px}.ai-card{border:1px solid #d9d3f2;border-left:4px solid var(--purple);border-radius:var(--radius);background:linear-gradient(180deg,#faf9ff,#fff);padding:12px 13px;box-shadow:var(--shadow)}.ai-card .type{font-size:11px;font-weight:800;color:var(--purple);text-transform:uppercase;letter-spacing:.5px}.ai-card .prop{font-size:13px;margin:6px 0}.ai-card .rationale{color:var(--text-muted);font-size:12px;line-height:1.4}.ai-card .conf{font-size:11px;color:var(--text-muted);margin-top:6px}.ai-card .conf b{color:var(--purple)}.ai-actions{display:flex;gap:6px;margin-top:10px}.conf-bar{height:5px;background:#ece8fa;border-radius:4px;overflow:hidden;margin-top:3px}.conf-bar>i{display:block;height:100%;background:linear-gradient(90deg,#6a4fd0,#1e5fbf)}.stepper{display:flex;align-items:flex-start;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 18px;margin-bottom:18px}.stepper .step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:7px}.stepper .node{width:42px;height:42px;border-radius:50%;border:2px solid;display:grid;place-items:center;background:var(--surface);z-index:1}.stepper .step-label{font-size:12px;font-weight:700;color:var(--text);text-align:center}.stepper .step-line{position:absolute;top:21px;left:50%;width:100%;height:2px;background:var(--border);z-index:0}.stepper .node.done{background:var(--brand);color:#fff;border-color:var(--brand)}.stepper .node.current{background:#fff;border-width:3px;box-shadow:0 0 0 4px var(--brand-tint)}.stepper .step-line.done{background:var(--brand)}.stepper .step.muted .step-label{color:var(--text-muted)}.meta{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 20px}@media(max-width:900px){.meta{grid-template-columns:repeat(2,1fr)}}.meta .k{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-weight:700;margin-bottom:2px}.meta .v{font-size:13.5px;font-weight:600}.person{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.person:last-child{border-bottom:none}.person .pv{width:32px;height:32px;border-radius:50%;background:var(--brand-tint);color:var(--brand-dark);display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}.person .role{font-size:11px;color:var(--text-muted)}.progress-track{background:var(--app-bg);border-radius:5px;height:8px;overflow:hidden;min-width:80px}.progress-track>i{display:block;height:100%;background:var(--brand);border-radius:5px}.gate-warn{background:var(--rate-significant-bg);border:1px solid #f6d9b3;color:#8a5a12;border-radius:8px;padding:9px 11px;font-size:12px;margin-top:8px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.linkbtn{background:none;border:none;color:var(--brand);cursor:pointer;font-weight:600;padding:0;font-size:13px}.kpi .ic.tone-brand{background:var(--brand-tint);color:var(--brand)}.kpi .ic.tone-high{background:var(--rate-high-bg);color:var(--rate-high)}.kpi .ic.tone-significant{background:var(--rate-significant-bg);color:var(--rate-significant)}.kpi .ic.tone-low{background:var(--rate-low-bg);color:var(--rate-low)}.kpi .ic.tone-info{background:var(--info-bg);color:var(--info)}.kpi .ic.tone-purple{background:#e9eef7;color:var(--brand-navy)}.kpi .trend{font-size:11px;font-weight:700;margin-top:4px}.kpi .trend.up{color:var(--rate-low)}.kpi .trend.down{color:var(--rate-high)}.empty{padding:26px 16px;text-align:center;color:var(--text-muted)}.disclaimer{font-size:11px;color:var(--text-muted);margin-top:4px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:20px;right:20px;background:var(--text);color:#fff;padding:11px 15px;border-radius:9px;box-shadow:var(--shadow-lg);font-size:13px;z-index:50}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0e2a52,#1b3a6b)}.login .box{background:var(--surface);border-radius:16px;padding:30px;width:380px;box-shadow:var(--shadow-lg)}.login h2{margin:6px 0 2px;color:var(--brand-dark)}.login .users{display:flex;flex-direction:column;gap:8px;margin-top:16px}.login .u{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);border-radius:10px;padding:11px 13px;cursor:pointer;background:var(--surface);text-align:left}.login .u:hover{border-color:var(--brand);background:var(--brand-tint)}.login .u b{font-size:13px}.login .u small{color:var(--text-muted)}.usermenu{position:relative}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.menu{position:absolute;right:0;top:calc(100% + 8px);z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;min-width:170px}.menu button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:none;background:transparent;padding:9px 10px;border-radius:7px;font-size:13.5px;font-weight:600;color:var(--text);cursor:pointer}.menu button:hover{background:var(--brand-tint);color:var(--brand-dark)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0e2a5273;display:grid;place-items:center;padding:20px}.modal{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lg);width:440px;max-width:100%;max-height:90vh;overflow:auto}.modal-h{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.modal-h h3{margin:0;color:var(--brand-dark);font-size:15px}.modal-b{padding:18px}.iconbtn{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:grid;place-items:center}.iconbtn:hover{background:var(--app-bg);color:var(--text)}.doc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#eceff4;overflow:auto}.doc-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:var(--brand-dark);color:#fff;font-size:13px}.doc-toolbar .btn{font-size:12.5px}.report-doc{background:#fff;color:#1b2431;width:820px;max-width:calc(100% - 32px);margin:20px auto;padding:36px 40px;box-shadow:var(--shadow-lg);border-radius:4px}.report-doc h1,.report-doc h2{font-weight:800}.report-doc .finding{break-inside:avoid}@media print{body{background:#fff!important}#root,.no-print{display:none!important}.doc-overlay{position:static;overflow:visible;background:#fff}.report-doc{width:auto;max-width:none;margin:0;padding:14mm 15mm;box-shadow:none;border-radius:0}@page{margin:0}}
