:root{--bg: #12151a;--surface: #1b1f27;--surface-2: #232834;--ink: #f2f0eb;--ink-muted: #9aa3b2;--accent: #e89a3e;--on-accent: #17130c;--border: #2a303b;--ok: #4ba36b;--warn: #d9a441;--bad: #c9584f;--radius: 12px}@media(prefers-color-scheme:light){:root{--bg: #faf9f6;--surface: #ffffff;--surface-2: #f0eee8;--ink: #1a1d23;--ink-muted: #5c6472;--accent: #c4761f;--on-accent: #ffffff;--border: #e2e0da;--ok: #2f7d4c;--warn: #96702a;--bad: #a93d35}}:root[data-theme=dark]{--bg: #12151a;--surface: #1b1f27;--surface-2: #232834;--ink: #f2f0eb;--ink-muted: #9aa3b2;--accent: #e89a3e;--on-accent: #17130c;--border: #2a303b;--ok: #4ba36b;--warn: #d9a441;--bad: #c9584f}:root[data-theme=light]{--bg: #faf9f6;--surface: #ffffff;--surface-2: #f0eee8;--ink: #1a1d23;--ink-muted: #5c6472;--accent: #c4761f;--on-accent: #ffffff;--border: #e2e0da;--ok: #2f7d4c;--warn: #96702a;--bad: #a93d35}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:1rem 0 .5rem;font-weight:600}.meta{font-size:.75rem;color:var(--ink-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem}.card.tight{padding:.625rem .875rem}.row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.row+.row{margin-top:.625rem}.stack{display:flex;flex-direction:column;gap:.875rem}.btn{display:block;width:100%;min-height:2.75rem;text-align:center;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:.9375rem;font-family:inherit;border:none;border-radius:var(--radius);padding:.875rem;cursor:pointer}.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--border);font-weight:500}.btn.danger{background:transparent;color:var(--bad);border:1px solid var(--border);font-weight:500}.btn:disabled{opacity:.45;cursor:not-allowed}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{min-height:2.5rem;padding:.5rem .75rem;border-radius:999px;font-size:.8125rem;font-family:inherit;background:var(--surface);border:1px solid var(--border);color:var(--ink);cursor:pointer}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.chip.ghost{border-style:dashed;color:var(--ink-muted)}.pill{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.6875rem;font-weight:600}.pill.ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.pill.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.pill.bad{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}.pill.neutral{background:var(--surface-2);color:var(--ink-muted)}.banner{border-radius:var(--radius);padding:.75rem .875rem;font-size:.8125rem}.banner.warn{background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.banner.bad{background:color-mix(in srgb,var(--bad) 12%,transparent);border:1px solid color-mix(in srgb,var(--bad) 35%,transparent)}.banner.info{background:var(--surface);border:1px solid var(--border);color:var(--ink-muted)}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:600;padding-bottom:.5rem}td{padding:.5rem 0;border-top:1px solid var(--border)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.good{color:var(--ok)}.poor{color:var(--bad)}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.list .item{display:flex;align-items:center;gap:.6rem;width:100%;min-height:2.75rem;padding:.6rem .875rem;font-size:.9375rem;font-family:inherit;text-align:left;background:none;border:none;color:inherit;cursor:pointer}.list .item+.item{border-top:1px solid var(--border)}.list .item .grow{flex:1}.list .item .tick{color:var(--accent)}.list .item.off .tick{color:var(--border)}.guest{color:var(--ink-muted);font-size:.75rem}input[type=text],input[type=search],input[type=number],select{width:100%;min-height:2.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);font-family:inherit;font-size:.9375rem;padding:.7rem .875rem}a{color:var(--accent)}
