:root{--brand-primary:#1f1f1f;--primary:var(--brand-primary);--primary-foreground:#fff;--radius-none:0;--radius-sm:.25rem;--radius:.5rem;--radius-md:var(--radius);--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-4xl:2.25rem;--radius-5xl:2.5rem;--radius-full:9999px;--schedule-content-px:1.5rem}@media (min-width:1024px){:root{--schedule-content-px:5rem}}.portal-brand-header .org-logo-name{color:#fff}.portal-branding-theme{--radius-full:9999px;--portal-text-primary:#082a24;--portal-text-muted:#838383;--portal-surface:#f5f5f5;--portal-surface-white:#fefefe;--portal-border-subtle:#e3e3e3;--portal-page-title-size:2.125rem;--primary:var(--brand-primary);--primary-foreground:#fff;--surface-border:#ffffff2e;--accent:var(--primary);--accent-foreground:var(--primary-foreground);--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--card-bg:var(--portal-surface);--booking-confirmed-bg:#f6faee;--booking-pending-bg:#fffbe9;--status-confirmed:#059669;--status-pending:#d97706;--status-cancelled:#6b7280;--button-secondary-bg:var(--portal-surface-white);--button-secondary-border:#e8e9e9;--button-secondary-text:var(--portal-text-primary);--button-primary-bg:var(--portal-text-primary);--button-primary-text:var(--portal-surface-white);--button-book-bg:#f3f3f3;--button-book-border:#e5e5e5;--button-book-text:var(--portal-text-primary);--schedule-table-radius:2.5rem;--schedule-card-radius:2.5rem;--schedule-table-shadow:0px 5px 20px 0px #0000000d;--schedule-table-bg:#fff;--schedule-cell-py:1.75rem;--schedule-row-border-color:var(--portal-border-subtle);--filter-pill-bg:var(--portal-surface);--filter-pill-radius:9999px;--popover-bg:#fff}.portal-branding-theme :is(.portal-btn-book button,.portal-btn-pill,.schedule-pill,.schedule-cancel-btn){letter-spacing:.01em!important;white-space:nowrap!important;border:none!important;min-width:143px!important;height:37px!important;padding:0 1.25rem!important;font-size:.8125rem!important;font-weight:600!important;line-height:1.75rem!important}.portal-branding-theme .portal-btn-pill{border-radius:9999px;transition:filter .15s}.portal-branding-theme .portal-btn-pill:hover:not(:disabled){filter:brightness(.97)}.portal-branding-theme .portal-btn-pill:focus-visible{outline:2px solid var(--button-secondary-border);outline-offset:2px}.portal-branding-theme .portal-btn-secondary{background-color:var(--button-secondary-bg)!important;color:var(--button-secondary-text)!important}.portal-branding-theme .portal-btn-primary{background-color:var(--button-primary-bg)!important;color:var(--button-primary-text)!important}.portal-branding-theme .portal-btn-book{overflow:hidden;background:var(--button-book-bg)!important;color:var(--button-book-text)!important;border-radius:9999px!important}.portal-branding-theme .schedule-title-text{font-weight:400}.portal-branding-theme .schedule-time-value{font-weight:600}.portal-branding-theme .schedule-status-confirmed{font-weight:400}.portal-branding-theme .schedule-instructor-avatar{width:42px!important;height:42px!important}.portal-branding-theme .schedule-day-pills-row{--schedule-toolbar-h:5.25rem;background-color:var(--content-background,#fff);margin-inline:calc(-1*var(--schedule-content-px));padding-block:.75rem;padding-inline:var(--schedule-content-px)}.portal-branding-theme .schedule-day-pills-mobile-toolbar{background-color:var(--content-background,#fff);margin-inline:calc(-1*var(--schedule-content-px));padding-block:.75rem;padding-inline:var(--schedule-content-px);margin-bottom:.75rem}.portal-branding-theme .schedule-day-pills-mobile-strip{margin-inline:calc(-1*var(--schedule-content-px));padding-inline:var(--schedule-content-px)}.portal-branding-theme :is(.schedule-day-pill,.schedule-nav-arrow){color:var(--foreground);border-radius:9999px;justify-content:center;align-items:center;transition:background-color .15s;display:flex}.portal-branding-theme :is(.schedule-day-pill,.schedule-nav-arrow):hover:not(:disabled){background-color:var(--card-bg)}.portal-branding-theme :is(.schedule-day-pill,.schedule-nav-arrow):focus-visible{outline:2px solid var(--primary,currentColor);outline-offset:2px}.portal-branding-theme .schedule-day-pill{letter-spacing:-.42px;background-color:#0000;border:none;flex:0 0 3.75rem;width:3.75rem;height:3.75rem;font-size:.875rem}.portal-branding-theme .schedule-day-pill.active,.portal-branding-theme .schedule-day-pill.schedule-today-always{background-color:var(--card-bg)}.portal-branding-theme .schedule-day-pill .day-label{color:var(--foreground);font-weight:500;line-height:1}.portal-branding-theme .schedule-day-pill .day-date{color:#838383;opacity:1;font-weight:500;line-height:1}.portal-branding-theme .schedule-nav-arrow{border:1px solid var(--border);background-color:var(--background);flex-shrink:0;width:2.5rem;height:2.5rem}.portal-branding-theme .schedule-nav-arrow:disabled{opacity:.5;cursor:not-allowed}.portal-branding-theme .schedule-today-pill{border:1px solid var(--border);background-color:var(--background);color:var(--foreground);border-radius:9999px;justify-content:center;align-items:center;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:background-color .15s;display:inline-flex}.portal-branding-theme .schedule-today-pill:hover{background-color:var(--card-bg)}.portal-branding-theme .schedule-today-pill:focus-visible{outline:2px solid var(--primary,currentColor);outline-offset:2px}.portal-branding-theme .schedule-today-pill[aria-current=date],.portal-branding-theme .schedule-today-pill.active{background-color:var(--card-bg)}@media (max-width:767px){.portal-branding-theme .schedule-day-pills-mobile-strip .schedule-day-pill{flex:0 0 2.75rem;width:2.75rem;height:2.75rem;font-size:.6875rem}.portal-branding-theme .schedule-day-pills-mobile-strip .schedule-nav-arrow{width:2.25rem;height:2.25rem}.portal-branding-theme .schedule-portal-class-list{gap:0!important}.portal-branding-theme .schedule-portal-class-list>.schedule-card{-moz-column-gap:.75rem;border-bottom:1px solid var(--portal-border-subtle,var(--border));grid-template-rows:auto auto auto;grid-template-columns:1fr auto;align-items:center;gap:.25rem .75rem;transition:none;display:grid;box-shadow:none!important;background:0 0!important;border-radius:0!important;padding:1rem 0!important}.portal-branding-theme .schedule-portal-class-list>.schedule-card:not(:has(.schedule-card-instructor)){grid-template-rows:auto auto}.portal-branding-theme .schedule-portal-class-list>.schedule-card:hover{box-shadow:none!important}.portal-branding-theme .schedule-portal-class-list>.schedule-card:last-child{border-bottom:none}.portal-branding-theme .schedule-portal-class-list .schedule-card-time{color:var(--portal-text-muted,var(--muted-foreground));grid-column:1/-1;margin:0;font-size:.8125rem}.portal-branding-theme .schedule-portal-class-list .schedule-card-time .schedule-time-value{color:inherit;font-weight:500}.portal-branding-theme .schedule-portal-class-list .schedule-card-title{grid-column:1/-1;margin-top:0!important}.portal-branding-theme .schedule-portal-class-list>.schedule-card:not(:has(.schedule-card-instructor)) .schedule-card-title{grid-area:2/1;min-width:0}.portal-branding-theme .schedule-portal-class-list .schedule-card-instructor{grid-column:1;min-width:0;margin-top:0!important}.portal-branding-theme .schedule-portal-class-list .schedule-card-status{display:none!important}.portal-branding-theme .schedule-portal-class-list .schedule-card-action{grid-area:3/2;place-self:center end;margin-top:0!important}.portal-branding-theme .schedule-portal-class-list>.schedule-card:not(:has(.schedule-card-instructor)) .schedule-card-action{grid-row:2;align-self:center}.portal-branding-theme .schedule-portal-class-list .schedule-card-title .schedule-link-subtle{display:none}}.portal-branding-theme :is(.schedule-date-picker-trigger,.schedule-filters-trigger){border-radius:var(--filter-pill-radius);background-color:var(--filter-pill-bg);color:var(--foreground);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:400;transition:filter .15s;display:inline-flex}.portal-branding-theme :is(.schedule-date-picker-trigger,.schedule-filters-trigger):hover{filter:brightness(.97)}.portal-branding-theme :is(.schedule-date-picker-trigger,.schedule-filters-trigger):focus-visible{outline:2px solid var(--primary,currentColor);outline-offset:2px}.portal-branding-theme .schedule-date-picker-trigger{height:37px;padding:0 1rem}@keyframes scheduleFilterSlideIn{0%{transform:translateY(-4px)}to{transform:translateY(0)}}.portal-branding-theme .schedule-filters-trigger{background-color:#edeeee;border-radius:9999px;justify-content:center;height:37px;padding:0 1rem}.portal-branding-theme .schedule-filters-badge{color:#fefefe;pointer-events:none;background-color:#000;border:1px solid #fff;border-radius:9999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;font-size:11px;font-weight:500;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.schedule-filter-popover{z-index:50;border:1px solid var(--border);background:var(--popover-bg,#fff);box-sizing:border-box;border-radius:2rem;min-width:24rem;max-width:32rem;padding:1.5rem;animation:.15s scheduleFilterSlideIn;box-shadow:0 5px 20px #0000000d}@media (max-width:767px){.schedule-filter-popover{overscroll-behavior:contain;border-radius:1.25rem;width:min(32rem,100vw - 2rem);min-width:0;max-width:calc(100vw - 2rem);max-height:min(85dvh,32rem);padding:1.25rem;overflow-y:auto}}.portal-branding-theme .schedule-filter-section-label{letter-spacing:.15px;color:var(--portal-text-primary,#082a24);margin:0;font-size:15px;font-weight:600;line-height:1.67}.portal-branding-theme .schedule-filter-chip{letter-spacing:.13px;color:#333;cursor:pointer;background-color:#fefefe;border:1px solid #eee;border-radius:9999px;justify-content:center;align-items:center;height:38px;padding:0 1.125rem;font-size:13px;font-weight:500;transition:background-color .12s,border-color .12s;display:inline-flex}.portal-branding-theme .schedule-filter-chip:hover{filter:brightness(.98)}.portal-branding-theme .schedule-filter-chip:focus-visible{outline:2px solid var(--primary,currentColor);outline-offset:2px}.portal-branding-theme .schedule-filter-chip--selected{background-color:#f1f1f1;border-color:#0000}.portal-branding-theme .schedule-filter-chip--removable{background-color:#fefefe;border:1px solid #eee;gap:.3125rem}.portal-branding-theme .schedule-filter-selected-section{border-bottom:1px solid #dcdcdc;flex-direction:column;gap:.625rem;padding-bottom:1.25rem;display:flex}[data-theme=dark] .portal-branding-theme .schedule-filter-selected-section{border-bottom-color:var(--surface-border,#333)}[data-theme=dark] .portal-branding-theme .schedule-filter-chip--removable{background-color:var(--card-bg);border-color:var(--surface-border,#333)}.portal-branding-theme .schedule-filter-chip--with-avatar{gap:.5rem;padding-left:.5625rem;padding-right:.8125rem}.portal-branding-theme .schedule-filter-chip-avatar{-o-object-fit:cover;object-fit:cover;border-radius:9999px;flex-shrink:0;width:25px;height:25px}.portal-branding-theme .schedule-filter-chip-avatar--placeholder{background-color:var(--filter-pill-bg,#f5f5f5)}.portal-branding-theme .schedule-filter-chip-name{letter-spacing:.13px;color:var(--portal-text-primary,#082a24);font-size:13px;font-weight:400}[data-theme=dark] .portal-branding-theme .schedule-filter-chip-name{color:var(--foreground)}.portal-branding-theme .schedule-filter-clear-all{letter-spacing:.15px;color:#333;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:15px;font-weight:500;text-decoration:none}.portal-branding-theme .schedule-filter-clear-all:hover{text-decoration:underline}.portal-branding-theme .schedule-filter-clear-all:focus-visible{outline:2px solid var(--primary,currentColor);outline-offset:2px;border-radius:2px}[data-theme=dark] .portal-branding-theme .schedule-filters-trigger{background-color:var(--card-bg,#1f2937)}[data-theme=dark] .portal-branding-theme .schedule-filters-badge{border-color:var(--background,#0f0f0f)}[data-theme=dark] .portal-branding-theme .schedule-filter-chip{background-color:var(--card-bg);border-color:var(--surface-border,#333);color:var(--foreground)}[data-theme=dark] .portal-branding-theme .schedule-filter-chip--selected{background-color:var(--muted,#374151);border-color:#0000}[data-theme=dark] .portal-branding-theme .schedule-filter-section-label,[data-theme=dark] .portal-branding-theme .schedule-filter-clear-all{color:var(--foreground)}[data-theme=dark] .portal-branding-theme .schedule-portal-class-list>.schedule-card{border-bottom-color:var(--surface-border,#ffffff1f)}.schedule-datepicker-popover{z-index:50;border-radius:var(--radius-2xl,1rem);border:1px solid var(--border);background:var(--popover-bg,#fff);width:18rem;padding:1rem;animation:.15s scheduleFilterSlideIn;box-shadow:0 8px 24px #0000001a}.schedule-datepicker-nav{border-radius:var(--radius-md,.375rem);width:1.75rem;height:1.75rem;color:var(--foreground);justify-content:center;align-items:center;transition:background-color .1s;display:flex}.schedule-datepicker-nav:hover{background-color:var(--filter-pill-bg)}.schedule-datepicker-day{width:2rem;height:2rem;color:var(--foreground);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;margin:.0625rem auto;font-size:.8125rem;transition:background-color .1s;display:flex}.schedule-datepicker-day:hover:not(.disabled){background-color:var(--filter-pill-bg)}.schedule-datepicker-day.outside-month{color:var(--muted-foreground);opacity:.4}.schedule-datepicker-day.selected{background-color:var(--primary);color:var(--primary-foreground);font-weight:600}.schedule-datepicker-day.today{box-shadow:inset 0 0 0 1px var(--primary);font-weight:700}.schedule-datepicker-day.disabled{opacity:.3;cursor:not-allowed}.portal-branding-theme .class-title{white-space:nowrap;text-overflow:ellipsis;max-width:58ch;display:block;overflow:hidden}.portal-empty-state{text-align:center;color:var(--muted-foreground);padding-block:3rem}.portal-section-title{color:var(--foreground);margin-bottom:1rem;font-size:1.125rem;font-weight:700;line-height:1.75rem}.portal-now-badge{color:#78350f;background-color:#fde68a;border-radius:9999px;align-items:center;padding:.125rem .375rem;font-size:.75rem;font-weight:500;display:inline-flex}.portal-link-subtle{color:var(--muted-foreground);font-size:.75rem;text-decoration:none}.portal-link-subtle:hover{text-decoration:underline}.portal-auth-fallback{background:linear-gradient(to bottom right,#2563eb,#9333ea,#4f46e5);justify-content:center;align-items:center;min-height:100vh;display:flex}.portal-auth-fallback>*{color:#fff;font-size:1.25rem}[data-theme=dark] .portal-branding-theme{--brand-primary:var(--brand-dark-primary,#e7e7e7);--primary:var(--brand-dark-primary,#e7e7e7);--primary-foreground:#f8fafc;--background:#0f0f0f;--foreground:#f1f5f9;--accent:var(--primary);--accent-foreground:var(--primary-foreground);--success:#34d399;--warning:#fbbf24;--danger:#f87171;--surface-border:#3341553d;--booking-confirmed-bg:#34d3991f;--booking-pending-bg:#fbbf241f;--status-confirmed:#34d399;--status-pending:#fbbf24;--status-cancelled:#9ca3af;--card-bg:#1f2937;--button-secondary-bg:var(--card-bg);--button-secondary-border:var(--surface-border);--button-secondary-text:var(--foreground);--button-book-bg:var(--card-bg);--button-book-border:var(--surface-border);--button-book-text:var(--foreground);--button-primary-bg:var(--foreground);--button-primary-text:var(--background);--schedule-table-bg:var(--card-bg);--schedule-row-border-color:var(--surface-border);--filter-pill-bg:var(--card-bg);--popover-bg:#1a1a1a}.portal-activity-card{border-radius:var(--radius-2xl);border:1px solid var(--border);background-color:var(--card-bg,#f5f5f5);padding:1.75rem;transition:box-shadow .15s}.portal-activity-card:hover{box-shadow:0 4px 12px #0000000f}button[role=combobox]:focus-visible{--tw-ring-shadow:0 0 #0000;border-color:var(--brand-primary,#3b82f6);outline:none}.portal-branding-theme .booking-row-confirmed{background-color:var(--booking-confirmed-bg)}.portal-branding-theme .booking-row-pending{background-color:var(--booking-pending-bg)}.portal-branding-theme .booking-row-past{background-color:var(--card-bg);opacity:.4}.portal-branding-theme .booking-row-cancelled{opacity:.7;text-decoration:line-through;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,#00000008 4px 8px)!important}[data-theme=dark] .portal-activity-card{box-shadow:none}[data-theme=dark] .portal-now-badge{color:#fde68a;background-color:#fbbf2433}.portal-branding-theme div.rounded-2xl.overflow-hidden:has(>div.relative.w-full.h-full.overflow-hidden):has(>div.absolute.inset-0){border-radius:var(--radius-5xl)}.portal-branding-theme div.rounded-2xl.bg-gradient-to-br:not(:has(*)){border-radius:var(--radius-5xl)}.portal-branding-theme .portal-hero-gallery .rounded-5xl.overflow-hidden img.object-cover{border-radius:var(--radius-5xl)}
