:root{--bg:#f7f5fb;--card:#fff;--text:#1c1726;--muted:#6b6375;--border:#e5e2ec;--primary:#6d28d9;--primary-text:#fff;--soft:#efe9fb;--danger:#b42318;--ok:#15803d;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#141019;--card:#1e1826;--text:#f1edf7;--muted:#a59db3;--border:#322a3d;--primary:#8b5cf6;--soft:#2a2238;--danger:#f97066;--ok:#4ade80}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.page{max-width:480px;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.brand{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:13px}h1{margin:0;font-size:26px;line-height:1.2}p{color:var(--muted);margin:0;line-height:1.5}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;width:100%;padding:14px 16px;font-weight:600}button.primary{background:var(--primary);color:var(--primary-text)}button.soft{background:var(--soft);color:var(--text)}button.link{color:var(--primary);background:0 0;align-self:flex-start;width:auto;padding:8px}button:disabled{opacity:.5;cursor:default}label{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}input{font:inherit;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;padding:12px 14px;font-size:18px}input.pin{letter-spacing:.4em;text-align:center}.notice{background:var(--soft);color:var(--text);border-radius:12px;padding:12px;font-size:14px}.error{color:var(--danger);font-size:14px}.small{font-size:13px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.card.now{border-left:6px solid var(--primary)}.card.now.wait{border-left-color:var(--muted)}.card.now.done{border-left-color:var(--ok)}.card.now h1{font-size:28px}.queue .big{font-size:22px}.queue strong{color:var(--primary);font-size:40px}.steps{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.steps li{color:var(--muted);align-items:center;gap:10px;display:flex}.steps li.now{color:var(--text);font-weight:700}.steps li.done .dot{color:var(--ok)}.steps li.now .dot{color:var(--primary)}.dot{text-align:center;width:20px}.bill .big{font-size:20px}.bill .big strong{color:var(--primary)}.bill .big.ok{color:var(--ok)}.bill details{border-top:1px solid var(--border);padding-top:10px}.bill summary{cursor:pointer;align-items:center;gap:8px;font-weight:700;display:flex}.bill ul{flex-direction:column;gap:6px;margin:8px 0 4px;padding:0;list-style:none;display:flex}.bill li{flex-wrap:wrap;justify-content:space-between;gap:2px 8px;font-size:14px;display:flex}.bill .amt{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.bill .sub{width:100%;color:var(--muted);font-size:12px}.tag{background:var(--soft);color:var(--text);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.tag.paid,.tag.insurance{color:var(--ok)}.tag.to_pay,.tag.part_paid{color:var(--danger)}
