:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#111827;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--accent: #2563eb;--accent-soft: #eff6ff;--border: #e5e7eb;--muted: #6b7280;--surface: #ffffff}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100svh;padding:24px;background:#fff}.center-shell{display:grid;place-items:center}.redeem-panel,.quiet-panel,.service-panel{width:min(100%,420px);border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 1px 2px #0000000d}.redeem-panel{padding:32px 24px}.quiet-panel,.service-panel{padding:24px}.brand-mark{margin-bottom:20px;color:var(--accent);font-size:28px;font-weight:800}h1{margin:0;font-size:24px;line-height:1.25;letter-spacing:0}p{margin:0;line-height:1.7}.muted{margin-top:10px;color:var(--muted)}.redeem-form{display:grid;gap:14px;margin-top:28px}.input-wrap{display:grid;gap:8px;color:#374151;font-size:14px;font-weight:600}.input-wrap input{width:100%;min-height:48px;border:1px solid var(--border);border-radius:10px;padding:0 14px;color:#111827;background:#fff;outline:none;letter-spacing:0;text-transform:uppercase;transition:border-color .16s ease,box-shadow .16s ease}.input-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-error{color:#b91c1c;font-size:13px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid transparent;border-radius:10px;padding:0 18px;font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.button:active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.65}.button-primary{color:#fff;background:var(--accent)}.button-primary:hover:not(:disabled){background:#1d4ed8}.button-secondary{color:var(--accent);border-color:#bfdbfe;background:var(--accent-soft)}.button-ghost{color:#374151;background:transparent}.footer-note{margin-top:20px;color:var(--muted);font-size:14px}.toast{margin-top:16px;border-radius:10px;padding:10px 12px;font-size:14px}.toast-info{color:#1d4ed8;background:var(--accent-soft)}.toast-error{color:#991b1b;background:#fef2f2}.toast-success{color:#047857;background:#ecfdf5}.spinner-wrap{display:inline-flex;align-items:center;gap:10px;color:var(--muted)}.spinner{width:18px;height:18px;border:2px solid #dbeafe;border-top-color:var(--accent);border-radius:999px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.workspace-shell{display:grid;gap:18px;width:min(100%,560px);min-height:100svh;margin:0 auto;padding:18px;background:#fff}.workspace-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding-bottom:16px}.workspace-header div{display:grid;gap:4px}.workspace-header span,.workspace-header b{color:var(--muted);font-size:13px}.work-stack{display:grid;gap:12px}.eyebrow{margin-bottom:8px;color:var(--accent);font-size:13px;font-weight:800}.phone-number{margin-top:8px;font-size:30px}.divider{height:1px;margin:22px 0;background:var(--border)}.actions-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.timer{margin-top:18px;color:var(--muted);font-size:14px}.code-panel{text-align:center}.success-label{color:#047857;font-weight:800}.code-box{width:100%;min-height:88px;margin:20px 0 10px;border:1px solid #bfdbfe;border-radius:12px;color:#111827;background:var(--accent-soft);font-size:40px;font-weight:800;letter-spacing:0;cursor:pointer}.success-dot{display:grid;place-items:center;width:44px;height:44px;margin-bottom:18px;border-radius:999px;color:#047857;background:#ecfdf5;font-weight:900}.done-panel .button{width:100%;margin-top:22px}@media (max-width: 480px){.app-shell{padding:16px}.redeem-panel,.quiet-panel,.service-panel{width:100%;padding:22px 18px}.brand-mark{font-size:26px}h1{font-size:22px}.workspace-shell{padding:14px}.workspace-header{align-items:flex-start}.phone-number{font-size:27px}.actions-row{grid-template-columns:1fr}.code-box{font-size:36px}}
