:root{--bg: #0f1115;--surface: #171a21;--surface-2: #1f232c;--border: #2a2f3a;--text: #e8eaed;--text-dim: #9aa1ae;--accent: #ff6a3d;--accent-press: #e8552b;--status-pending: #f5a623;--status-preparing: #4a90e2;--status-ready: #2ecc71;--mod-removal: #ff5c5c;--mod-supplement: #2ecc71;--mod-sauce: #f5c518;--mod-unknown: #4a4f5c;--radius: 14px;--tap: 56px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer}.type-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;letter-spacing:.02em}.type-badge--takeaway{background:#4a90e2;color:#fff}.type-badge--dine-in{background:#2ecc71;color:#0f1115}.type-badge--delivery{background:#f5a623;color:#0f1115}.mod-unknown{background:var(--mod-unknown);color:var(--text-dim)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.auth{height:100%;display:flex;align-items:center;justify-content:center;padding:16px}.auth__card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.auth__card--center{text-align:center}.auth__title{font-size:26px;font-weight:800;color:var(--accent);margin:0 0 4px}.auth__sub{color:var(--text-dim);margin:0 0 20px;font-size:15px}.auth__form{display:flex;flex-direction:column;gap:16px}.auth__error{color:var(--mod-removal);font-size:14px;text-align:center;margin:0}.auth__btn{min-height:var(--tap);border:none;border-radius:10px;background:var(--accent);color:#0f1115;font-weight:800;font-size:16px}.auth__btn:disabled{opacity:.5}.auth__locations{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.auth__loc-btn{min-height:var(--tap);border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font-weight:600;font-size:16px;padding:0 18px;text-align:left}.auth__loc-btn:hover{border-color:var(--accent)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--text-dim)}.field input[type=email],.field input[type=password],.field input[type=number]{min-height:var(--tap);border-radius:10px;padding:0 14px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:16px;outline:none;font-family:inherit}.field input:focus{border-color:var(--accent)}
