:root{--bg:#F2F4FA;--surface:#fff;--ink:#141B34;--muted:#5E6785;--line:#E1E5F0;--accent:#3355E8;--accent-ink:#fff;--soft:#E3E9FF;--hero-a:#2A47D6;--hero-b:#5B3FD8;--ok:#12805A;--ok-soft:#D9F3E8;--bad:#C2342B;--bad-soft:#FDE0DD;--warn:#9A5B00;--warn-soft:#FFEBC2;--font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#0C1020;--surface:#161C33;--ink:#E9ECF8;--muted:#9AA3C4;--line:#272F4D;--accent:#7F97FF;--accent-ink:#0C1020;--soft:#222C5A;--ok:#6CDBA9;--ok-soft:#12362A;--bad:#FF8F86;--bad-soft:#431C19;--warn:#F5BE5B;--warn-soft:#3B2C0E;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--font);padding:20px max(16px,env(safe-area-inset-left,0px))}
.wrap{max-width:720px;margin:0 auto;display:grid;gap:16px}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:42px;height:42px;border-radius:13px;background:#fff;color:var(--hero-a);font-weight:800;font-size:23px;display:grid;place-items:center;border:1px solid var(--line)}
h1{margin:0;font-size:21px;letter-spacing:-.01em}h2{margin:0 0 6px;font-size:16px}
.sub{color:var(--muted);font-size:13px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}
label{display:grid;gap:5px;font-size:13px;font-weight:600;margin-bottom:12px}
input,select{font:inherit;font-size:16px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--bg);color:var(--ink);min-width:0;width:100%}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.btn{font:inherit;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-block}
.btn.primary{background:linear-gradient(135deg,var(--hero-a),var(--hero-b));color:#fff;border:0}
.btn.small{padding:6px 11px;font-size:13px}.btn.danger{color:var(--bad)}
.msg{border-radius:12px;padding:10px 12px;font-size:14px;margin:0 0 12px}.msg.err{background:var(--bad-soft);color:var(--bad)}.msg.ok{background:var(--ok-soft);color:var(--ok)}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row>.grow{flex:1;min-width:140px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;color:var(--muted);font-weight:600}
.scroll{overflow-x:auto}
.chip{font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px;background:var(--soft)}
code{font-family:ui-monospace,Menlo,monospace;background:var(--bg);padding:2px 6px;border-radius:6px;user-select:all}

[hidden]{display:none!important}
