:root{--bg:#0f1117;--ink-soft:#13151f;--surface:#1a1d27;--surface-hover:#22263a;--border:#2a2d3e;--text:#e8eaf6;--text-muted:#8b8fa8;--accent:#6366f1;--accent-hover:#4f52d6;--accent-dim:#6366f122;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--brand-navy:#1b2a4a;--brand-blue:#2e5aa7;--brand-green:#00c853;--sev-low:#22c55e;--sev-guarded:#84cc16;--sev-elevated:#f59e0b;--sev-high:#fb923c;--sev-severe:#ef4444;--radius:10px;--radius-sm:8px;--radius-pill:999px;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-title:.72rem;--fs-body:.875rem;--fs-btn:.86rem;--fs-input:.88rem;--fs-badge:.7rem;--fs-hint:.74rem;--logo-top:#00bb3f;--logo-left:#0d58a6;--logo-right:#0a4a8c}
*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:#818cf8}::selection{background:var(--brand-green);color:#04210f}.tnum,.stat-num,.score-num{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}::-webkit-scrollbar-track{background:0 0}.text-muted{color:var(--text-muted)}.title{font-size:var(--fs-title);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700}.hint{font-size:var(--fs-hint);color:var(--text-muted);margin-top:.4rem}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-5)}.card+.card{margin-top:var(--sp-4)}.card-title{font-size:var(--fs-title);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .9rem;font-weight:700}.card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:.9rem;display:flex}.btn{border-radius:var(--radius-sm);font-weight:700;font-size:var(--fs-btn);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{box-shadow:0 0 0 3px var(--accent-dim);outline:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{border-color:var(--border);color:var(--text-muted);background:0 0}.btn-secondary:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.btn-brand{background:var(--brand-green);border-color:var(--brand-green);color:#04210f}.btn-brand:hover:not(:disabled){filter:brightness(1.08)}.btn-danger{background:var(--danger);color:#fff}.btn-chip{background:var(--surface-hover);border-color:var(--border);color:var(--text);padding:.4rem .75rem;font-size:.78rem;font-weight:600}.btn-chip:hover:not(:disabled){border-color:var(--accent)}.btn-chip.btn-on{background:var(--success);border-color:var(--success);color:#04210f}.input,.select,.textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:inherit;font-size:var(--fs-input);padding:.625rem .875rem}.textarea{resize:vertical;min-height:140px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.badge{font-size:var(--fs-badge);text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:.15rem .5rem;font-weight:700;display:inline-block}.badge-clean{color:#86efac;background:#22c55e29}.badge-spam{color:#fcd34d;background:#f59e0b29}.badge-phishing{color:#fca5a5;background:#ef444429}.badge-role{background:var(--surface-hover);color:var(--text-muted)}.badge-soon{color:#93b4e8;background:#2e5aa72e}.toggle-switch{border-radius:var(--radius-pill);cursor:pointer;border:none;width:44px;height:24px;transition:background .15s;position:relative}.toggle-switch.off{background:#ef4444a6}.toggle-switch.on{background:var(--brand-green)}.toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle-switch.on .toggle-knob{transform:translate(20px)}.sidebar{background:var(--ink-soft);border-right:1px solid var(--border);flex-direction:column;gap:1.5rem;padding:1.25rem 1rem;display:flex}.sidebar-brand{align-items:center;gap:.6rem;display:flex}.sidebar-foot{margin-top:auto}.nav{flex-direction:column;gap:.25rem;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:.5rem;padding:.5rem .7rem;font-size:.85rem;font-weight:600;display:flex}.nav-link:hover{background:var(--surface);color:var(--text)}.nav-link.active{background:var(--accent-dim);color:var(--text)}.nav-link.active .nav-ico{color:var(--accent)}.nav-version{color:var(--text-muted);font-size:.66rem}.nav-section{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.5rem;font-size:.66rem;font-weight:700}.nav-section-toggle{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;width:100%;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:space-between;align-items:center;margin-top:.2rem;padding:.5rem;font-family:inherit;font-size:.66rem;font-weight:700;display:flex}.nav-section-toggle:hover{color:var(--text);background:var(--surface)}.nav-caret{font-size:.7rem;transition:transform .15s}.nav-section-toggle.open .nav-caret{transform:rotate(90deg)}.nav-group-items{flex-direction:column;gap:.15rem;padding:.1rem 0 .35rem;display:flex}.mobile-topbar{background:var(--ink-soft);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.hamburger{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;display:inline-flex}.hamburger:hover{border-color:var(--accent)}.hamburger span{background:var(--text);border-radius:2px;width:18px;height:2px;margin:0 auto;display:block}.sidebar-overlay{z-index:40;background:#0000008c;position:fixed;inset:0}.sidebar-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:1.5rem;line-height:1}.sidebar-close:hover{color:var(--text)}.collapsible{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.6rem;overflow:hidden}.collapsible>summary{cursor:pointer;padding:.55rem .8rem;font-size:.82rem;font-weight:700;list-style:none}.collapsible>summary::-webkit-details-marker{display:none}.collapsible[open]>summary{border-bottom:1px solid var(--border)}.dash-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem}.dash-span-2{grid-column:span 2}.dash-card-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}@media (max-width:700px){.dash-span-2{grid-column:span 1}}.stat-row{gap:var(--sp-4);margin-bottom:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.stat-num{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800;line-height:1}.stat-cap{font-size:var(--fs-title);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:.2rem}.verdict-card{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.verdict-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.verdict-head.v-clean{background:linear-gradient(#22c55e29,#22c55e0a)}.verdict-head.v-spam{background:linear-gradient(#f59e0b29,#f59e0b0a)}.verdict-head.v-phishing{background:linear-gradient(#ef44442e,#ef44440d)}.verdict-label{text-transform:capitalize;font-size:1.5rem;font-weight:800}.score-ring{text-align:center;min-width:74px}.score-num{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:800;line-height:1}.score-cap{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.64rem}.bar-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.bar-list-row{grid-template-columns:minmax(90px,34%) 1fr auto;align-items:center;gap:.7rem;display:grid}.bar-list-track{background:var(--bg);border-radius:5px;height:9px;overflow:hidden}.bar-list-fill{border-radius:5px;height:100%;transition:width .4s;display:block}.bar-list-value{text-align:right;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:700}.data{border-collapse:collapse;width:100%;font-size:.82rem}.data th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface);padding:.5rem .6rem;font-size:.66rem;font-weight:700;position:sticky;top:0}.data td{border-bottom:1px solid var(--border);padding:.55rem .6rem}.data tbody tr:hover{background:var(--surface-hover)}.pager{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .2rem .1rem;font-size:.82rem;display:flex}.pager-controls{align-items:center;gap:.5rem;display:flex}.pager-size{align-items:center;gap:.35rem;display:flex}.pager-size .input{width:auto;padding:.2rem .4rem}.pager-page{text-align:center;min-width:5.5rem}.skeleton{background:var(--surface-hover);border-radius:6px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0f,#0000);animation:1.4s infinite orbis-shimmer;position:absolute;inset:0;transform:translate(-100%)}.empty-state{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.85rem}.topbar{background:var(--ink-soft);border-bottom:1px solid var(--border);z-index:30;align-items:center;gap:.6rem;padding:.6rem 1.5rem;display:flex;position:relative}.topbar-crumb{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;display:flex}.topbar-crumb b{color:var(--text);font-weight:700}.topbar-spacer{flex:1}.ctrl{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);height:38px;color:var(--text-muted);cursor:pointer;align-items:center;gap:.4rem;padding:0 .6rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .15s;display:inline-flex;position:relative}.ctrl:hover,.ctrl.open{border-color:var(--accent)}.ctrl.open{background:var(--surface-hover)}.ctrl-icon-only{justify-content:center;width:38px;padding:0}.avatar{-o-object-fit:cover;object-fit:cover;border-radius:50%;flex-shrink:0;display:block;overflow:hidden}.avatar-initials{background:var(--accent-dim);border:1px solid var(--accent);color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.avatar-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;height:38px;padding:0 .5rem 0 .3rem;display:inline-flex}.avatar-btn:hover,.avatar-btn.open{border-color:var(--accent)}.dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:60;min-width:220px;animation:.14s rb-dropin;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 20px 48px -16px #0009}.dropdown-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.6rem .8rem;display:flex}.dropdown-cap{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.64rem;font-weight:700}.dropdown-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.6rem;padding:.6rem .8rem;font-family:inherit;font-size:.83rem;display:flex}.dropdown-item:hover,.dropdown-item.active{background:var(--surface-hover)}.dropdown-item.danger{color:var(--danger)}.dropdown-sep{background:var(--border);height:1px}.menu-backdrop{z-index:40;position:fixed;inset:0}.notif-badge{background:var(--danger);color:#fff;border:2px solid var(--surface);border-radius:8px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:5px;right:6px}.bell-ring{transform-origin:top;animation:2.4s ease-in-out infinite rb-bell}.notif-item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;gap:.6rem;width:100%;padding:.7rem .8rem;font-family:inherit;display:flex}.notif-item.unread{background:#6366f10f}.notif-item:hover{background:var(--surface-hover)}.notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.modal-overlay{z-index:80;background:#0000008c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100%);overflow:hidden;box-shadow:0 30px 70px -20px #000000b3}.modal-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:.7rem;padding:1.1rem 1.2rem;display:flex}.modal-body{color:var(--text-muted);padding:1.1rem 1.2rem;font-size:.85rem;line-height:1.6}.modal-foot{justify-content:flex-end;gap:.5rem;padding:0 1.2rem 1.2rem;display:flex}.chart{width:100%}.chart-legend{flex-direction:column;gap:.5rem;display:flex}.chart-legend-row{align-items:center;gap:.45rem;font-size:.78rem;display:flex}.chart-swatch{border-radius:3px;width:10px;height:10px}
@keyframes shield-progress-scan{0%{transform:translate(-167%)}to{transform:translate(280%)}}.shield-progress-comet{will-change:transform;background:linear-gradient(90deg,#0000 0%,#00c8534d 20%,#00c853 60%,#b9f6ca 82%,#0000 100%);animation:1.15s cubic-bezier(.4,0,.6,1) infinite shield-progress-scan;transform:translate(-167%);box-shadow:0 0 10px 2px #00c85380}.scan-progress{background:var(--bg);border-radius:5px;height:9px;position:relative;overflow:hidden}.scan-progress-fill{background:linear-gradient(90deg,#00c85380,#00c853);border-radius:5px;position:absolute;inset:0 auto 0 0}.scan-progress-indet .scan-progress-fill{width:40%;animation:1.15s cubic-bezier(.4,0,.6,1) infinite shield-progress-scan}@keyframes orbis-spin{to{transform:rotate(360deg)}}@keyframes orbis-shimmer{to{transform:translate(100%)}}@keyframes rb-bell{0%,60%,to{transform:rotate(0)}70%{transform:rotate(12deg)}80%{transform:rotate(-10deg)}90%{transform:rotate(6deg)}}@keyframes rb-dropin{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes rb-bounce-dot{0%,80%,to{opacity:.4;transform:scale(.4)}40%{opacity:1;transform:scale(1)}}@keyframes rb-bars{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes rb-indet{0%{width:40%;left:-40%}50%{width:55%}to{width:40%;left:100%}}@keyframes rb-pulse-ring{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}@keyframes rb-cube3d{0%{transform:rotateX(-20deg)rotateY(0)}to{transform:rotateX(-20deg)rotateY(360deg)}}@keyframes rb-asm-top{0%,10%{opacity:0;transform:translateY(-15px)}35%,65%{opacity:1;transform:translateY(0)}90%,to{opacity:0;transform:translateY(-15px)}}@keyframes rb-asm-left{0%,10%{opacity:0;transform:translate(-15px,7px)}35%,65%{opacity:1;transform:translate(0)}90%,to{opacity:0;transform:translate(-15px,7px)}}@keyframes rb-asm-right{0%,10%{opacity:0;transform:translate(15px,7px)}35%,65%{opacity:1;transform:translate(0)}90%,to{opacity:0;transform:translate(15px,7px)}}@keyframes rb-jack-lid{0%,22%{transform:rotate(0)}33%,80%{transform:rotate(-125deg)}90%,to{transform:rotate(0)}}@keyframes rb-jack-spring{0%,26%{transform:scaleY(.05)}45%{transform:scaleY(1.14)}54%{transform:scaleY(.94)}62%{transform:scaleY(1.04)}70%,82%{transform:scaleY(1)}90%,to{transform:scaleY(.05)}}@keyframes rb-jack-head{0%,26%{opacity:0;transform:translateY(48px)scale(.3)}31%{opacity:1}45%{opacity:1;transform:translateY(-9px)scale(1.12)rotate(-7deg)}54%{opacity:1;transform:translateY(3px)scale(.96)rotate(5deg)}62%{opacity:1;transform:translateY(-4px)scale(1.02)rotate(-3deg)}70%{opacity:1;transform:translateY(0)scale(1)rotate(0)}80%{opacity:1;transform:translateY(-3px)scale(1)rotate(0)}88%,to{opacity:0;transform:translateY(48px)scale(.3)}}@keyframes rb-fill{0%{stroke-dashoffset:126px}55%,to{stroke-dashoffset:0}}@keyframes rb-check{0%,55%{stroke-dashoffset:24px}80%,to{stroke-dashoffset:0}}.spinner-ring{border:4px solid var(--border);border-top-color:var(--brand-green);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite orbis-spin}.spinner-ring--indigo{border-top-color:var(--accent)}

*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.collapse{visibility:collapse}.relative{position:relative}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-3{height:.75rem}.h-\[18px\]{height:18px}.w-3{width:.75rem}.w-\[18px\]{width:18px}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.app-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.main{flex-direction:column;min-width:0;display:flex}.content{width:100%;max-width:1180px;padding:1.75rem}.env-pill{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-pill,999px);padding:.2rem .6rem;font-size:.7rem;font-weight:700}.brand-name{letter-spacing:-.01em;font-weight:800;line-height:1.1}.brand-sub{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:.62rem;font-weight:600;display:block}.page-head{margin-bottom:1.4rem}.page-title{letter-spacing:-.01em;margin:0;font-size:1.4rem;font-weight:800}.page-sub{color:var(--text-muted);margin:.35rem 0 0}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.card h3{margin:0 0 .35rem;font-size:.95rem}.metric{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800}.muted{color:var(--text-muted)}.btn--sm{padding:.4rem .7rem;font-size:.78rem}.form-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.66rem;font-weight:700}.form-error{border:1px solid var(--danger);color:#fca5a5;border-radius:var(--radius-sm,8px);background:#ef44441f;padding:.5rem .7rem;font-size:.8rem}@media (max-width:820px){.app-shell{grid-template-columns:1fr}}
