@import "https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&display=swap";
:root{--background:#0b0b0b;--background-soft:#121212;--surface:#ffffff0d;--surface-strong:#ffffff14;--surface-accent:#ff5a001f;--text:#f4ede3;--text-soft:#f4ede3bd;--line:#ffffff1a;--accent:#ff5a00;--accent-hover:orange;--shadow:0 18px 40px #0000004d;--container:min(1220px, calc(100vw - 40px));--radius-lg:32px;--radius-md:24px;--font-display:"Oswald", "Arial Narrow", "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#ff5a0024,#0000 28%),radial-gradient(circle at 85% 15%,#ffa5001f,#0000 24%),linear-gradient(#111 0%,#0b0b0b 100%);margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif}a{color:inherit}.siteHeader{z-index:50;background:#191919;border-bottom:1px solid #ffffff14;position:sticky;top:0}.siteHeaderInner,.sectionInner{width:var(--container);margin:0 auto}.siteHeaderInner{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:92px;display:grid}.brandMark{border-radius:22px;justify-content:center;align-items:center;width:76px;height:76px;text-decoration:none;display:inline-flex}.brandMarkImage{object-fit:contain;width:76px;height:76px}.logoFallback{border:1px solid var(--line);border-radius:inherit;color:var(--accent);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;background:#ffffff0a;justify-content:center;align-items:center;font-size:1.45rem;display:inline-flex}.siteNav{justify-self:center;align-items:center;display:flex}.siteNavLinks{align-items:center;gap:24px;display:flex}.mobileNavToggle{border:1px solid var(--line);width:48px;height:48px;color:var(--accent);cursor:pointer;background:#ffffff0d;border-radius:16px;justify-content:center;align-items:center;transition:border-color .18s,color .18s,background-color .18s;display:none}.mobileNavToggle:hover,.mobileNavToggle:focus-visible{color:var(--accent-hover);background:#ffffff14;border-color:#ffa50080}.mobileNavIcon,.mobileNavIcon:before,.mobileNavIcon:after{background:currentColor;border-radius:999px;width:22px;height:2px;transition:transform .18s,opacity .18s,background-color .18s;display:block}.mobileNavIcon{position:relative}.mobileNavIcon:before,.mobileNavIcon:after{content:"";position:absolute;left:0}.mobileNavIcon:before{transform:translateY(-7px)}.mobileNavIcon:after{transform:translateY(7px)}.mobileNavToggle.isOpen .mobileNavIcon{background:0 0}.mobileNavToggle.isOpen .mobileNavIcon:before{transform:rotate(45deg)}.mobileNavToggle.isOpen .mobileNavIcon:after{transform:rotate(-45deg)}.navDropdown{align-items:center;display:flex;position:relative}.navDropdown:after{content:"";width:max(260px,100% + 36px);height:16px;position:absolute;top:100%;left:-18px}.navLink,.dropdownLink{color:var(--accent);text-underline-offset:.35em;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px;transition:color .18s,text-decoration-color .18s}.navLink{min-height:44px;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:1.02rem;display:inline-flex}.navLink:hover,.navLink:focus-visible,.navLink.isActive,.dropdownLink:hover,.dropdownLink:focus-visible,.dropdownLink.isActive,.navDropdown:hover>.navLink,.navDropdown:focus-within>.navLink{color:var(--accent-hover);text-decoration-color:currentColor}.dropdownMenu{min-width:260px;box-shadow:var(--shadow);opacity:0;pointer-events:none;background:#191919fa;border:1px solid #ffffff14;border-radius:22px;padding:14px 16px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 16px);left:-18px;transform:translateY(8px)}.navDropdown:hover .dropdownMenu,.navDropdown:focus-within .dropdownMenu{opacity:1;pointer-events:auto;transform:translateY(0)}.dropdownLink{padding:10px 0;display:block}.headerSpacer{justify-self:end;width:76px}.siteMain{flex-direction:column;gap:8px;padding:0 0 48px;display:flex}.heroSection,.subpageHero{position:relative;overflow:clip}.heroSection{align-items:center;min-height:calc(100svh - 92px);display:flex}.heroBackdrop,.subpageHeroBackdrop{background-position:100%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.heroBackdrop{background-image:linear-gradient(90deg,#000000db 0%,#00000094 45%,#00000024 100%),url(/images/hero1.jpg),url(/images/hero2.jpg);background-position:50%,calc(100% + 48px),calc(100% + 48px)}.subpageHeroBackdrop{background-position:100%;background-repeat:no-repeat;background-size:cover}.isFacilityBackdrop{background-image:linear-gradient(90deg,#000000d1 0%,#00000080 48%,#0000002e 100%),url(/images/teretana2.jpg)}.heroContent,.subpageHeroContent{z-index:1;position:relative}.heroContent{padding:96px 0}.subpageHeroContent{padding:88px 0 72px}.eyebrow{color:var(--accent);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.96rem}.heroTitle,.subpageTitle,.sectionTitle,.finalCtaTitle,.carouselCardTitle,.galleryCardTitle,.programCardTitle,.infoPanelTitle,.footerHeading{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;margin:0}.heroTitle{max-width:820px;font-size:clamp(2.8rem,6vw,5.4rem);line-height:1.08}.heroLead,.subpageLead,.sectionLead,.carouselCardText,.programCardText,.footerAddress,.footerHours{color:var(--text-soft);font-size:1.04rem;line-height:1.8}.heroLead{max-width:640px;margin:24px 0 0}.subpageTitle{max-width:820px;font-size:clamp(2.2rem,4vw,4rem);line-height:.98}.subpageLead{max-width:720px;margin:18px 0 0}.contentSection{padding:12px 0}.sectionPanel,.infoPanel,.contactMapPanel,.programCard,.carouselCard,.galleryCard{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.sectionPanel{padding:44px}.isAccentPanel{background:linear-gradient(135deg,#ff5a0033,#ffffff05),#ffffff0d}.isSoftPanel{background:linear-gradient(135deg,#ffa5001a,#ffffff05),#ffffff0a}.sectionHeadingBlock{margin-bottom:26px}.sectionTitle{font-size:clamp(2rem,3vw,3rem);line-height:1.02}.sectionLead{margin:0}.textBlock{gap:18px;display:grid}.textBlock p{color:var(--text-soft);margin:0;font-size:1.04rem;line-height:1.85}.ctaButton,.textButton,.carouselButton{cursor:pointer;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s,transform .18s;display:inline-flex}.ctaButton{background:var(--accent);color:#fff;min-height:52px;margin-top:30px;padding:0 28px}.ctaButton:hover,.ctaButton:focus-visible{background:var(--accent-hover);color:#000;transform:translateY(-1px)}.textButton{min-height:42px;color:var(--accent);padding:0}.textButton:hover,.textButton:focus-visible{color:var(--accent-hover)}.carousel{gap:22px;display:grid}.carouselControls{justify-content:space-between;align-items:center;gap:18px;display:flex}.carouselPagination{color:var(--text-soft);letter-spacing:.05em;text-transform:uppercase;font-size:.96rem}.carouselButtonRow{gap:12px;display:flex}.carouselButton{border:1px solid var(--line);min-height:42px;color:var(--text);background:0 0;padding:0 18px}.carouselButton:hover:not(:disabled),.carouselButton:focus-visible:not(:disabled){color:var(--accent-hover);border-color:#ffa50080}.carouselButton:disabled{opacity:.4;cursor:default}.carouselViewport{overflow:hidden}.carouselTrack{transition:transform .28s;display:flex}.carouselPage{flex:0 0 100%;gap:22px;display:grid}.carouselCard{overflow:hidden}.carouselMedia,.galleryCardImage,.programCardImage{background-color:var(--background-soft);background-position:50%;background-repeat:no-repeat;background-size:cover}.carouselMedia{aspect-ratio:4/3}.carouselCardBody{gap:14px;padding:24px;display:grid}.carouselCardTitle{font-size:1.45rem;line-height:1}.carouselCardText{margin:0}.isAchievement .carouselCardText{display:none}.galleryGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.galleryCard{overflow:hidden}.galleryCardImage{aspect-ratio:4/5}.galleryCardTitle{padding:20px 22px 24px;font-size:1.2rem;line-height:1}.programGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.programCard{overflow:hidden}.programCardImage{aspect-ratio:4/3}.programCardBody{gap:14px;padding:24px;display:grid}.programBadge{color:var(--accent);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:.9rem}.programCardTitle{font-size:1.5rem;line-height:1}.programCardText{margin:0}.trainingShowcaseGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.trainingShowcaseCard,.facilityGalleryPanel,.facilityGalleryItem{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.trainingShowcaseCard{overflow:hidden}.trainingShowcaseBody{gap:16px;padding:28px;display:grid}.trainingShowcaseTitle{font-size:clamp(1.8rem,2vw,2.4rem)}.trainingShowcaseMedia,.facilityGalleryImage{background-color:var(--background-soft);background-position:50%;background-repeat:no-repeat;background-size:cover}.trainingShowcaseMedia{aspect-ratio:4/3}.trainingShowcaseText{color:var(--text-soft);margin:0;font-size:1.04rem;line-height:1.8}.facilityGalleryPanel{padding:22px}.facilityGalleryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.facilityGalleryItem{overflow:hidden}.facilityGalleryImage{aspect-ratio:4/5}.trainingDetailGallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.trainingDetailGalleryImage{aspect-ratio:4/5}.twoColumnLayout{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:22px;display:grid}.coachProfileLayout{grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr)}.coachPortraitCard{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.coachPortraitImage{background-color:var(--background-soft);aspect-ratio:4/5;background-position:50%;background-repeat:no-repeat;background-size:cover}.infoPanel{padding:32px}.infoPanelTitle{font-size:1.35rem;line-height:1}.featureList{color:var(--text-soft);gap:14px;margin:22px 0 0;padding:0 0 0 18px;line-height:1.75;display:grid}.contactGrid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:22px;display:grid}.contactMapPanel{min-height:100%;overflow:hidden}.contactMapPanel iframe,.footerMapFrame iframe{border:0;width:100%;height:100%;min-height:320px}.contactInfoHeader{margin-bottom:30px}.contactInfoList{gap:22px;margin:0;font-style:normal;display:grid}.contactInfoItem{color:var(--text-soft);gap:8px;font-size:1.04rem;line-height:1.8;display:grid}.contactInfoLabel,.contactFieldLabel{color:var(--accent);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:.9rem}.contactSocials{gap:16px;margin-top:34px;display:grid}.contactSocialLinks{flex-wrap:wrap;gap:14px;display:flex}.socialLink{width:62px;height:62px;color:var(--text);box-shadow:var(--shadow);background:linear-gradient(135deg,#ff5a002e,#ffffff0a),#ffffff0d;border:1px solid #ffffff24;border-radius:20px;justify-content:center;align-items:center;transition:border-color .18s,color .18s,transform .18s;display:inline-flex}.socialLink:hover,.socialLink:focus-visible{color:var(--accent-hover);border-color:#ffa50080;transform:translateY(-1px)}.socialIcon{fill:currentColor;width:28px;height:28px}.contactFormPanel{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffffff0f,#ff5a0014),#ffffff0d;gap:18px;padding:32px;display:grid}.contactFormHeading{margin-bottom:4px}.contactField{gap:10px;display:grid}.contactInput,.contactTextarea{width:100%;color:var(--text);font:inherit;background:#090909d1;border:1px solid #ffffff24;border-radius:18px;padding:14px 16px}.contactInput{min-height:54px}.contactTextarea{resize:vertical;min-height:180px}.contactInput:focus-visible,.contactTextarea:focus-visible{outline-offset:2px;outline:2px solid #ffa50080}.contactSubmitButton{margin-top:8px}.contactFormNote{color:var(--text-soft);margin:0;font-size:.96rem;line-height:1.7}.finalCtaSection{padding-bottom:0}.finalCtaPanel{justify-content:space-between;align-items:center;gap:24px;display:flex}.coachClosingPanel{text-align:center;background:linear-gradient(135deg,#ff5a002e,#ffffff05),#ffffff0d;justify-content:center;align-items:center;display:flex}.finalCtaTitle{max-width:780px;font-size:clamp(1.9rem,3vw,3rem);line-height:1.02}.coachClosingTitle{max-width:860px;font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:1.08}.siteFooter{background:#191919;border-top:1px solid #ffffff14}.footerGrid{gap:22px;padding:54px 0;display:flex}.footerColumn{flex:1 1 0;min-width:0}.footerWordmark{align-items:center;min-height:88px;display:inline-flex}.footerWordmarkImage{object-fit:contain;width:auto;max-width:100%;height:88px}.footerAddress{gap:10px;margin:20px 0 0;font-style:normal;display:grid}.footerSocialLinks{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.footerSocialLink{border-radius:16px;width:48px;height:48px}.footerSocialLink .socialIcon{width:23px;height:23px}.footerLink{color:var(--text-soft);text-decoration:none}.footerLink:hover,.footerLink:focus-visible{color:var(--accent-hover)}.footerHeading{font-size:1.1rem;line-height:1}.footerMapFrame{border:1px solid var(--line);border-radius:24px;margin-top:18px;overflow:hidden}.footerMapLink{margin-top:14px;display:inline-flex}.footerCtaColumn{flex-direction:column;justify-content:center;display:flex}.footerHours{margin:14px 0 0}.footerTagline{color:var(--accent);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:20px 0 0;font-size:clamp(2rem,3vw,3.2rem);line-height:.95}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1100px){.programGrid,.contactGrid,.galleryGrid,.twoColumnLayout,.trainingShowcaseGrid{grid-template-columns:1fr}.footerGrid{flex-direction:column}.finalCtaPanel{flex-direction:column;align-items:flex-start}.facilityGalleryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.siteHeaderInner{grid-template-columns:auto auto;justify-content:space-between;min-height:88px;padding:10px 0}.siteNav{justify-self:end;position:relative}.mobileNavToggle{display:inline-flex}.siteNavLinks{z-index:60;width:min(320px,100vw - 24px);max-height:calc(100svh - 104px);box-shadow:var(--shadow);opacity:0;pointer-events:none;visibility:hidden;background:#191919fa;border:1px solid #ffffff1a;border-radius:22px;align-items:stretch;gap:4px;padding:14px;transition:opacity .18s,transform .18s,visibility .18s;display:grid;position:absolute;top:calc(100% + 14px);right:0;overflow-y:auto;transform:translateY(-8px)}.siteNavLinks.isOpen{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.navLink{width:100%;padding:0 6px}.navDropdown{width:100%;display:grid}.dropdownMenu{min-width:0;box-shadow:none;opacity:1;pointer-events:auto;background:0 0;border:0;border-left:1px solid #ffffff1a;border-radius:0;margin:2px 0 6px 6px;padding:4px 0 4px 14px;position:static;transform:none}.dropdownLink{padding:9px 0}.navDropdown:after{content:none}.headerSpacer{display:none}.heroSection{min-height:auto}.heroContent,.subpageHeroContent{padding:72px 0 64px}.trainingDetailGallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){:root{--container:min(100vw - 24px, 100%)}.brandMark,.brandMarkImage{width:64px;height:64px}.navLink{font-size:.94rem}.sectionPanel,.infoPanel{padding:26px}.coachClosingPanel{padding:30px 26px}.trainingShowcaseBody,.facilityGalleryPanel{padding:20px}.carouselControls{flex-direction:column;align-items:flex-start}.ctaButton{width:100%}.footerWordmarkImage{height:72px}.facilityGalleryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trainingDetailGallery{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.authPage,.portalShell{min-height:100svh}.authPage{place-items:center;padding:24px;display:grid}.authCard,.portalPanel,.memberCard{border:1px solid var(--line);box-shadow:var(--shadow);background:#121212e6}.authCard{border-radius:28px;width:min(460px,100%);padding:28px}.authBrand,.portalTopbarBrand,.portalPageHeader,.slotSummary,.dayCardHeader,.memberCardHeader,.adminSlotControls,.weekSwitcher{align-items:center;display:flex}.authBrand,.portalTopbarBrand{gap:14px}.authTitle,.portalTitle,.memberName,.dayTitle{font-family:var(--font-display);text-transform:uppercase;margin:0;line-height:1}.authTitle{font-size:2.35rem}.authLead,.portalLead,.slotMeta,.memberMeta,.slotHint,.emptyState{color:var(--text-soft)}.authLead{margin:22px 0;line-height:1.65}.portalShell{background:radial-gradient(circle at 0 0,#ff5a001f,#0000 30%),linear-gradient(#101010 0%,#090909 100%)}.portalTopbar{z-index:70;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#121212f5;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:12px max(16px,50vw - 610px);display:grid;position:sticky;top:0}.portalBrandMark{width:48px;height:48px;color:var(--accent);font-family:var(--font-display);letter-spacing:.08em;border:1px solid #ff5a006b;border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.portalTopbarKicker,.portalEyebrow,.dayLabel,.adminPanelTitle{color:var(--accent);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.78rem}.portalTopbarUser{color:var(--text-soft);margin:4px 0 0;font-size:.92rem}.portalNav{align-items:center;gap:8px;display:flex;overflow-x:auto}.portalNavLink,.portalGhostButton,.portalPrimaryButton,.portalSecondaryButton,.textDangerButton{min-height:42px;font:inherit;cursor:pointer;border-radius:14px;font-weight:700;text-decoration:none}.portalNavLink{color:var(--text);white-space:nowrap;border:1px solid #0000;align-items:center;padding:0 14px;display:inline-flex}.portalNavLink:hover,.portalNavLink:focus-visible{color:var(--accent-hover);border-color:#ff5a0059}.portalGhostButton,.portalSecondaryButton{border:1px solid var(--line);color:var(--text);background:#ffffff0a}.portalGhostButton,.portalPrimaryButton,.portalSecondaryButton,.textDangerButton{justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.portalGhostButton.isCompact{min-height:36px;padding:0 12px}.portalPrimaryButton{background:var(--accent);color:#160c06;border:1px solid #ff5a00a6}.portalSecondaryButton{color:var(--accent-hover);border-color:#ff5a0059}.portalPrimaryButton:disabled,.portalSecondaryButton:disabled{cursor:not-allowed;opacity:.46}.textDangerButton{color:#ff9a9a;background:#ff505014;border:1px solid #ff505047;min-height:34px}.portalMain{width:min(1220px,100vw - 28px);margin:0 auto;padding:26px 0 56px}.portalPage{gap:18px;display:grid}.portalPageHeader{justify-content:space-between;gap:18px}.portalTitle{margin-top:8px;font-size:clamp(2rem,6vw,4rem)}.portalLead{margin:10px 0 0}.portalRangeHint{max-width:260px;color:var(--text-soft);text-align:right;margin:0;font-size:.94rem;line-height:1.45}.weekSwitcher{flex-wrap:wrap;justify-content:flex-end;gap:8px}.portalAlert{border-radius:16px;margin:0;padding:13px 16px;line-height:1.4}.portalAlert.isSuccess{color:#b9f4cf;background:#5bd68a1a;border:1px solid #5bd68a59}.portalAlert.isError{color:#ffc2c2;background:#ff5a5a1a;border:1px solid #ff5a5a59}.reservationScroller{gap:12px;min-width:0;padding-bottom:80px;display:grid}.dayScrollerControls{z-index:80;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #ffffffb8;border-radius:999px;gap:6px;padding:6px;display:flex;position:fixed;bottom:18px;right:max(16px,50vw - 610px)}.dayScrollerButton{color:#111;width:48px;height:48px;font:inherit;cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:999px;justify-content:center;align-items:center;font-size:1.35rem;font-weight:800;line-height:1;display:inline-flex}.dayScrollerButton:hover,.dayScrollerButton:focus-visible{background:#f1f1f1;border-color:#0000003d;outline:none}.reservationWeekGrid{scroll-snap-type:x mandatory;scrollbar-width:thin;touch-action:pan-x pan-y;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;align-items:start;gap:16px;min-width:0;padding:2px 2px 12px;scroll-padding-inline:2px;display:flex;overflow-x:auto}.reservationWeekGrid:focus-visible{outline-offset:4px;border-radius:24px;outline:2px solid #ff5a0047}.reservationWeekGrid .dayCard{scroll-snap-align:start;flex:0 0 min(360px,25% - 12px);min-width:290px}.memberCard,.portalPanel{border-radius:24px;padding:18px}.dayCard{padding:0}.dayCardHeader,.slotSummary,.memberCardHeader{justify-content:space-between;gap:12px}.dayTitle{margin-top:5px;font-size:1.25rem}.slotList{gap:10px;margin-top:16px;display:grid}.slotCard{background:#ffffff09;border:1px solid #ffffff14;border-radius:18px;gap:12px;padding:14px;scroll-margin-top:128px;display:grid;position:relative}.slotCard.hasReservation{background:#ff5a0014;border-color:#ff5a0061}.slotCard.isAdmin .slotSummary{padding-right:42px}.slotTime{font-family:var(--font-display);margin:0;font-size:1.5rem;line-height:1}.slotDate{color:var(--accent);margin:5px 0 0;font-size:.8rem;line-height:1.3}.slotMeta,.memberMeta,.slotHint,.emptyState{margin:6px 0 0;font-size:.92rem}.slotBadges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.slotBadge{min-height:28px;color:var(--text-soft);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;align-items:center;padding:0 9px;font-size:.78rem;font-weight:700;display:inline-flex}.slotBadge.isFrozen{color:#ffd29a;border-color:#ffa50059}.slotBadge.isMine{color:#b9f4cf;border-color:#5bd68a6b}.slotActions form,.capacityForm,.passwordResetForm,.portalForm,.settingsForm{gap:12px;display:grid}.slotActions .portalPrimaryButton,.slotActions .portalSecondaryButton{width:100%}.adminSlotPanel{border-top:1px solid #ffffff14;gap:12px;padding-top:12px;display:grid}.adminEditDetails{z-index:6;position:absolute;top:10px;right:10px}.adminEditDetails[open]{z-index:30}.adminEditSummary{color:#f4ede39e;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;list-style:none;display:inline-flex}.adminEditSummary::-webkit-details-marker{display:none}.adminEditSummary:hover,.adminEditSummary:focus-visible{color:#f4ede3db;background:#ffffff1a;border-color:#ffffff3d;outline:none}.adminEditIcon{fill:currentColor;width:19px;height:19px}.adminEditPanel{width:min(280px,100vw - 36px);box-shadow:var(--shadow);background:#121212fa;border:1px solid #ffffff1f;border-radius:18px;gap:10px;padding:12px;display:grid;position:absolute;top:44px;right:0}.adminEditPanel>form{gap:10px;display:grid}.adminSlotControls{flex-wrap:wrap;gap:10px}.capacityForm{grid-template-columns:minmax(92px,1fr) auto;align-items:end}.capacityForm label{color:var(--text-soft);gap:6px;font-size:.82rem;display:grid}.reservedMemberList{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.reservedMemberList li{justify-content:space-between;align-items:center;gap:10px;display:flex}.reservedMemberName{color:#b9f4cf;font-weight:800}.membersTablePanel{gap:18px;display:grid}.membersToolbar{justify-content:space-between;align-items:end;gap:14px;display:flex}.membersSearchField{flex:420px;max-width:520px}.membersTableWrap{border:1px solid #ffffff14;border-radius:18px;overflow-x:auto}.membersTable{border-collapse:collapse;width:100%;min-width:760px}.membersTable th,.membersTable td{text-align:left;vertical-align:middle;border-bottom:1px solid #ffffff14;padding:14px 16px}.membersTable th{color:var(--accent);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:.82rem}.membersTable td{color:var(--text)}.membersTable tbody tr:last-child td{border-bottom:0}.membersTable tbody tr:hover{background:#ffffff09}.portalDialogBackdrop{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.portalDialog{width:min(760px,100%);max-height:min(860px,100svh - 36px);box-shadow:var(--shadow);background:#121212fa;border:1px solid #ffffff1f;border-radius:24px;padding:22px;overflow-y:auto}.portalDialogHeader{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.portalDialogHeader .portalPanelTitle{margin:0}.portalDialogClose{border:1px solid var(--line);min-height:38px;color:var(--text);font:inherit;cursor:pointer;background:#ffffff0d;border-radius:12px;padding:0 12px;font-weight:700}.portalDialogClose:hover,.portalDialogClose:focus-visible{border-color:#ffffff38;outline:none}.memberDialogForms{gap:16px;display:grid}.portalPanelTitle{font-family:var(--font-display);text-transform:uppercase;margin:0 0 16px;font-size:1.45rem}.portalField,.portalCheckboxField{color:var(--text-soft);font-weight:700}.portalField{gap:8px;display:grid}.portalInput{border:1px solid var(--line);width:100%;min-height:46px;color:var(--text);font:inherit;background:#ffffff0f;border-radius:14px;padding:0 13px}.portalInput:focus-visible{border-color:#ff5a00a6;outline:2px solid #ff5a002e}.portalInput.isSmall{max-width:100px;min-height:40px}.memberFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.memberFormGrid .portalPrimaryButton,.memberFormGrid .portalSecondaryButton{align-self:end}.memberName{font-size:1.4rem}.passwordResetForm{border-top:1px solid #ffffff14;grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-top:16px;padding-top:16px}.portalCheckboxField{align-items:center;gap:9px;min-height:46px;display:inline-flex}.portalCheckboxField input{width:20px;height:20px;accent-color:var(--accent)}.settingsForm{gap:18px}.settingsCapacityField{max-width:320px}.workingHoursList{gap:10px;display:grid}.workingHoursRow{background:#ffffff09;border:1px solid #ffffff14;border-radius:18px;grid-template-columns:minmax(150px,1fr) auto auto;align-items:end;gap:12px;padding:12px;display:grid}.portalField.isInline{min-width:86px}@media (max-width:820px){.portalTopbar{grid-template-columns:1fr auto;gap:12px}.portalNav{order:3;grid-column:1/-1;margin:0 -2px;padding-bottom:2px}.portalPageHeader{flex-direction:column;align-items:flex-start}.portalRangeHint{text-align:left;max-width:none}.weekSwitcher{justify-content:flex-start;width:100%}.weekSwitcher .portalGhostButton{flex:auto}}@media (max-width:680px){.authPage{align-items:start;padding:16px}.authCard,.portalPanel,.memberCard{border-radius:20px;padding:16px}.dayCard{padding:0}.portalTopbar{padding:10px 14px}.portalTopbarUser{display:none}.portalMain{width:min(100vw - 20px,100%);padding-top:18px}.slotSummary,.memberCardHeader{align-items:flex-start}.slotBadges{justify-content:flex-start}.memberFormGrid,.passwordResetForm,.workingHoursRow{grid-template-columns:1fr}.portalPrimaryButton,.portalSecondaryButton,.portalGhostButton{width:100%}.portalGhostButton.isCompact{width:auto}.membersToolbar{flex-direction:column;align-items:stretch}.membersSearchField{max-width:none}.membersTableWrap{border:0;border-radius:0;overflow:visible}.membersTable{min-width:0;display:block}.membersTable thead{display:none}.membersTable tbody,.membersTable tr,.membersTable td{display:block}.membersTable tr{background:#ffffff09;border:1px solid #ffffff14;border-radius:18px;padding:14px}.membersTable tr+tr{margin-top:10px}.membersTable td{text-align:right;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.membersTable td:before{content:attr(data-label);color:var(--text-soft);text-align:left;font-weight:700}.membersTable td:last-child{border-bottom:0}.portalDialog{padding:18px}.dayScrollerControls{bottom:12px;right:12px}.reservationWeekGrid .dayCard{flex-basis:86vw;min-width:0}.portalInput.isSmall{max-width:none}.capacityForm{grid-template-columns:1fr}}
