@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root{
  --brand:#55DC82; --brand-soft:rgba(85,220,130,.15); --brand-line:rgba(85,220,130,.45);
  --bg:#0A1C10; --ink:#F2F4F3; --ink-2:#A7B0AC; --ink-3:#67716D;
  --glass:rgba(255,255,255,.045); --glass-2:rgba(255,255,255,.08);
  --edge:rgba(85,220,130,.14); --edge-2:rgba(85,220,130,.25);
  --crit:#FF6B57; --crit-soft:rgba(255,107,87,.14);
  --warn:#F5C044; --warn-soft:rgba(245,192,68,.13);
  --ok:#5FD4A8; --ok-soft:rgba(95,212,168,.13);
  --minor:#8B9591; --minor-soft:rgba(139,149,145,.13);
  --body:'Plus Jakarta Sans',sans-serif; --disp:'Plus Jakarta Sans',sans-serif;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{
  color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.55;
  min-height:100vh;margin:0;position:relative;
}
.backdrop{position:fixed;inset:0;z-index:-2;background:
  radial-gradient(900px 500px at 82% -10%, rgba(85,220,130,.20), transparent 60%),
  radial-gradient(700px 600px at -10% 30%, rgba(38,120,80,.20), transparent 55%),
  radial-gradient(800px 700px at 60% 110%, rgba(20,90,60,.25), transparent 60%),
  var(--bg)}
.wrap{max-width:1200px;margin:0 auto;padding:32px 24px 60px}

.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}
.logo{font-family:var(--disp);font-weight:700;font-size:20px;letter-spacing:-.01em}
.logo span{color:var(--brand)}
.sub-line{color:var(--ink-3);font-size:12.5px;margin-top:2px}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}
.stat{background:var(--glass);border:1px solid var(--edge);border-radius:16px;padding:16px 18px;backdrop-filter:blur(20px)}
.stat .k{font-family:var(--disp);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3)}
.stat .v{font-family:var(--disp);font-weight:700;font-size:28px;margin-top:4px}
.stat .v.crit{color:var(--crit)}
.stat .v.ok{color:var(--ok)}
.stat .v.warn{color:var(--warn)}

.card{background:var(--glass);border:1px solid var(--edge);border-radius:18px;padding:20px 24px;margin-bottom:16px;backdrop-filter:blur(20px)}
.card.crit{border-color:rgba(255,107,87,.3)}
.card h3{margin:0 0 4px;font-family:var(--disp);font-size:16px}
.card .desc{color:var(--ink-3);font-size:12.5px;margin-bottom:14px}

.side-label{font-family:var(--disp);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);padding:0 0 8px}

table.pages{width:100%;border-collapse:collapse;font-size:13px}
table.pages th{font-family:var(--disp);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);text-align:left;font-weight:500;padding:9px 10px;border-bottom:1px solid var(--edge-2)}
table.pages td{padding:11px 10px;border-bottom:1px solid var(--edge);font-family:var(--disp);font-size:12.5px;letter-spacing:.02em}
table.pages tr:last-child td{border-bottom:none}

.chip{font-size:11.5px;font-weight:600;padding:3px 11px;border-radius:99px;display:inline-block}
.chip.c{background:var(--crit-soft);color:var(--crit)}
.chip.w{background:var(--warn-soft);color:var(--warn)}
.chip.m{background:var(--minor-soft);color:var(--minor)}
.chip.v{background:var(--ok-soft);color:var(--ok)}

.btn{font-family:var(--body);font-weight:600;font-size:13px;padding:8px 15px;border-radius:11px;border:1px solid var(--edge-2);background:var(--glass);color:var(--ink);cursor:pointer;backdrop-filter:blur(12px)}
.btn:hover{background:var(--glass-2)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#06130B}
.btn.primary:hover{filter:brightness(1.08)}

select.inp{
  background:var(--glass-2);border:1px solid var(--edge-2);border-radius:8px;
  padding:6px 10px;color:var(--ink);font-family:var(--body);font-size:12.5px;
}

.empty-note{color:var(--ink-3);font-size:12.5px;padding:8px 0}
.nowrap{white-space:nowrap}

/* One site per line, narrow — a comma-joined list of 10 domains in a table
   cell is unreadable and blows the column width out. */
.site{
  display:flex;align-items:center;gap:6px;
  color:var(--ink-2);text-decoration:none;
  font-size:11.5px;line-height:1.9;
  white-space:nowrap;
}
.site:hover{color:var(--brand)}
.site svg{width:11px;height:11px;flex:none;opacity:.45}
.site:hover svg{opacity:1}
