*{box-sizing:border-box}body{margin:0;min-height:100dvh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap-min);padding:0 var(--sp-6);border-radius:var(--radius-card);border:1px solid transparent;font:600 var(--text-md) var(--font-body);cursor:pointer;transition:background var(--transition-ui),box-shadow var(--transition-ui);width:100%}.btn:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.btn--primary{background:var(--ember);color:#1b130a}.btn--primary:hover{background:var(--ember-deep);box-shadow:var(--glow-ember)}.btn:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.btn--primary:disabled{background:var(--line);color:var(--muted)}.btn--secondary{background:transparent;color:var(--ink);border-color:var(--line)}.btn--secondary:hover{border-color:var(--muted)}.card{background:var(--surface);border-radius:var(--radius-card);padding:var(--sp-6);border:1px solid var(--line)}.field{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-4)}.field label{font-size:var(--text-sm);color:var(--muted)}.field input[type=text],.field input[type=tel],.field input[type=password]{min-height:var(--tap-min);padding:0 var(--sp-4);border-radius:var(--radius-field);border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);font:400 var(--text-md) var(--font-body)}.field input:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.field .error{color:var(--status-alert);font-size:var(--text-sm)}.check{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) 0;cursor:pointer}.check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--ember);flex:none}.check span{font-size:var(--text-sm);line-height:var(--leading-text)}.check a{color:var(--ember)}.data{font-family:var(--font-data);font-variant-numeric:tabular-nums}.screen{max-width:430px;margin:0 auto;padding:var(--sp-6) var(--sp-4) calc(var(--sp-12) + var(--sp-8));min-height:100dvh}.screen h1{font:400 var(--text-2xl) var(--font-display);line-height:var(--leading-display);margin:0 0 var(--sp-6)}.screen .sub{color:var(--muted);font-size:var(--text-sm)}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:var(--surface);border-top:1px solid var(--line);padding:var(--sp-2) 0 calc(var(--sp-2) + env(safe-area-inset-bottom))}.tabbar a{min-height:var(--tap-min);min-width:96px;display:grid;place-items:center;color:var(--muted);text-decoration:none;font-size:var(--text-sm);border-radius:var(--radius-field)}.tabbar a.active{color:var(--ember)}.tabbar a:focus-visible{outline:2px solid var(--ember)}.warn-badge{display:inline-flex;align-items:center;gap:var(--sp-1);margin-top:var(--sp-2);padding:2px var(--sp-2);border:1px solid var(--status-waiting);border-radius:var(--radius-field);color:var(--status-waiting);font-size:var(--text-xs)}.staff-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--surface);border-bottom:1px solid var(--line)}.staff-topbar__brand{color:var(--muted);text-decoration:none;font-size:var(--text-sm);font-weight:600}.staff-topbar__link{min-height:var(--tap-min);display:inline-flex;align-items:center;padding:0 var(--sp-3);color:var(--muted);text-decoration:none;font-size:var(--text-sm);border-radius:var(--radius-field)}.staff-topbar__link.active{color:var(--ember)}.staff-topbar__link:focus-visible{outline:2px solid var(--ember)}.qr-plate{position:relative;background:var(--ink);border-radius:var(--radius-qr);padding:var(--sp-4);display:grid;place-items:center;margin:0 auto var(--sp-4);width:min(78vw,320px);aspect-ratio:1}.qr-plate canvas,.qr-plate img{width:100%!important;height:auto!important;display:block;box-sizing:border-box}.qr-ttl{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--muted);font-size:var(--text-sm)}.skeleton{background:var(--surface-raised);border-radius:var(--radius-field);animation:skeleton-breathe 1.6s ease-in-out infinite;min-height:20px}@keyframes skeleton-breathe{50%{opacity:.55}}.empty,.error-box{text-align:center;color:var(--muted);padding:var(--sp-8) var(--sp-4)}.error-box{border:1px solid var(--status-alert);border-radius:var(--radius-card);color:var(--ink)}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}:root{--bg: #171310;--surface: #221c17;--surface-raised: #2c241d;--ink: #f3ebe1;--muted: #9c8e7e;--line: #3a2f26;--ember: #e39a3b;--ember-deep: #b4671e;--status-waiting: #7d93a8;--status-live: var(--ember);--status-done: #7fa96b;--status-off: #6e6259;--status-alert: #c96a5a;--status-refund: #c96a5a;--font-display: "Prata", "Georgia", serif;--font-body: "Manrope", system-ui, sans-serif;--font-data: "JetBrains Mono", ui-monospace, monospace;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 25px;--text-2xl: 31px;--text-3xl: 39px;--text-balance: 48px;--leading-text: 1.5;--leading-display: 1.2;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px;--sp-12: 48px;--tap-min: 48px;--tap-primary: 56px;--radius-card: 10px;--radius-field: 6px;--radius-pill: 999px;--radius-qr: 16px;--shadow-raised: 0 8px 24px rgba(23, 19, 16, .45);--glow-ember: 0 0 12px rgba(227, 154, 59, .35);--transition-status: .3s ease;--transition-ui: .16s ease-out}:root[data-theme=paper]{--bg: #f4efe6;--surface: #fdfaf4;--surface-raised: #ffffff;--ink: #2a211a;--muted: #7d7062;--line: #ded4c4;--status-waiting: #5f7891;--status-done: #628b50;--status-off: #857a70;--status-alert: #b0503f;--status-refund: #b0503f;--shadow-raised: 0 8px 24px rgba(42, 33, 26, .12)}html{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-text)}@keyframes ember-glow{0%,to{box-shadow:0 0 4px #e39a3b8c}50%{box-shadow:0 0 12px #e39a3be6}}.ember-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:radial-gradient(circle at 35% 35%,var(--ember),var(--ember-deep));animation:ember-glow 3s ease-in-out infinite}.ember-dot--off{background:var(--status-off);animation:none;box-shadow:none}@media (prefers-reduced-motion: reduce){.ember-dot{animation:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
