*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg0:#080c10;--bg1:#0d1117;--bg2:#111820;--bg3:#161f2a;--bg4:#1c2736;--bg5:#223040;--border:#1e2d3d;--border2:#253547;--border3:#2e4157;--cyan:#00d4ff;--cyan2:#00aace;--cyan-dim:#003d4d;--cyan-glow:rgba(0,212,255,.08);--emerald:#00e5a0;--emerald-dim:#003d2a;--amber:#f5a623;--amber-dim:#3d2800;--red:#ff4d6a;--red-dim:#3d0015;--purple:#a78bfa;--text0:#e8edf2;--text1:#8fa3b8;--text2:#526070;--text3:#345;--mono:"IBM Plex Mono",monospace;--sans:"Manrope",sans-serif;--radius:6px;--radius-lg:10px}html{font-size:14px;scroll-behavior:smooth}body{background:var(--bg0);color:var(--text0);font-family:var(--sans);min-height:100vh;overflow-x:hidden}body:before{background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.08) 0,rgba(0,0,0,.08) 4px);content:"";inset:0;pointer-events:none;position:fixed;z-index:0}.shell{display:flex;min-height:100vh;position:relative;z-index:1}.sidebar{background:var(--bg1);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow-y:auto;position:sticky;top:0;width:220px}.sidebar-logo{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:20px 18px 16px}.brand-logo{border-radius:8px;flex-shrink:0;height:64px;-o-object-fit:contain;object-fit:contain;width:64px}.logo-text{color:var(--text0);font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.3px}.logo-sub{color:var(--text2);font-size:9px;letter-spacing:.5px;margin-top:1px}.sidebar-section{padding:16px 0 0}.sidebar-label{color:var(--text3);font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:1.5px;padding:0 14px 6px;text-transform:uppercase}.nav-item{align-items:center;border-left:2px solid transparent;color:var(--text1);cursor:pointer;display:flex;gap:9px;padding:7px 14px;position:relative;text-decoration:none;transition:all .12s}.nav-item:hover{background:var(--bg3);color:var(--text0)}.nav-item.active,.nav-item.router-link-active{background:var(--cyan-glow);border-left-color:var(--cyan);color:var(--cyan)}.nav-item .ni-icon{align-items:center;display:flex;flex-shrink:0;font-size:12px;height:16px;justify-content:center;opacity:.7;width:16px}.nav-item.active .ni-icon,.nav-item.router-link-active .ni-icon{opacity:1}.nav-item .ni-label{flex:1;font-size:12px;font-weight:500}.nav-badge{border-radius:3px;font-family:var(--mono);font-size:9px;font-weight:600;padding:2px 5px}.nb-red{background:var(--red-dim);color:var(--red)}.nb-amber{background:var(--amber-dim);color:var(--amber)}.nb-cyan{background:var(--cyan-dim);color:var(--cyan)}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:14px}.user-pill{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg3);border:none;border-radius:var(--radius);color:inherit;cursor:pointer;display:flex;font:inherit;gap:9px;outline:none;padding:8px 10px;text-align:left;transition:background .12s;width:100%}.user-pill:hover{background:var(--bg4)}.user-av{align-items:center;background:linear-gradient(135deg,var(--cyan-dim),var(--cyan));border-radius:50%;color:var(--cyan);display:flex;flex-shrink:0;font-size:10px;font-weight:700;height:26px;justify-content:center;width:26px}.user-name{color:var(--text0);font-size:11px;font-weight:600}.user-role{color:var(--text2);font-family:var(--mono);font-size:9px}.user-menu-wrap{position:relative}.user-menu{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius);bottom:44px;box-shadow:0 8px 20px #00000059;left:0;padding:6px;position:absolute;right:0;z-index:20}.user-menu-item{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--text1);cursor:pointer;display:flex;font-family:var(--mono);font-size:10px;font-weight:600;gap:7px;padding:8px 10px;text-align:left;width:100%}.user-menu-icon{flex-shrink:0;font-size:13px;opacity:.9}.user-menu-item:hover{background:var(--bg4);color:var(--text0)}.user-menu-item.danger:hover{color:var(--red)}.main{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.topbar{align-items:center;background:var(--bg1);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:16px;height:52px;padding:0 24px}.topbar-title{color:var(--text0);flex:1;font-size:14px;font-weight:700}.topbar-sub{color:var(--text2);margin-top:1px}.scan-status,.topbar-sub{font-family:var(--mono);font-size:10px}.scan-status{align-items:center;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text1);cursor:pointer;display:flex;gap:7px;padding:5px 12px;transition:all .12s}.scan-status:hover{border-color:var(--cyan);color:var(--cyan)}.scan-dot{animation:pulse 2s ease infinite;background:var(--emerald);border-radius:50%;height:6px;width:6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.topbar-btn{align-items:center;border:none;border-radius:var(--radius);cursor:pointer;display:flex;font-family:var(--mono);font-size:11px;font-weight:600;gap:6px;padding:6px 14px;transition:all .12s}.btn-primary{background:var(--cyan);color:#000}.btn-primary:hover{background:var(--cyan2)}.btn-ghost{background:transparent;border:1px solid var(--border2);color:var(--text1)}.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}.content{flex:1;overflow-y:auto;padding:24px}.pane{animation:fadeIn .15s ease;display:none}.page-enter-active,.pane.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.section-hdr{color:var(--text2);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:1.5px;margin-bottom:12px;text-transform:uppercase}.kpi-row{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.kpi{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;padding:14px 16px;position:relative;transition:border-color .15s}.kpi:hover{border-color:var(--border3)}.kpi:before{background:linear-gradient(90deg,transparent,var(--cyan-dim),transparent);content:"";height:1px;left:0;position:absolute;right:0;top:0}.kpi-label{color:var(--text2);font-size:9px;font-weight:600;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.kpi-label,.kpi-value{font-family:var(--mono)}.kpi-value{font-size:24px;font-weight:800;line-height:1}.kpi-delta{color:var(--text2);font-family:var(--mono);font-size:9px;margin-top:5px}.kpi-delta.up{color:var(--emerald)}.kpi-delta.down{color:var(--red)}.cv{color:var(--cyan)}.gv{color:var(--emerald)}.av{color:var(--amber)}.rv{color:var(--red)}.grid-2{grid-template-columns:1fr 1fr}.grid-2,.grid-3{display:grid;gap:14px}.grid-3{grid-template-columns:1fr 1fr 1fr}.grid-auto{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;transition:border-color .15s}.card:hover{border-color:var(--border3)}.card-title{align-items:center;color:var(--text0);display:flex;font-size:12px;font-weight:700;gap:8px;margin-bottom:12px}.card-title .ct-sub{color:var(--text2);font-weight:400;margin-left:auto}.badge,.card-title .ct-sub{font-family:var(--mono);font-size:10px}.badge{align-items:center;border-radius:3px;display:inline-flex;font-weight:600;gap:4px;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.b-ok{background:var(--emerald-dim);border:1px solid rgba(0,229,160,.2);color:var(--emerald)}.b-warn{background:var(--amber-dim);border:1px solid rgba(245,166,35,.2);color:var(--amber)}.b-fail{background:var(--red-dim);border:1px solid rgba(255,77,106,.2);color:var(--red)}.b-info{background:var(--cyan-dim);border:1px solid rgba(0,212,255,.2);color:var(--cyan)}.b-purple{background:#1e1a3a;border:1px solid rgba(167,139,250,.2);color:var(--purple)}.b-gray{background:var(--bg4);border:1px solid var(--border2);color:var(--text1)}.pbar{background:var(--bg5);height:4px;margin:6px 0;overflow:hidden}.pbar,.pbar-fill{border-radius:99px}.pbar-fill{height:100%;transition:width .6s ease}.pf-cyan{background:linear-gradient(90deg,var(--cyan2),var(--cyan))}.pf-green{background:linear-gradient(90deg,#00b07a,var(--emerald))}.pf-amber{background:linear-gradient(90deg,#c07800,var(--amber))}.pf-red{background:linear-gradient(90deg,#c0002a,var(--red))}.tbl{border-collapse:collapse;font-size:11px;width:100%}.tbl th{background:var(--bg3);border-bottom:1px solid var(--border2);color:var(--text2);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.8px;text-align:left;text-transform:uppercase}.tbl td,.tbl th{padding:8px 10px}.tbl td{border-bottom:1px solid var(--border);color:var(--text1);transition:background .1s;vertical-align:middle}.tbl tr:hover td{background:var(--bg3)}.tbl tr:last-child td{border-bottom:none}.mono{font-family:var(--mono);font-size:10px}.chk{align-items:center;border-radius:3px;display:inline-flex;flex-shrink:0;font-size:9px;font-weight:700;height:16px;justify-content:center;width:16px}.chk-ok{background:var(--emerald-dim);color:var(--emerald)}.chk-fail{background:var(--red-dim);color:var(--red)}.chk-warn{background:var(--amber-dim);color:var(--amber)}.chk-na{background:var(--bg4);color:var(--text3)}.score-ring{background:conic-gradient(var(--cyan) var(--pct,0),var(--bg5) 0);box-shadow:inset 0 0 0 6px var(--bg2);flex-shrink:0;height:64px;width:64px}.score-ring,.score-ring-inner{align-items:center;border-radius:50%;display:flex;justify-content:center}.score-ring-inner{background:var(--bg2);flex-direction:column;height:50px;width:50px}.sr-val{color:var(--text0);font-size:15px;font-weight:800;line-height:1}.sr-pct,.sr-val{font-family:var(--mono)}.sr-pct{color:var(--text2);font-size:8px}.domain-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:16px;transition:all .15s}.domain-card:hover{background:var(--bg3);border-color:var(--border3)}.dc-head{gap:10px}.dc-head,.dc-icon{align-items:center;display:flex}.dc-icon{border-radius:8px;flex-shrink:0;font-size:15px;height:34px;justify-content:center;width:34px}.dc-name{color:var(--text0);font-size:13px;font-weight:700}.dc-meta{color:var(--text2);font-size:9px;margin-top:1px}.dc-meta,.dc-pct{font-family:var(--mono)}.dc-pct{font-size:18px;font-weight:800;margin-left:auto}.dc-checks{display:flex;flex-direction:column;gap:3px;list-style:none}.dc-checks li{align-items:center;color:var(--text1);display:flex;font-size:10px;gap:7px;padding:2px 0}.dc-dot{border-radius:50%;flex-shrink:0;height:5px;width:5px}.dd-ok{background:var(--emerald)}.dd-warn{background:var(--amber)}.dd-fail{background:var(--red)}.finding{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:12px 0}.finding:last-child{border-bottom:none}.fi-sev{align-items:center;border-radius:6px;display:flex;flex-shrink:0;font-size:12px;height:28px;justify-content:center;width:28px}.fs-crit{background:var(--red-dim)}.fs-high{background:var(--amber-dim)}.fi-title{color:var(--text0);font-size:12px;font-weight:600;line-height:1.3}.fi-meta{color:var(--text2);font-family:var(--mono);font-size:10px;margin-top:3px}.fi-action{display:flex;gap:6px;margin-top:6px}.act-btn{align-items:center;background:transparent;border:1px solid var(--border2);border-radius:3px;color:var(--text1);cursor:pointer;display:inline-flex;font-family:var(--mono);font-size:9px;font-weight:700;gap:4px;letter-spacing:.3px;padding:3px 9px;text-transform:uppercase;transition:all .12s}.act-btn.primary,.act-btn:hover{border-color:var(--cyan);color:var(--cyan)}.act-btn.primary{background:var(--cyan-dim)}.acct-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.acct-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.acct-name{color:var(--text0);font-size:13px;font-weight:700}.acct-id{color:var(--text2);font-family:var(--mono);font-size:9px;margin-top:2px}.acct-checks{display:flex;flex-direction:column;gap:0;list-style:none}.acct-checks li{align-items:center;border-bottom:1px solid var(--border);color:var(--text1);display:flex;font-size:10px;gap:8px;padding:4px 0}.acct-checks li:last-child{border-bottom:none}.acct-score-bar{background:var(--bg5);border-radius:99px;height:3px;margin:8px 0;overflow:hidden}.acct-score-fill{border-radius:99px;height:100%}.tag{border:1px solid;border-radius:2px;display:inline-block;font-family:var(--mono);font-size:9px;font-weight:600;padding:2px 7px}.tg-aws{background:#1a1000;border-color:#f5a6234d;color:var(--amber)}.tg-azure{background:var(--cyan-dim);border-color:#00d4ff33;color:var(--cyan)}.tg-gh{background:var(--bg4);border-color:var(--border2);color:var(--text1)}.tg-gs{background:var(--red-dim);border-color:#ff4d6a33;color:var(--red)}.tg-okta{background:#1a0030;border-color:#a78bfa33;color:var(--purple)}.tg-hr{border-color:#00e5a033}.live-chip,.tg-hr{background:var(--emerald-dim);color:var(--emerald)}.live-chip{align-items:center;border:1px solid rgba(0,229,160,.2);border-radius:3px;display:inline-flex;font-family:var(--mono);font-size:9px;font-weight:700;gap:5px;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.live-chip:before{animation:pulse 2s ease infinite;background:var(--emerald);border-radius:50%;content:"";height:5px;width:5px}.upload-zone{background:var(--bg3);border:1px dashed var(--border3);border-radius:var(--radius);cursor:pointer;padding:16px;text-align:center;transition:all .12s}.upload-zone:hover{background:var(--cyan-glow);border-color:var(--cyan)}.uz-icon{font-size:20px;margin-bottom:6px;opacity:.5}.uz-label{color:var(--text1);font-size:11px;font-weight:500}.uz-sub{color:var(--text2);font-family:var(--mono);font-size:9px;margin-top:3px}.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.pill{background:transparent;border:1px solid var(--border2);border-radius:3px;color:var(--text2);cursor:pointer;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.5px;padding:5px 14px;text-transform:uppercase;transition:all .12s}.pill.active,.pill:hover{border-color:var(--cyan);color:var(--cyan)}.pill.active{background:var(--cyan-dim)}.sub-pane{display:none}.sub-pane.active{display:block}
