:root{
  --bg:#0a0a0a; --bg2:#121212; --card:#171717; --line:#2a2a2a; --text:#f2f2f2; --muted:#a0a0a0;
  --red:#e8141c; --red2:#ff3b3b; --ok:#2ecc71; --warn:#f5a524; --bad:#ff5c5c;
  --r:14px; --font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif; --head:'Oswald','Arial Narrow',Impact,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--red2);text-decoration:none} a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--head);text-transform:uppercase;letter-spacing:.02em;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2rem,6vw,3.6rem)} h2{font-size:clamp(1.5rem,4vw,2.2rem)} h3{font-size:1.25rem} h4{font-size:1rem;color:var(--muted)}
p{margin:0 0 1em}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.small{font-size:.875rem} .muted{color:var(--muted)} .center{text-align:center}
.sr{position:absolute;left:-9999px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 24px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--text);font:600 1rem var(--font);cursor:pointer;transition:.15s}
.btn:hover{text-decoration:none;border-color:#555}
.btn-primary{background:var(--red);border-color:var(--red);color:#fff}
.btn-primary:hover{background:var(--red2);border-color:var(--red2)}
.btn-lg{min-height:54px;padding:0 32px;font-size:1.05rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn-sm{min-height:36px;padding:0 14px;font-size:.875rem}

/* tables */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--card);font:600 .8rem var(--font);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap}
tr:last-child td{border-bottom:0}
.chip{display:inline-block;padding:2px 10px;border-radius:999px;background:#222;border:1px solid var(--line);font-size:.8rem;margin:2px 3px 2px 0}

/* alerts, badges */
.alert{padding:14px 18px;border-radius:12px;border:1px solid var(--line);background:var(--card);margin:16px 0}
.alert-ok{border-color:#1f6b3f;background:#0f2418} .alert-warn{border-color:#7a5a12;background:#241b08}
.alert-bad,.alert-error{border-color:#7a2323;background:#241010} .alert-info{border-color:#2a3d5c;background:#0e1725}
.badge{display:inline-block;padding:3px 12px;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid var(--line)}
.badge-ok{color:var(--ok);border-color:#1f6b3f;background:#0f2418}
.badge-warn{color:var(--warn);border-color:#7a5a12;background:#241b08}
.badge-bad{color:var(--bad);border-color:#7a2323;background:#241010}
.badge-muted{color:var(--muted)}

