:root{--bg:#f5f7fa;--c:#fff;--t:#1b2430;--m:#64748b;--a:#2563eb;--b:#dde3ea}
@media(prefers-color-scheme:dark){:root{--bg:#0f1720;--c:#18222e;--t:#e6edf5;--m:#94a3b8;--a:#60a5fa;--b:#2a3646}}
*{box-sizing:border-box}body{margin:0;font:15px system-ui,sans-serif;background:var(--bg);color:var(--t)}
header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--c);border-bottom:1px solid var(--b)}
nav button{background:none;color:var(--t);border:0;padding:8px 12px;border-radius:8px}nav .on{background:var(--a);color:#fff}
main{max-width:1200px;margin:auto;padding:16px}.card{background:var(--c);border:1px solid var(--b);border-radius:12px;padding:16px;margin-bottom:16px}
.narrow{max-width:420px;margin:8vh auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0}.kpis div{background:var(--c);border:1px solid var(--b);border-radius:12px;padding:14px;color:var(--m)}.kpis b{display:block;font-size:26px;color:var(--t)}
input,select,textarea,button{font:inherit;padding:8px;border-radius:8px;border:1px solid var(--b);background:var(--c);color:var(--t);width:100%;margin:4px 0}
button{width:auto;background:var(--a);color:#fff;border:0;cursor:pointer}label{display:block;margin:10px 0;color:var(--m)}label.row input{width:auto}
table{border-collapse:collapse;width:100%}td,th{padding:6px;border-bottom:1px solid var(--b);text-align:left;vertical-align:top}small{display:block;color:var(--m)}.me{background:rgba(37,99,235,.12)}
.scroll{overflow-x:auto}.tk{min-width:820px}fieldset{border:1px solid var(--b);border-radius:10px;margin:12px 0}.qr svg{width:200px;height:200px;background:#fff}.qr{margin:8px 0}
.err{color:#dc2626}.ok{color:#16a34a}.ladder li{padding:4px;color:var(--m)}.ladder .on{color:var(--a);font-weight:700}.card canvas{max-height:260px}
.badge{background:#16a34a;color:#fff;border-radius:6px;padding:1px 6px;font-size:11px;margin-left:6px}.hint{color:var(--m)}input[type=checkbox]{width:auto}
