.login[data-v-cacd40ca]{flex:1;display:flex;flex-direction:column;justify-content:center;padding:24px;gap:32px}.brand[data-v-cacd40ca]{text-align:center}.mark[data-v-cacd40ca]{width:72px;height:72px;margin:0 auto 16px;border-radius:20px;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--gold);font-family:Georgia,serif;font-weight:700;font-size:42px;display:flex;align-items:center;justify-content:center}.brand h1[data-v-cacd40ca]{font-size:24px;font-weight:700;letter-spacing:.5px}.brand p[data-v-cacd40ca]{color:var(--text-dim);margin-top:6px;font-size:14px}.card[data-v-cacd40ca]{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:18px}label[data-v-cacd40ca]{display:flex;flex-direction:column;gap:8px}label span[data-v-cacd40ca]{font-size:13px;color:var(--text-dim)}input[data-v-cacd40ca]{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px;color:var(--text);font-size:16px}input[data-v-cacd40ca]:focus{outline:none;border-color:var(--gold)}.error[data-v-cacd40ca]{color:#f0a595;font-size:14px}button[data-v-cacd40ca]{background:var(--gold);color:#1a140c;font-weight:700;font-size:16px;padding:15px;border-radius:10px}button[data-v-cacd40ca]:disabled{opacity:.6}.backdrop[data-v-d8575f0c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:50}.sheet[data-v-d8575f0c]{width:100%;max-width:640px;background:var(--bg-elev);border-top:1px solid var(--border);border-radius:20px 20px 0 0;padding:12px 24px calc(24px + env(safe-area-inset-bottom));text-align:center}.grab[data-v-d8575f0c]{width:44px;height:5px;border-radius:3px;background:var(--border);margin:4px auto 20px}.sheet h2[data-v-d8575f0c]{font-size:20px;font-weight:700;margin-bottom:8px}.sheet p[data-v-d8575f0c]{color:var(--text-dim);font-size:14px;margin-bottom:24px}.actions[data-v-d8575f0c]{display:flex;gap:12px}.actions button[data-v-d8575f0c]{flex:1;padding:15px;border-radius:12px;font-size:16px;font-weight:700}.cancel[data-v-d8575f0c]{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border)}.confirm.occupied[data-v-d8575f0c]{background:var(--occupied);color:#fff}.confirm.free[data-v-d8575f0c]{background:var(--free);color:#fff}button[data-v-d8575f0c]:disabled{opacity:.6}.sheet-enter-active[data-v-d8575f0c],.sheet-leave-active[data-v-d8575f0c]{transition:opacity .18s ease}.sheet-enter-active .sheet[data-v-d8575f0c],.sheet-leave-active .sheet[data-v-d8575f0c]{transition:transform .22s ease}.sheet-enter-from[data-v-d8575f0c],.sheet-leave-to[data-v-d8575f0c]{opacity:0}.sheet-enter-from .sheet[data-v-d8575f0c],.sheet-leave-to .sheet[data-v-d8575f0c]{transform:translateY(100%)}.page[data-v-987edc83]{flex:1;display:flex;flex-direction:column;min-height:100%}.topbar[data-v-987edc83]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(16px + env(safe-area-inset-top)) 20px 14px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.counts .big[data-v-987edc83]{display:flex;align-items:baseline;gap:8px}.counts .big strong[data-v-987edc83]{font-size:28px;color:var(--free);font-weight:800}.counts .big span[data-v-987edc83]{color:var(--text-dim);font-size:14px}.reserved[data-v-987edc83]{margin-top:4px;font-size:12px;color:var(--gold)}.logout[data-v-987edc83]{background:var(--bg-elev-2);color:var(--text-dim);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:14px}.error[data-v-987edc83]{margin:12px 20px 0;color:#f0a595;font-size:14px}.grid-wrap[data-v-987edc83]{flex:1;padding:20px}.grid[data-v-987edc83]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.slot[data-v-987edc83]{aspect-ratio:1 / 1;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;color:#fff;transition:transform .08s ease,filter .12s ease}.slot[data-v-987edc83]:active:not(:disabled){transform:scale(.95)}.slot .code[data-v-987edc83]{font-size:24px;font-weight:800;letter-spacing:.5px}.slot .state[data-v-987edc83]{font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.slot.free[data-v-987edc83]{background:linear-gradient(160deg,var(--free),var(--free-dark))}.slot.occupied[data-v-987edc83]{background:linear-gradient(160deg,var(--occupied),var(--occupied-dark))}.slot.reserved[data-v-987edc83]{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}.slot.unknown[data-v-987edc83]{background:var(--bg-elev-2);color:var(--text-dim);border-color:var(--border)}.slot[data-v-987edc83]:disabled{opacity:.7}.bottombar[data-v-987edc83]{padding:12px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-elev)}.refresh[data-v-987edc83]{width:100%;padding:15px;border-radius:12px;background:var(--gold);color:#1a140c;font-weight:700;font-size:16px}.refresh[data-v-987edc83]:disabled{opacity:.6}:root{--bg: #0d0a06;--bg-elev: #1a140c;--bg-elev-2: #241b10;--gold: #c9a24b;--gold-dim: #8f7333;--text: #f3ead9;--text-dim: #a89478;--free: #2f9e58;--free-dark: #1f6e3d;--occupied: #c0392b;--occupied-dark: #862519;--border: #3a2e1c;--radius: 14px}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#app{display:flex;flex-direction:column;min-height:100%;max-width:640px;margin:0 auto}button{font-family:inherit;cursor:pointer;border:none}input{font-family:inherit}
