:root{--fg:#1b1f24;--muted:#5b6470;--bg:#fbfbf9;--line:#d9dcd6;--acc:#1f5f8b;--warn:#8a4b00;--bad:#9b1c1c}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--fg);background:var(--bg)}
main{max-width:1100px;margin:0 auto;padding:16px 20px 40px}
h1{font-size:22px;margin:8px 0 14px}h2{font-size:18px;margin:22px 0 8px}h3{font-size:15px;margin:18px 0 6px}
label{display:block;margin:10px 0 4px;color:var(--muted)}
input,select,textarea{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:#fff;max-width:100%}
button,.btn{font:inherit;padding:6px 12px;border:1px solid var(--acc);background:var(--acc);color:#fff;border-radius:4px;cursor:pointer;text-decoration:none;display:inline-block;margin:4px 2px}
button.ghost{background:#fff;color:var(--acc)}button.on{background:#0f3a57}button.danger{background:var(--bad);border-color:var(--bad)}
button:disabled{opacity:.5;cursor:default}
nav{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:10px}
.msg{padding:6px 10px;border-left:3px solid var(--acc);background:#eef4f8}.msg.warn{border-color:var(--warn);background:#fbf3e8}
.small{font-size:13px;color:var(--muted)}.mono,pre.code{font-family:ui-monospace,Menlo,Consolas,monospace}
pre.code{font-size:18px;padding:12px;background:#fff;border:1px dashed var(--acc);white-space:pre-wrap;word-break:break-all}
table{border-collapse:collapse;margin:8px 0;width:100%}th,td{border-bottom:1px solid var(--line);padding:4px 8px;text-align:left;vertical-align:top}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
form.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 14px}form.grid button{grid-column:1/-1;justify-self:start}
footer{max-width:1100px;margin:0 auto;padding:10px 20px;font-size:12px;color:var(--muted)}
@media print{nav,button,footer,.msg{display:none!important}body{background:#fff}}
