#future-spa-body{--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 22px}#future-spa-body .site-header{background:var(--bg-primary);color:var(--text-primary);padding-top:calc(env(safe-area-inset-top, 0px) + var(--spacing-sm))}#future-spa-body .supplier-name{color:var(--text-primary);font-size:clamp(20px, 5.5vw, 34px)}#future-spa-body .header-content{justify-content:flex-end;align-items:flex-start;flex-direction:column;text-align:left;gap:var(--spacing-xs);min-height:110px;padding:var(--spacing-md) var(--spacing-md) calc(var(--spacing-md) + 4px)}@media (min-width: 640px){#future-spa-body .header-content{flex-direction:row;align-items:flex-end;justify-content:space-between}}#future-spa-body .supplier-info{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:var(--spacing-xs);width:100%}#future-spa-body .main-content{width:100%;max-width:none;margin:0 auto;padding:var(--spacing-lg) var(--spacing-lg)}#future-spa-body .availability-card{max-width:520px;margin:0 auto;padding:calc(var(--spacing-md) - 4px) var(--spacing-md)}#future-spa-body .title-row{align-items:center}#future-spa-body .availability-title{font-size:calc(var(--font-size-lg) + 1px)}#future-spa-body .availability-price{font-size:calc(var(--font-size-lg) + 2px);color:var(--secondary-color)}#future-spa-body .availability-description{font-size:var(--font-size-sm);line-height:1.4}#future-spa-body .availability-details{font-size:0.8rem}#future-spa-body .description-row{align-items:flex-start;gap:var(--spacing-sm);flex-wrap:nowrap}#future-spa-body .availability-actions{margin-left:auto;align-items:center;flex-shrink:0}#future-spa-body .quantity-controls{gap:var(--spacing-xs)}#future-spa-body .quantity-btn{width:32px;height:32px;border-width:1.5px;font-size:16px}#future-spa-body .quantity-display{min-width:32px;font-size:var(--font-size-base);padding:2px 6px}@media (min-width: 769px){.main-content{padding:var(--spacing-lg)}}.date-picker-section{margin:var(--spacing-lg) 0;padding:0 var(--spacing-xs)}.date-picker-section h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);color:var(--text-primary);text-align:left}#future-spa-body .calendar-grid{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:100%;margin:0;padding:0;align-items:flex-start}#future-spa-body .calendar-header{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);padding:0;flex-wrap:wrap}#future-spa-body .calendar-title-text{font-size:1.5rem;font-weight:700;color:var(--text-primary)}#future-spa-body .calendar-subtitle{color:var(--text-secondary);font-size:0.95rem}#future-spa-body .calendar-actions{display:flex;align-items:center;gap:var(--spacing-sm)}#future-spa-body .calendar-chip{height:36px;padding:0 var(--spacing-md);border:1px solid var(--border-color);border-radius:9999px;background:white;color:var(--text-primary);font-weight:600;cursor:pointer;transition:all 0.15s ease}#future-spa-body .calendar-chip:hover{border-color:var(--primary-color);color:var(--primary-color)}#future-spa-body .calendar-nav{display:inline-flex;align-items:center;border:1px solid var(--border-color);border-radius:9999px;background:white}#future-spa-body .calendar-nav-btn{height:36px;width:40px;border:none;background:transparent;cursor:pointer;color:var(--text-primary);font-weight:700}#future-spa-body .calendar-nav-btn:hover{color:var(--primary-color)}#future-spa-body .calendar-nav-label{padding:0 var(--spacing-md);font-weight:700;color:var(--text-primary);white-space:nowrap}#future-spa-body .calendar-months{display:grid !important;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:var(--spacing-sm);justify-items:stretch;justify-content:start;width:100%}#future-spa-body .wallet-actions{display:none}#future-spa-body .modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:rgba(255,255,255,0.9);font-size:20px;font-weight:700;cursor:pointer;color:#111827;line-height:1;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,0.12);z-index:10}#success-modal .modal-content{position:relative}#tickets-recall-btn{position:fixed;bottom:20px;right:20px;z-index:1500;padding:12px 16px;background:#111827;color:white;border:none;border-radius:999px;font-weight:600;box-shadow:0 10px 25px rgba(0,0,0,0.15);cursor:pointer}#tickets-recall-btn.hidden{display:none}#future-spa-body .calendar-legend{display:grid;grid-template-columns:repeat(6, auto);gap:var(--spacing-xs) var(--spacing-sm);align-items:center;font-size:var(--font-size-sm);color:var(--text-secondary);padding:0 var(--spacing-sm)}#future-spa-body .legend-dot{display:inline-block;width:12px;height:12px;border-radius:9999px;margin-right:4px}#future-spa-body .legend-dot.available{background:var(--primary-color)}#future-spa-body .legend-dot.selected{background:#0f172a}#future-spa-body .legend-dot.closed{background:#cbd5e1}#future-spa-body .month-calendar{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--shadow);margin:0 auto}#future-spa-body .month-header{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);text-align:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--border-color)}#future-spa-body .calendar-weekdays{display:grid !important;grid-template-columns:repeat(7, 1fr);gap:4px;margin-bottom:var(--spacing-xs);width:100%}#future-spa-body .weekday{text-align:center;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);padding:var(--spacing-xs)}#future-spa-body .calendar-days{display:grid !important;grid-template-columns:repeat(7, minmax(0, 1fr));gap:6px;width:100%;justify-items:stretch}#future-spa-body .calendar-day{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:var(--font-size-base);cursor:pointer;transition:all 0.2s;background:var(--bg-secondary);color:var(--text-primary);font-weight:600;user-select:none;-webkit-tap-highlight-color:transparent}#future-spa-body .calendar-day:not(.disabled):not(.empty):hover{background:var(--primary-color);color:white;transform:scale(1.05)}#future-spa-body .calendar-day:not(.disabled):not(.empty):active{transform:scale(0.95)}#future-spa-body .calendar-day.today{border:2px solid var(--primary-color);font-weight:700}#future-spa-body .calendar-day.disabled{opacity:0.3;cursor:not-allowed;background:var(--bg-secondary)}#future-spa-body .calendar-day.empty{background:transparent;cursor:default}#future-spa-body .calendar-day.closed{cursor:not-allowed;background:#f3f4f6;color:#94a3b8;border:1px solid #e5e7eb;opacity:1}@supports not (display: grid){#future-spa-body .calendar-days{display:flex;flex-wrap:wrap;gap:6px}#future-spa-body .calendar-day{width:calc(14.285% - 6px);flex:0 0 calc(14.285% - 6px)}}.selected-date-header{display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}@media (min-width: 640px){.selected-date-header{flex-direction:row;align-items:center}}.change-date-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:var(--spacing-xs)}.change-date-btn:hover{background:var(--bg-primary);border-color:var(--primary-color);color:var(--primary-color)}.change-date-btn:active{transform:scale(0.98)}#selected-date-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);flex:1}.product-group{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow)}.product-header{margin-bottom:var(--spacing-md)}.product-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.product-emoji{font-size:24px}.product-description{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-sm) 0 var(--spacing-md) 0;line-height:1.6}.product-availabilities{display:flex;flex-direction:column;gap:var(--spacing-sm)}.product-group .availability-card{padding:var(--spacing-md);background:var(--bg-secondary)}.product-group .availability-card .description-row.no-title{display:flex;justify-content:space-between;align-items:center}.product-group .availability-card .availability-time-inline{font-weight:600;color:var(--text-primary)}@media (max-width: 768px){#future-spa-body .date-picker-section{padding:var(--spacing-sm);margin:var(--spacing-md) auto;max-width:420px}#future-spa-body .date-picker-section h2{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}#future-spa-body .calendar-grid{grid-template-columns:1fr;gap:var(--spacing-md);width:100%;justify-items:center}#future-spa-body .month-calendar{padding:var(--spacing-sm);width:100%;max-width:360px;margin:0 auto}#future-spa-body .calendar-day{font-size:var(--font-size-sm)}.selected-date-header{flex-direction:column;align-items:flex-start}#selected-date-title{font-size:var(--font-size-base)}}@media (max-width: 639px){#future-spa-body .date-picker-section{max-width:360px}#future-spa-body .month-calendar{max-width:320px}}@media (max-width: 430px){#future-spa-body .site-header{padding-top:calc(env(safe-area-inset-top, 0px) + 6px)}#future-spa-body .header-content{padding:6px var(--spacing-sm) calc(var(--spacing-md) + 4px)}#future-spa-body .supplier-name{font-size:20px;line-height:1.05;margin:0}#future-spa-body .supplier-logo{max-width:140px;height:28px}#future-spa-body .main-content{padding:var(--spacing-sm) var(--spacing-md)}#future-spa-body .date-picker-section{padding:var(--spacing-xs);margin:var(--spacing-sm) auto;max-width:100%}#future-spa-body .availabilities-section{padding:0 var(--spacing-xs);max-width:100%}#future-spa-body .availabilities-list{max-width:100%}#future-spa-body .date-picker-section h2{font-size:var(--font-size-base);margin-bottom:var(--spacing-sm)}#future-spa-body .calendar-grid{gap:var(--spacing-sm)}#future-spa-body .month-calendar{width:calc(100vw - 24px);max-width:320px;padding:var(--spacing-xs) var(--spacing-sm);margin:0 auto}#future-spa-body .month-header{font-size:15px;margin-bottom:var(--spacing-sm)}#future-spa-body .calendar-weekdays{gap:2px;margin-bottom:var(--spacing-xs)}#future-spa-body .weekday{font-size:11px;padding:2px}#future-spa-body .calendar-days{gap:2px}#future-spa-body .calendar-day{font-size:13px}#selected-date-title{font-size:14px;line-height:1.3}.selected-date-header{padding:var(--spacing-sm);gap:var(--spacing-sm)}.change-date-btn{font-size:13px;padding:var(--spacing-xs) var(--spacing-sm)}#future-spa-body .availability-card{padding:var(--spacing-sm)}#future-spa-body .availability-title{font-size:var(--font-size-lg)}#future-spa-body .availability-emoji{font-size:18px}#future-spa-body .availability-price{font-size:calc(var(--font-size-lg) + 1px)}#future-spa-body .availability-description{font-size:var(--font-size-sm);line-height:1.3}#future-spa-body .availability-details{font-size:0.75rem}#future-spa-body .product-title{font-size:var(--font-size-lg)}#future-spa-body .product-emoji{font-size:18px}#future-spa-body .product-description{font-size:11px;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}#future-spa-body .description-row{gap:var(--spacing-xs)}#future-spa-body .availability-description-section{flex:1;min-width:0;overflow:hidden}#future-spa-body .availability-description{font-size:11px;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}#future-spa-body .quantity-btn{width:28px;height:28px;font-size:14px}#future-spa-body .quantity-display{min-width:28px;font-size:var(--font-size-base)}}@media (min-width: 769px) and (max-width: 1024px){#future-spa-body .calendar-grid{grid-template-columns:repeat(2, 1fr)}}#future-spa-body .availability-description-section{flex:1 1 auto;min-width:0}
