@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg:#060b18;--navy:#060b18;--navy-2:#0a1020;--surface:#0d1528;--surface-2:#111c34;--panel:#0d1528;--panel-2:#111c34;--sidebar:#07090f;--line:#1d2b45;--line-soft:#172236;--border:#1d2b45;--ink:#e8eef8;--muted:#8da5c8;--muted-2:#7898b8;--label:#4e6a94;--blue:#4f84ff;--blue-2:#6aa3e8;--blue-3:#3d6de0;--deep:#032d87;--brand:#4f84ff;--approve:#2dd882;--cond:#f5b840;--deny:#f04444;--crit:#f04444;--high:#f07b30;--mod:#f5b840;--low:#2dd882;--display:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--body:"Inter", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--r-sm:8px;--r-md:12px;--r-lg:16px;--shadow-card:0 1px 3px #0006, 0 4px 16px #0003;--shadow-elevated:0 2px 8px #00000080, 0 8px 32px #0000004d}.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}.skip-link{background:var(--blue);color:#fff;z-index:9999;white-space:nowrap;border-radius:0 0 10px 10px;padding:10px 20px;font-size:14px;font-weight:700;text-decoration:none;transition:top .15s;position:absolute;top:-100%;left:8px}.skip-link:focus{outline-offset:2px;outline:3px solid #fff;top:0}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:600px 100%;border-radius:6px;animation:1.4s infinite shimmer}.skeleton-text{border-radius:4px;height:14px}.skeleton-title{border-radius:4px;height:20px}.skeleton-card{border-radius:var(--r-md);height:80px}.skeleton-row{border-bottom:1px solid var(--line-soft);border-radius:0;height:52px}.skeleton-row:last-child{border-bottom:none}.err-banner{border-radius:var(--r-sm);color:#ffd9d9;background:#f0444414;border:1px solid #f044444d;align-items:flex-start;gap:12px;padding:12px 16px;font-size:13px;display:flex}.err-banner .err-icon{color:var(--crit);flex-shrink:0;margin-top:1px;font-size:16px}.err-banner .err-body{flex:1}.err-banner .err-title{color:var(--crit);margin-bottom:2px;font-weight:600}.sbar-trust{border-top:1px solid var(--line-soft);font-family:var(--mono);letter-spacing:.8px;color:var(--label);text-transform:uppercase;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:9px;display:flex}.sbar-trust i{color:var(--approve);font-size:10px}.triage-handoff{border-radius:var(--r-md);background:linear-gradient(135deg,#4f84ff1a,#4f84ff0a);border:1px solid #4f84ff4d;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;padding:16px 20px;display:flex}.triage-handoff-text{flex:1;min-width:200px}.triage-handoff-text strong{margin-bottom:3px;font-size:13.5px;font-weight:600;display:block}.triage-handoff-text span{color:var(--muted);font-size:12px}.toast-ok{border-radius:var(--r-sm);color:var(--approve);background:#2dd88214;border:1px solid #2dd8824d;align-items:center;gap:10px;padding:11px 16px;font-size:13px;font-weight:500;display:flex}.toast-ok i{flex-shrink:0;font-size:15px}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.55}a{color:var(--blue-2);text-decoration:none}a:hover{color:var(--blue)}::selection{background:#4f84ff4d}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--label)}#root{flex-direction:column;min-height:100vh;display:flex}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid var(--line-soft);z-index:40;flex-direction:column;flex-shrink:0;width:228px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sbar-brand{border-bottom:1px solid var(--line-soft);padding:22px 18px 18px}.sbar-logo{font-family:var(--display);letter-spacing:-.3px;color:var(--ink);align-items:center;gap:9px;font-size:17px;font-weight:800;line-height:1;display:flex}.sbar-logo-mark{background:var(--blue);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;box-shadow:0 0 12px #4f84ff59}.sbar-logo-mark svg{width:15px;height:15px}.sbar-tagline{font-family:var(--mono);letter-spacing:1.8px;text-transform:uppercase;color:var(--label);margin-top:5px;font-size:9px}.sbar-nav{flex:1;padding:8px 10px}.sbar-section{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--label);padding:16px 6px 5px;font-size:9.5px}.sbar-item{cursor:pointer;width:100%;color:var(--muted-2);font-family:var(--body);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;margin-bottom:1px;padding:8.5px 10px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.sbar-item i{opacity:.85;flex-shrink:0;width:17px;font-size:15px}.sbar-item span:first-of-type{flex:1}.sbar-item:hover{color:var(--ink);background:#ffffff0a}.sbar-item:hover i{opacity:1}.sbar-item.active{color:var(--ink);background:#4f84ff1a;font-weight:600}.sbar-item.active:before{content:"";background:var(--blue);border-radius:0 3px 3px 0;width:3px;margin-left:-10px;position:absolute;top:6px;bottom:6px;left:0}.sbar-item.active i{color:var(--blue);opacity:1}.sbar-item.locked{opacity:.55}.sbar-pro-badge{font-family:var(--mono);letter-spacing:.5px;color:var(--blue);background:#4f84ff26;border:1px solid #4f84ff33;border-radius:5px;flex-shrink:0;padding:2px 6px;font-size:9px}.sbar-divider{background:var(--line-soft);height:1px;margin:6px 8px}.sbar-footer{border-top:1px solid var(--line-soft);align-items:center;gap:8px;padding:12px;display:flex}.sbar-user{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.sbar-avatar{background:linear-gradient(135deg, var(--blue-3), var(--blue));color:#fff;letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex;box-shadow:0 0 0 2px #4f84ff33}.sbar-user-info{min-width:0}.sbar-user-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.sbar-user-plan{color:var(--label);font-size:10px;font-family:var(--mono);margin-top:1px}.sbar-signout{flex-shrink:0;color:var(--muted-2)!important}.sbar-signout i{font-size:16px}.sbar-mobile-toggle{z-index:60;background:var(--surface-2);border:1px solid var(--line);cursor:pointer;width:40px;height:40px;color:var(--ink);border-radius:9px;justify-content:center;align-items:center;font-size:18px;display:none;position:fixed;top:14px;left:14px}.sbar-overlay{z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;display:none;position:fixed;inset:0}.app-main{flex:1;min-width:0;overflow-y:auto}.page-wrap{max-width:1440px;margin:0 auto;padding:28px clamp(16px,4vw,44px) 80px}.page-header{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.page-header>div:first-child{flex:1}.page-header h1{font-family:var(--display);letter-spacing:-.4px;text-wrap:balance;margin:0 0 3px;font-size:clamp(20px,2.5vw,24px);font-weight:700;line-height:1.2}.page-header p{color:var(--muted);max-width:68ch;margin:0;font-size:13px;line-height:1.5}.btn{font-family:var(--body);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:7px;padding:8px 15px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.btn:hover{border-color:var(--blue);background:#4f84ff14}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 0 16px #4f84ff40}.btn-primary:hover{background:#6291ff;border-color:#6291ff;box-shadow:0 0 24px #4f84ff66}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{border-color:var(--line);background:#ffffff0d}.btn-danger{color:var(--crit);background:0 0;border-color:#0000}.btn-danger:hover{border-color:var(--crit);background:#f044441a}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);box-shadow:var(--shadow-card);margin-bottom:18px;padding:20px 22px}.card h3{font-family:var(--body);align-items:center;gap:9px;margin:0 0 3px;font-size:14px;font-weight:700;display:flex}.card .hint{color:var(--muted-2);margin:0 0 14px;font-size:12px}label{color:var(--muted);letter-spacing:.2px;text-transform:uppercase;margin:0 0 5px;font-size:11.5px;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:#060b1899;border-radius:9px;padding:9px 12px;font-size:13.5px;transition:border-color .12s}textarea{resize:vertical;min-height:64px;font-size:13px}select{cursor:pointer}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #4f84ff26}.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<=680px){.grid2,.grid3{grid-template-columns:1fr}}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:26px;display:grid}.kpis.kpis-flush{margin-bottom:0}.kpi{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:18px 20px;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--line);height:2px;position:absolute;top:0;left:0;right:0}.kpi.approve:before{background:var(--approve)}.kpi.cond:before{background:var(--cond)}.kpi.deny:before{background:var(--deny)}.kpi.blue:before{background:var(--blue)}.kpi .v{font-family:var(--display);font-size:clamp(28px,3.5vw,36px);font-weight:800;line-height:1}.kpi .l{font-family:var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-top:7px;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)}.dash-sections{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px;display:grid}@media (width<=960px){.dash-sections{grid-template-columns:1fr}}.dash-section{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:22px}.dash-section-header{border-bottom:1px solid var(--line-soft);align-items:center;gap:14px;margin-bottom:18px;padding-bottom:16px;display:flex}.dash-section-icon{font-size:26px;line-height:1}.dash-section-title{font-family:var(--display);letter-spacing:-.2px;text-wrap:balance;font-size:clamp(16px,2vw,18px);font-weight:700;line-height:1.15}.dash-section-header.vsr .dash-section-title{color:var(--blue-2)}.dash-section-header.grc .dash-section-title{color:var(--approve)}.dash-section-sub{color:var(--muted-2);font-size:11px;font-family:var(--mono);letter-spacing:.4px;margin-top:3px}.pulse-dot{background:var(--approve);border-radius:50%;width:6px;height:6px;margin-right:5px;animation:2.2s infinite pulse-anim;display:inline-block}@keyframes pulse-anim{0%,to{opacity:1}50%{opacity:.3}}.prog-health{flex-direction:column;gap:0;display:flex}.prog-item{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.prog-item:last-child{border-bottom:none}.prog-label{color:var(--muted);font-size:12px}.prog-val{font-family:var(--mono);font-size:13px;font-weight:600}.prog-bar-wrap{background:var(--line-soft);border-radius:2px;height:3px;margin-top:5px}.prog-bar-fill{border-radius:2px;height:100%;transition:width .4s}.ptable{border-collapse:collapse;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);width:100%;box-shadow:var(--shadow-card);overflow:hidden}.ptable th{font-family:var(--mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--muted-2);text-align:left;border-bottom:1px solid var(--line);background:#0003;padding:12px 16px;font-size:10px}.ptable td{border-bottom:1px solid var(--line-soft);padding:13px 16px;font-size:13px}.ptable tr:last-child td{border-bottom:none}.ptable tbody tr{cursor:pointer;transition:background .1s}.ptable tbody tr:hover{box-shadow:inset 3px 0 0 var(--blue);background:#4f84ff0d}.vbadge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.6px;border:1px solid;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:600}.vb-approve{color:var(--approve);background:#2dd88212;border-color:#2dd88259}.vb-cond{color:var(--cond);background:#f5b84012;border-color:#f5b84059}.vb-deny{color:var(--deny);background:#f0444412;border-color:#f0444459}.vb-pending{color:var(--blue-2);background:#4f84ff12;border-color:#4f84ff4d}.badge{font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;border:1px solid;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:600}.badge-active{color:var(--approve);background:#2dd88212;border-color:#2dd88266}.badge-draft{color:var(--muted-2);border-color:var(--line)}.badge-retired{color:var(--crit);border-color:#f0444466}.badge-partial{color:var(--cond);border-color:#f5b84066}.vendor-sub{color:var(--muted-2);margin-top:1px;font-size:11px}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;margin-bottom:24px;display:flex}.tab{font-family:var(--body);color:var(--muted);cursor:pointer;white-space:nowrap;letter-spacing:-.1px;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:12.5px;font-weight:500;transition:color .14s,border-color .14s}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--blue);font-weight:600}.assess-wrap{grid-template-columns:1fr 360px;gap:24px;display:grid}@media (width<=1100px){.assess-wrap{grid-template-columns:1fr}}.section-title{font-family:var(--display);letter-spacing:-.2px;margin:0 0 4px;font-size:21px;font-weight:700}.section-note{color:var(--muted);max-width:62ch;margin:0 0 20px;font-size:13px}.toggle-row{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:12px;padding:11px 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:#060b18cc;border-radius:24px;transition:all .18s;position:absolute;inset:0}.sw .knob{background:var(--label);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:#f0444433}.sw.deny input:checked~.knob{background:var(--deny);left:21px}.sw.ok input:checked~.track{border-color:var(--approve);background:#2dd8822e}.sw.ok input:checked~.knob{background:var(--approve);left:21px}.sw.sw-cond input:checked~.track{border-color:var(--cond);background:#f5b8402e}.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:#060b1880;border-radius:7px;font-size:12px;transition:all .1s}.seg button:hover{border-color:var(--blue-2);color:var(--ink)}.seg button.on{background:var(--blue);border-color:var(--blue);color:#fff;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:10.5px}.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);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:#060b1880;border-radius:7px;padding:5px 9px;font-size:10.5px;transition:all .1s}.aseg button:hover{border-color:var(--blue-2);color:var(--ink)}.aseg button.yes.on{background:var(--low);border-color:var(--low);color:#021b0e}.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:var(--muted);background:#2c4060;border-color:#2c4060}.area{border:1px solid var(--line-soft);background:#060b1866;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);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;border:1px solid;border-radius:20px;padding:3px 8px;font-size:10px}.r-crit{color:var(--crit);background:#f0444412;border-color:#f0444466}.r-high{color:var(--high);background:#f07b3012;border-color:#f07b3066}.r-mod{color:var(--mod);background:#f5b84012;border-color:#f5b84066}.r-low{color:var(--low);background:#2dd88212;border-color:#2dd88266}.r-na{color:var(--muted-2);border-color:var(--line)}.decision{background:linear-gradient(160deg, var(--surface-2), var(--surface));border:1px solid var(--line);border-radius:var(--r-lg);text-align:center;box-shadow:var(--shadow-elevated);padding:24px;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:800;line-height:1}.gauge-num .l{font-family:var(--mono);letter-spacing:2.5px;color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:9.5px}.seal{border:2.5px solid;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:156px;height:156px;margin:14px auto 4px;transition:all .3s;display:flex;position:relative}.seal:before{content:"";opacity:.4;border:1px solid;border-radius:50%;position:absolute;inset:8px}.seal .verdict-text{font-family:var(--display);letter-spacing:.5px;text-transform:uppercase;text-align:center;padding:0 12px;font-size:22px;font-weight:800;line-height:1.05}.seal .verdict-type{font-family:var(--mono);letter-spacing:3px;text-transform:uppercase;opacity:.75;margin-top:8px;font-size:9px}.seal.approve{color:var(--approve);border-color:#2dd88299}.seal.cond{color:var(--cond);border-color:#f5b84099}.seal.deny{color:var(--deny);border-color:#f0444499}.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 10px;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:var(--line-soft);border-radius:6px;height:7px;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:#4f84ff0d;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{color:#ffd9d9;background:#f0444414;border-color:#f0444459}.ra-rec{color:#ffe9b8;background:#f5b84014;border-color:#f5b84059}.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);border-radius:var(--r-md);text-align:center;color:var(--muted);cursor:pointer;padding:28px;transition:all .15s}.ai-drop:hover,.ai-drop.drag{border-color:var(--blue);color:var(--ink);background:#4f84ff0d}.file-list{flex-direction:column;gap:7px;margin-top:14px;display:flex}.file-chip{border:1px solid var(--line-soft);background:#060b1899;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;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 #4f84ff40;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)}}.hitl-box{border:1px solid var(--line);background:#4f84ff0d;border-radius:10px;margin-top:18px;padding:14px 16px}.hitl-box.hitl-locked{background:#2dd8820d;border-color:#2dd88240}.hitl-label{font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--muted-2);margin-bottom:10px;font-size:9px}.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:10.5px}.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(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:6px 0;font-size:12px}.auditlog .ae{border-bottom:1px solid var(--line-soft);grid-template-columns:190px 220px 1fr 140px;align-items:start;gap:12px;padding:9px 16px;display:grid}.auditlog .ae.ae-header{letter-spacing:1.1px;text-transform:uppercase;color:var(--muted-2);background:#0003;border-radius:10px 10px 0 0;padding:10px 16px 8px;font-size:10px}.auditlog .ae:last-child{border-bottom:none}.auditlog .ts{color:var(--muted-2)}.auditlog .ac{color:var(--blue-2);word-break:break-all}.billing-plans{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;margin-bottom:8px;display:grid}.billing-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);flex-direction:column;padding:26px 24px 22px;display:flex;position:relative}.billing-featured{border-width:1.5px;border-color:var(--blue);box-shadow:0 0 32px #4f84ff24}.billing-badge{font-size:10.5px;font-family:var(--mono);letter-spacing:1px;color:#fff;white-space:nowrap;border-radius:20px;padding:3px 16px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.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:#4f84ff2e;border-radius:3px;padding:0 1px}.lp-doc .lpm.cur{background:#ffd24d;outline:2px solid #e0a800}.lp-doc .lpm.ack-correct{background:#2dd88259}.lp-doc .lpm.ack-incorrect{background:#f044444d;text-decoration:line-through}.lp-nav{background:var(--surface);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;background:var(--bg);border-bottom:1px solid var(--line);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:10px;margin:24px auto;padding:54px 60px;line-height:1.65}.report h1{font-family:var(--display);color:#0b1929;margin:0 0 4px;font-size:28px}.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:20px}.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:800}.report .vb-approve{color:#0e7a43;background:#edfbf3;border-color:#2dd882}.report .vb-cond{color:#8a6400;background:#fff8e8;border-color:#e0a800}.report .vb-deny{color:#a11;background:#fdeeee;border-color:#f04444}.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:#f04444}.report .t-high{color:#a55200;background:#fff3e8;border-color:#f07b30}.report .t-mod{color:#8a6400;background:#fff8e8;border-color:#e0a800}.report .t-low{color:#0e7a43;background:#edfbf3;border-color:#2dd882}.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}.badge-not{color:var(--muted-2);border-color:var(--line)}.badge-implemented{color:var(--approve);background:#2dd88212;border-color:#2dd88266}.badge-na{color:var(--muted-2);border-color:var(--line)}.badge-critical{color:var(--crit);background:#f0444412;border-color:#f0444466}.badge-high{color:var(--high);background:#f07b3012;border-color:#f07b3066}.badge-moderate{color:var(--mod);background:#f5b84012;border-color:#f5b84066}.badge-low{color:var(--approve);background:#2dd88212;border-color:#2dd88266}.badge-informational{color:var(--blue-2);background:#4f84ff12;border-color:#4f84ff59}.badge-open{color:var(--crit);background:#f0444412;border-color:#f0444466}.badge-in-progress{color:var(--blue-2);border-color:#4f84ff59}.badge-resolved{color:var(--approve);border-color:#2dd88266}.badge-closed{color:var(--muted-2);border-color:var(--line)}.badge-planned{color:var(--blue-2);border-color:#4f84ff59}.badge-completed{color:var(--approve);border-color:#2dd88266}.badge-cancelled{color:var(--muted-2);border-color:var(--line)}.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;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030814bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-elevated);padding:28px;overflow-y:auto}.modal h2{font-family:var(--display);margin:0 0 20px;font-size:21px;font-weight:700}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@media (width<=768px){.sidebar{z-index:50;width:240px;transition:transform .25s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;bottom:0;left:-240px;box-shadow:4px 0 24px #00000080}.sidebar.open{transform:translate(240px)}.sbar-mobile-toggle{display:flex}.sbar-overlay.open{display:block}.app-main{padding-top:0}.page-wrap{padding:60px 16px}.auditlog .ae{grid-template-columns:1fr;gap:4px}.auditlog .ae>:nth-child(3){color:var(--muted)}.assess-wrap{grid-template-columns:1fr}.ptable-wrap{overflow-x:auto}.lp-grid{grid-template-columns:1fr}}@media (width<=480px){.page-header{flex-direction:column}.page-header .btn{justify-content:center;width:100%}.tabs{flex-wrap:nowrap;overflow-x:auto}.tab{flex-shrink:0}.kpis{grid-template-columns:repeat(2,1fr)}}@media print{body{background:#fff}.report-bar,.app-header{display:none!important}.report{box-shadow:none;max-width:100%;margin:0;padding:0 8px}}
