:root{--brand:#1f3a5f;--accent:#0b6e69;--bad:#a11a1a;--bad-bg:#fde8e8;--bg:#f6f7f9;--fg:#1b1f24;--line:#b9c0c9;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);line-height:1.5}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.top{background:var(--brand);color:#fff;padding:12px 20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.top a{color:#fff}.brand{font-weight:600}
main{max-width:34rem;margin:32px auto;padding:0 16px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px}
h1{font-size:1.4rem;margin:0 0 16px}h2{font-size:1.1rem}
label{display:block;margin:16px 0 4px;font-weight:600}
input{width:100%;padding:10px;border:2px solid var(--line);border-radius:6px;font-size:1rem}
input:focus,button:focus,a:focus{outline:3px solid var(--accent);outline-offset:2px}
button{margin-top:20px;padding:10px 20px;border-radius:6px;border:2px solid var(--brand);font-size:1rem;cursor:pointer}
button.primary{background:var(--brand);color:#fff}
.banner{padding:10px 12px;border-radius:6px;border:1px solid}.banner.bad{background:var(--bad-bg);color:var(--bad);border-color:var(--bad)}
.note{font-size:.9rem;color:#4a5460}.secret{font:600 1.3rem ui-monospace,monospace;letter-spacing:.1em;background:#eef2f6;padding:12px;border-radius:6px;word-break:break-all}
code{word-break:break-all}
main:has(.wide){max-width:72rem}
table{width:100%;border-collapse:collapse;margin:8px 0 24px}th,td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}th{background:#eef2f6}
.sr{position:absolute;left:-999px}
.chip{display:inline-block;padding:2px 8px;border-radius:12px;border:1px solid;font-size:.9rem}
.chip.ok{background:#e4f4ea;color:#1b6b3a;border-color:#1b6b3a}.chip.warn{background:#fff3d1;color:#6b4a00;border-color:#6b4a00}
.chip.info{background:#e6effa;color:#1a4f8f;border-color:#1a4f8f}.chip.off{background:#eceff2;color:#4a5460;border-color:#4a5460}
.banner.okb{background:#e4f4ea;color:#1b6b3a;border-color:#1b6b3a}.banner.info{background:#e6effa;color:#1a4f8f;border-color:#1a4f8f}
button.danger{background:#fff;color:var(--bad);border-color:var(--bad)}
.banner.sens{background:#efe7f8;color:#4b2a73;border-color:#4b2a73}.chip.sens{background:#efe7f8;color:#4b2a73;border-color:#4b2a73}
select{width:100%;padding:10px;border:2px solid var(--line);border-radius:6px;font-size:1rem;background:#fff}
fieldset{border:1px solid var(--line);border-radius:6px;margin:16px 0;padding:8px 16px}label.check{display:block;font-weight:400;margin:8px 0}label.check input{width:auto;margin-right:8px}
form.inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:8px;align-items:end}dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}dt{font-weight:600}dd{margin:0}
.consent-text{border-left:4px solid var(--brand);margin:8px 0 16px;padding:8px 16px;background:#f3f6fa;max-height:20rem;overflow:auto}
.chip.bad{background:#fde8e8;color:#a11a1a;border-color:#a11a1a}.controls{list-style:none;padding:0}.controls li{margin:8px 0;padding:8px;border:1px solid var(--line);border-radius:6px}
