:root { --ink:#15181d; --muted:#6b7280; --line:#e5e7eb; --bg:#fff; --accent:#2563eb; }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.5 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
       color:var(--ink); background:var(--bg); }
header { display:flex; gap:16px; align-items:center; padding:12px 24px; border-bottom:1px solid var(--line); }
header .logo { font-weight:700; text-decoration:none; color:var(--ink); }
header nav { display:flex; gap:14px; }
header .spacer { flex:1; }
a { color:var(--accent); }
main { padding:24px; max-width:1200px; }
h1 { font-size:24px; margin:0 0 16px; }
h2 { font-size:18px; margin:28px 0 10px; }
.card { display:flex; flex-wrap:wrap; gap:14px; align-items:end; padding:16px; border:1px solid var(--line);
        border-radius:10px; margin-bottom:20px; }
.card.narrow { max-width:360px; flex-direction:column; align-items:stretch; }
.card.row > div { min-width:120px; }
label { display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--muted); }
label.wide { flex:1 1 100%; }
label.check { flex-direction:row; align-items:center; gap:6px; color:var(--ink); }
input, select, textarea { font:inherit; padding:7px 9px; border:1px solid var(--line); border-radius:7px; color:var(--ink); }
label.wide input, textarea { width:100%; }
button { font:inherit; padding:8px 16px; border:0; border-radius:7px; background:var(--accent); color:#fff; cursor:pointer; }
table { border-collapse:collapse; width:100%; margin-bottom:16px; }
th, td { text-align:left; padding:7px 10px; border-bottom:1px solid var(--line); vertical-align:top; font-size:14px; }
th { color:var(--muted); font-weight:600; }
.muted { color:var(--muted); }
.error { padding:10px 14px; border-radius:8px; background:#fef2f2; color:#991b1b; }
.s-ok { color:#15803d; }
.s-blocked { color:#b45309; }
.s-error { color:#b91c1c; }
pre.text { white-space:pre-wrap; word-break:break-word; background:#f8fafc; border:1px solid var(--line);
           border-radius:8px; padding:12px; max-height:520px; overflow:auto; font-size:13px; }
ul.cols, ol.cols { columns:2; font-size:13px; }
footer { padding:16px 24px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
@media (prefers-color-scheme: dark) {
  :root { --ink:#e5e7eb; --muted:#9ca3af; --line:#2a2f37; --bg:#12151a; --accent:#60a5fa; }
  pre.text { background:#171b21; }
  .error { background:#3f1d1d; color:#fecaca; }
}
