:root{
  /* CogSight Solutions palette */
  --bg:#050816;
  --panel:#0b1220;
  --panel2:#111a2c;
  --line:#1e293b;
  --text:#e8eef6;
  --muted:#94a3b8;
  --primary:#00b7dc;      /* CogSight cyan */
  --primary-ink:#03121a;
  --secondary:#8b5cf6;    /* CogSight purple */
  --grad: linear-gradient(135deg,#00e5ff,#8b5cf6);
  --good:#00bb7f;
  --warn:#f5a524;
  --bad:#ff2357;
  --radius: 14px;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter Tight',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg);color:var(--text);line-height:1.5}
a{color:inherit}
.muted{color:var(--muted)}
.err{color:var(--bad);min-height:1.2em;margin:.4rem 0 0}
.btn{font:inherit;border:1px solid var(--line);background:var(--panel2);color:var(--text);
  padding:.55rem .9rem;border-radius:10px;cursor:pointer;font-weight:600}
.btn:hover{border-color:var(--primary)}
.btn.primary{background:var(--grad);border-color:transparent;color:#fff;font-weight:700}
.btn.primary:hover{filter:brightness(1.08)}
.btn.sm{padding:.3rem .55rem;font-size:.82rem;border-radius:8px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}
.brand{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.2rem;letter-spacing:-.01em}
.brand img{width:30px;height:30px;border-radius:8px}
.brand .sub{font-weight:500;font-size:.72rem;color:var(--muted);letter-spacing:.02em}
.brand .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* auth */
body.auth{display:grid;place-items:center;min-height:100vh;padding:1rem}
.auth-card{width:min(380px,92vw);display:flex;flex-direction:column;gap:.5rem}
.auth-card label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted);margin-top:.5rem}
.auth-card input{font:inherit;padding:.6rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}
.auth-card button{margin-top:1rem}
/* app shell */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.2rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}
.wrap{max-width:1100px;margin:0 auto;padding:1.2rem}
.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.site-card{cursor:pointer;transition:border-color .15s}
.site-card:hover{border-color:var(--primary)}
.score{font-size:2.2rem;font-weight:800;letter-spacing:-.02em}
.score.g{color:var(--good)}.score.w{color:var(--warn)}.score.b{color:var(--bad)}
.pill{font-size:.72rem;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.pill.running{color:var(--warn);border-color:var(--warn)}
.pill.done{color:var(--good);border-color:var(--good)}
.pill.error{color:var(--bad);border-color:var(--bad)}
h1{font-size:1.4rem;margin:.2rem 0}
h2{font-size:1.05rem;margin:1.4rem 0 .6rem}
input,select{font:inherit;padding:.5rem .6rem;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.sev{font-weight:700;font-size:.72rem;text-transform:uppercase}
.sev.critical,.sev.high{color:var(--bad)}.sev.medium{color:var(--warn)}.sev.low{color:var(--muted)}
.f-applied{opacity:.55}
.f-verified{opacity:.5;text-decoration:line-through}
dialog{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:var(--radius);padding:1.2rem;width:min(440px,92vw)}
dialog::backdrop{background:rgba(0,0,0,.5)}
.hidden{display:none}
