:root{--bg:#f4f7fa;--surface:#fff;--text:#14212b;--muted:#4a5a66;--line:#d5dee5;--primary:#0b5c8c;--primary-text:#fff;--ok:#17703a;--ok-bg:#e3f4e8;--warn:#8a5200;--warn-bg:#fff1d6;--danger:#a12424;--danger-bg:#fde6e6;--test:#5b2a86;--test-bg:#f1e6fb;--radius:14px;--tap:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:18px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}h1{margin:0 0 .75rem;font-size:1.5rem}h2{margin:1.5rem 0 .5rem;font-size:1.2rem}p{margin:0 0 .75rem}.screen{max-width:640px;margin:0 auto;padding:16px 16px 112px}.screen.wide{max-width:1100px}.centered{align-content:center;gap:14px;min-height:100dvh;padding-bottom:16px;display:grid}.topbar{background:var(--primary);color:var(--primary-text);align-items:center;gap:12px;padding:12px 16px;display:flex}.topbar .who{flex:1;min-width:0}.topbar .who strong{font-size:1.05rem;display:block}.topbar .who span{opacity:.9;font-size:.9rem}.btn{min-height:var(--tap);border-radius:var(--radius);border:2px solid var(--primary);background:var(--surface);color:var(--primary);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary{background:var(--primary);color:var(--primary-text)}.btn.go{background:var(--ok);border-color:var(--ok);color:#fff;font-size:1.15rem}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.block{width:100%;display:flex}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #f2a900}.stack{gap:14px;display:grid}.row{flex-wrap:wrap;gap:10px;display:flex}.home-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.home-btn{border-radius:var(--radius);border:2px solid var(--primary);background:var(--surface);min-height:120px;color:var(--primary);font:inherit;text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:1.05rem;font-weight:700;display:flex}.home-btn:disabled{border-color:var(--line);color:var(--muted);cursor:default}.home-btn small{font-size:.85rem;font-weight:500}label{gap:6px;font-weight:600;display:grid}input,select{min-height:var(--tap);border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;width:100%;padding:0 14px;font-size:1.1rem}input.pin{letter-spacing:.6em;text-align:center;padding-left:.6em;font-size:2rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.list{gap:12px;display:grid}.muted{color:var(--muted)}.status{border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.9rem;font-weight:600;display:inline-flex}.status.ok{background:var(--ok-bg);color:var(--ok)}.status.warn{background:var(--warn-bg);color:var(--warn)}.status.danger{background:var(--danger-bg);color:var(--danger)}.message{border-radius:var(--radius);padding:12px 14px;font-weight:600}.message.error{background:var(--danger-bg);color:var(--danger)}.message.ok{background:var(--ok-bg);color:var(--ok)}pre.detail{white-space:pre-wrap;word-break:break-word;background:var(--bg);border-radius:10px;padding:10px;font-size:.9rem}.bottombar{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.bottombar button{min-height:64px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;font-size:.85rem;display:flex}.bottombar button[aria-current=page]{color:var(--primary);font-weight:700}.overlay{z-index:10;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);width:100%;max-width:560px;max-height:90dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow-y:auto}@media (width>=700px){.overlay{align-items:center}.dialog{border-radius:20px}.home-grid{grid-template-columns:repeat(3,1fr)}}textarea{min-height:calc(var(--tap) * 1.5);border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;resize:vertical;width:100%;padding:12px 14px;font-size:1.1rem}textarea:focus-visible{outline-offset:2px;outline:3px solid #f2a900}.btn.choice{min-height:64px;font-size:1.1rem}.btn.big{min-height:72px;font-size:1.3rem}.choice-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.big-code{letter-spacing:.04em;color:var(--primary);font-size:2.6rem;font-weight:800}.filters{grid-template-columns:1fr 1fr;gap:10px;display:grid}.household-card{text-align:left;font:inherit;color:inherit;cursor:pointer;gap:4px;display:grid}.clip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card.pending{border:2px solid var(--warn);background:var(--warn-bg)}.pending-chip{background:var(--warn-bg);min-height:44px;color:var(--warn);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.95rem;font-weight:700;display:inline-flex}.offline-banner{background:var(--warn-bg);color:var(--warn);align-items:center;gap:10px;padding:10px 16px;font-weight:600;display:flex}.offline-banner span{flex:1}.test-copy-banner{background:var(--test-bg);color:var(--test);border-bottom:3px dashed var(--test);align-items:center;gap:10px;padding:8px 16px;display:flex}.test-copy-banner small{overflow-wrap:anywhere;font-size:.85rem;display:block}@media (width>=700px){.household-list{grid-template-columns:1fr 1fr}.filters{max-width:640px}}
