.pshell-backdrop{--pshell-wide:760px;justify-content:center;background:var(--cal-bg-muted)}.pshell,.pshell-backdrop{min-height:100dvh;display:flex}.pshell{width:100%;max-width:430px;position:relative;flex-direction:column;background:var(--cal-bg);padding-top:env(safe-area-inset-top)}@media (min-width:431px){.pshell{border-inline:1px solid var(--cal-border-subtle)}}@media (min-width:768px){.pshell{max-width:min(var(--pshell-wide),100% - 48px)}.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-items:start}.pcards>.pvenue{padding:14px 16px;border:1px solid var(--cal-border-subtle);border-radius:var(--radius-xl)}.pcards>.pvenue:last-child{border-bottom:1px solid var(--cal-border-subtle)}.pcards>.pvenue:hover{box-shadow:var(--shadow-outline-gray-rested)}}.prow{display:flex;align-items:center;gap:12px;width:100%;background:var(--cal-bg);border:1px solid var(--cal-border-subtle);border-radius:var(--radius-xl);padding:14px 16px;cursor:pointer;text-align:left;font:inherit;color:inherit}.pchips{display:flex;gap:8px;overflow-x:auto;margin-top:14px;scrollbar-width:none}.pchips::-webkit-scrollbar{display:none}.pvenue{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;border:none;border-bottom:1px solid var(--cal-border-subtle);background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit;text-decoration:none}.pvenue:last-child{border-bottom:none}.pta-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:var(--radius-button);background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.pta-item:focus-visible,.pta-item:hover{background:var(--cal-bg-muted)}.pfab{position:sticky;bottom:28px;z-index:5;align-self:flex-end;margin:12px 18px 28px 0;height:56px;display:inline-flex;align-items:center;gap:10px;padding:0 18px 0 14px;border:none;border-radius:var(--radius-full);background:var(--cal-brand);color:var(--cal-brand-text);font-family:inherit;font-size:14px;font-weight:600;box-shadow:var(--shadow-fab);cursor:pointer}.pfab.listening>span{animation:pfab-pulse 1.1s ease-in-out infinite}@keyframes pfab-pulse{50%{transform:scale(1.18);background:rgba(255,255,255,.3)}}.pmenu-backdrop{position:fixed;inset:0;z-index:29;border:none;background:transparent;padding:0}.pmenu{position:absolute;top:calc(100% + 6px);right:20px;z-index:30;min-width:168px;background:var(--cal-bg);border:1px solid var(--cal-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-dropdown);padding:4px;animation:ppop .18s cubic-bezier(.16,1,.3,1) both}.pmenu a,.pmenu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:var(--radius-button);background:transparent;font:inherit;font-size:13px;font-weight:500;color:var(--cal-text-emphasis);text-align:left;text-decoration:none;cursor:pointer}.pmenu a:hover,.pmenu button:hover,.pstep{background:var(--cal-bg-muted)}.pstep{width:26px;height:26px;border-radius:var(--radius-md);border:1px solid var(--cal-border-subtle);color:var(--cal-text-emphasis);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.pstep:disabled{opacity:.4;cursor:default}.pspot{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--cal-brand);color:var(--cal-brand-text);flex-shrink:0}.pspot.empty{background:transparent;color:var(--cal-text-muted);border:1.5px dashed var(--cal-border)}.pfeedback-wrap{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);width:100%;max-width:430px;display:flex;justify-content:flex-end;padding-right:18px;pointer-events:none;z-index:4}@media (min-width:768px){.pfeedback-wrap{max-width:min(var(--pshell-wide),100% - 48px)}}.pfeedback{pointer-events:auto;background:var(--cal-bg);border:1px solid var(--cal-border-subtle);border-radius:var(--radius-full);box-shadow:var(--shadow-dropdown)}.pfeedback,.pfeedback a{display:inline-flex;align-items:center}.pfeedback a{gap:6px;padding:8px 4px 8px 14px;font-size:12px;font-weight:600;color:var(--cal-text-emphasis);text-decoration:none}.pfeedback button{border:none;background:transparent;padding:8px 10px 8px 4px;cursor:pointer;color:var(--cal-text-subtle);display:inline-flex}.pday{flex:1;padding:8px 0;border-radius:var(--radius-button);display:flex;flex-direction:column;align-items:center;background:var(--cal-bg-muted);border:1px solid var(--cal-border-subtle);color:var(--cal-text-emphasis);cursor:pointer;font:inherit}.pday.selected{background:var(--cal-brand);border-color:var(--cal-brand);color:var(--cal-brand-text)}.pgrid-scroll{overflow-x:auto}@media (max-width:359px){.pgrid{min-width:420px}}.pcell{height:32px;padding:0;border-radius:5px;border:1px solid var(--cal-border-subtle);background:var(--cal-bg);color:var(--cal-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:pan-y;transition:box-shadow .2s cubic-bezier(.16,1,.3,1)}.pcell:hover{box-shadow:var(--shadow-outline-gray-rested)}.pcell:active{transform:translateY(.5px)}.pcell:focus-visible{outline:2px solid var(--cal-brand);outline-offset:1px;position:relative;z-index:1}.pcell.booked{background:var(--cal-bg-subtle);border-color:var(--cal-bg-subtle);color:var(--cal-text-muted);cursor:default}.pcell.hold{background:var(--cal-bg-semantic-attention-subtle);border-color:var(--bw-cell-border-held);color:var(--cal-text-semantic-attention);cursor:default}.pcell.selected{background:var(--cal-brand);border-color:var(--cal-brand);color:var(--cal-brand-text)}.ppay{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:var(--radius-xl);margin-bottom:8px;background:var(--cal-bg);border:1px solid var(--cal-border-subtle);cursor:pointer;text-align:left;font:inherit;color:inherit}.ppay.selected{border-color:var(--cal-brand);box-shadow:inset 0 0 0 .5px var(--cal-brand)}.ptile{background:var(--cal-bg);border:1px solid var(--cal-border-subtle);border-radius:var(--radius-xl);padding:12px 8px;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;font-family:inherit;font-size:11px;font-weight:500;color:var(--cal-text-emphasis);cursor:pointer;text-decoration:none;text-align:center}.ptile:hover{box-shadow:var(--shadow-outline-gray-rested)}.wdots{display:flex;gap:6px;align-items:center}.wdot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--cal-border);transition:width .2s cubic-bezier(.16,1,.3,1)}.wdot.on{width:18px;background:var(--cal-brand)}.wtile{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 16px;margin-top:8px;border:1px solid var(--cal-border-subtle);border-radius:var(--radius-xl);background:var(--cal-bg);color:var(--cal-text-emphasis);font:inherit;font-size:15px;font-weight:500;text-align:left;text-decoration:none;cursor:pointer}.wtile:hover{box-shadow:var(--shadow-outline-gray-rested)}.wtile.selected{border-color:var(--cal-brand);box-shadow:inset 0 0 0 .5px var(--cal-brand)}.wtile.skip{justify-content:center;min-height:48px;background:var(--cal-bg-muted);color:var(--cal-text-subtle);font-size:14px}.wchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.wchip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border:1px solid var(--cal-border-subtle);border-radius:var(--radius-full);background:var(--cal-bg);color:var(--cal-text-emphasis);font:inherit;font-size:14px;font-weight:500;cursor:pointer}.wchip.selected{background:var(--cal-brand);border-color:var(--cal-brand);color:var(--cal-brand-text)}.wprime{margin-top:8px;padding:14px 16px;border-radius:var(--radius-xl);background:var(--cal-bg-semantic-info-subtle)}.wsearch{width:100%;height:48px;margin-top:10px;padding:0 14px;border:1px solid var(--cal-border-subtle);border-radius:var(--radius-button);background:var(--cal-bg-muted);font:inherit;font-size:15px}.wback,.wsearch{color:var(--cal-text-emphasis)}.wback{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:-8px;border:none;border-radius:var(--radius-full);background:transparent;cursor:pointer}.pmenu input,.wback:hover{background:var(--cal-bg-muted)}.pmenu input{width:100%;height:44px;padding:0 12px;border:1px solid var(--cal-border-subtle);border-radius:var(--radius-button);font:inherit;font-size:15px;color:var(--cal-text-emphasis)}@keyframes ppop{0%{transform:translateY(-4px);opacity:0}to{transform:none;opacity:1}}.bw-toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);max-width:min(90vw,360px);background:var(--cal-bg-inverted);color:var(--cal-text-inverted);font-size:13px;font-weight:500;padding:10px 16px;border-radius:var(--radius-full);box-shadow:var(--shadow-fab);z-index:60;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:ptoast .18s cubic-bezier(.16,1,.3,1) both}@keyframes ptoast{0%{transform:translate(-50%,8px);opacity:0}to{transform:translate(-50%);opacity:1}}.bw-toast.out{transition:opacity .25s;opacity:0}.bw-step{animation:bw-step-in .26s cubic-bezier(.16,1,.3,1) both}.bw-step.back{animation-name:bw-step-in-back}@keyframes bw-step-in{0%{transform:translateX(14px);opacity:0}to{transform:none;opacity:1}}@keyframes bw-step-in-back{0%{transform:translateX(-14px);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion:reduce){.bw-step,.bw-step.back{animation:none}}.pspring{animation:pspring .32s cubic-bezier(.16,1,.3,1) both}@keyframes pspring{0%{transform:scale(.8)}to{transform:scale(1)}}