.PublicReservationForm-module__vGx3SW__stepIndicator{margin-bottom:var(--spacing-lg);justify-content:center;gap:clamp(.5rem,2vw,1rem);display:flex}.PublicReservationForm-module__vGx3SW__step{color:var(--color-border);align-items:center;gap:.4rem;font-size:.9rem;font-weight:400;display:flex}.PublicReservationForm-module__vGx3SW__step.PublicReservationForm-module__vGx3SW__active{color:var(--color-ink);font-weight:700}.PublicReservationForm-module__vGx3SW__step.PublicReservationForm-module__vGx3SW__done{color:var(--color-success);font-weight:600}.PublicReservationForm-module__vGx3SW__stepCircle{background-color:var(--color-surface);width:28px;height:28px;color:var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.PublicReservationForm-module__vGx3SW__step.PublicReservationForm-module__vGx3SW__active .PublicReservationForm-module__vGx3SW__stepCircle{background-color:var(--color-ink);color:#fff}.PublicReservationForm-module__vGx3SW__step.PublicReservationForm-module__vGx3SW__done .PublicReservationForm-module__vGx3SW__stepCircle{background-color:var(--color-success);color:#fff}.PublicReservationForm-module__vGx3SW__header{text-align:center;margin-bottom:var(--spacing-lg)}.PublicReservationForm-module__vGx3SW__productionTitle{color:var(--color-text);margin-bottom:var(--spacing-xs);font-size:1.25rem;font-weight:700}.PublicReservationForm-module__vGx3SW__venue{color:var(--color-text-muted);font-size:.875rem}.PublicReservationForm-module__vGx3SW__description{margin-top:var(--spacing-sm);color:var(--color-text-muted);font-size:.875rem;line-height:1.6}.PublicReservationForm-module__vGx3SW__loginBanner{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:var(--radius);margin-bottom:var(--spacing-lg);color:var(--color-accent);font-size:.8125rem;display:flex}.PublicReservationForm-module__vGx3SW__loginBanner a{color:var(--color-accent);white-space:nowrap;font-weight:600;text-decoration:underline}.PublicReservationForm-module__vGx3SW__performanceList{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-direction:column;display:flex}.PublicReservationForm-module__vGx3SW__performanceCard{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);display:flex}.PublicReservationForm-module__vGx3SW__performanceCard:hover:not(.PublicReservationForm-module__vGx3SW__disabled),.PublicReservationForm-module__vGx3SW__performanceCard.PublicReservationForm-module__vGx3SW__selected{border-color:var(--color-ink);background-color:var(--color-selected-bg)}.PublicReservationForm-module__vGx3SW__performanceCard.PublicReservationForm-module__vGx3SW__disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-surface)}.PublicReservationForm-module__vGx3SW__radioCircle{border:2px solid var(--color-border);width:20px;height:20px;transition:border-color var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.PublicReservationForm-module__vGx3SW__performanceCard.PublicReservationForm-module__vGx3SW__selected .PublicReservationForm-module__vGx3SW__radioCircle{border-color:var(--color-ink)}.PublicReservationForm-module__vGx3SW__radioInner{background-color:var(--color-primary);border-radius:50%;width:10px;height:10px;display:none}.PublicReservationForm-module__vGx3SW__performanceCard.PublicReservationForm-module__vGx3SW__selected .PublicReservationForm-module__vGx3SW__radioInner{display:block}.PublicReservationForm-module__vGx3SW__performanceInfo{flex:1}.PublicReservationForm-module__vGx3SW__performanceDate{color:var(--color-text);font-size:.9375rem;font-weight:600}.PublicReservationForm-module__vGx3SW__availabilityBadge{white-space:nowrap;font-size:.8125rem;font-weight:600}.PublicReservationForm-module__vGx3SW__availabilityBadge.PublicReservationForm-module__vGx3SW__plenty{color:var(--color-success)}.PublicReservationForm-module__vGx3SW__availabilityBadge.PublicReservationForm-module__vGx3SW__available{color:var(--color-accent)}.PublicReservationForm-module__vGx3SW__availabilityBadge.PublicReservationForm-module__vGx3SW__few{color:var(--color-warning)}.PublicReservationForm-module__vGx3SW__availabilityBadge.PublicReservationForm-module__vGx3SW__full{color:var(--color-error)}.PublicReservationForm-module__vGx3SW__ticketList{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-direction:column;display:flex}.PublicReservationForm-module__vGx3SW__ticketRow{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);justify-content:space-between;align-items:center;display:flex}.PublicReservationForm-module__vGx3SW__ticketInfo{flex:1}.PublicReservationForm-module__vGx3SW__ticketName{font-size:.9375rem;font-weight:600}.PublicReservationForm-module__vGx3SW__ticketPrice{color:var(--color-text-muted);font-size:.8125rem}.PublicReservationForm-module__vGx3SW__ticketCounter{align-items:center;gap:var(--spacing-sm);display:flex}.PublicReservationForm-module__vGx3SW__counterBtn{border:1px solid var(--color-border);background:var(--color-background);cursor:pointer;width:36px;height:36px;color:var(--color-text);transition:background-color var(--transition-fast), border-color var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:1.125rem;font-weight:600;display:flex}.PublicReservationForm-module__vGx3SW__counterBtn:hover:not(:disabled){border-color:var(--color-ink);background-color:var(--color-selected-bg)}.PublicReservationForm-module__vGx3SW__counterBtn:disabled{opacity:.3;cursor:not-allowed}.PublicReservationForm-module__vGx3SW__counterValue{text-align:center;width:32px;font-size:1rem;font-weight:700}.PublicReservationForm-module__vGx3SW__totalRow{justify-content:flex-end;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);color:var(--color-ink);font-size:1rem;font-weight:700;display:flex}.PublicReservationForm-module__vGx3SW__section{margin-bottom:var(--spacing-lg)}.PublicReservationForm-module__vGx3SW__sectionLabel{margin-bottom:var(--spacing-sm);color:var(--color-text);font-size:.9375rem;font-weight:700;display:block}.PublicReservationForm-module__vGx3SW__requiredMark{color:var(--color-error);margin-left:4px;font-size:.75rem;font-weight:600}.PublicReservationForm-module__vGx3SW__promoterBadge{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:.8125rem;display:inline-flex}.PublicReservationForm-module__vGx3SW__confirmGrid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:grid}.PublicReservationForm-module__vGx3SW__confirmItem{border-bottom:1px solid var(--color-surface);padding-bottom:var(--spacing-sm)}.PublicReservationForm-module__vGx3SW__confirmLabel{color:var(--color-text-muted);margin-bottom:var(--spacing-xs);font-size:.8125rem}.PublicReservationForm-module__vGx3SW__confirmValue{color:var(--color-text);font-size:.9375rem;font-weight:600}.PublicReservationForm-module__vGx3SW__ticketSummary{background-color:var(--color-surface);padding:var(--spacing-md);border-radius:var(--radius)}.PublicReservationForm-module__vGx3SW__ticketSummaryRow{justify-content:space-between;padding:2px 0;font-size:.875rem;display:flex}.PublicReservationForm-module__vGx3SW__ticketSummaryTotal{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);text-align:right;color:var(--color-ink);font-size:1.1rem;font-weight:700}.PublicReservationForm-module__vGx3SW__actions{gap:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}@media (max-width:640px){.PublicReservationForm-module__vGx3SW__actions{grid-template-columns:1fr}.PublicReservationForm-module__vGx3SW__actions .PublicReservationForm-module__vGx3SW__btn{width:100%}}.PublicReservationForm-module__vGx3SW__closedNotice{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg)}.PublicReservationForm-module__vGx3SW__closedNotice h2{color:var(--color-text-muted);margin-bottom:var(--spacing-sm);font-size:1.125rem}.PublicReservationForm-module__vGx3SW__closedNotice p{color:var(--color-text-muted);font-size:.875rem;line-height:1.6}.PublicReservationForm-module__vGx3SW__capacityWarning{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius);color:var(--color-error);margin-bottom:var(--spacing-md);font-size:.8125rem}.PublicReservationForm-module__vGx3SW__contactFooter{text-align:center;color:var(--color-text-muted);margin-top:var(--spacing-lg);font-size:.8rem;line-height:1.8}.PublicReservationForm-module__vGx3SW__contactFooter a{color:var(--color-text-muted);font-weight:600}.PublicReservationForm-module__vGx3SW__performanceVenue{color:var(--color-text-muted);margin-top:2px;font-size:.75rem}.PublicReservationForm-module__vGx3SW__venueList{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.PublicReservationForm-module__vGx3SW__venueCard{min-width:120px;min-height:48px;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;flex:auto;font-size:.9375rem;font-weight:600}.PublicReservationForm-module__vGx3SW__venueCard:hover{border-color:var(--color-ink)}.PublicReservationForm-module__vGx3SW__venueCard.PublicReservationForm-module__vGx3SW__selected{border-color:var(--color-ink);background:var(--color-selected-bg);color:var(--color-ink)}.PublicReservationForm-module__vGx3SW__kindList{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.PublicReservationForm-module__vGx3SW__kindCard{padding:var(--spacing-md);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;text-align:left;flex-direction:column;flex:200px;align-items:flex-start;gap:2px;min-height:64px;display:flex}.PublicReservationForm-module__vGx3SW__kindCard:hover{border-color:var(--color-ink)}.PublicReservationForm-module__vGx3SW__kindCard.PublicReservationForm-module__vGx3SW__selected{border-color:var(--color-ink);background:var(--color-selected-bg)}.PublicReservationForm-module__vGx3SW__kindLabel{color:var(--color-text);font-size:.9375rem;font-weight:700}.PublicReservationForm-module__vGx3SW__kindHelp{color:var(--color-text-muted);font-size:.8125rem}.PublicReservationForm-module__vGx3SW__passHelp{color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:.8125rem;line-height:1.6}.PublicReservationForm-module__vGx3SW__passVenueGroup{margin-bottom:var(--spacing-md)}.PublicReservationForm-module__vGx3SW__passVenueName{color:var(--color-text);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xs);font-size:.875rem;font-weight:700}.PublicReservationForm-module__vGx3SW__passPerfRow{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;display:flex}.PublicReservationForm-module__vGx3SW__passPerfInfo{align-items:center;gap:var(--spacing-sm);font-size:.9375rem;display:flex}.PublicReservationForm-module__vGx3SW__passPerfAvailability{color:var(--color-text-muted)}.PublicReservationForm-module__vGx3SW__passPerfFull{color:var(--color-text-muted);font-size:.8125rem}.PublicReservationForm-module__vGx3SW__fieldDescription{color:var(--color-text-muted);white-space:pre-wrap;overflow-wrap:break-word;margin:-2px 0 var(--spacing-sm);font-size:.8125rem;line-height:1.7}.PublicReservationForm-module__vGx3SW__noteBlock{padding:var(--spacing-md);border-left:3px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius);margin-bottom:var(--spacing-lg)}.PublicReservationForm-module__vGx3SW__noteHeading{color:var(--color-text);margin-bottom:4px;font-size:.9375rem;font-weight:700}.PublicReservationForm-module__vGx3SW__noteBody{color:var(--color-text);white-space:pre-wrap;overflow-wrap:break-word;font-size:.875rem;line-height:1.8}.PublicReservationForm-module__vGx3SW__noteBlock a,.PublicReservationForm-module__vGx3SW__fieldDescription a{color:var(--color-ink);overflow-wrap:anywhere;text-decoration:underline}
