:root{--bg-deep: #0f0f1a;--bg-primary: #141420;--bg-card: #1c1c2e;--bg-card-hover: #22223a;--bg-input: #1a1a2c;--border: #2a2a40;--border-light: #333350;--text-primary: #e8e6f0;--text-secondary: #9896a8;--text-muted: #6b6980;--accent: #f0a050;--accent-light: #f5c088;--accent-dim: rgba(240, 160, 80, .15);--rag-green: #34d399;--rag-green-bg: rgba(52, 211, 153, .12);--rag-green-border: rgba(52, 211, 153, .3);--rag-amber: #fbbf24;--rag-amber-bg: rgba(251, 191, 36, .12);--rag-amber-border: rgba(251, 191, 36, .3);--rag-red: #f87171;--rag-red-bg: rgba(248, 113, 113, .12);--rag-red-border: rgba(248, 113, 113, .3);--rag-blue: #60a5fa;--rag-blue-bg: rgba(96, 165, 250, .12);--sev-severe: #ef4444;--sev-high: #f97316;--sev-elevated: #f59e0b;--sev-moderate: #eab308;--sev-low: #22c55e;--sev-unknown: #6b7280;--radius: 8px;--radius-lg: 12px;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-light)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.app-container{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-primary);border-bottom:1px solid var(--border);padding:0 1.5rem;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.header-brand{display:flex;align-items:center;gap:.75rem}.header-brand h1{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.header-brand .brand-accent{color:var(--accent)}.header-nav{display:flex;align-items:center;gap:.5rem}.main-content{flex:1;padding:1.5rem;max-width:1600px;width:100%;margin:0 auto}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.card-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.25rem}.stat-card.green{border-color:var(--rag-green-border);background:var(--rag-green-bg)}.stat-card.amber{border-color:var(--rag-amber-border);background:var(--rag-amber-bg)}.stat-card.red{border-color:var(--rag-red-border);background:var(--rag-red-bg)}.stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.stat-value{font-size:2rem;font-weight:700;font-family:var(--font-mono);line-height:1}.stat-card.green .stat-value{color:var(--rag-green)}.stat-card.amber .stat-value{color:var(--rag-amber)}.stat-card.red .stat-value{color:var(--rag-red)}.stat-sub{font-size:.75rem;color:var(--text-muted);font-family:var(--font-mono)}.rag-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.4rem}.rag-dot.green{background:var(--rag-green);box-shadow:0 0 6px var(--rag-green)}.rag-dot.amber{background:var(--rag-amber);box-shadow:0 0 6px var(--rag-amber)}.rag-dot.red{background:var(--rag-red);box-shadow:0 0 6px var(--rag-red)}.site-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}.site-table thead th{text-align:left;padding:.75rem;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:2px solid var(--border);background:var(--bg-card);white-space:nowrap}.site-table tbody td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.site-table tbody tr:hover td{background:var(--bg-card-hover)}.site-table tbody tr{cursor:pointer}.site-name{font-weight:600;color:var(--text-primary)}.site-slug{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-mono)}.badge-esc{background:var(--rag-blue-bg);color:var(--rag-blue);border:1px solid rgba(96,165,250,.3)}.badge-edr{background:var(--accent-dim);color:var(--accent);border:1px solid rgba(240,160,80,.3)}.badge-mdr{background:#a855f71f;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.badge-severe{background:#ef44441f;color:#ef4444}.badge-high{background:#f973161f;color:#f97316}.badge-elevated{background:#f59e0b1f;color:#f59e0b}.badge-moderate{background:#eab3081f;color:#eab308}.badge-low{background:#22c55e1f;color:#22c55e}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:var(--radius);font-size:.8rem;font-weight:600;border:none;cursor:pointer;transition:all .15s ease;font-family:var(--font-body)}.btn-primary{background:var(--accent);color:#1a1a2e}.btn-primary:hover{background:var(--accent-light)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.btn-sm{padding:.35rem .7rem;font-size:.75rem}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .85rem;color:var(--text-primary);font-size:.85rem;font-family:var(--font-body);outline:none;transition:border-color .15s ease;width:100%}.input:focus{border-color:var(--accent)}.select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;color:var(--text-primary);font-size:.8rem;font-family:var(--font-body);outline:none;cursor:pointer}.section-title{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary);letter-spacing:-.01em}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--text-muted)}.text-sm{font-size:.8rem}.text-xs{font-size:.7rem}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-deep)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;width:360px;text-align:center}.login-card h2{font-size:1.3rem;margin-bottom:.5rem}.login-card p{color:var(--text-muted);font-size:.85rem;margin-bottom:1.5rem}.form-group{margin-bottom:1rem;text-align:left}.form-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.35rem}.error-text{color:var(--rag-red);font-size:.8rem;margin-top:.5rem}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.tab{padding:.6rem 1rem;font-size:.8rem;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;background:none;border-top:none;border-left:none;border-right:none;font-family:var(--font-body)}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.back-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.back-link:hover{color:var(--accent)}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted)}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-right:.75rem}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}.main-content{padding:1rem}.site-table{font-size:.8rem}}
