:root{--bg:#f1f5f9;--surface:#ffffff;--surface-2:#f8fafc;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--brand:#0f766e;--brand-ink:#ffffff;--brand-soft:#ccfbf1;--open:#0284c7;--open-soft:#e0f2fe;--filled:#16a34a;--filled-soft:#dcfce7;--danger:#dc2626;--shadow:0 1px 2px rgba(15,23,42,0.06),0 4px 12px rgba(15,23,42,0.05);--radius:14px}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--surface:#131c2e;--surface-2:#0f1728;--border:#24314a;--text:#e6edf7;--muted:#93a4bf;--brand:#2dd4bf;--brand-ink:#04211d;--brand-soft:#123b37;--open:#38bdf8;--open-soft:#0d2a3f;--filled:#4ade80;--filled-soft:#10331f;--danger:#f87171;--shadow:0 1px 2px rgba(0,0,0,0.4),0 8px 24px rgba(0,0,0,0.3)}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}.app{max-width:720px;margin:0 auto;padding:0 16px 96px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;padding:16px 0 12px;border-bottom:1px solid var(--border);margin-bottom:20px}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-weight:700;font-size:18px;letter-spacing:-.02em}.logo{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 60%,#22d3ee));display:grid;place-items:center;color:var(--brand-ink);font-size:16px}.pill{font-size:12px;font-weight:600;border:1px solid var(--border);border-radius:999px;padding:4px 10px;background:var(--surface)}.muted,.pill{color:var(--muted)}.hero{text-align:center;padding:48px 8px 8px}.hero h1{font-size:30px;letter-spacing:-.03em;margin:18px 0 8px}.hero p{color:var(--muted);margin:0 auto 28px;max-width:440px}.hero .logo{width:56px;height:56px;border-radius:16px;font-size:30px;margin:0 auto}.choices{display:grid;grid-gap:14px;gap:14px;grid-template-columns:1fr}@media (min-width:560px){.choices{grid-template-columns:1fr 1fr}}.choice{display:block;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}.choice:hover{transform:translateY(-2px);border-color:var(--brand)}.choice .big{font-size:28px}.choice h3{margin:12px 0 6px;font-size:18px}.choice p{margin:0;color:var(--muted);font-size:14px}.section-title{display:flex;align-items:baseline;justify-content:space-between;margin:26px 4px 12px}.section-title h2{font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0}.list{display:grid;grid-gap:12px;gap:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card h3{margin:0;font-size:17px;letter-spacing:-.01em}.meta{margin:10px 0 0;display:grid;grid-gap:5px;gap:5px;font-size:14px;color:var(--muted)}.meta .row{display:flex;gap:8px;align-items:center}.meta .icon{width:16px;text-align:center;opacity:.8}.pay{font-weight:700;color:var(--text)}.notes{margin-top:10px;font-size:13px;color:var(--muted);background:var(--surface-2);border-radius:10px;padding:8px 10px}.badge{font-size:12px;font-weight:700;border-radius:999px;padding:4px 10px;white-space:nowrap}.badge.open{color:var(--open);background:var(--open-soft)}.badge.filled{color:var(--filled);background:var(--filled-soft)}.badge.role{color:var(--brand);background:var(--brand-soft)}.badge.admin{color:#7c3aed;background:#ede9fe}.badge.status-active{color:var(--filled);background:var(--filled-soft)}.badge.status-invited{color:#b45309;background:#fef3c7}.badge.status-disabled{color:var(--muted);background:var(--surface-2)}@media (prefers-color-scheme:dark){.badge.admin{color:#c4b5fd;background:#2e1065}.badge.status-invited{color:#fcd34d;background:#3f2d0a}}.invite-row{display:flex;gap:8px;align-items:center}.invite-row input{flex:1 1;font:inherit;font-size:13px;font-family:ui-monospace,Menlo,monospace;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;min-width:0}.invite-row .btn{flex-shrink:0;width:auto}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;padding:11px 16px;border-radius:11px;cursor:pointer;transition:transform .08s ease,background .12s ease,opacity .12s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:transparent;width:100%}.btn.ghost-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.btn.block{width:100%}.card-actions{margin-top:14px}.field{display:grid;grid-gap:5px;gap:5px;margin-bottom:12px}.field label{font-size:13px;font-weight:600;color:var(--muted)}.field input,.field select,.field textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid color-mix(in srgb,var(--brand) 50%,transparent);outline-offset:1px}.grid-2{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.identity{display:flex;align-items:center;gap:10px}.identity select{font:inherit;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:7px 10px}.empty{text-align:center;color:var(--muted);padding:32px 16px;border:1px dashed var(--border);border-radius:var(--radius)}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:11px 18px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:var(--shadow);z-index:50;max-width:90vw}.toast.err{background:var(--danger);color:#fff}.tabbar{display:flex;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:4px;margin-bottom:4px}.tabbar button{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--muted);font:inherit;font-weight:600;padding:9px;border-radius:9px;cursor:pointer}.tabbar button.active{background:var(--brand);color:var(--brand-ink)}.live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.live .dot{width:7px;height:7px;border-radius:50%;background:var(--filled);box-shadow:0 0 0 0 color-mix(in srgb,var(--filled) 70%,transparent);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--filled) 60%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}