:root{color-scheme:dark;--bg: #0f0d14;--surface: #1a1723;--surface-2: #241f31;--border: #322b44;--text: #f2effa;--text-dim: #a29bb8;--accent: #8b5cf6;--accent-press: #7c4de8;--danger: #f87171;--ok: #34d399}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}#root{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}main{flex:1;padding:16px 16px 96px}h1{font-size:22px;margin-bottom:4px}.subtle{color:var(--text-dim);font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin-top:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}button{font:inherit;border:none;border-radius:10px;padding:10px 16px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}button:active{background:var(--accent-press)}button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}button.danger{background:transparent;color:var(--danger);border:1px solid var(--border)}button:disabled{opacity:.5}input{font:inherit;width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);margin-top:8px}input:focus{outline:2px solid var(--accent);outline-offset:-1px}label{font-size:13px;color:var(--text-dim);display:block;margin-top:16px}.pill{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim)}.pill.booked{color:var(--accent);border-color:var(--accent)}.pill.confirmed{color:var(--ok);border-color:var(--ok)}.pill.canceled,.pill.failed{color:var(--danger);border-color:var(--danger)}.error{color:var(--danger);font-size:14px;margin-top:12px}.banner{background:var(--surface-2);border:1px solid var(--accent);border-radius:14px;padding:14px 16px;margin-top:12px}nav.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}nav.tabs a{flex:1;text-align:center;padding:12px 0;color:var(--text-dim);text-decoration:none;font-size:13px;font-weight:600}nav.tabs a.active{color:var(--accent)}.weekday{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-top:20px}.actions{display:flex;gap:8px;margin-top:10px}.actions button{flex:1}.build-stamp{margin-top:28px;padding-top:14px;border-top:1px solid var(--border);font-size:12px;line-height:1.45;color:var(--text-dim)}.build-stamp-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.build-stamp .sha{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text)}
