.sp-ticket-card{display:flex;flex-direction:column;justify-content:space-between;min-height:180px}.sp-ticket-card .sp-card-body{flex:1}.sp-ticket-card .sp-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--sp-gray-200)}.sp-ticket-age{font-size:.8125rem;color:var(--sp-gray-500);margin-top:4px}.sp-ticket-desc{font-size:.875rem;color:var(--sp-gray-600);margin:8px 0 0}.sp-ticket-min-notice{font-size:.8rem;color:var(--sp-primary,#6366f1);font-weight:500;margin:6px 0 0}.sp-attendee-group{margin-bottom:24px}.sp-attendee-group h3{font-size:1rem;color:var(--sp-gray-700);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--sp-gray-200)}.sp-attendee-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.sp-attendee-row .sp-attendee-label{font-size:.875rem;font-weight:600;color:var(--sp-gray-600);min-width:80px}.sp-attendee-row .sp-input{flex:1}.sp-location-card{cursor:pointer;position:relative}.sp-location-card .sp-location-name{font-weight:700;font-size:1rem;margin-bottom:4px}.sp-location-card .sp-location-address{font-size:.8125rem;color:var(--sp-gray-500)}.sp-location-card input[type=radio]{position:absolute;opacity:0}.sp-location-card.sp-card-selected .sp-location-check{display:block}.sp-location-check{display:none;position:absolute;top:12px;right:12px;width:24px;height:24px;background:var(--sp-primary);color:#fff;border-radius:50%;font-size:14px;line-height:24px;text-align:center}.sp-apply-row{display:flex;gap:8px;margin-bottom:12px}.sp-apply-row .sp-input{flex:1}.sp-applied-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--sp-primary-light);border-radius:var(--sp-radius);margin-bottom:8px;font-size:.875rem}.sp-applied-item .sp-remove-btn{background:0 0;border:none;color:var(--sp-gray-500);cursor:pointer;font-size:1.125rem;padding:0;line-height:1}.sp-applied-item .sp-remove-btn:hover{color:var(--sp-danger)}.sp-gc-wallet-picker{margin-top:8px}.sp-gc-wallet-toggle{display:inline-flex;align-items:center;gap:6px;background:0 0;border:none;color:var(--sp-primary,#00aeef);font-size:.8125rem;font-weight:500;cursor:pointer;padding:4px 0;transition:color .15s}.sp-gc-wallet-toggle:hover{color:var(--sp-primary-dark,#0095cc)}.sp-gc-wallet-chevron{transition:transform .2s ease}.sp-gc-wallet-picker.open .sp-gc-wallet-chevron{transform:rotate(180deg)}.sp-gc-wallet-list{margin-top:8px;border:1px solid var(--sp-gray-200,#e5e7eb);border-radius:var(--sp-radius,8px);background:var(--sp-gray-50,#f9fafb);max-height:240px;overflow-y:auto}.sp-gc-wallet-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--sp-gray-200,#e5e7eb);cursor:pointer;transition:background .15s;font-size:.875rem}.sp-gc-wallet-item:last-child{border-bottom:none}.sp-gc-wallet-item:hover{background:var(--sp-gray-100,#f3f4f6)}.sp-gc-wallet-item.selected{background:var(--sp-primary-light,#e0f4fd)}.sp-gc-wallet-item .sp-gc-wallet-check{width:18px;height:18px;border:2px solid var(--sp-gray-300,#d1d5db);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.sp-gc-wallet-item.selected .sp-gc-wallet-check{background:var(--sp-primary,#00aeef);border-color:var(--sp-primary,#00aeef)}.sp-gc-wallet-item.selected .sp-gc-wallet-check svg{display:block}.sp-gc-wallet-item .sp-gc-wallet-check svg{display:none;width:12px;height:12px;color:#fff}.sp-gc-wallet-item-info{flex:1;min-width:0}.sp-gc-wallet-item-code{font-family:'SF Mono','Fira Code',monospace;font-size:.8125rem;color:var(--sp-gray-600,#4b5563)}.sp-gc-wallet-item-balance{font-weight:600;color:var(--sp-gray-900,#111827);white-space:nowrap}.sp-gc-wallet-apply-selected{display:none;margin-top:10px}.sp-gc-wallet-picker.has-selection .sp-gc-wallet-apply-selected{display:block}.sp-gc-total-credit{margin-top:8px;padding:8px 14px;background:var(--sp-primary-light,#e0f4fd);border-radius:var(--sp-radius,8px);font-size:.8125rem;color:var(--sp-success,#16a34a);text-align:right}.sp-waiver-list{list-style:none;padding:0;margin:0}.sp-waiver-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--sp-gray-200)}.sp-waiver-item:last-child{border-bottom:none}.sp-waiver-status-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.sp-waiver-status-icon.valid{background:#d1fae5;color:#065f46}.sp-waiver-status-icon.missing{background:#fee2e2;color:#991b1b}.sp-waiver-name{font-weight:600;font-size:.9375rem}.sp-waiver-detail{font-size:.8125rem;color:var(--sp-gray-500)}.sp-auth-options{display:grid;gap:12px;margin-top:20px}.sp-auth-option{border:2px solid var(--sp-gray-200);border-radius:var(--sp-radius-lg);padding:16px 20px;cursor:pointer;transition:all var(--sp-transition)}.sp-auth-option:hover{border-color:var(--sp-gray-400)}.sp-auth-option.selected{border-color:var(--sp-primary);background:var(--sp-primary-light)}.sp-auth-option h4{margin:0 0 4px;font-size:.9375rem}.sp-auth-option p{margin:0;font-size:.8125rem;color:var(--sp-gray-500)}.sp-payment-section{margin-top:24px}.sp-stripe-element{padding:12px 14px;border:1px solid var(--sp-gray-300);border-radius:var(--sp-radius);background:var(--sp-white);transition:border-color var(--sp-transition),box-shadow var(--sp-transition)}.sp-stripe-element.StripeElement--focus{border-color:var(--sp-primary);box-shadow:0 0 0 3px rgba(0,174,239,.15)}.sp-stripe-element.StripeElement--invalid{border-color:var(--sp-danger)}.sp-pay-btn{margin-top:20px}.sp-pay-btn .sp-spinner{border-top-color:#fff;border-color:rgba(255,255,255,.3);border-top-color:#fff}.sp-confirmation{text-align:center;padding:40px 20px}.sp-confirmation-icon{display:inline-block;margin-bottom:20px}.sp-confirmation-icon img{width:80px;height:auto}.sp-confirmation h2{color:var(--sp-gray-900);margin-bottom:8px}.sp-confirmation .sp-order-number{font-size:1.125rem;color:var(--sp-gray-600);margin-bottom:24px}.sp-ticket-qr-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:24px 0;text-align:center}.sp-ticket-qr-item{background:var(--sp-gray-50);border:1px solid var(--sp-gray-200);border-radius:var(--sp-radius-lg);padding:20px}.sp-ticket-qr-item img{max-width:160px;margin:0 auto 12px;display:block}.sp-ticket-qr-item .sp-ticket-name{font-weight:600;margin-bottom:4px}.sp-ticket-qr-item .sp-ticket-code{font-size:.75rem;color:var(--sp-gray-500);font-family:monospace}.sp-ticket-calendar{width:100%;background:var(--sp-white);border:1px solid var(--sp-gray-200);border-radius:12px;overflow:hidden}.sp-ticket-calendar .sp-cal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#00aeef 0%,#0090c8 100%)}.sp-ticket-calendar .sp-cal-title{font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:.01em}.sp-ticket-calendar .sp-cal-nav{background:rgba(255,255,255,.2);border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;padding:0;color:#fff}.sp-ticket-calendar .sp-cal-nav:hover{background:rgba(255,255,255,.35)}.sp-ticket-calendar .sp-cal-grid{padding:12px}.sp-ticket-calendar .sp-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:4px}.sp-ticket-calendar .sp-cal-weekdays span{font-size:.7rem;font-weight:700;color:var(--sp-gray-400);text-transform:uppercase;letter-spacing:.06em;padding:8px 0}.sp-ticket-calendar .sp-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.sp-ticket-calendar .sp-cal-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;aspect-ratio:auto;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;border:2px solid transparent;color:var(--sp-gray-800);transition:all .15s ease;padding:6px 4px}.sp-ticket-calendar .sp-cal-day:hover:not(.sp-cal-disabled):not(.sp-cal-empty){border-color:#00aeef;background:rgba(0,174,239,.06);transform:scale(1.05)}.sp-ticket-calendar .sp-cal-day.sp-cal-selected{background:#00aeef;color:#fff;border-color:#00aeef;box-shadow:0 2px 8px rgba(0,174,239,.35)}.sp-ticket-calendar .sp-cal-day.sp-cal-today{background:rgba(0,174,239,.08)}.sp-ticket-calendar .sp-cal-day.sp-cal-disabled{color:var(--sp-gray-300);cursor:not-allowed;background:0 0;border-color:transparent}.sp-ticket-calendar .sp-cal-day.sp-cal-disabled:hover{transform:none}.sp-ticket-calendar .sp-cal-day.sp-cal-empty{background:0 0;cursor:default;border:none}.sp-ticket-calendar .sp-cal-day-num{line-height:1}.sp-ticket-calendar .sp-cal-days.sp-cal-loading{opacity:.5;pointer-events:none;position:relative}.sp-ticket-calendar .sp-cal-days.sp-cal-loading:after{content:'';position:absolute;top:50%;left:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border:3px solid var(--sp-gray-200);border-top-color:#00aeef;border-radius:50%;animation:sp-tcal-spin .6s linear infinite}@keyframes sp-tcal-spin{to{transform:rotate(360deg)}}@media (max-width:640px){.sp-ticket-calendar .sp-cal-grid{padding:8px}.sp-ticket-calendar .sp-cal-days{gap:3px}.sp-ticket-calendar .sp-cal-day{font-size:.8rem;border-radius:8px;border-width:1.5px;min-height:50px}}.sp-tcal-price{font-size:.65rem;font-weight:700;color:var(--sp-gray-500);line-height:1;margin-top:1px}.sp-cal-day.sp-cal-selected .sp-tcal-price{color:rgba(255,255,255,.85)}.sp-cal-day.sp-tcal-peak{background:#fff8e1}.sp-cal-day.sp-tcal-peak:not(.sp-cal-selected) .sp-tcal-price{color:#e65100}.sp-cal-day.sp-cal-disabled .sp-tcal-price{color:var(--sp-gray-300)}.sp-tcal-holiday-dot{width:5px;height:5px;border-radius:50%;background:#e65100;display:inline-block;margin-left:3px;vertical-align:middle}.sp-cal-day.sp-cal-selected .sp-tcal-holiday-dot{background:rgba(255,255,255,.7)}.sp-tcal-legend{display:flex;gap:18px;padding:10px 16px;font-size:.78rem;color:var(--sp-gray-500);border-top:1px solid var(--sp-gray-100)}.sp-tcal-legend-item{display:flex;align-items:center;gap:6px}.sp-tcal-swatch{width:14px;height:14px;border-radius:4px;border:1px solid var(--sp-gray-200)}.sp-tcal-swatch-base{background:var(--sp-gray-50)}.sp-tcal-swatch-peak{background:#fff8e1;border-color:#e65100}.sp-traffic-stub{text-align:center;padding:32px 20px;background:var(--sp-gray-50);border-radius:var(--sp-radius-lg);border:1px dashed var(--sp-gray-300)}.sp-traffic-stub p{color:var(--sp-gray-500);margin:0}