:root{--bg:#f4f3ef;--card:#fff;--ink:#1c2230;--mut:#6b7280;--line:#e6e2d9;--pri:#167a4a;--warn:#b45309;--bad:#c42b1c;--ok:#157347}
*{box-sizing:border-box}body{margin:0;font:15px/1.55 system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--pri)}.muted{color:var(--mut)}.small{font-size:13px}code{background:#f1efe9;padding:2px 6px;border-radius:6px}
.top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#1c2230;color:#fff;padding:12px 20px}.top .brand{font-size:16px}
.top nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}.top nav a{color:#cfd3dc;text-decoration:none;padding:6px 10px;border-radius:8px}.top nav a.on,.top nav a:hover{background:#2c3446;color:#fff}
.top .out{display:flex;gap:8px;align-items:center}.top .out .muted{color:#9aa1ae}
.lnk{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.wrap{max-width:1200px;margin:0 auto;padding:20px 16px 60px}
.card{background:var(--card);border-radius:16px;box-shadow:0 8px 28px -18px rgba(20,20,40,.25);padding:20px;margin-bottom:18px}
.card.narrow{max-width:460px;margin:40px auto}h1{font-size:22px;margin:0 0 14px}h2{font-size:18px;margin:0 0 12px}
label{display:block;font-weight:600;font-size:14px;margin:12px 0 0}label input,label select,label textarea{display:block;width:100%;margin-top:5px}
input,select,textarea{font:inherit;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff}
input:focus,select:focus{outline:none;border-color:var(--pri)}
.btn{display:inline-block;margin-top:14px;padding:10px 16px;border:0;border-radius:10px;background:var(--pri);color:#fff;font:600 15px inherit;font-family:inherit;cursor:pointer;text-decoration:none}
.btn.s{background:#e8e5dd;color:var(--ink)}.btn.d{background:var(--bad)}.btn.sm{padding:6px 10px;font-size:13px;margin-top:0}
.flash{padding:10px 14px;border-radius:10px;margin-bottom:14px;font-weight:600}.flash.ok{background:#e7f4ec;color:var(--ok)}.flash.err{background:#fff0ee;color:var(--bad)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.kpi{background:var(--card);border-radius:14px;padding:14px 16px;box-shadow:0 8px 28px -20px rgba(20,20,40,.3)}.kpi b{display:block;font-size:24px}.kpi span{color:var(--mut);font-size:13px}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--mut)}td.r,th.r{text-align:right}
.bd{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}.bd.ok{background:#e7f4ec;color:var(--ok)}.bd.warn{background:#fff3df;color:var(--warn)}.bd.bad{background:#fdecea;color:var(--bad)}
.spark{display:flex;align-items:flex-end;gap:2px;height:28px}.spark i{display:block;width:6px;background:#9cc9b0;border-radius:2px 2px 0 0;min-height:2px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1;min-width:140px}
.danger{border:1.5px solid #f3c2bc}.qr{display:flex;justify-content:center;margin:12px 0}.qr svg{max-width:240px;height:auto}.key{font-size:15px;letter-spacing:.06em}
.inline{display:inline}.acts{display:flex;gap:6px;flex-wrap:wrap}
@media (max-width:640px){.top{padding:10px 14px;gap:8px}.top .brand{flex:1}.top nav{order:3;flex:0 0 100%;flex-wrap:nowrap;overflow-x:auto}.top nav a{white-space:nowrap}.wrap{padding:14px 12px 50px}th,td{padding:8px 6px}}
