:root{
  --primary:#0b6ea8; --primary-dark:#095a89; --text:#212121; --muted:#6d7b88;
  --border:#dfe5ea; --bg:#fff; --ok:#1f9d55; --warn:#d98b00; --err:#d13438;
  --radius:6px; --header-h:56px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Roboto,Arial,sans-serif}
.appbar{position:sticky;top:0;height:var(--header-h);display:flex;align-items:center;background:var(--primary);color:#fff;padding:0 8px}
.burger{width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:24px}
.appbar-title{flex:1;text-align:center;font-size:20px;font-weight:700}
.appbar-user{width:54px;text-align:right;font-size:12px}
.view{padding:16px;max-width:920px;margin:0 auto}
.card{border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:12px;background:#fff}
.h1{font-size:18px;font-weight:700;margin:0 0 12px}
label{display:block;margin:12px 0 4px;font-size:14px}
input,select{width:100%;height:46px;border:1px solid var(--border);border-radius:var(--radius);padding:0 12px;font-size:16px}
button.btn{width:100%;height:48px;margin-top:12px;border:0;border-radius:var(--radius);background:var(--primary);color:#fff;font-size:16px;font-weight:700}
button.btn.secondary{background:#fff;color:var(--primary);border:1px solid var(--primary)}
button.btn.warn{background:var(--warn)}
button.btn:active{background:var(--primary-dark)}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th,.table td{padding:8px 6px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.table th{font-size:12px;color:var(--muted)}
.num{text-align:right;white-space:nowrap}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}
.ok{background:#e5f6ec;color:#12673a}.warn{background:#fff4e0;color:#8a5a00}.err{background:#fdeaea;color:#a1272b}
.statusbar{min-height:34px;position:sticky;bottom:0;border-top:1px solid var(--border);background:#f7f9fb;display:flex;align-items:center;padding:0 16px;font-size:13px}
.statusbar.ok{background:var(--ok);color:#fff}.statusbar.warn{background:var(--warn);color:#fff}.statusbar.err{background:var(--err);color:#fff}
.muted{color:var(--muted);font-size:14px}
.sum{font-size:18px;font-weight:800;text-align:right}
.blocklist{margin-top:8px}
