:root{--bg:#f6f4ef;--ink:#1d1d1b;--muted:#6b6b66;--ok:#2e7d4f;--low:#9c6300;--out:#c0392b;--tile:#fff;--line:#e2ded6;--radius:18px}html,body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,SF Pro Text,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}button{font:inherit}.board{padding:16px 20px 40px}.topbar{background:var(--bg);z-index:2;align-items:center;gap:12px;padding:8px 0 12px;display:flex;position:sticky;top:0}.topbar h1{margin:0 8px 0 0;font-size:22px}.topbar input[type=search]{border:1px solid var(--line);background:var(--tile);border-radius:12px;flex:1;padding:10px 14px;font-size:18px}.pill{border:1px solid var(--line);background:var(--tile);color:var(--ink);border-radius:999px;padding:10px 16px;font-size:18px;text-decoration:none}.banner{background:var(--out);color:#fff;border-radius:10px;margin-bottom:8px;padding:8px 14px}.section h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:18px 0 8px;font-size:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.tile{border-radius:var(--radius);background:var(--tile);color:#fff;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:0;flex-direction:column;justify-content:space-between;min-height:92px;padding:12px;display:flex}.tile:active{transform:scale(.97)}.tile.state-ok{background:var(--ok)}.tile.state-low{background:var(--low)}.tile.state-out{background:var(--out)}.tile-name{font-size:18px;font-weight:600;line-height:1.15}.tile-store{opacity:.85;font-size:12px}.sheet-backdrop{z-index:5;background:#00000059;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--tile);border-radius:20px 20px 0 0;gap:14px;width:100%;padding:20px 20px 28px;display:grid}.sheet label{color:var(--muted);gap:6px;font-size:14px;display:grid}.sheet input,.sheet select{border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:18px}.sheet-actions{justify-content:flex-end;gap:10px;display:flex}.sheet-actions button{border:1px solid var(--line);background:var(--tile);border-radius:12px;padding:10px 18px;font-size:17px}.sheet-actions button[type=submit]{background:var(--ink);color:#fff}.sheet-actions .danger{color:var(--out);margin-right:auto}.sheet-error{color:var(--out);margin:0}.list{padding:16px 20px 40px}.store-card{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:14px 16px}.store-head{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.store-head h2{margin:0;font-size:20px}.count{font-weight:600}.hint{color:var(--muted);font-size:14px}.due{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.due label{align-items:center;gap:12px;padding:8px 4px;font-size:18px;display:flex}.due input{width:26px;height:26px}.due .tag{text-transform:uppercase;color:var(--muted);margin-left:auto;font-size:12px}.due .state-out .tag{color:var(--out)}.due .state-low .tag{color:var(--low)}
