:root{--red:#BE0000;--red-dark:#8B0000;--red-light:#FEF2F2;--red-glow:rgba(190,0,0,.25);--bg:#F5F3F0;--card:#fff;--border:#E8E5E2;--fg:#1A1A1A;--fg-sec:#444;--fg-muted:#777;--green:#1A7A3A;--green-bg:#ECFDF5;--amber:#B45309;--amber-bg:#FFFBEB;--radius:12px;--radius-sm:8px;--radius-xs:6px;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 16px rgba(0,0,0,.08)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--fg);line-height:1.5;min-height:100vh}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:inherit}

/* Nav */
#dashNav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:0 2rem;height:56px;display:flex;align-items:center;justify-content:space-between}
.dash-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1rem}
.dash-cross{width:28px;height:28px;border-radius:6px;background:var(--red);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;font-weight:900}
.dash-nav-right{display:flex;align-items:center;gap:1rem}
.dash-nav-link{font-size:.84rem;font-weight:500;color:var(--fg-muted);transition:color .2s;display:flex;align-items:center;gap:6px}
.dash-nav-link:hover{color:var(--red)}
.dash-btn-ghost{background:none;border:none;font-size:.84rem;font-weight:500;color:var(--fg-muted);display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-xs);transition:all .2s}
.dash-btn-ghost:hover{color:var(--red);background:var(--red-light)}
.dash-btn-sm{background:var(--red-light);border:1px solid rgba(190,0,0,.15);color:var(--red);font-size:.78rem;font-weight:600;padding:6px 14px;border-radius:var(--radius-xs);display:flex;align-items:center;gap:6px;transition:all .2s}
.dash-btn-sm:hover{background:var(--red);color:#fff}

/* Auth */
.auth-screen{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 56px);padding:2rem}
.auth-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;width:100%;max-width:400px;box-shadow:var(--shadow-md)}
.auth-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.1rem;margin-bottom:1.5rem}
.auth-card h2{font-size:1.3rem;font-weight:700;margin-bottom:.3rem}
.auth-sub{color:var(--fg-muted);font-size:.88rem;margin-bottom:1.5rem}
.auth-form{display:flex;flex-direction:column;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.3rem}
.form-group label{font-size:.8rem;font-weight:600;color:var(--fg-sec)}
.form-group input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-xs);font-family:inherit;font-size:.9rem;transition:border-color .2s;outline:none}
.form-group input:focus{border-color:var(--red)}
.auth-error{background:var(--red-light);color:var(--red);padding:8px 12px;border-radius:var(--radius-xs);font-size:.84rem}
.btn-auth{background:var(--red);color:#fff;border:none;padding:11px 20px;border-radius:var(--radius-xs);font-size:.9rem;font-weight:600;transition:all .2s}
.btn-auth:hover{background:var(--red-dark)}
.auth-toggle{margin-top:1rem;font-size:.84rem;color:var(--fg-muted);display:flex;gap:.4rem;align-items:center}
.auth-link{background:none;border:none;color:var(--red);font-weight:600;font-size:.84rem}

/* Dashboard */
.dash-container{max-width:1000px;margin:0 auto;padding:1.5rem 2rem 4rem}
.api-key-banner{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.5rem;margin-bottom:1.5rem;flex-wrap:wrap;gap:.8rem}
.api-key-label{font-size:.72rem;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.06em}
.api-key-value{font-family:'JetBrains Mono',monospace;font-size:.9rem;font-weight:600;color:var(--fg);margin-top:2px}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}
@media(max-width:640px){.stats-row{grid-template-columns:repeat(2,1fr)}}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1.2rem;text-align:center}
.stat-card-value{font-family:'JetBrains Mono',monospace;font-size:1.8rem;font-weight:700;line-height:1.2}
.stat-card-value.red{color:var(--red)}.stat-card-value.green{color:var(--green)}
.stat-card-label{font-size:.75rem;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.3rem}
.dash-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:0}
.dash-tab{background:none;border:none;padding:.7rem 1rem;font-size:.88rem;font-weight:600;color:var(--fg-muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}
.dash-tab.active{color:var(--red);border-bottom-color:var(--red)}
.dash-tab:hover{color:var(--fg)}
.tab-content{min-height:200px}

/* Domains list */
.domains-list{display:flex;flex-direction:column;gap:.6rem}
.domain-row{display:grid;grid-template-columns:1fr 80px 80px 80px 40px;align-items:center;gap:.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem 1rem;cursor:pointer;transition:border-color .2s}
.domain-row:hover{border-color:var(--red)}
@media(max-width:700px){.domain-row{grid-template-columns:1fr 60px 60px 40px}.domain-row .col-scans{display:none}}
.domain-name{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.risk-badge{font-family:'JetBrains Mono',monospace;font-size:.78rem;font-weight:700;padding:3px 8px;border-radius:4px;text-align:center}
.risk-badge.critical{background:var(--red-light);color:var(--red)}
.risk-badge.high{background:var(--amber-bg);color:var(--amber)}
.risk-badge.moderate{background:#F0F9FF;color:#0369A1}
.risk-badge.low{background:var(--green-bg);color:var(--green)}
.col-scans{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--fg-muted);text-align:center}
.col-arrow{color:var(--fg-faint);text-align:center}

/* Activity */
.activity-list{display:flex;flex-direction:column;gap:.4rem}
.activity-row{display:flex;align-items:center;gap:1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem 1rem;font-size:.84rem}
.activity-time{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--fg-muted);white-space:nowrap;min-width:140px}
.activity-domain{font-weight:600;min-width:160px}
.activity-score{font-family:'JetBrains Mono',monospace;font-weight:700;min-width:40px}
.activity-score.red{color:var(--red)}.activity-score.green{color:var(--green)}.activity-score.amber{color:var(--amber)}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:100;display:flex;align-items:center;justify-content:center;padding:2rem;backdrop-filter:blur(4px)}
.modal-card{background:var(--card);border-radius:var(--radius);width:100%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid var(--border)}
.modal-header h3{font-size:1.1rem;font-weight:700}
.modal-close{background:none;border:none;font-size:1rem;color:var(--fg-muted);padding:4px 8px;border-radius:4px;transition:all .2s}
.modal-close:hover{color:var(--red);background:var(--red-light)}
.modal-body{padding:1.5rem}
.finding-item{padding:.6rem 0;border-bottom:1px solid var(--border);font-size:.85rem}
.finding-item:last-child{border-bottom:none}
.finding-type{font-family:'JetBrains Mono',monospace;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.finding-type.critical{color:var(--red)}.finding-type.high{color:var(--amber)}.finding-type.moderate{color:#0369A1}
.finding-note{color:var(--fg-sec);margin-top:.2rem}
.loading{color:var(--fg-muted);font-size:.88rem;padding:2rem;text-align:center}
@media(max-width:640px){.activity-row{flex-wrap:wrap;gap:.3rem}.activity-time{min-width:auto}}