.ent{--e-bg:#070910;--e-bg-2:#0a0d16;--e-panel:#0e1220;--e-panel-2:#121728;--e-elev:#161c30;--e-line:#8296d224;--e-line-2:#8296d23d;--e-ink:#e8ecf8;--e-ink-2:#aab3cc;--e-ink-3:#6e7792;--e-ink-4:#4a5268;--e-accent:#4257ff;--e-accent-2:#6b7bff;--t-observed:#22d3ee;--t-proven:#34e5b0;--t-struct:#5b8cff;--t-stale:#f0a52a;--t-harmful:#ff5a5a;--t-infer:#a879ff;--e-mono:ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--e-sans:"Inter", system-ui, -apple-system, sans-serif;grid-template-columns:var(--e-rail,232px) 1fr;background:var(--e-bg);color:var(--e-ink);font-family:var(--e-sans);font-size:13px;display:grid;position:fixed;inset:0;overflow:hidden}.ent *{box-sizing:border-box}.ent-side{background:linear-gradient(180deg, #0a0e1a, var(--e-bg));border-right:1px solid var(--e-line);flex-direction:column;display:flex;overflow:hidden}.ent-main{grid-template-rows:50px 1fr;display:grid;overflow:hidden}.ent-brand{border-bottom:1px solid var(--e-line);align-items:center;gap:10px;padding:14px 16px;display:flex}.ent-brand .mk{color:#070910;background:linear-gradient(135deg, var(--e-accent-2), #2a3ac0);border-radius:6px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:grid}.ent-brand .nm{letter-spacing:.3px;font-weight:700;line-height:1.1}.ent-brand .nm small{color:var(--e-ink-3);letter-spacing:.4px;font-size:10px;font-weight:500;display:block}.ent-nav{flex:none;padding:8px;overflow-y:auto}.ent-nav a{color:var(--e-ink-2);border:1px solid #0000;border-radius:8px;align-items:center;gap:11px;margin-bottom:1px;padding:9px 11px;font-size:13px;text-decoration:none;display:flex}.ent-nav a:hover{background:var(--e-elev);color:var(--e-ink)}.ent-nav a.active{color:var(--e-accent-2);background:#4257ff24;border-color:#4257ff4d}.ent-nav a .ico{text-align:center;opacity:.9;width:16px;font-size:13px}.ent-nav a .sub{color:var(--e-ink-4);font-size:9px;font-family:var(--e-mono);margin-left:auto}.ent-scope{border-top:1px solid var(--e-line);max-height:42%;margin-top:auto;padding:10px;overflow-y:auto}.ent-scope h4{text-transform:uppercase;letter-spacing:.9px;color:var(--e-ink-4);margin:2px 6px 8px;font-size:10px;font-weight:600}.ent-scope .tree-row{color:var(--e-ink-2);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-size:12px;display:flex}.ent-scope .tree-row:hover{background:var(--e-elev);color:var(--e-ink)}.ent-scope .tree-row.sel{color:var(--t-observed)}.ent-scope .tree-row.depth-1{padding-left:18px}.ent-scope .tree-row.depth-2{padding-left:30px}.ent-ctx{border-bottom:1px solid var(--e-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b16cc;align-items:center;gap:10px;padding:0 16px;display:flex}.ent-ctx .field{flex-direction:column;gap:1px;display:flex}.ent-ctx .field label{text-transform:uppercase;letter-spacing:.7px;color:var(--e-ink-4);font-size:8.5px}.ent-ctx select,.ent-ctx .search input{background:var(--e-panel);color:var(--e-ink);border:1px solid var(--e-line-2);font-size:12px;font-family:var(--e-sans);border-radius:6px;padding:4px 8px}.ent-ctx select:focus,.ent-ctx input:focus{border-color:var(--e-accent);outline:none}.ent-ctx .search{align-items:center;margin-left:auto;display:flex}.ent-ctx .search input{width:260px}.ent-ctx .ic-btn{border:1px solid var(--e-line);background:var(--e-panel);width:30px;height:30px;color:var(--e-ink-2);cursor:pointer;border-radius:7px;place-items:center;display:grid}.ent-ctx .ic-btn:hover{color:var(--e-ink);border-color:var(--e-line-2)}.ent-body{padding:16px 18px 28px;overflow:auto}.ent-body::-webkit-scrollbar{width:9px;height:9px}.ent-body::-webkit-scrollbar-thumb{background:var(--e-line-2);border-radius:5px}.ent-h{align-items:baseline;gap:12px;margin:0 0 14px;display:flex}.ent-h h1{letter-spacing:.2px;margin:0;font-size:20px;font-weight:700}.ent-h .tag{color:var(--e-ink-3);font-size:12px}.ent-panel{background:linear-gradient(180deg, var(--e-panel), var(--e-bg-2));border:1px solid var(--e-line);border-radius:10px}.ent-panel>header{border-bottom:1px solid var(--e-line);align-items:center;gap:8px;padding:11px 14px;display:flex}.ent-panel>header h3{margin:0;font-size:13px;font-weight:600}.ent-panel>header .sub{color:var(--e-ink-4);font-size:10px;font-family:var(--e-mono);margin-left:auto}.ent-panel .pad{padding:14px}.ent-row{gap:14px;display:grid}.ent-strip{grid-template-columns:repeat(6,1fr)}.ent-2col{grid-template-columns:1fr 360px}@media (width<=1500px){.ent{--e-rail:208px}.ent-2col{grid-template-columns:1fr 320px}}@media (width<=1300px){.ent-strip{grid-template-columns:repeat(3,1fr)}}.kpi{background:var(--e-panel);border:1px solid var(--e-line);cursor:pointer;border-radius:10px;padding:12px 14px;position:relative}.kpi:hover{border-color:var(--e-line-2)}.kpi .k{color:var(--e-ink-3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:10px}.kpi .v{font-size:26px;font-weight:800;font-family:var(--e-mono);line-height:1}.kpi .d{color:var(--e-ink-3);margin-top:6px;font-size:11px}.kpi .trend{font-size:11px;font-family:var(--e-mono)}.kpi .trend.up{color:var(--t-proven)}.kpi .trend.down{color:var(--t-harmful)}.kpi .why{color:var(--e-ink-4);font-size:9px;position:absolute;top:10px;right:12px}.chip{font-family:var(--e-mono);border:1px solid;border-radius:5px;align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:2px;width:7px;height:7px}.chip.observed{color:var(--t-observed)}.chip.proven{color:var(--t-proven)}.chip.struct{color:var(--t-struct)}.chip.stale{color:var(--t-stale)}.chip.harmful{color:var(--t-harmful)}.chip.infer{color:var(--t-infer)}.chip.muted{color:var(--e-ink-3)}.rail{flex-direction:column;gap:10px;display:flex}.dec{background:var(--e-panel);border:1px solid var(--e-line);cursor:pointer;border-left-width:3px;border-radius:8px;padding:11px 13px}.dec:hover{border-color:var(--e-line-2);background:var(--e-panel-2)}.dec.sev-crit{border-left-color:var(--t-harmful)}.dec.sev-high{border-left-color:var(--t-stale)}.dec.sev-med{border-left-color:var(--t-struct)}.dec .t{align-items:baseline;gap:8px;margin-bottom:3px;font-size:13px;font-weight:600;display:flex}.dec .t .n{color:var(--e-ink-4);font-family:var(--e-mono);font-size:11px}.dec .svc{color:var(--e-ink-3);margin-bottom:8px;font-size:11px}.dec .meta{grid-template-columns:1fr 1fr;gap:3px 10px;font-size:11px;display:grid}.dec .meta .m .l{color:var(--e-ink-4)}.dec .meta .m .v{color:var(--e-ink);font-weight:600}.dec .bar{background:var(--e-elev);border-radius:2px;height:3px;margin-top:3px;overflow:hidden}.dec .bar>i{background:var(--t-proven);height:100%;display:block}.timeline{align-items:center;gap:4px;padding:6px 2px;display:flex;overflow-x:auto}.tstage{cursor:pointer;flex-direction:column;align-items:center;gap:5px;min-width:96px;display:flex}.tstage .dot{border:2px solid var(--e-line-2);width:30px;height:30px;color:var(--e-ink-2);background:var(--e-panel);border-radius:50%;place-items:center;font-size:12px;display:grid}.tstage.done .dot{border-color:var(--t-proven);color:var(--t-proven)}.tstage.active .dot{border-color:var(--t-observed);color:var(--t-observed)}.tstage.pending .dot{color:var(--e-ink-4)}.tstage .lb{color:var(--e-ink-2);font-size:11px}.tstage .ct{color:var(--e-ink-4);font-size:10px;font-family:var(--e-mono)}.tconn{background:var(--e-line-2);flex:1;min-width:18px;height:2px}.dock-tabs{gap:2px;display:flex}.dock-tabs button{color:var(--e-ink-3);cursor:pointer;font-size:12px;font-family:var(--e-sans);background:0 0;border:none;border-bottom:2px solid #0000;padding:7px 13px}.dock-tabs button.on{color:var(--e-ink);border-bottom-color:var(--e-accent-2)}.dock-tabs button .ct{font-family:var(--e-mono);color:var(--e-ink-4);margin-left:6px;font-size:10px}.dock-row{border-bottom:1px solid var(--e-line);align-items:flex-start;gap:10px;padding:9px 4px;font-size:12px;display:flex}.dock-row .ic{margin-top:1px}.ent table{border-collapse:collapse;width:100%;font-size:12px}.ent th{text-align:left;color:var(--e-ink-4);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--e-line);background:var(--e-panel);padding:7px 10px;font-size:10px;font-weight:600;position:sticky;top:0}.ent td{border-bottom:1px solid var(--e-line);color:var(--e-ink-2);padding:7px 10px}.ent tr:hover td{background:var(--e-elev)}.ent .mono{font-family:var(--e-mono)}.state-box{border:1px dashed var(--e-line-2);text-align:center;color:var(--e-ink-3);border-radius:10px;padding:26px;font-size:12.5px}.state-box .src{font-family:var(--e-mono);color:var(--e-ink-4);margin-top:8px;font-size:11px}.state-box.err{color:var(--t-harmful);border-color:#ff5a5a66}.state-box.unauth{color:var(--t-stale);border-color:#f0a52a66}.spin{border:2px solid var(--e-line-2);border-top-color:var(--e-accent-2);border-radius:50%;width:22px;height:22px;margin:0 auto 10px;animation:.8s linear infinite espin}@keyframes espin{to{transform:rotate(360deg)}}.demo-flag{font-family:var(--e-mono);color:#070910;background:var(--t-stale);border-radius:4px;align-items:center;gap:5px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-flex}.btn-e{background:var(--e-accent);color:#fff;cursor:pointer;font-size:12px;font-weight:600;font-family:var(--e-sans);border:none;border-radius:7px;padding:7px 13px}.btn-e:hover{background:var(--e-accent-2)}.btn-e:disabled{opacity:.45;cursor:not-allowed}.btn-e.ghost{background:var(--e-elev);color:var(--e-ink);border:1px solid var(--e-line-2)}.ent a:focus-visible,.ent button:focus-visible,.ent select:focus-visible,.ent input:focus-visible,.ent [tabindex]:focus-visible{outline:2px solid var(--e-accent-2);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--bg:#050507;--panel:#0c0d14;--panel-2:#10121b;--line:#788cff29;--ink:#e9edfb;--muted:#9aa3bd;--blue:#4257ff;--blue-l:#6b7bff;--ok:#34e5b0;--warn:#f0a52a;--down:#ff5a5a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(120% 90% at 50% -10%, #101a3c, var(--bg) 68%);color:var(--ink);margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px}a{color:var(--blue-l)}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;background:#060914d1;align-items:center;gap:22px;padding:14px 26px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-size:16px;display:flex}.brand-name b{font-weight:800}.brand-name{letter-spacing:.3px;font-weight:400}.brand-mark{background:linear-gradient(135deg, var(--blue), var(--ok));border-radius:4px;width:14px;height:14px;box-shadow:0 0 12px #4257ff99}.topnav{flex:1;gap:6px;display:flex}.topnav a{color:var(--muted);border-radius:9px;padding:7px 13px;font-weight:600;text-decoration:none}.topnav a:hover{color:var(--ink);background:#ffffff0a}.topnav a.active{color:#fff;background:#4257ff2e}.tenant-chip{color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:4px 11px;font-size:12px}.statusbar{border-bottom:1px solid var(--line);background:#ffffff04;gap:12px;padding:10px 26px;display:flex}.pill{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.pill-dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.pill-ok .pill-dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}.pill-warn .pill-dot{background:var(--warn)}.pill-down .pill-dot{background:var(--down)}.content{max-width:1080px;margin:0 auto;padding:28px 26px 80px}h1{margin:4px 0 18px;font-size:22px}h2{margin:0 0 12px;font-size:15px}.muted{color:var(--muted)}.mono{color:#c3cbe6;font-family:SFMono-Regular,Consolas,monospace;font-size:12.5px}.error{color:#ffb4b4}.row-between{justify-content:space-between;align-items:center;gap:16px;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:22px;padding:18px 20px}.form-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}label{color:var(--muted);flex-direction:column;flex:1;gap:6px;min-width:160px;font-size:12px;display:flex}input,select{color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-family:inherit;font-size:13px}input:focus,select:focus{border-color:var(--blue-l);outline:none}button{color:#fff;cursor:pointer;background:linear-gradient(135deg, #2a44e0, var(--blue));border:none;border-radius:9px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600}button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.5;cursor:default}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #788cff17;padding:10px 12px}.data-table th{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:11px;font-weight:600}.data-table tbody tr:hover{background:#788cff0d}.badge{letter-spacing:.3px;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.badge-info{color:#c3cbe6;background:#9aa3bd29}.badge-low{color:#8fccff;background:#4db1ff29}.badge-medium{color:#f4bd6a;background:#f0a52a29}.badge-high{color:#ff9d78;background:#ff82502e}.badge-critical{color:#ff8a8a;background:#ff5a5a2e}.pagination{align-items:center;gap:14px;margin-top:16px;display:flex}.pagination-status{color:var(--muted);font-size:12.5px}.verify{font-weight:600}.verify.ok{color:var(--ok)}.verify.bad{color:var(--down)}.upload-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg, #2a44e0, var(--blue));border-radius:9px;padding:9px 16px;font-size:13px;font-weight:600}.upload-btn:hover{filter:brightness(1.08)}.scorecard-head{align-items:center;gap:22px;display:flex}.score-num{font-size:34px;font-weight:800;line-height:1}.score-num .pct{color:var(--muted);margin-left:2px;font-size:17px}.band{border-radius:20px;padding:6px 15px;font-size:13px;font-weight:700}.band-ok{color:var(--ok);background:#34e5b029}.band-warn{color:var(--warn);background:#f0a52a29}.band-down{color:var(--down);background:#ff5a5a29}.status{font-size:12px;font-weight:700}.status-pass{color:var(--ok)}.status-fail{color:var(--down)}.disclaimer{color:#aab3ce;margin:10px 0 0;font-size:12px}
