:root{--ink:#1c2430;--mute:#5d6b7c;--line:#d9dfe7;--bg:#f5f7fa;--card:#fff;--brand:#1f3864;--ok:#1b7a3d;--warn:#9a6200;--err:#b3261e;--tip:#205a9c}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand)}header{background:var(--brand);color:#fff;display:flex;gap:18px;align-items:center;padding:10px 20px;flex-wrap:wrap}
header a{color:#fff;text-decoration:none;opacity:.85}header a.on,header a:hover{opacity:1;text-decoration:underline}header .brand{font-weight:700;opacity:1;margin-right:8px}
header form{margin-left:auto}main{max-width:1500px;margin:18px auto;padding:0 20px}
h1{font-size:20px;margin:0 0 12px}h2{font-size:16px;margin:22px 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:16px}
.narrow{max-width:440px;margin:60px auto}.grid{display:grid;gap:16px}.g2{grid-template-columns:2fr 1fr}@media(max-width:1000px){.g2{grid-template-columns:1fr}}
table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);padding:5px 8px;text-align:left;vertical-align:top}
th{font-size:12px;color:var(--mute);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}td.n,th.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
tr.day td{background:#eef2f7;font-weight:600}tr.bad td{background:#fdeceb}tr.warned td{background:#fff7e6}
label{display:block;font-size:12px;color:var(--mute);margin-bottom:3px}input,select,textarea{width:100%;padding:7px 8px;border:1px solid #b8c2cf;border-radius:6px;font:inherit;background:#fff}
input[type=checkbox]{width:auto}textarea{min-height:60px}.row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.row>div{flex:1;min-width:110px}
button,.btn{background:var(--brand);color:#fff;border:0;border-radius:6px;padding:8px 14px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:#fff;color:var(--brand);border:1px solid var(--brand)}button.danger{background:#fff;color:var(--err);border:1px solid var(--err)}button.sm,.btn.sm{padding:3px 8px;font-size:12px}
.msg{padding:9px 12px;border-radius:6px;margin-bottom:12px}.msg.ok{background:#e6f4ea;color:var(--ok)}.msg.err{background:#fdeceb;color:var(--err)}
.fm{font-size:12px;margin-top:3px}.fm.viga{color:var(--err)}.fm.hoiatus{color:var(--warn)}.fm.soovitus{color:var(--tip)}
input.viga,select.viga,textarea.viga{border-color:var(--err);background:#fff8f7}input.hoiatus,select.hoiatus,textarea.hoiatus{border-color:#d49a2a}
.pill{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:#e8edf4}.pill.EEC{background:#dbe8fb}.pill.DLK{background:#dff3e3}.pill.err{background:#fdeceb;color:var(--err)}.pill.warn{background:#fff1d6;color:var(--warn)}
.mute{color:var(--mute)}.right{text-align:right}.bar{height:8px;background:#e3e8ef;border-radius:4px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--brand)}
.qr svg{width:220px;height:220px}.kpi{display:flex;gap:22px;flex-wrap:wrap}.kpi div b{display:block;font-size:20px}
form.inline{display:inline}.nowrap{white-space:nowrap}.small{font-size:12px}ul.req{padding-left:18px;margin:6px 0}ul.req li{margin-bottom:6px}
button:disabled{opacity:.45;cursor:not-allowed}
