:root{--bg:#f6f7f9;--card:#fff;--ink:#1d2330;--muted:#6b7280;--line:#e5e7eb;--acc:#d6336c;--acc2:#7048e8;--ok:#2f9e44;--bad:#e03131;--warn:#f08c00}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}header{background:#fff;border-bottom:1px solid var(--line);margin-bottom:24px}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px}
.logo{font-size:17px}nav{display:flex;gap:4px;flex-wrap:wrap}nav a{padding:6px 12px;border-radius:8px;color:var(--ink);text-decoration:none}
nav a.on{background:#f1f3f5;font-weight:600}nav a.out{color:var(--muted)}
h1{font-size:22px;margin:0}h2{font-size:17px;margin:0 0 8px}.head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px;overflow-x:auto}
.narrow{max-width:420px;margin:40px auto}.empty{text-align:center;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:16px}.account.off{opacity:.55}
.stats{list-style:none;padding:0;margin:12px 0;display:flex;flex-wrap:wrap;gap:6px 14px}.good{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad);font-weight:600}
.muted,small{color:var(--muted)}small{font-weight:400}
button,.btn{display:inline-block;border:0;border-radius:9px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;color:#fff;background:linear-gradient(90deg,var(--acc),var(--acc2))}
button.ghost,.btn.ghost{background:#f1f3f5;color:var(--ink)}button.danger{background:#fff0f0;color:var(--bad)}
.actions{display:flex;gap:6px;flex-wrap:wrap}form.inline{display:inline}
.form label{display:block;margin:0 0 14px;font-weight:600}.form label.check{font-weight:400;display:flex;gap:8px;align-items:flex-start}
input:not([type=checkbox]):not([type=hidden]),select,textarea{display:block;width:100%;margin-top:4px;padding:9px 11px;border:1px solid #d0d5dd;border-radius:9px;font:inherit;background:#fff}
fieldset{border:1px solid var(--line);border-radius:12px;padding:14px 16px 2px;margin:0 0 16px}legend{font-weight:700;padding:0 6px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:13px;color:var(--muted);font-weight:600}tr.off td{opacity:.55}.kv th{width:280px}
code{background:#f1f3f5;padding:2px 6px;border-radius:6px;font-size:13px;word-break:break-all}code.copy{cursor:pointer}code.copied{background:#d3f9d8}
.flash{padding:12px 16px;border-radius:10px;margin-bottom:14px;background:#e7f5ff}.flash.ok{background:#ebfbee;color:#2b8a3e}.flash.error{background:#fff5f5;color:#c92a2a}
.tag{font-size:12px;background:#f1f3f5;border-radius:6px;padding:1px 6px}.st{font-size:13px;white-space:nowrap}.st.delivered{color:var(--ok)}.st.dm_error{color:var(--bad)}
.lvl{font-size:12px;padding:1px 6px;border-radius:6px;background:#f1f3f5}.lvl.error{background:#ffe3e3}.lvl.warning{background:#fff3bf}
pre{white-space:pre-wrap;word-break:break-all;font-size:12px;background:#f8f9fa;padding:8px;border-radius:8px}.preview li{margin-bottom:8px}
@media (max-width:640px){.kv th{width:auto;display:block;border:0;padding-bottom:0}.kv td{display:block}}
