:root{--bg:#0b1220;--bg-2:#0a1020;--topbar:#080d19e6;--panel:#0f172ad1;--panel-solid:#0f172a;--surface:#ffffff0d;--surface-2:#ffffff1a;--surface-3:#ffffff29;--line:#ffffff1a;--text:#e2e8f0;--text-strong:#f8fafc;--muted:#94a3b8;--accent:#f59e0b;--accent-2:#fbbf24;--on-accent:#111827;--you:#2563eb;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;--radius:16px;--glow:none;--shadow:0 12px 32px #00000059;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:var(--font);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.topbar{border-bottom:1px solid var(--line);background:var(--topbar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;flex:none;align-items:center;gap:10px;min-height:54px;padding:8px 14px;display:flex;position:relative}.topbar .actions{scrollbar-width:none;align-items:center;gap:8px;min-width:0;display:flex;overflow-x:auto}.topbar .actions::-webkit-scrollbar{display:none}.brand{font-family:var(--font-display);letter-spacing:.3px;white-space:nowrap;color:var(--text-strong);align-items:center;gap:10px;font-weight:800;display:flex}.brand .dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 12px var(--accent);border-radius:50%}.brand small{color:var(--muted);font-weight:600}.spacer{flex:1}.chip-btn,.select{border:1px solid var(--line);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,opacity .2s;display:inline-flex}.chip-btn:hover{background:var(--surface-2)}.chip-btn.active{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 70%, transparent);color:var(--accent);box-shadow:var(--glow)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);text-overflow:ellipsis;background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px;min-width:0;max-width:260px;padding-right:30px;overflow:hidden}.select option,select option{background:var(--panel-solid);color:var(--text)}.btn-primary{border-radius:calc(var(--radius) * .85);background:linear-gradient(180deg, var(--accent-2), var(--accent));width:100%;color:var(--on-accent);font-size:16px;font-weight:800;font-family:var(--font-display);box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 28%, transparent), var(--glow);border:0;padding:13px 18px}.btn-primary:disabled{opacity:.55;box-shadow:none;cursor:default}.btn-secondary{border:1px solid var(--line);border-radius:calc(var(--radius) * .85);background:var(--surface);white-space:nowrap;flex:1;padding:10px 12px;font-size:14px;font-weight:700}.btn-secondary:hover{background:var(--surface-2)}.btn-ghost{border:1px solid var(--line);border-radius:calc(var(--radius) * .75);background:0 0;padding:9px 12px;font-size:14px;font-weight:600}.btn-ghost:hover{background:var(--surface)}.muted{color:var(--muted)}.warn{color:var(--warn)}.logo{--c:#64748b;background:var(--c);color:#fff;letter-spacing:.5px;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:15px;font-weight:800;display:grid;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff26}.logo img{object-fit:cover;background:#fff;width:100%;height:100%}.logo.big{width:56px;height:56px;font-size:19px}#loading{z-index:100;background:var(--bg);place-items:center;transition:opacity .45s,visibility .45s;display:grid;position:fixed;inset:0}#loading.done{opacity:0;visibility:hidden;pointer-events:none}.loading-box{text-align:center;gap:14px;width:min(360px,80vw);display:grid}.loading-bar-wrap{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}#loading-bar{background:linear-gradient(90deg, var(--accent), var(--accent-2));width:5%;height:100%;transition:width .3s}#toasts{z-index:200;pointer-events:none;gap:8px;display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-solid);color:var(--text-strong);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:12px 18px;font-size:14px;transition:opacity .35s,transform .35s;animation:.25s toast-in}.toast.warn{border-color:#f59e0b99}.toast.ok{border-color:#22c55e99}.toast.out{opacity:0;transform:translateY(8px)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.qr-dialog{border:1px solid var(--line);border-radius:calc(var(--radius) * 1.2);background:var(--panel-solid);color:var(--text);max-width:min(420px,92vw);padding:0;box-shadow:0 30px 80px #00000080}.qr-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#020617a6}.qr-box{text-align:center;gap:10px;padding:22px;display:grid}.qr-box h2{font-family:var(--font-display);color:var(--text-strong);margin:0}.qr-box p{margin:0;font-size:14px}.qr-code{background:#fff;border-radius:14px;justify-self:center;width:min(280px,70vw);padding:12px}.qr-code svg{width:100%;height:auto;display:block}.qr-hint{color:var(--text-strong);font-weight:700}.qr-url{color:var(--muted);word-break:break-all;font-size:11px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:8px}.floor-switch.compact button{width:52px;min-height:32px;padding:3px}.floor-switch.compact small{display:none}.floor-switch.compact b{font-size:14px}.floor-switch.cols2{grid-template-columns:repeat(2,auto)}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:16px!important}.cat{min-height:38px}.search button,.topbar .chip-btn,.topbar .select{min-width:40px;min-height:40px}.kiosk-pill select{min-height:38px}.floor-switch.compact button{min-height:40px}}
