@import url(/fonts.css?v=8f66fe338362);
:root{--ctl:44px;--card-pad:24px;--fs:15px;--h1:32px;--main-pad:28px;--bar-h:76px;--font:Poppins,sans-serif;--brand:#5B2EA6;--brand-2:#7c5cff;--go:#2BB673;--ink:#120a24;--muted:#6f6688;--line:#ebe5f7;--tint:#f1ecfd;--page:#f6f3fd;--card:#fff;--ready:#2BB673;--ready-bg:#dcf5e7;--picking:#f59e0b;--picking-bg:#fff1d6;--needs:#f43f5e;--needs-bg:#ffe1e6;--played:#6f6688;--played-bg:#eeebf3;--live:#7c5cff;--live-bg:#efeaff;--party:linear-gradient(120deg,#f43f5e,#f59e0b);--gold:#e9b94c;--silver:#bec2d4;--bronze:#c8936f;--overlay:#120a2470;--shadow:0 1px 2px #1d153008,0 8px 24px #5b2ea60f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--info:#3b82f6;--info-bg:#dbe8ff;--violet:#8b5cf6;--stage:#1a0b3a;--stage-2:#0e0622;--stage-3:#2a1a55;--stage-text:#cfc5ee;--stage-muted:#a99bd6;--stage-faint:#ffffff0d;--stage-tint:#ffffff14;--stage-line:#ffffff26;--stage-soft:#ffffff40;--stage-ok:#2bb67322;--stage-ok-line:#2bb67366;--stage-red:#f43f5e88;--stage-grid:#ffffffb0;--stage-gridon:#ffffffc0;--amber:#ffd166;--demo-deep:#1f9d8a;--demo-ink:#14734a;--grad-hero:radial-gradient(900px 500px at 85% 20%,#7c5cff55,transparent 60%),radial-gradient(700px 400px at 10% 110%,#f43f5e33,transparent 60%),#1a0b3a;--grad-offer:linear-gradient(90deg,#f43f5e,#f59e0b);--grad-headline:linear-gradient(90deg,#f59e0b,#f43f5e);--grad-jackpot:linear-gradient(120deg,#5B2EA6,#7c5cff);--grad-demo:linear-gradient(120deg,#2BB673,#1f9d8a);--shadow-lg:0 1px 2px #1d153008,0 14px 40px #5b2ea614;--shadow-float:0 30px 70px #1a0b3a33;--shadow-screen:0 30px 80px #000000aa;--ans-a:#f43f5e;--ans-b:#3b82f6;--ans-c:#f59e0b;--ans-d:#8b5cf6;--ans-c-ink:#2a1a00}
*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font);font-size:var(--fs);line-height:1.5;background:var(--page);color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}fieldset{min-width:0;border:0;padding:0;margin:0}h1{font-size:var(--h1);font-weight:800;letter-spacing:-.03em;margin:0}h2{font-size:20px;font-weight:700;margin:0 0 12px}h3{font-size:18px;font-weight:700;margin:0 0 12px}p{margin:8px 0 16px}b,strong{font-weight:600}:focus-visible{outline:3px solid var(--brand-2);outline-offset:3px}button:disabled{opacity:.5;cursor:default}
.q-page{min-width:0}.q-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:4px 0 20px}.q-head h1{margin:0}.q-head .q-subtitle{color:var(--muted);margin:4px 0 0}.q-head>.q-btn:last-child{margin-left:auto}.q-card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:var(--card-pad);min-width:0}.q-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.q-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ctl);padding:10px 16px;border-radius:14px;border:1px solid transparent;font-weight:600;text-decoration:none;white-space:normal;background:transparent;color:var(--brand)}.q-btn:hover{text-decoration:none;background:var(--tint)}.q-btn--primary{background:var(--brand);color:var(--card)}.q-btn--primary:hover{background:var(--brand-2);color:var(--card)}.q-btn--secondary{background:var(--card);border-color:var(--line);color:var(--ink)}.q-btn--go{background:var(--go);color:var(--ink)}.q-btn--go:hover{background:var(--ready-bg)}.q-btn--quiet{background:none;color:var(--brand)}.q-btn--danger{background:var(--needs-bg);color:var(--ink)}
.q-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;background:var(--tint);color:var(--brand);line-height:1.4}.q-pill--ready{background:var(--ready-bg);color:var(--ink)}.q-pill--picking{background:var(--picking-bg);color:var(--ink)}.q-pill--needs{background:var(--needs-bg);color:var(--ink)}.q-pill--played,.q-pill--cancelled{background:var(--played-bg);color:var(--played)}.q-pill--live{background:var(--live-bg);color:var(--brand)}.q-pill--party{background:var(--party);color:var(--ink)}.q-pill--cancelled{text-decoration:line-through}
.q-seg{display:flex;flex-wrap:wrap;gap:4px;background:var(--tint);padding:4px;border-radius:16px;min-width:0}.q-seg label{position:relative;flex:1;min-width:60px;cursor:pointer}.q-seg input[type=radio]{position:absolute;width:1px;height:1px;opacity:0}.q-seg label>span{display:flex;align-items:center;justify-content:center;min-height:var(--ctl);padding:8px 12px;border-radius:12px;font-weight:600;color:var(--muted)}.q-seg input:checked+span{background:var(--card);color:var(--brand);box-shadow:var(--shadow)}.q-seg input:focus-visible+span{outline:3px solid var(--brand-2)}select.q-seg{min-height:var(--ctl);border:1px solid var(--line);font-size:13px;max-width:220px}
.q-field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:var(--muted);margin:12px 0;min-width:0}.q-field input,.q-field select,.q-field textarea{font-size:15px;font-weight:400;color:var(--ink);width:100%;min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--card);min-height:var(--ctl);padding:10px 12px}.q-field textarea{min-height:88px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}input[type=color]{width:44px;height:44px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.q-row{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 0;border-bottom:1px solid var(--line)}.q-row:last-child{border:0}.q-row-text{flex:1;min-width:0}.q-row-text h3,.q-row-text b{display:block;font-size:15px;margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-row-text small,.q-meta{display:block;color:var(--muted);font-size:13px;font-weight:400}.q-avatar{display:inline-grid;place-items:center;width:44px;height:44px;flex:none;border-radius:14px;background:var(--av,var(--brand));color:var(--card);font-weight:700;font-size:14px}.q-avatar--ink{color:var(--ink)}.q-subtitle a{text-decoration:underline}.q-menu{position:fixed;z-index:70;width:240px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:16px;padding:8px}.q-menu button,.q-menu .mi{display:flex;align-items:center;gap:12px;min-height:var(--ctl);padding:12px;border-radius:12px;width:100%;text-align:left;font-weight:500}.q-menu button:hover,.q-menu button:focus-visible{background:var(--tint)}.q-menu hr{border:0;border-top:1px solid var(--line)}
.q-sheet{background:var(--card);width:min(720px,100%);height:100%;overflow:auto;padding:24px;box-shadow:var(--shadow)}.q-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,80px);opacity:0;pointer-events:none;border-radius:14px;background:var(--ink);color:var(--card);padding:12px 20px;z-index:100;max-width:calc(100vw - 32px);transition:transform .2s,opacity .2s}.q-toast.show{opacity:1;transform:translate(-50%,0)}.q-toast.err{background:var(--needs-bg);color:var(--ink)}.q-empty{text-align:center;padding:32px;color:var(--muted)}
#main{max-width:1240px;margin:0 auto;padding:var(--main-pad) 24px;min-width:0}.mut,.hint,.sub{color:var(--muted)}.row,.phead{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.sp{flex:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.qbar{position:sticky;top:0;z-index:65;background:var(--card);border-bottom:1px solid var(--line)}.qbar .row1{max-width:1440px;min-height:var(--bar-h);margin:auto;display:flex;align-items:center;gap:20px;padding:12px 24px}.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:20px;color:var(--brand);flex:none}.logo img{width:32px;height:32px}.rt{margin-left:auto;display:flex;align-items:center;gap:12px;min-width:0}.qnav{display:flex;align-items:center;gap:4px}.tab{display:flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ctl);padding:10px 12px;border-radius:14px;font-weight:600;color:var(--muted);font-size:13px}.tab.on{background:var(--tint);color:var(--brand)}.tab .qi{display:none}.qi{flex:none}.q-venue{position:relative;min-width:0}.q-venue-pill{max-width:220px;min-height:var(--ctl);border:1px solid var(--line);background:var(--card);padding:8px 12px}.q-venue-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-venue-dot{width:8px;height:8px;border-radius:50%;background:var(--go);flex:none}.q-venue-menu{position:absolute;right:0;top:calc(100% + 8px)}
.qw-acctbox{position:relative;flex:none}.qw-acct{display:flex;align-items:center;gap:8px;min-height:var(--ctl);border:1px solid var(--line);border-radius:14px;padding:4px 8px}.qw-who{display:flex;flex-direction:column;line-height:1.3;text-align:left;max-width:120px}.qw-who b,.qw-who small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.qw-who small{color:var(--muted);font-size:10px}.qw-menu{position:absolute;right:0;top:calc(100% + 8px);width:300px}.qw-mhead{display:flex;align-items:center;gap:8px;padding:8px}.qw-mhead>span:nth-child(2){min-width:0;flex:1}.qw-mhead b,.qw-mhead small{display:block;overflow:hidden;text-overflow:ellipsis;font-size:12px}.qw-mhead small{color:var(--muted)}.qw-teamgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.qw-urow{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.qw-uname{flex:1;min-width:120px}.qw-uname b,.qw-uname small{display:block;overflow-wrap:anywhere}.qw-uname small{font-size:13px;color:var(--muted)}.qw-acts{display:flex;flex-wrap:wrap;gap:4px}.qw-role,.qw-st{font-size:12px}.qw-obadge{color:var(--brand);display:flex;align-items:center;gap:4px}.qw-rmtx{display:none}.qw-form{display:grid;gap:8px}.qw-temp{display:flex;gap:8px;min-width:0}.qw-temp code{overflow-wrap:anywhere;min-width:0}.qw-presets{display:flex;gap:8px}.qw-eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.qw-warn,.qw-noemail{color:var(--needs)}.qw-urow.off{opacity:.6}.modal-bg{position:fixed;inset:0;background:var(--overlay);z-index:90;display:grid;place-items:center;padding:16px}.modal{background:var(--card);border-radius:20px;padding:24px;width:min(620px,100%);max-height:90dvh;overflow:auto}.modal .row{justify-content:flex-end;margin-top:20px}.modal h1{font-size:28px}
.q-dialog-bg{position:fixed;inset:0;background:var(--overlay);z-index:95;display:grid;place-items:center;padding:16px}
.q-dialog{width:min(480px,100%);max-height:90dvh;overflow:auto;margin:0}
.q-dialog h2{font-size:20px;margin:0 0 12px;white-space:pre-line;overflow-wrap:anywhere}
.q-dialog-input{width:100%;min-height:var(--ctl);padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:inherit}
.q-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap}
.cslabs-foot{padding:24px;text-align:center}.cslabs{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.cslabs-mark{width:26px;height:18px;object-fit:contain}.cslabs-wm{width:68px;height:12px}
@media(max-width:1120px){.qw-who{display:none}.qbar .row1{gap:8px;padding:12px 16px}.q-venue-pill{max-width:180px}.tab{padding:10px 8px}.hl{display:none}}
@media(max-width:720px){h1{font-size:28px}#main{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.qbar .row1{padding:8px 12px;min-height:64px;gap:8px}.qw-chev{display:none}.logo{flex:none;gap:6px}.logo .wm{font-size:18px}.rt{gap:8px;flex:1;justify-content:flex-end}.rt>.q-btn{display:none}.q-venue{min-width:0;flex:1;max-width:220px}.q-venue-pill{max-width:100%;width:100%;font-size:12px}.qnav{position:fixed;bottom:0;left:0;right:0;z-index:80;border-top:1px solid var(--line);background:var(--card);padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:4px;justify-content:space-around}.tab{flex:1;min-width:0;flex-direction:column;gap:4px;padding:8px 2px;font-size:11px;min-height:56px}.tab .qi{display:block}.q-card{padding:16px}.q-head{gap:12px;margin-bottom:20px}.q-head>.q-btn{width:100%;margin-left:0}.q-btn--primary{width:100%}.q-sheet{width:100%;height:auto;max-height:calc(100dvh - 80px);border-radius:24px 24px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.q-toast{bottom:100px}.qw-teamgrid{grid-template-columns:minmax(0,1fr)}.qw-urow{gap:8px}.qw-acts{flex-basis:100%}.qw-menu{right:-4px}.cslabs-foot{padding-bottom:100px}.q-menu{max-width:calc(100vw - 24px)}.modal{padding:20px}.qw-temp{flex-wrap:wrap}.q-field input,.q-field select{font-size:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Style selectors are shared cards/buttons, with tab-specific arrangement elsewhere. */
.qb .qb-chip{min-height:var(--ctl);padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--brand);font-weight:600;overflow-wrap:anywhere}.qb .qb-chip[aria-pressed=true]{background:var(--tint);border-color:var(--brand-2)}
.qe-style input:checked+span{border-color:var(--brand);background:var(--tint)}
.qb-totals strong{font-weight:800}

.q-switch{display:flex;align-items:center;gap:12px;min-height:var(--ctl);cursor:pointer}.q-switch input{appearance:none;position:relative;width:40px;height:24px;border:0;border-radius:999px;background:var(--line);padding:3px;flex:none}.q-switch input::before{content:"";display:block;width:18px;height:18px;border-radius:50%;background:var(--card)}.q-switch input:checked{background:var(--brand)}.q-switch input:checked::before{transform:translateX(16px)}
@media(min-width:721px) and (max-width:960px){.qbar .row1{flex-wrap:wrap}.qnav{order:3;flex-basis:100%;justify-content:center}}

/* Desktop density: laptops and mouse-driven screens get tighter controls and type (some touchscreen laptops report a coarse pointer, so width alone also qualifies); phones keep 44px targets. */
@media (pointer:fine) and (min-width:721px),(min-width:1024px){:root{--ctl:38px;--card-pad:20px;--fs:14px;--h1:24px;--main-pad:20px;--bar-h:56px}.q-field input,.q-field select,.q-field textarea{font-size:14px;padding:8px 12px}.q-btn{padding:8px 14px;border-radius:12px}.q-seg label>span{padding:6px 10px;white-space:nowrap}h2{font-size:18px}h3{font-size:16px}.q-field{margin:10px 0;gap:6px}.qw-acct .q-avatar{width:32px;height:32px;border-radius:10px;font-size:12px}.q-avatar{width:38px;height:38px;border-radius:12px}}
/* Venue form (first run, Add venue, Settings) and the venue switcher */
.qv-url{display:block;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.qv-url b{color:var(--ink);font-weight:600}
.qv-warn{margin:0;padding:8px 12px;border-radius:12px;background:var(--needs-bg);color:var(--ink);font-size:13px}.qv-warn[hidden]{display:none}
.qv-card fieldset,.qv-add{display:grid;gap:12px;border:0;padding:0;margin:0;min-width:0}.qv-add h2{margin:0}.qv-add .q-meta{margin:0}
.qv-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}.qv-add .qv-actions{justify-content:flex-end}
.q-venue-menu [aria-current=true]{background:var(--tint);color:var(--brand);font-weight:600}
@media(max-width:720px){.qv-actions .q-btn{flex:1}}

/* Admin frame (PR N): 56px bar, labelled tabs, wide main for the calendar rail */
.qbar .row1{padding-top:8px;padding-bottom:8px}.tab .ts{display:none}.logo img{width:28px;height:28px}.logo{font-size:19px}
#main[data-tab=calendar]{max-width:1440px}
.qw-account .phead h2{font-size:var(--h1);font-weight:800;letter-spacing:-.03em}
@media(max-width:720px){.tab .tl{display:none}.tab .ts{display:inline}}
