@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap";:root{--navy:#0b1929;--navy-2:#0f2236;--panel:#122a44;--panel-2:#16314e;--line:#1f3e5e;--line-soft:#1a3450;--ink:#e8eef6;--muted:#90a8c4;--muted-2:#6c87a6;--blue:#4a7dff;--blue-2:#5a9fd4;--deep:#032d87;--crit:#ff4d4d;--high:#ff8a3d;--mod:#ffc24d;--low:#3ddc84;--approve:#3ddc84;--cond:#ffc24d;--deny:#ff4d4d;--brand:#4a7dff;--display:"Cormorant Garamond", Georgia, serif;--body:"DM Sans", system-ui, -apple-system, sans-serif;--mono:"DM Mono", ui-monospace, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--navy);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--blue-2)}::selection{background:#4a7dff59}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--navy-2)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}#root{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:40;border-bottom:1px solid var(--line);background:linear-gradient(#0a1626,#0b1929);flex-wrap:wrap;align-items:center;gap:18px;padding:14px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:14px;min-width:0;display:flex}.brand-text h1{font-family:var(--display);letter-spacing:.5px;margin:0;font-size:22px;font-weight:700;line-height:1}.brand-text .sub{font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--blue-2);margin-top:5px;font-size:10.5px}.topnav{flex-wrap:wrap;gap:4px;margin-left:18px;display:flex}.navbtn{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 13px;font-size:11px;transition:all .15s}.navbtn:hover{color:var(--ink)}.navbtn.active{color:var(--blue-2);border-color:var(--line);background:var(--panel)}.nav-divider{background:var(--line);align-self:stretch;width:1px;margin:4px}.head-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.app-main{flex:1}.page-wrap{max-width:1400px;margin:0 auto;padding:26px clamp(16px,4vw,40px) 80px}.page-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.page-header h1{font-family:var(--display);margin:0;font-size:28px;font-weight:600}.page-header p{color:var(--muted);max-width:70ch;margin:0;font-size:13.5px}.btn{font-family:var(--body);border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--blue);background:var(--panel-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--blue);border-color:var(--blue);color:#06122a}.btn-primary:hover{background:#5d8bff}.btn-ghost{background:0 0}.btn-ghost:hover{background:var(--panel)}.btn-danger{border-color:var(--crit);color:var(--crit);background:0 0}.btn-danger:hover{background:#ff4d4d1a}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.card{background:var(--navy-2);border:1px solid var(--line-soft);border-radius:14px;margin-bottom:18px;padding:20px 22px}.card h3{font-family:var(--body);align-items:center;gap:9px;margin:0 0 3px;font-size:15px;font-weight:700;display:flex}.card .hint{color:var(--muted-2);margin:0 0 14px;font-size:12.5px}label{color:var(--muted);letter-spacing:.2px;margin:0 0 6px;font-size:12px;font-weight:600;display:block}input[type=text],input[type=date],input[type=number],select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);font-family:var(--body);background:#0b1d31;border-radius:8px;padding:9px 11px;font-size:13.5px}textarea{resize:vertical;min-height:64px;font-size:13px}select{cursor:pointer}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.grid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=620px){.grid2,.grid3{grid-template-columns:1fr}}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:26px;display:grid}.kpi{background:var(--navy-2);border:1px solid var(--line-soft);border-radius:13px;padding:16px 18px}.kpi .v{font-family:var(--display);font-size:34px;font-weight:700;line-height:1}.kpi .l{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:10px}.kpi.approve .v{color:var(--approve)}.kpi.cond .v{color:var(--cond)}.kpi.deny .v{color:var(--deny)}.kpi.blue .v{color:var(--blue-2)}.ptable{border-collapse:collapse;background:var(--navy-2);border:1px solid var(--line-soft);border-radius:13px;width:100%;overflow:hidden}.ptable th{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:12px 14px;font-size:10px}.ptable td{border-bottom:1px solid var(--line-soft);padding:13px 14px;font-size:13px}.ptable tr:last-child td{border-bottom:none}.ptable tbody tr{cursor:pointer;transition:all .12s}.ptable tbody tr:hover{background:var(--panel)}.vbadge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;border:1px solid;border-radius:20px;padding:3px 9px;font-size:10px}.vb-approve{color:var(--approve);border-color:var(--approve)}.vb-cond{color:var(--cond);border-color:var(--cond)}.vb-deny{color:var(--deny);border-color:var(--deny)}.vb-pending{color:var(--muted-2);border-color:var(--line)}.badge{font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;border:1px solid;border-radius:20px;padding:3px 8px;font-size:10px}.badge-active{color:var(--approve);border-color:var(--approve)}.badge-draft{color:var(--muted-2);border-color:var(--line)}.badge-retired{color:var(--crit);border-color:var(--crit)}.badge-partial{color:var(--cond);border-color:var(--cond)}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:22px;display:flex}.tab{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 13px;font-size:11.5px;transition:all .15s}.tab:hover{color:var(--ink)}.tab.active{color:var(--blue-2);border-bottom-color:var(--blue)}.assess-wrap{grid-template-columns:1fr 360px;gap:24px;display:grid}@media (width<=1080px){.assess-wrap{grid-template-columns:1fr}}.section-title{font-family:var(--display);margin:0 0 4px;font-size:24px;font-weight:600}.section-note{color:var(--muted);max-width:62ch;margin:0 0 20px;font-size:13.5px}.toggle-row{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:11px;padding:10px 0;display:flex}.toggle-row:last-child{border-bottom:none}.toggle-row .meta{flex:1;min-width:0}.toggle-row .meta .t{font-size:13.5px;font-weight:500}.toggle-row .meta .d{color:var(--muted-2);margin-top:2px;font-size:11.5px}.sw{cursor:pointer;flex:none;width:42px;height:24px;position:relative}.sw input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.sw .track{border:1px solid var(--line);background:#13304b;border-radius:24px;transition:all .18s;position:absolute;inset:0}.sw .knob{background:#5e7da0;border-radius:50%;width:18px;height:18px;transition:all .18s;position:absolute;top:3px;left:3px}.sw.deny input:checked~.track{border-color:var(--deny);background:#ff4d4d40}.sw.deny input:checked~.knob{background:var(--deny);left:21px}.sw.ok input:checked~.track{border-color:var(--approve);background:#3ddc8438}.sw.ok input:checked~.knob{background:var(--approve);left:21px}.sw.sw-cond input:checked~.track{border-color:var(--cond);background:#ffc24d38}.sw.sw-cond input:checked~.knob{background:var(--cond);left:21px}.score-row{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr auto;align-items:center;gap:14px;padding:13px 0;display:grid}.score-row:last-child{border-bottom:none}.score-row .lbl{font-size:13.5px;font-weight:500}.score-row .lbl .w{font-family:var(--mono);color:var(--blue-2);margin-left:8px;font-size:11px}.seg{gap:4px;display:flex}.seg button{font-family:var(--mono);border:1px solid var(--line);width:34px;height:32px;color:var(--muted);cursor:pointer;background:#0b1d31;border-radius:7px;font-size:12px;transition:all .12s}.seg button:hover{border-color:var(--blue-2);color:var(--ink)}.seg button.on{background:var(--blue);border-color:var(--blue);color:#06122a;font-weight:600}.score-legend{color:var(--muted-2);font-size:11.5px;font-family:var(--mono);letter-spacing:.3px;margin-top:14px}.adom{margin-bottom:18px}.adom h4{font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--blue-2);border-bottom:1px solid var(--line-soft);margin:0 0 8px;padding-bottom:6px;font-size:11px}.actl{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:9px 0;display:grid}.actl:last-child{border-bottom:none}.actl .q{font-size:13px}.actl .q .fw{font-family:var(--mono);color:var(--muted-2);letter-spacing:.3px;margin-top:3px;font-size:10px;display:block}.actl .q .md{color:var(--high);font-family:var(--mono);border:1px solid var(--high);border-radius:4px;margin-left:6px;padding:1px 5px;font-size:9px}.aseg{gap:3px;display:flex}.aseg button{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#0b1d31;border-radius:6px;padding:5px 9px;font-size:10.5px;transition:all .12s}.aseg button:hover{border-color:var(--blue-2);color:var(--ink)}.aseg button.yes.on{background:var(--low);border-color:var(--low);color:#06231a}.aseg button.part.on{background:var(--mod);border-color:var(--mod);color:#2a2100}.aseg button.no.on{background:var(--crit);border-color:var(--crit);color:#2a0000}.aseg button.na.on{color:#fff;background:#3a5170;border-color:#3a5170}.area{border:1px solid var(--line-soft);background:#0c1f34;border-radius:11px;margin-bottom:10px;overflow:hidden}.area summary{cursor:pointer;align-items:center;gap:12px;padding:13px 16px;font-size:13.5px;font-weight:500;list-style:none;display:flex}.area summary::-webkit-details-marker{display:none}.area summary .chev{color:var(--muted-2);font-family:var(--mono);margin-left:auto;transition:all .2s}.area[open] summary .chev{transform:rotate(90deg)}.area .area-body{padding:4px 16px 16px}.pill-rate{font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;background:0 0;border:1px solid;border-radius:20px;padding:3px 8px;font-size:10px}.r-crit{color:var(--crit);border-color:var(--crit)}.r-high{color:var(--high);border-color:var(--high)}.r-mod{color:var(--mod);border-color:var(--mod)}.r-low{color:var(--low);border-color:var(--low)}.r-na{color:var(--muted-2);border-color:var(--line)}.decision{border:1px solid var(--line);text-align:center;background:linear-gradient(165deg,#0e2138,#0b1827);border-radius:16px;padding:22px;position:sticky;top:80px;overflow:hidden}.gauge-wrap{width:170px;height:170px;margin:6px auto;position:relative}.gauge-num{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gauge-num .v{font-family:var(--display);font-size:48px;font-weight:700;line-height:1}.gauge-num .l{font-family:var(--mono);letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-top:2px;font-size:10px}.seal{border:3px double;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:158px;height:158px;margin:14px auto 4px;transition:all .3s;display:flex;position:relative}.seal:before{content:"";opacity:.5;border:1px solid;border-radius:50%;position:absolute;inset:8px}.seal .verdict-text{font-family:var(--display);letter-spacing:1px;text-transform:uppercase;padding:0 12px;font-size:23px;font-weight:700;line-height:1.05}.seal .verdict-type{font-family:var(--mono);letter-spacing:3px;text-transform:uppercase;opacity:.8;margin-top:8px;font-size:9px}.seal.approve{color:var(--approve);border-color:var(--approve)}.seal.cond{color:var(--cond);border-color:var(--cond)}.seal.deny{color:var(--deny);border-color:var(--deny)}.seal.pending{color:var(--muted-2);border-color:var(--line)}.rationale{color:var(--muted);text-align:left;border-top:1px solid var(--line-soft);margin-top:14px;padding-top:14px;font-size:12.5px}.rationale b{color:var(--ink)}.rag{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.rag .chip{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:5px 9px;font-size:10.5px}.rag .chip b{font-size:13px}.rag .chip.c-crit b{color:var(--crit)}.rag .chip.c-high b{color:var(--high)}.rag .chip.c-mod b{color:var(--mod)}.rag .chip.c-low b{color:var(--low)}.conf-wrap{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:14px}.conf-bar{background:#16314e;border-radius:6px;height:8px;margin:7px 0;overflow:hidden}.conf-bar i{border-radius:6px;height:100%;transition:all .4s;display:block}.conf-lbl{font-family:var(--mono);color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.signoff-box{border:1px solid var(--line);text-align:left;background:#4a7dff0f;border-radius:11px;margin-top:14px;padding:14px}.signoff-box h4{margin:0 0 8px;font-size:13px}.signoff-box .di{color:var(--muted);margin-bottom:10px;font-size:11.5px}.ra-banner{text-align:left;border:1px solid;border-radius:10px;margin:14px 0 4px;padding:12px 14px;font-size:12.5px}.ra-req{border-color:var(--deny);color:#ffd9d9;background:#ff4d4d1a}.ra-rec{border-color:var(--cond);color:#ffe9b8;background:#ffc24d1a}.ra-banner .h{font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:5px;font-size:10px;display:block}.side-actions{flex-direction:column;gap:8px;margin-top:18px;display:flex}.side-actions .btn{justify-content:center;width:100%}.ai-drop{border:1.5px dashed var(--line);text-align:center;color:var(--muted);cursor:pointer;border-radius:12px;padding:26px;transition:all .15s}.ai-drop:hover,.ai-drop.drag{border-color:var(--blue);color:var(--ink);background:#4a7dff0f}.file-list{flex-direction:column;gap:7px;margin-top:14px;display:flex}.file-chip{border:1px solid var(--line-soft);background:#0b1d31;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:12.5px;display:flex}.file-chip .x{color:var(--muted-2);cursor:pointer;font-family:var(--mono);margin-left:auto}.file-chip .x:hover{color:var(--crit)}.ai-status{color:var(--blue-2);font-size:12.5px;font-family:var(--mono);min-height:18px;margin-top:12px}.spin{border:2px solid #4a7dff4d;border-top-color:var(--blue);vertical-align:-2px;border-radius:50%;width:13px;height:13px;margin-right:7px;animation:.7s linear infinite sp;display:inline-block}@keyframes sp{to{transform:rotate(360deg)}}.kbgroup{margin-bottom:18px}.kbgroup h4{font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--blue-2);border-bottom:1px solid var(--line-soft);margin:0 0 8px;padding-bottom:6px;font-size:11px}.kbrow{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr auto;gap:12px;padding:8px 0;font-size:12.5px;display:grid}.kbrow:last-child{border-bottom:none}.kbrow .fw{font-family:var(--mono);color:var(--muted-2);font-size:10px}.auditlog{font-family:var(--mono);background:var(--navy-2);border:1px solid var(--line-soft);border-radius:11px;padding:6px 0;font-size:12px}.auditlog .ae{border-bottom:1px solid var(--line-soft);grid-template-columns:160px 150px 1fr;gap:12px;padding:8px 16px;display:grid}.auditlog .ae:last-child{border-bottom:none}.auditlog .ts{color:var(--muted-2)}.auditlog .ac{color:var(--blue-2)}.lp-grid{grid-template-columns:340px 1fr;gap:20px;display:grid}@media (width<=1000px){.lp-grid{grid-template-columns:1fr}}.lp-left{max-height:calc(100vh - 92px);padding-right:6px;position:sticky;top:74px;overflow:auto}@media (width<=1000px){.lp-left{max-height:none;position:static}}.lp-trig{cursor:pointer;border-bottom:1px solid var(--line-soft);padding:5px 0;font-size:12.5px;display:block}.lp-trig input{margin-right:8px}.lp-doc{color:#1a2330;border:1px solid var(--line);white-space:pre-wrap;background:#fbfcfe;border-radius:11px;max-height:calc(100vh - 180px);padding:22px 26px;font-family:Georgia,serif;font-size:13px;line-height:1.7;overflow:auto}.lp-doc .lpm{cursor:pointer;background:#4a7dff2e;border-radius:3px;padding:0 1px}.lp-doc .lpm.cur{background:#ffd24d;outline:2px solid #e0a800}.lp-doc .lpm.ack-correct{background:#3ddc8459}.lp-doc .lpm.ack-incorrect{background:#ff4d4d4d;text-decoration:line-through}.lp-nav{background:var(--navy-2);border:1px solid var(--line-soft);border-radius:12px;padding:16px}.lp-nav .row{gap:6px;margin-bottom:8px;display:flex}.lp-nav .row .btn{flex:1;justify-content:center;padding:7px}.report-bar{z-index:50;border-bottom:1px solid var(--line);background:#0b1929;align-items:center;gap:10px;padding:12px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.report{color:#1a2330;max-width:880px;font-family:var(--body);background:#fdfdfb;border-radius:8px;margin:24px auto;padding:54px 60px;line-height:1.6}.report h1{font-family:var(--display);color:#0b1929;margin:0 0 4px;font-size:30px}.report .rmeta{font-family:var(--mono);letter-spacing:1px;color:#516b86;text-transform:uppercase;font-size:11px}.report h2{font-family:var(--display);color:#032d87;border-bottom:2px solid #e3e8ef;margin:34px 0 12px;padding-bottom:6px;font-size:21px}.report h3{color:#0b1929;margin:18px 0 6px;font-size:14px}.report p,.report li{color:#27313f;font-size:13.5px}.report table{border-collapse:collapse;width:100%;margin:12px 0;font-size:12.5px}.report th,.report td{text-align:left;vertical-align:top;border:1px solid #dde3ec;padding:8px 10px}.report th{color:#0b1929;background:#f1f4f9;font-weight:600}.report .verdict-bar{border:2px solid;border-radius:10px;align-items:center;gap:18px;margin:18px 0;padding:20px 24px;display:flex}.report .verdict-bar .vbig{font-family:var(--display);text-transform:uppercase;font-size:30px;font-weight:700}.report .vb-approve{color:#0e7a43;background:#edfbf3;border-color:#3ddc84}.report .vb-cond{color:#8a6400;background:#fff8e8;border-color:#e0a800}.report .vb-deny{color:#a11;background:#fdeeee;border-color:#ff4d4d}.report .score-big{text-align:right;font-family:var(--mono);margin-left:auto}.report .score-big b{font-size:32px;line-height:1;display:block}.report .tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;border:1px solid;border-radius:5px;padding:2px 7px;font-size:10px;display:inline-block}.report .t-crit{color:#a11;background:#fdeeee;border-color:#ff4d4d}.report .t-high{color:#a55200;background:#fff3e8;border-color:#ff8a3d}.report .t-mod{color:#8a6400;background:#fff8e8;border-color:#e0a800}.report .t-low{color:#0e7a43;background:#edfbf3;border-color:#3ddc84}.report .foot{color:#7a8aa0;font-size:11px;font-family:var(--mono);border-top:1px solid #dde3ec;margin-top:40px;padding-top:14px}.report .draft-badge{color:#8a6400;background:#fff8e8;border:1px solid #e0a800;border-radius:8px;margin:0 0 14px;padding:10px 14px;font-size:12.5px}.empty{text-align:center;color:var(--muted-2);padding:40px;font-size:14px}.empty-port{text-align:center;color:var(--muted-2);padding:50px 20px}.row-x{color:var(--muted-2);cursor:pointer}.row-x:hover{color:var(--crit)}.signed{color:var(--approve);font-family:var(--mono);margin-top:8px;font-size:11px}.legal{color:var(--muted-2);max-width:62ch;margin:8px 0 0;font-size:11px}.modal-overlay{z-index:100;background:#050f1cb3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--navy-2);border:1px solid var(--line);border-radius:16px;width:100%;max-width:520px;max-height:90vh;padding:28px;overflow-y:auto}.modal h2{font-family:var(--display);margin:0 0 20px;font-size:22px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@media print{body{background:#fff}.report-bar,.app-header{display:none!important}.report{box-shadow:none;max-width:100%;margin:0;padding:0 8px}}
