: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}.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 .portal-btn-pill{border-radius:9999px;font-size:.875rem;font-weight:500;transition:filter .15s;padding-left:1.25rem!important;padding-right:1.25rem!important}.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{border:1px solid var(--button-secondary-border);background-color:var(--button-secondary-bg)!important;color:var(--button-secondary-text)!important}.portal-branding-theme .portal-btn-primary{border:1px solid var(--button-primary-bg)!important;background-color:var(--button-primary-bg)!important;color:var(--button-primary-text)!important}.portal-branding-theme .portal-btn-book{overflow:hidden;border:1px solid var(--button-book-border)!important;background:var(--button-book-bg)!important;color:var(--button-book-text)!important;border-radius:9999px!important}.portal-branding-theme .portal-btn-book button{padding-inline:1.75rem!important}.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}.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-row .schedule-day-pill{flex:0 0 3rem;width:3rem;height:3rem;font-size:.75rem}.portal-branding-theme .schedule-day-pills-row .schedule-nav-arrow{width:2.25rem;height:2.25rem}}.portal-branding-theme :is(.schedule-filter-pill,.schedule-date-picker-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:.875rem;font-weight:500;transition:filter .15s;display:inline-flex}.portal-branding-theme :is(.schedule-filter-pill,.schedule-date-picker-trigger):hover{filter:brightness(.97)}.portal-branding-theme :is(.schedule-filter-pill,.schedule-date-picker-trigger):focus-visible{outline:2px solid var(--primary,currentColor);outline-offset:2px}.portal-branding-theme .schedule-filter-pill[data-state=open]{background-color:var(--filter-pill-bg)}.portal-branding-theme .schedule-filter-pill{padding:.5rem 1rem}.portal-branding-theme .schedule-date-picker-trigger{padding:.375rem .75rem}.schedule-filter-content{z-index:50;border-radius:var(--radius-xl,.75rem);border:1px solid var(--border);background:var(--popover-bg,#fff);min-width:10rem;animation:.15s scheduleFilterSlideIn;overflow:hidden;box-shadow:0 8px 24px #0000001f}@keyframes scheduleFilterSlideIn{0%{transform:translateY(-4px)}to{transform:translateY(0)}}.schedule-filter-item{color:var(--foreground);border-radius:var(--radius-md,.375rem);cursor:pointer;outline:none;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;transition:background-color .1s;display:flex}.schedule-filter-item:hover,.schedule-filter-item[data-highlighted]{background-color:var(--filter-pill-bg)}.schedule-filter-item[data-state=checked]{font-weight:600}.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)}
