
:root{--bg:#F6F5F1;--surface:#fff;--ink:#17181C;--muted:#5D6070;--line:#DDDBD3;--accent:#24507A;--accent-ink:#fff;--soft:#E3ECF5;--good:#2C7A38;--warn:#9A5B00;--bad:#B0281F;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#121317;--surface:#1A1C22;--ink:#E7E8EE;--muted:#A0A3B4;--line:#2E313B;--accent:#8DB8E6;--accent-ink:#0B1A2A;--soft:#1C2A3A;--good:#71C77E;--warn:#E5A84D;--bad:#F2867C;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#121317;--surface:#1A1C22;--ink:#E7E8EE;--muted:#A0A3B4;--line:#2E313B;--accent:#8DB8E6;--accent-ink:#0B1A2A;--soft:#1C2A3A;--good:#71C77E;--warn:#E5A84D;--bad:#F2867C;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
main{max-width:920px;margin:0 auto;padding:28px 16px 64px}header.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
header.top a{color:var(--ink);text-decoration:none;font-weight:700}nav.links{display:flex;gap:14px;flex-wrap:wrap;font-size:.92rem}nav.links a{font-weight:500;color:var(--muted)}
h1{font-size:1.8rem;line-height:1.2;margin:0 0 12px}h2{font-size:1.25rem;margin:28px 0 10px}h3{font-size:1.05rem;margin:18px 0 6px}
p{margin:0 0 12px;max-width:72ch}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.88rem}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;margin:14px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:6px}
.card b{font-size:1.05rem}
label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.92rem;margin:0 0 12px}
label.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}
input[type=text],input[type=email],input[type=number],select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.55em .7em;width:100%}
textarea{min-height:120px}
label input,label select,label textarea{font-weight:400}
.btn,button{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:700;font-size:.92rem;padding:.55em 1em;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none}
.btn.primary,button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
button.danger{color:var(--bad);border-color:var(--bad)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.chip{display:inline-block;font-size:.75rem;font-weight:700;padding:.1em .55em;border-radius:99px;background:var(--soft);color:var(--accent)}
.alert{border-left:4px solid var(--warn);padding:10px 14px;background:var(--surface);border-radius:0 8px 8px 0;margin:8px 0}.alert.bad{border-color:var(--bad)}
code,.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;word-break:break-all}
footer{max-width:920px;margin:0 auto;padding:16px;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.chip.good{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}.chip.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.chip.bad{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}
table.hm td{text-align:center;white-space:nowrap}table.hm td:first-child{text-align:left}
.hm-green{background:color-mix(in srgb,var(--good) 22%,transparent)}.hm-amber{background:color-mix(in srgb,var(--warn) 24%,transparent)}.hm-red{background:color-mix(in srgb,var(--bad) 22%,transparent)}.hm-grey{color:var(--muted)}
li.bad{color:var(--bad)}details summary{cursor:pointer}
