*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#0a0d14;--bg-surface:#0d1117;--bg-card:#0f1420;--bg-card-hover:#141929;--bg-input:#0f1420;--border:#1e2538;--border-subtle:#151c2c;--accent:#7c3aed;--accent-light:#a78bfa;--accent-dim:#7c3aed26;--accent-glow:#7c3aed2e;--accent2:#00d4ff;--accent2-light:#67e8f9;--accent2-dim:#00d4ff1f;--accent2-glow:#00d4ff1f;--sev-critical:#ef4444;--sev-high:#f97316;--sev-medium:#eab308;--sev-low:#3b82f6;--sev-info:#94a3b8;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--text:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b}body{background:var(--bg-base);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent-light);text-decoration:none}a:hover{text-decoration:underline}.upgrade-banner{color:#f6ad55;background:#2d1e10;border-bottom:1px solid #c05621;justify-content:space-between;align-items:center;padding:.6rem 2rem;font-size:.875rem;display:flex}.upgrade-link{color:#fbd38d;font-weight:600}.trial-lock-btn{opacity:.45;cursor:not-allowed!important}.trial-badge{color:#f6ad55;vertical-align:middle;background:#2d1e10;border:1px solid #c05621;border-radius:4px;margin-left:.4rem;padding:.15rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.app-layout{min-height:100vh;display:flex}.app-main{background:var(--bg-base);flex-direction:column;flex:1;min-height:100vh;margin-left:220px;display:flex}.app-content{flex:1;padding:1.5rem 2rem}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border);z-index:200;scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;width:220px;height:100vh;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:.6rem;padding:1rem 1rem .875rem;display:flex}.sidebar-logo{background:linear-gradient(135deg, var(--accent), var(--accent2));border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.sidebar-logo svg{width:16px;height:16px}.sidebar-title{background:linear-gradient(90deg, var(--accent-light), var(--accent2));-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:.95rem;font-weight:700}.sidebar-super-badge{color:var(--accent-light);text-transform:uppercase;letter-spacing:.08em;-webkit-text-fill-color:var(--accent-light);font-size:.5rem;font-weight:700;display:block}.sidebar-nav{flex:1;padding:.5rem 0}.sidebar-group-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);padding:.75rem 1rem .2rem;font-size:.58rem;font-weight:700}.sidebar-item{color:var(--text-muted);cursor:pointer;border-right:2px solid #0000;border-radius:6px;align-items:center;gap:.6rem;margin:1px .5rem;padding:.45rem 1rem;font-size:.845rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-item:hover{background:var(--accent-dim);color:var(--text-secondary);text-decoration:none}.sidebar-item.active{background:var(--accent-dim);color:var(--accent-light);border-right-color:var(--accent)}.sidebar-item svg{opacity:.7;flex-shrink:0;width:15px;height:15px}.sidebar-item.active svg{opacity:1}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:.4rem 0 .5rem}.topbar{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:flex-end;align-items:center;gap:1rem;height:48px;padding:0 1.5rem;display:flex}.topbar-status{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.topbar-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 6px var(--success);border-radius:50%;animation:2s ease-in-out infinite pulse-dot}.topbar-user{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.topbar-avatar{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.6rem;font-weight:700;display:flex}.topbar-bell{color:var(--text-muted);cursor:pointer;font-size:1rem;transition:color .15s}.topbar-bell:hover{color:var(--accent-light)}.page{padding:1.5rem 2rem}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:600}.page-header p{color:var(--text-muted);margin-top:.25rem;font-size:.9rem}.page-title{background:linear-gradient(90deg, var(--accent-light), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700}.section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.65rem;font-weight:700}.card{background:var(--bg-card);box-shadow:0 0 14px var(--accent-glow);border:1px solid #7c3aed4d;border-radius:10px;padding:1.25rem}.card-danger{border-color:#ef44444d;box-shadow:0 0 14px #ef44441f}.card-cyan{box-shadow:0 0 14px var(--accent2-glow);border-color:#00d4ff4d}.card-flat{border-color:var(--border);box-shadow:none}.card-accent-purple{border-top:2px solid var(--accent)}.card-accent-red{border-top:2px solid var(--sev-critical)}.card-accent-cyan{border-top:2px solid var(--accent2)}.card-accent-green{border-top:2px solid var(--success)}.card-accent-orange{border-top:2px solid var(--sev-high)}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--bg-card);min-width:0;box-shadow:0 0 10px var(--accent-glow);border:1px solid #7c3aed40;border-radius:10px;padding:1.25rem}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}.stat-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.4rem,3vw,2.25rem);font-weight:700;overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th{text-align:left;border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:.6rem .75rem;font-size:.75rem;font-weight:600}td{border-bottom:1px solid var(--border-subtle);padding:.65rem .75rem}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-card-hover)}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.875rem;font-weight:500;transition:opacity .15s,box-shadow .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(90deg, var(--accent), var(--accent2));color:#fff}.btn-primary:hover:not(:disabled){opacity:.9;box-shadow:0 0 12px var(--accent-glow)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.88}.btn-secondary{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent-light)}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.btn-full{width:100%}.form-group{margin-bottom:1rem}.form-label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.875rem;font-weight:500;display:block}.form-input{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;padding:.55rem .75rem;font-size:.875rem;transition:border-color .15s}.form-input:focus{border-color:var(--accent);outline:none}.form-input::placeholder{color:var(--text-muted)}.alert{border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.alert-error{color:#fc8181;background:#2d1515;border:1px solid #c53030}.alert-success{color:#68d391;background:#1a2e1a;border:1px solid #276749}.alert-info{border:1px solid var(--accent);color:var(--accent-light);background:#7c3aed1a}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-critical{color:var(--sev-critical);background:#ef444426;border:1px solid #ef444466}.badge-high{color:var(--sev-high);background:#f9731626;border:1px solid #f9731666}.badge-medium{color:var(--sev-medium);background:#eab30826;border:1px solid #eab30866}.badge-low{color:var(--sev-low);background:#3b82f626;border:1px solid #3b82f666}.badge-info{color:var(--sev-info);background:#94a3b81a;border:1px solid #94a3b84d}.login-wrap{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--bg-card);width:100%;max-width:420px;box-shadow:0 0 30px var(--accent-glow);border:1px solid #7c3aed4d;border-radius:12px;padding:2.5rem 2rem}.login-logo{text-align:center;margin-bottom:1.75rem}.login-logo h1{background:linear-gradient(90deg, var(--accent-light), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700}.login-logo p{color:var(--text-muted);margin-top:.25rem;font-size:.8rem}.progress-wrap{background:var(--border);vertical-align:middle;border-radius:4px;width:120px;height:8px;display:inline-block;overflow:hidden}.progress-bar{border-radius:4px;height:100%;transition:width .5s}.progress-pending{background:var(--text-muted)}.progress-running{background:var(--accent);animation:1.5s ease-in-out infinite pulse}.progress-completed{background:var(--success)}.progress-failed{background:var(--danger)}.progress-stopped{background:var(--text-muted)}.progress-label{color:var(--text-muted);margin-left:.4rem;font-size:11px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.dash-hero{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem 0;display:flex}.dash-title{color:var(--text);font-size:1.5rem;font-weight:700}.dash-subtitle{color:var(--text-muted);margin-top:.2rem;font-size:.82rem}.status-dot{background:var(--success);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 4px #0000}}.dash-footer-row{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.75rem;width:100%;margin-top:.75rem;display:grid}.dash-footer-row>*{min-width:0}@media (width<=500px){.dash-footer-row{grid-template-columns:repeat(2,1fr)}}.feat-locked{opacity:.5;cursor:not-allowed!important}.dash-stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;width:100%;margin-bottom:1rem;display:grid}.dash-stat-grid>*{min-width:0}.dash-charts-row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;width:100%;margin-bottom:1rem;display:grid}.dash-charts-row>*{min-width:0}.dash-bottom-row{grid-template-columns:2fr 1fr;gap:.75rem;width:100%;display:grid}.dash-bottom-row>*{min-width:0}.chart-box{height:190px;position:relative}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:2rem auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-wrap{justify-content:center;padding:3rem;display:flex}@media (width<=1100px){.dash-charts-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (width<=900px){.dash-bottom-row{grid-template-columns:1fr}.dash-stat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (width<=1024px){.col-hide-md{display:none}}@media (width<=768px){.app-main{margin-left:0}.sidebar{display:none}.page{padding:.75rem}.card{border-radius:8px;padding:.875rem}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table{min-width:520px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.stat-value{font-size:1.5rem}.dash-stat-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.dash-bottom-row{grid-template-columns:1fr}.sev-card-grid{grid-template-columns:repeat(3,1fr)!important}.form-input,select.form-input{font-size:16px}.filter-bar-grid,.findings-charts-row{grid-template-columns:1fr!important}.login-card{margin:0 .5rem;padding:1.5rem 1rem}.btn-mobile-full{width:100%}.dash-hero{flex-direction:column;align-items:flex-start;gap:.75rem}.upgrade-banner{flex-direction:column;align-items:flex-start;gap:.4rem;padding:.6rem 1rem}.app-content{padding:.75rem}}@media (width<=480px){.stat-grid,.dash-stat-grid{grid-template-columns:repeat(2,1fr)}.sev-card-grid{grid-template-columns:repeat(2,1fr)!important}.stat-value{font-size:1.3rem}table .col-hide-mobile{display:none}.dash-footer-row{grid-template-columns:repeat(2,1fr)}}
