:root{color-scheme:light;--font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-display:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--brand-blue:#0b4a72;--brand-blue-dark:#083a59;--brand-blue-deep:#05263d;--brand-teal:#0f5f59;--brand-amber:#8a5a31;--brand-yellow:#f5c400;--brand-yellow-soft:rgba(245,196,0,.18);--brand-cream:#f6f3ec;--brand-white:#fff;--ink:#102635;--ink-soft:#53616b;--ink-muted:#7b8893;--radius-xl:32px;--radius-lg:24px;--radius-md:16px;--radius-sm:12px;--shadow-soft:0 12px 30px rgba(8,28,46,.12);--shadow-card:0 18px 40px rgba(6,22,36,.18);--shadow-strong:0 28px 70px rgba(4,18,30,.3);--shadow-glow:0 0 40px rgba(245,196,0,.35);--anim-fade-up:fade-up 0.8s ease both;--anim-slide:slide-in 0.7s ease both;--anim-slide-left:slide-in-left 0.6s ease both;--anim-slide-right:slide-in-right 0.6s ease both;--anim-float:float 6s ease-in-out infinite;--anim-calendar:calendar-nudge 1.5s ease-in-out infinite;--anim-login-logo:login-logo 1.25s cubic-bezier(0.16,1,0.3,1) 0.05s both;--anim-login-panel:login-panel-reveal 0.7s cubic-bezier(0.16,1,0.3,1) 0.8s both;--anim-trainer-profile:trainer-profile-reveal 0.55s cubic-bezier(0.16,1,0.3,1) both}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);background:var(--brand-cream);color:var(--ink);display:flex;flex-direction:column}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font-family:inherit}.page-body{background:var(--brand-cream)}.site-main{padding-top:0;flex:1 1}.landing{margin-top:0}.container{width:min(1200px,92vw);margin:0 auto}.hero-container{width:min(1500px,94vw);margin:0 auto}.btn,.btn-outline,.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:999px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brand-yellow);color:var(--brand-blue-deep);box-shadow:var(--shadow-soft)}.btn-outline{background:transparent;color:var(--brand-white);border-color:hsla(0,0%,100%,.4)}.btn-secondary{background:hsla(0,0%,100%,.16);color:var(--brand-white);border-color:hsla(0,0%,100%,.2)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:center;pointer-events:none;padding:0}.site-header__inner{pointer-events:auto;width:min(1250px,95vw);background:linear-gradient(90deg,rgba(10,70,108,.98),rgba(8,56,90,.98));border-radius:999px;box-shadow:var(--shadow-strong);border:1px solid hsla(0,0%,100%,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:relative;opacity:0;transform:translateY(-16px);animation:nav-drop .6s cubic-bezier(.16,1,.3,1) .2s both}.nav-shell{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px;grid-gap:16px;gap:16px;min-height:60px}.nav-brand{display:flex;align-items:center;gap:12px;color:var(--brand-white);font-weight:700;letter-spacing:.02em;justify-self:center}.nav-brand--floating{position:absolute;top:6px;left:50%;transform:translateX(-50%) translateY(-16px);z-index:10;opacity:0;animation:nav-drop-floating .6s cubic-bezier(.16,1,.3,1) .28s both}.nav-logo{width:100px;height:100px;border-radius:50%;background:var(--brand-white);display:grid;place-items:center;border:4px solid var(--hero-accent,var(--brand-yellow));box-shadow:var(--shadow-soft)}.nav-logo__img{width:100%;height:100%;object-fit:contain}.nav-logo__fallback{font-family:var(--font-display);font-size:.95rem;color:var(--brand-blue)}.nav-brand__text{font-family:var(--font-display);font-size:1.1rem}.nav-links{display:flex;gap:24px;color:hsla(0,0%,100%,.86);font-weight:600;justify-self:start}.nav-link{position:relative;padding-bottom:4px}.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--hero-accent);transition:width .2s ease}.nav-link:hover:after{width:100%}.nav-actions{display:flex;align-items:center;gap:12px;justify-self:end;grid-column:3}.nav-icons{display:flex;gap:10px}.nav-icon-btn{width:38px;height:38px;border-radius:50%;background:hsla(0,0%,100%,.12);display:grid;place-items:center;color:var(--brand-white);transition:background .2s ease,transform .2s ease}.nav-icon-btn:hover{background:rgba(245,196,0,.18);transform:translateY(-1px)}.nav-icon-btn:focus-visible{outline:2px solid var(--hero-accent);outline-offset:2px}.nav-icon{width:18px;height:18px}.nav-cta{white-space:nowrap}.nav-lang{font-size:.75rem;font-weight:700;background:rgba(245,196,0,.2);color:#1a1400;padding:6px 10px;border-radius:999px}.nav-toggle{display:none;width:42px;height:42px;border-radius:50%;border:none;background:hsla(0,0%,100%,.14);color:var(--brand-white);cursor:pointer;grid-column:3;justify-self:end}.nav-toggle__icon{width:20px;height:20px}.nav-mobile{padding:16px 24px 24px;border-top:1px solid hsla(0,0%,100%,.12);display:grid;grid-gap:12px;gap:12px;animation:var(--anim-slide)}.nav-mobile .nav-brand--floating{display:none}.nav-mobile__link{color:var(--brand-white);font-weight:600}.nav-mobile__actions{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.nav-mobile__btn{width:100%}.landing-hero{position:relative;min-height:88vh;display:flex;align-items:center;padding:180px 0 120px;color:var(--brand-white);overflow:hidden;--hero-radius:clamp(48px,8vw,140px);border-bottom-left-radius:var(--hero-radius);border-bottom-right-radius:var(--hero-radius);--hero-accent:var(--brand-yellow);--hero-accent-soft:rgba(245,196,0,.14);animation:hero-round-in .7s cubic-bezier(.16,1,.3,1) 1.05s both}.landing-hero__media{position:absolute;inset:0;z-index:0;opacity:0;animation:hero-media-in .6s ease .05s both}.landing-hero__fallback,.landing-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.landing-hero__fallback{z-index:0}.landing-hero__video{z-index:1}.landing-hero__overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(5,5,5,.75),rgba(5,5,5,.45) 45%,rgba(5,5,5,.2))}.landing-hero__shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.6) 35%,transparent 70%);opacity:0;animation:hero-media-in .6s ease .05s both}.landing-hero__content{position:relative;z-index:3}.landing-hero__text{max-width:620px;display:grid;grid-gap:18px;gap:18px;opacity:0;transform:translateX(-36px);animation:hero-text-in .7s cubic-bezier(.16,1,.3,1) .5s both;margin-left:-24px;justify-items:start}.landing-hero__badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid rgba(245,196,0,.45);color:var(--hero-accent);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;background:rgba(8,8,8,.45);width:-moz-fit-content;width:fit-content;justify-self:start}.landing-hero__title{font-family:var(--font-display);font-size:clamp(2.6rem,4.8vw,4rem);line-height:1.02;color:#fdfdfd}.landing-hero__title-line{display:block;margin-top:6px;color:hsla(0,0%,100%,.92)}.hero-highlight{color:var(--hero-accent);text-shadow:0 10px 25px rgba(0,0,0,.5)}.landing-hero__subtitle{color:hsla(0,0%,100%,.82);margin-top:16px;line-height:1.6;font-size:1.05rem}.landing-hero__actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:14px}.hero-proof{margin-top:28px;flex-wrap:wrap;gap:16px;color:hsla(0,0%,100%,.82)}.hero-proof,.hero-proof__avatars{display:flex;align-items:center}.hero-proof__avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:hsla(0,0%,100%,.12);border:2px solid hsla(0,0%,100%,.4);color:#fdfdfd;font-size:.8rem;font-weight:600;margin-left:-8px}.hero-proof__avatar:first-child{margin-left:0}.hero-proof__rating{display:grid;grid-gap:4px;gap:4px;font-size:.95rem}.hero-proof__stars{color:var(--hero-accent);letter-spacing:2px;font-size:1rem}.landing-hero__actions .btn-primary{background:var(--hero-accent);color:#1a1400;box-shadow:0 18px 36px rgba(0,0,0,.35)}.landing-hero__actions .btn-outline{background:rgba(0,0,0,.4);color:#f5f5f5;border-color:hsla(0,0%,100%,.25)}.landing-hero__scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%) translateY(12px);z-index:1;opacity:0;animation:scroll-reveal .6s cubic-bezier(.16,1,.3,1) .95s both}.landing-hero__scroll-track{width:28px;height:44px;border-radius:999px;border:2px solid hsla(0,0%,100%,.4);display:flex;align-items:flex-start;justify-content:center;padding-top:6px}.landing-hero__scroll-dot{width:6px;height:12px;border-radius:999px;background:var(--brand-yellow);animation:scroll-bounce 1.4s ease-in-out infinite}.section{padding:96px 0}.section--muted{background:#f2f0ea}.services{background:var(--brand-white)}.clubs{background:#f7f5ef}.clubs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:18px;gap:18px}.club-card{background:var(--brand-white);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card);border:1px solid rgba(11,74,114,.08);display:grid;grid-gap:12px;gap:12px}.club-card--action{width:100%;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;transition:transform .2s ease,box-shadow .2s ease}.club-card--action:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.club-card--action:focus-visible{outline:2px solid rgba(11,74,114,.35);outline-offset:3px}.club-card__top{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:center}.club-card__logo{width:52px;height:52px;border-radius:50%;overflow:hidden;border:1px solid rgba(11,74,114,.2);display:grid;place-items:center;background:rgba(11,74,114,.05);font-weight:700;color:var(--brand-blue-dark)}.club-card__logo img{width:100%;height:100%;object-fit:cover}.club-card__name{font-size:1rem;color:var(--brand-blue-dark)}.club-card__location,.club-card__meta{font-size:.85rem;color:var(--ink-soft)}.club-card__meta{display:grid;grid-gap:6px;gap:6px}.club-card__meta-row{display:flex;flex-direction:column;gap:2px}.club-card__meta-label{font-size:.75rem;letter-spacing:.02em;text-transform:uppercase;color:rgba(22,40,52,.6)}.club-card__meta-value{color:var(--brand-blue-dark);font-weight:600}.club-card__trainers{display:flex;gap:12px;flex-wrap:wrap}.club-card__trainer{display:grid;justify-items:center;grid-gap:6px;gap:6px;min-width:56px}.club-card__trainer-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid rgba(11,74,114,.15);display:grid;place-items:center;background:rgba(11,74,114,.08);font-weight:700;color:var(--brand-blue-dark)}.club-card__trainer-avatar img{width:100%;height:100%;object-fit:cover}.club-card__trainer-name{font-size:.78rem}.club-card__trainer-name,.clubs-callout{color:var(--brand-blue-dark);font-weight:600;text-align:center}.clubs-callout{margin-top:32px;padding:18px 20px;border-radius:var(--radius-lg);background:linear-gradient(120deg,rgba(11,74,114,.08),rgba(245,196,0,.18));border:1px solid rgba(11,74,114,.12)}.section__header{text-align:center;margin-bottom:48px;display:grid;grid-gap:12px;gap:12px}.section__header--light{color:var(--brand-white)}.section__title{font-family:var(--font-display);font-size:clamp(2rem,3.4vw,3rem)}.section__subtitle{color:var(--ink-soft);font-size:1.05rem;max-width:640px;margin:0 auto;line-height:1.6}.section__subtitle span{display:block;margin-top:6px;font-style:italic}.section__header--light .section__subtitle{color:hsla(0,0%,100%,.8)}.section-title{font-family:var(--font-display);font-size:1.7rem;margin-bottom:12px;color:var(--brand-blue-dark)}.section-sub{color:var(--ink-soft);margin-bottom:24px;max-width:640px;line-height:1.6}.hero-title{font-family:var(--font-display);font-size:2.1rem;margin-bottom:12px;color:var(--brand-blue-dark)}.hero-sub{color:var(--ink-soft);line-height:1.6;max-width:640px}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:32px;gap:32px;align-items:start;margin-bottom:40px}.hero-card{background:var(--brand-white);color:var(--ink);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card);display:grid;grid-gap:12px;gap:12px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:18px;gap:18px}.feature-card{background:var(--brand-white);border:1px solid rgba(11,74,114,.12);padding:20px;border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.shop-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:18px;gap:18px}.product-card{background:var(--brand-white);color:var(--ink);border-radius:var(--radius-md);padding:18px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:12px}.product-thumb{height:140px;border-radius:12px;background:linear-gradient(135deg,rgba(215,242,91,.4),rgba(11,74,114,.35))}.price{font-weight:700;color:var(--brand-blue-dark)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:24px;gap:24px;max-width:1100px;margin:0 auto}.service-card{position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-strong)}.service-card:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:4px}.service-card__media{position:relative;aspect-ratio:16/9;overflow:hidden}.service-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.service-card:hover .service-card__media img{transform:scale(1.08)}.service-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,30,46,0),rgba(6,30,46,.65) 60%,rgba(6,30,46,.85));transition:background .3s ease}.service-card:focus-visible .service-card__overlay,.service-card:hover .service-card__overlay{background:linear-gradient(180deg,rgba(6,30,46,.2),rgba(6,30,46,.7) 55%,rgba(6,30,46,.9))}.service-card__content{position:absolute;left:20px;right:20px;bottom:18px;display:grid;grid-gap:6px;gap:6px;z-index:1;transform:translateY(12px);transition:transform .3s ease}.service-card__title{font-size:1.2rem;font-family:var(--font-display);color:var(--brand-white);text-shadow:0 10px 20px rgba(0,0,0,.35)}.service-card__desc{color:hsla(0,0%,100%,.88);font-size:.92rem;line-height:1.5;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.service-card:focus-visible .service-card__content,.service-card:hover .service-card__content{transform:translateY(0)}.service-card:focus-visible .service-card__desc,.service-card:hover .service-card__desc{opacity:1;transform:translateY(0)}.stats{position:relative;background-size:cover;background-position:50%;color:var(--brand-white);padding:140px 0 160px;overflow:hidden}.stats__overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(6,35,54,.92),rgba(7,50,74,.88))}.stats__content{position:relative;z-index:1;display:grid;grid-gap:36px;gap:36px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:24px;gap:24px;max-width:1100px;margin:0 auto}.stats-card{position:relative;background:hsla(0,0%,100%,.12);border-radius:var(--radius-lg);padding:24px;text-align:center;border:1px solid hsla(0,0%,100%,.18);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:var(--anim-fade-up);overflow:hidden}.stats-card:before{top:-40px;right:-40px;width:140px;height:140px;background:radial-gradient(circle,hsla(0,0%,100%,.35),hsla(0,0%,100%,0) 70%);opacity:.8}.stats-card:after,.stats-card:before{content:"";position:absolute;pointer-events:none}.stats-card:after{inset:10px;border-top:1px solid hsla(0,0%,100%,.55);border-right:1px solid hsla(0,0%,100%,.55);border-radius:calc(var(--radius-lg) - 6px)}.stats-card__icon{width:54px;height:54px;margin:0 auto 12px;color:var(--brand-yellow)}.stats-card__value{font-family:var(--font-display);font-size:2.3rem}.stats-card__suffix{color:var(--brand-yellow);margin-left:4px}.stats-card__label{margin-top:10px;color:hsla(0,0%,100%,.85)}.about{background:var(--brand-white)}.about__emoji{font-size:clamp(3rem,6vw,4rem)}.about__media{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-strong);border:4px solid rgba(11,74,114,.18);margin:0 auto 32px;max-width:1100px;aspect-ratio:16/9}.about__media img,.about__media video{width:100%;height:100%;object-fit:cover}.about__video{display:block}.about__media-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,74,114,0),rgba(11,74,114,.6));z-index:1}.about__play{position:absolute;inset:0;display:grid;place-items:center;border:none;background:transparent;cursor:pointer;transition:opacity .3s ease;z-index:2}.about__play-icon{width:70px;height:70px;border-radius:50%;background:var(--brand-yellow);box-shadow:var(--shadow-strong);position:relative}.about__play-icon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid var(--brand-blue-deep)}.about__media.is-playing .about__play{opacity:0;pointer-events:none}.services .section__title{color:var(--brand-blue-dark)}.booking-widget{position:fixed;right:6px;top:160px;width:min(280px,36vw);max-height:72vh;background:hsla(0,0%,100%,.95);border-radius:var(--radius-lg);border:1px solid rgba(11,74,114,.12);box-shadow:0 28px 60px rgba(4,12,20,.28);padding:16px;display:grid;grid-gap:12px;gap:12px;z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .2s ease,transform .35s ease,width .35s ease,padding .35s ease}.booking-widget__body{display:grid;grid-gap:12px;gap:12px;transition:opacity .2s ease}.booking-widget__toggle{position:absolute;left:-18px;top:-18px;width:38px;height:38px;border-radius:50%;border:none;background:var(--brand-yellow);color:#1a1400;display:none;place-items:center;box-shadow:var(--shadow-soft);cursor:pointer;z-index:2}.booking-widget__toggle-icon{font-size:1.4rem;line-height:1;font-weight:700;display:block;transition:transform .3s ease}@media (min-width:721px){.booking-widget__toggle{display:grid}.booking-widget.is-desktop-collapsed{transform:translateX(calc(100% - 20px));width:0;padding:6px}.booking-widget.is-desktop-collapsed .booking-widget__body{opacity:0;pointer-events:none}.booking-widget.is-desktop-collapsed .booking-widget__toggle{pointer-events:auto;animation:var(--anim-calendar)}.booking-widget.is-desktop-collapsed .booking-widget__toggle-icon{transform:rotate(180deg)}.landing .booking-widget{opacity:0;transform:translateX(32px);animation:hero-widget-in .7s cubic-bezier(.16,1,.3,1) 1.5s both}}.booking-widget__close{border:none;background:rgba(11,74,114,.08);color:var(--brand-blue-dark);width:28px;height:28px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:none}.booking-widget__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking-widget__eyebrow{font-weight:700;color:var(--brand-blue-dark);font-size:.9rem}.booking-widget__filters{display:grid;grid-gap:8px;gap:8px;position:relative}.booking-widget__label,.booking-widget__label-inline{font-size:.78rem;font-weight:600;color:var(--ink-soft)}.booking-widget__location-select select{width:100%;border:1px solid rgba(11,74,114,.2);background:var(--brand-white);color:var(--brand-blue-dark);font-weight:600;font-size:.85rem;padding:8px 12px;border-radius:14px;cursor:pointer}.booking-widget__locations{display:grid;grid-gap:6px;gap:6px}.booking-widget__location-row{display:flex;flex-wrap:wrap;gap:6px}.booking-location{border:1px solid rgba(11,74,114,.2);background:var(--brand-white);color:var(--brand-blue-dark);font-weight:600;font-size:.75rem;padding:6px 10px;border-radius:999px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.booking-location.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 2px rgba(245,196,0,.2);transform:translateY(-1px)}.booking-widget__club-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.booking-club{width:34px;height:34px;border-radius:50%;border:1px solid rgba(11,74,114,.2);background:var(--brand-white);display:grid;place-items:center;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.booking-club--pill{width:auto;height:auto;padding:6px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.8rem;color:var(--brand-blue-dark)}.booking-club__logo{width:22px;height:22px;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(11,74,114,.12);background:var(--brand-white);font-size:.6rem;font-weight:700}.booking-club__logo img{width:100%;height:100%;object-fit:cover}.booking-club__name{line-height:1}.booking-club img{width:100%;height:100%;object-fit:cover}.booking-club.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 3px rgba(245,196,0,.25);transform:translateY(-1px)}.booking-club__count{width:34px;height:34px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;background:rgba(11,74,114,.08);color:var(--brand-blue-dark);border:1px solid rgba(11,74,114,.2)}.booking-widget__club-list{position:absolute;top:100%;left:0;right:0;margin-top:8px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:2}.booking-widget__club-list.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.booking-widget__club-list-inner{display:grid;grid-gap:8px;gap:8px;padding:10px;background:var(--brand-white);border-radius:14px;border:1px solid rgba(11,74,114,.12);box-shadow:0 18px 40px rgba(4,12,20,.2)}.booking-club-row{display:flex;align-items:center;gap:10px;border:1px solid rgba(11,74,114,.12);border-radius:12px;padding:8px 10px;background:rgba(11,74,114,.04);cursor:pointer;text-align:left}.booking-club-row.is-active{border-color:var(--brand-yellow);background:rgba(245,196,0,.12)}.booking-club-row__logo{width:32px;height:32px;border-radius:50%;overflow:hidden;border:1px solid rgba(11,74,114,.2);display:grid;place-items:center;background:var(--brand-white)}.booking-club-row__logo img{width:100%;height:100%;object-fit:cover}.booking-club-row__text{display:grid;grid-gap:2px;gap:2px}.booking-club-row__text strong{font-size:.85rem;color:var(--brand-blue-dark)}.booking-club-row__text small{font-size:.72rem;color:var(--ink-soft)}.booking-widget__cta{border:none;background:var(--brand-yellow);color:var(--brand-blue-deep);font-weight:700;padding:8px 12px;border-radius:999px;cursor:pointer;font-size:.78rem;white-space:nowrap}.booking-widget__list{display:grid;grid-gap:10px;gap:10px;overflow-y:auto;padding-right:4px}.booking-slot{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;background:var(--brand-white);border-radius:16px;padding:10px 12px;border:1px solid rgba(11,74,114,.12);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.booking-slot:hover{transform:translateY(-2px);border-color:rgba(11,74,114,.25);box-shadow:0 16px 30px rgba(4,12,20,.18)}.booking-slot__date{display:grid;grid-gap:2px;gap:2px;text-align:center;padding:6px 8px;border-radius:12px;background:rgba(11,74,114,.08);color:var(--brand-blue-dark);font-weight:700;min-width:64px}.booking-slot__date strong{font-size:1.05rem}.booking-slot__info{display:grid;grid-gap:4px;gap:4px}.booking-slot__title{font-weight:700;color:var(--brand-blue-dark);font-size:.9rem}.booking-slot__meta{color:var(--ink-soft);font-size:.82rem}.booking-slot__status{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700}.booking-slot__dot{width:10px;height:10px;border-radius:50%;background:#2f7a3c;box-shadow:0 0 0 3px rgba(47,122,60,.2)}.booking-slot__avatars{display:flex;align-items:center}.booking-avatar{width:26px;height:26px;border-radius:50%;overflow:hidden;border:2px solid var(--brand-white);background:rgba(11,74,114,.1);display:grid;place-items:center;font-size:.7rem;font-weight:700;color:var(--brand-blue-dark)}.booking-avatar+.booking-avatar{margin-left:-6px}.booking-avatar img{width:100%;height:100%;object-fit:cover}.booking-slot--frei .booking-slot__status{color:#2f7a3c}.booking-slot--fast .booking-slot__status{color:#b56b00}.booking-slot--ausgebucht .booking-slot__status{color:#b32d2d}.booking-slot--fast .booking-slot__dot{background:#b56b00;box-shadow:0 0 0 3px rgba(181,107,0,.2)}.booking-slot--ausgebucht .booking-slot__dot{background:#b32d2d;box-shadow:0 0 0 3px rgba(179,45,45,.2)}.booking-slot.is-event .booking-slot__date{color:#c82d2d}.booking-widget__more{position:absolute;left:16px;right:16px;bottom:-44px;top:auto;border:none;background:var(--brand-yellow);color:var(--brand-blue-deep);padding:10px 16px;border-radius:999px;font-weight:700;font-size:.78rem;cursor:pointer;writing-mode:horizontal-tb;-webkit-text-orientation:initial;text-orientation:mixed;text-align:center;white-space:nowrap;box-shadow:var(--shadow-soft)}.booking-panel{position:fixed;right:280px;top:160px;width:min(520px,48vw);max-height:72vh;background:hsla(0,0%,100%,.97);border-radius:var(--radius-lg);border:1px solid rgba(11,74,114,.12);box-shadow:0 32px 70px rgba(4,12,20,.3);padding:18px;display:grid;grid-gap:16px;gap:16px;z-index:59;overflow:hidden}.booking-panel__backdrop{position:fixed;inset:0;background:rgba(6,16,26,.72);display:flex;align-items:center;justify-content:center;padding:24px;min-height:100svh;z-index:70;-webkit-backdrop-filter:none;backdrop-filter:none}.booking-panel--modal{position:relative;right:auto;top:auto;width:min(980px,94vw);max-height:86vh;z-index:1}.booking-overview__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.booking-overview__header-actions{display:flex;align-items:center;gap:12px}.booking-overview__month-row{display:flex;align-items:center;gap:10px}.booking-overview__month,.booking-overview__year{border:1px solid rgba(11,74,114,.2);background:var(--brand-white);color:var(--brand-blue-dark);font-weight:700;padding:8px 14px;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.booking-overview__week-nav{display:flex;align-items:center;gap:8px}.booking-overview__week-btn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(11,74,114,.2);background:var(--brand-white);color:var(--brand-blue-dark);cursor:pointer;font-size:1.1rem}.booking-overview__week-chip{background:rgba(11,74,114,.08);padding:6px 12px;border-radius:999px;font-weight:700;color:var(--brand-blue-dark)}.booking-overview__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:20px}.booking-overview__day-card{border:1px solid rgba(11,74,114,.15);border-radius:18px;padding:14px 16px;background:var(--brand-white);display:grid;grid-gap:10px;gap:10px;text-align:center;cursor:pointer;color:var(--brand-blue-dark);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.booking-overview__day-card.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 3px rgba(245,196,0,.2)}.booking-overview__day-card.is-event{border-color:rgba(200,45,45,.4)}.booking-overview__day-card.is-disabled{opacity:.4;filter:grayscale(.2);cursor:not-allowed}.booking-overview__day-card.is-today{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 40px rgba(4,12,20,.22);border-color:rgba(11,74,114,.24)}.booking-overview__day-name{font-weight:700}.booking-overview__day-number{font-size:1.6rem}.booking-overview__day-slots{display:grid;grid-gap:6px;gap:6px;font-size:.85rem;color:var(--ink-soft)}.booking-overview__day-counts{display:flex;justify-content:center;gap:14px}.booking-overview__day-count{display:grid;grid-gap:4px;gap:4px;justify-items:center;font-size:.78rem}.booking-overview__dot{width:12px;height:12px;border-radius:50%;background:#2f7a3c;box-shadow:0 0 0 3px rgba(47,122,60,.2)}.booking-overview__dot--mine{background:#f0b44c;box-shadow:0 0 0 3px rgba(240,180,76,.2)}.booking-overview__day-event{display:grid;grid-gap:4px;gap:4px;color:#c82d2d;font-weight:700;font-size:.85rem}.booking-overview__filters{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:16px;gap:16px;align-items:end;margin-top:18px}.booking-overview__filter-column{display:grid;grid-gap:8px;gap:8px}.booking-overview__filter-select{border:1px solid rgba(11,74,114,.2);border-radius:12px;padding:8px 12px;font-weight:600;color:var(--brand-blue-dark);background:var(--brand-white)}.booking-overview__filters-label{font-weight:700;color:var(--brand-blue-dark)}.booking-overview__filter-box{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:16px;border:1px solid rgba(11,74,114,.15);background:var(--brand-white)}.booking-overview__filter-row{display:flex;align-items:flex-start;gap:10px;overflow:hidden;min-width:0;flex:1 1}.booking-overview__filter-item{display:grid;grid-gap:4px;gap:4px;justify-items:center;width:64px;flex:0 0 auto;text-align:center}.booking-overview__filter-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;border:2px solid var(--brand-white);background:rgba(11,74,114,.08);display:grid;place-items:center;font-size:.7rem;font-weight:700;color:var(--brand-blue-dark)}.booking-overview__filter-avatar+.booking-overview__filter-avatar{margin-left:0}.booking-overview__filter-avatar img{width:100%;height:100%;object-fit:cover}.booking-overview__filter-name{font-size:.7rem;font-weight:600;color:var(--brand-blue-dark);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-overview__filter-count{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(11,74,114,.08);color:var(--brand-blue-dark);font-weight:700;font-size:.75rem;flex:0 0 auto}.booking-overview__chip{margin-left:auto;background:rgba(245,196,0,.2);color:var(--brand-blue-dark);font-weight:700;padding:8px 14px;border-radius:999px}.booking-overview__date-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}.booking-overview__date-btn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(11,74,114,.2);background:var(--brand-white);color:var(--brand-blue-dark);cursor:pointer;font-size:1.1rem}.booking-overview__date-btn:disabled{opacity:.4;cursor:default}.booking-overview__date-display{border:1px solid rgba(11,74,114,.2);padding:8px 16px;border-radius:12px;font-weight:600;color:var(--brand-blue-dark);background:var(--brand-white)}.booking-overview__slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px;margin-top:18px}.booking-overview__slot{background:var(--brand-white);border-radius:14px;border:1px solid rgba(11,74,114,.12);padding:10px;display:grid;grid-gap:8px;gap:8px;cursor:pointer;box-shadow:var(--shadow-soft)}.booking-overview__slot.booking-slot--ausgebucht{opacity:.55;cursor:default}.booking-overview__slot.is-event{grid-column:span 2;border-color:rgba(200,45,45,.4)}.booking-overview__slot-time{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--brand-blue-dark);font-size:.9rem}.booking-overview__slot-time small{font-weight:600;color:var(--ink-soft);font-size:.75rem}.booking-overview__slot-meta h4{font-size:.95rem;color:var(--brand-blue-dark)}.booking-overview__slot-meta p{color:var(--ink-soft);font-size:.78rem}.booking-overview__slot-avatars{display:flex;align-items:center}.booking-overview__slot-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;border:2px solid var(--brand-white);background:rgba(11,74,114,.08);display:grid;place-items:center;font-size:.7rem;font-weight:700;color:var(--brand-blue-dark)}.booking-overview__slot-avatar+.booking-overview__slot-avatar{margin-left:-8px}.booking-overview__slot-avatar img{width:100%;height:100%;object-fit:cover}.booking-overview__event-date{display:grid;grid-gap:4px;gap:4px;text-align:center;font-weight:700;color:#c82d2d}.booking-overview__event-body h4{color:var(--brand-blue-dark);font-size:1rem}.booking-overview__event-label{font-size:.8rem;font-weight:700;color:#c82d2d;text-transform:uppercase;letter-spacing:.04em}.booking-overview__event-time{font-weight:700;color:var(--brand-blue-dark)}.booking-slot--fast .booking-overview__dot{background:#b56b00;box-shadow:0 0 0 3px rgba(181,107,0,.2)}.booking-slot--ausgebucht .booking-overview__dot{background:#b32d2d;box-shadow:0 0 0 3px rgba(179,45,45,.2)}@media (max-width:900px){.booking-overview__header{flex-direction:column;align-items:flex-start}.booking-overview__chip{margin-left:0}.booking-overview__days{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-overview__filters{grid-template-columns:1fr}.booking-overview__slot.is-event{grid-column:span 1}}@media (max-width:640px){.booking-overview__days{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-checkout__backdrop{position:fixed;inset:0;background:rgba(6,16,26,.72);display:flex;align-items:center;justify-content:center;padding:24px;min-height:100svh;z-index:80;-webkit-backdrop-filter:none;backdrop-filter:none}.booking-checkout{width:min(560px,92vw);background:var(--brand-white);border-radius:22px;box-shadow:var(--shadow-strong);padding:22px;display:grid;grid-gap:18px;gap:18px;position:relative}.booking-checkout__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.booking-checkout__eyebrow{font-size:.85rem;font-weight:700;color:var(--brand-blue-dark);letter-spacing:.02em;text-transform:uppercase}.booking-checkout__title{margin-top:6px;font-size:1.35rem;color:var(--brand-blue-dark)}.booking-checkout__meta{margin-top:6px;font-size:.95rem;color:var(--ink-soft)}.booking-checkout__close{border:none;background:rgba(11,74,114,.08);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.2rem;color:var(--brand-blue-dark);flex-shrink:0}.booking-checkout__date{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 12px;border-radius:16px;border:1px solid rgba(11,74,114,.12);background:rgba(11,74,114,.05)}.booking-checkout__date-nav{width:34px;height:34px;border-radius:10px;border:none;background:var(--brand-white);box-shadow:var(--shadow-soft);color:var(--brand-blue-dark);cursor:pointer;font-size:1.1rem}.booking-checkout__date-nav:disabled{opacity:.4;cursor:default}.booking-checkout__date-display{font-weight:700;color:var(--brand-blue-dark)}.booking-checkout__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.booking-checkout__summary-card{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:16px;border:1px solid rgba(11,74,114,.12);background:rgba(11,74,114,.05);position:relative}.booking-checkout__summary-label{font-size:.8rem;color:var(--ink-soft);font-weight:600}.booking-checkout__summary-time{font-size:1.3rem;color:var(--brand-blue-dark)}.booking-checkout__times-toggle{border:none;background:rgba(11,74,114,.1);color:var(--brand-blue-dark);font-weight:600;padding:6px 10px;border-radius:999px;cursor:pointer;font-size:.8rem;justify-self:start}.booking-checkout__times-list{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--brand-white);border-radius:14px;border:1px solid rgba(11,74,114,.12);box-shadow:var(--shadow-card);padding:8px;display:grid;grid-gap:6px;gap:6px;z-index:3;max-height:220px;overflow-y:auto}.booking-checkout__time-option{border:1px solid rgba(11,74,114,.12);border-radius:12px;padding:8px 10px;background:rgba(11,74,114,.04);display:grid;grid-gap:4px;gap:4px;text-align:left;cursor:pointer;font-weight:600;color:var(--brand-blue-dark)}.booking-checkout__time-option small{font-weight:600;color:var(--ink-soft)}.booking-checkout__time-option.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 2px rgba(245,196,0,.25);background:rgba(245,196,0,.12)}.booking-checkout__time-option:disabled{opacity:.45;cursor:not-allowed}.booking-checkout__duration-options{display:flex;flex-wrap:wrap;gap:8px}.booking-checkout__duration-option{border:1px solid rgba(11,74,114,.2);background:var(--brand-white);color:var(--brand-blue-dark);font-weight:700;padding:6px 12px;border-radius:999px;cursor:pointer;font-size:.85rem}.booking-checkout__duration-option.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 2px rgba(245,196,0,.25);background:rgba(245,196,0,.18)}.booking-checkout__duration-option:disabled{opacity:.45;cursor:not-allowed}.booking-checkout__fields{display:grid;grid-gap:12px;gap:12px}.booking-checkout__field{display:grid;grid-gap:6px;gap:6px;font-size:.9rem;color:var(--ink)}.booking-checkout__field input,.booking-checkout__field select{padding:12px 14px;border-radius:12px;border:1px solid rgba(11,74,114,.2);font-size:1rem;background:#fff}.booking-checkout__meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px}.booking-checkout__meta-card{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:14px;border:1px solid rgba(11,74,114,.12);background:rgba(11,74,114,.04);color:var(--brand-blue-dark);font-weight:600}.booking-checkout__meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.booking-checkout__meta-row small{font-size:.78rem;font-weight:500;opacity:.78}.booking-checkout__avatar,.booking-checkout__meta-logo{width:34px;height:34px;border-radius:50%;overflow:hidden;border:1px solid rgba(11,74,114,.2);display:grid;place-items:center;background:var(--brand-white);font-size:.75rem;font-weight:700;color:var(--brand-blue-dark);flex-shrink:0}.booking-checkout__avatar img,.booking-checkout__meta-logo img{width:100%;height:100%;object-fit:cover}.booking-checkout__meta-avatars{display:flex;align-items:center}.booking-checkout__avatar+.booking-checkout__avatar{margin-left:-8px;border-width:2px}.booking-checkout__cta{border:none;background:var(--brand-yellow);color:var(--brand-blue-deep);font-weight:700;padding:12px 18px;border-radius:999px;cursor:pointer;font-size:1rem;justify-self:end}.booking-checkout__cta:disabled{opacity:.5;cursor:not-allowed}.booking-checkout__notice{padding:12px 14px;border-radius:14px;border:1px solid rgba(11,74,114,.16);background:rgba(11,74,114,.06);color:var(--brand-blue-dark);font-weight:600}.booking-checkout__notice--error{border-color:rgba(179,45,45,.32);background:rgba(179,45,45,.08);color:#b32d2d}.booking-checkout__notice--success{border-color:rgba(28,126,65,.3);background:rgba(28,126,65,.08);color:#1c7e41}.booking-widget__fab{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;border:none;background:var(--brand-yellow);color:var(--brand-blue-deep);display:none;place-items:center;box-shadow:0 18px 40px rgba(4,12,20,.22);cursor:pointer;z-index:61;animation:var(--anim-calendar)}.booking-widget__fab.is-open{animation:none}.booking-widget__fab svg{width:26px;height:26px}.booking-widget__fab-icon{font-size:2rem;line-height:1;font-weight:600}.booking-panel__header{display:grid;grid-template-columns:auto auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;font-weight:700;color:var(--brand-blue-dark)}.booking-panel__month{text-transform:capitalize}.booking-panel__week{justify-self:end;background:rgba(11,74,114,.08);padding:6px 12px;border-radius:999px;font-size:.85rem}.booking-panel__close{border:none;background:rgba(11,74,114,.08);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;color:var(--brand-blue-dark)}.booking-panel__days{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));grid-gap:12px;gap:12px}.booking-day{border:1px solid rgba(11,74,114,.15);border-radius:16px;padding:10px 12px;background:var(--brand-white);display:grid;grid-gap:6px;gap:6px;text-align:center;cursor:pointer;font-weight:700;color:var(--brand-blue-dark)}.booking-day small{font-size:.75rem;color:var(--ink-soft);font-weight:600}.booking-day.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 3px rgba(245,196,0,.25)}.booking-day.is-event{color:#c82d2d}.booking-panel__slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;overflow-y:auto;padding-right:4px}.booking-time{background:var(--brand-white);border-radius:16px;border:1px solid rgba(11,74,114,.12);padding:12px;display:grid;grid-gap:6px;gap:6px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.booking-time div:first-child{display:flex;align-items:center;gap:8px}.booking-time__dot{width:12px;height:12px;border-radius:50%;background:#2f7a3c;box-shadow:0 0 0 4px rgba(47,122,60,.18)}.booking-slot--fast .booking-time__dot{background:#b56b00;box-shadow:0 0 0 4px rgba(181,107,0,.18)}.booking-slot--ausgebucht .booking-time__dot{background:#b32d2d;box-shadow:0 0 0 4px rgba(179,45,45,.18)}.booking-time:hover{transform:translateY(-2px);border-color:rgba(11,74,114,.25);box-shadow:0 16px 30px rgba(4,12,20,.18)}.booking-time strong{font-size:1.05rem;color:var(--brand-blue-dark)}.booking-time__status{font-size:.78rem;color:var(--ink-soft)}.booking-widget__hint{font-size:.75rem;color:var(--ink-soft)}.service-hero{position:relative;background-size:cover;background-position:center calc(0px + var(--service-hero-offset, 0px));background-repeat:no-repeat;color:var(--brand-white);padding:210px 0 150px;overflow:hidden;will-change:background-position}.service-hero__overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(5,12,18,.85),rgba(5,12,18,.6) 45%,rgba(5,12,18,.25))}.service-hero__content{position:relative;z-index:1;max-width:820px;display:grid;grid-gap:16px;gap:16px;text-align:left;margin-left:0;padding-inline:clamp(12px,2vw,22px)}.service-hero__back{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid rgba(245,196,0,.85);color:var(--brand-yellow);background:rgba(8,8,8,.35);box-shadow:0 0 18px rgba(245,196,0,.2);width:-moz-fit-content;width:fit-content;font-size:.9rem}.service-hero__title{font-family:var(--font-display);font-size:clamp(2.4rem,4.4vw,3.8rem);text-shadow:0 20px 40px rgba(0,0,0,.35)}.service-hero__subtitle{color:hsla(0,0%,100%,.82);line-height:1.6;font-size:1.05rem}.service-body{background:var(--brand-white)}.service-body__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:32px;gap:32px;align-items:start}.service-body__text h2{font-family:var(--font-display);font-size:1.8rem;color:var(--brand-blue-dark);margin-bottom:12px}.service-body__text p{color:var(--ink-soft);line-height:1.7;margin-bottom:16px}.service-body__panel{background:var(--brand-cream);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-soft);border:1px solid rgba(11,74,114,.12)}.service-body__panel h3{font-family:var(--font-display);font-size:1.2rem;color:var(--brand-blue-dark);margin-bottom:12px}.service-highlights{list-style:none;display:grid;grid-gap:10px;gap:10px}.service-highlights li{position:relative;padding-left:22px;color:var(--ink);font-weight:600}.service-highlights li:before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:50%;background:var(--brand-yellow);box-shadow:0 0 0 4px rgba(245,196,0,.2)}.about__progress{position:absolute;left:0;right:0;bottom:0;height:6px;background:hsla(0,0%,100%,.3)}.about__progress-bar{display:block;height:100%;width:36%;background:var(--brand-yellow)}.about__content{text-align:center;max-width:720px;margin:0 auto;display:grid;grid-gap:16px;gap:16px}.about__content h3{font-family:var(--font-display);font-size:1.8rem;color:var(--brand-blue-dark)}.about__content p{color:var(--ink-soft);line-height:1.7}.trainers{background:var(--brand-cream)}.trainer-carousel{display:flex;align-items:center;gap:24px;overflow:hidden;padding:10px 0 30px}.trainer-main{flex:0 0 min(760px,90vw);display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:28px;gap:28px;align-items:center;animation:var(--anim-slide-right);will-change:transform,opacity}.trainer-main--prev{animation:var(--anim-slide-left)}.trainer-main--next{animation:var(--anim-slide-right)}.trainer-preview{flex:0 0 220px;background:var(--brand-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid rgba(11,74,114,.12);overflow:hidden;opacity:.75;transform:scale(.92);transition:opacity .3s ease,transform .3s ease;cursor:pointer}.trainer-preview:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:4px}.trainer-preview.is-prev{margin-left:-80px}.trainer-preview.is-next{margin-right:-80px}.trainer-preview__media{height:160px;overflow:hidden}.trainer-preview__media img{width:100%;height:100%;object-fit:cover}.trainer-preview__body{padding:14px 16px 18px;display:grid;grid-gap:6px;gap:6px}.trainer-preview__body h4{font-family:var(--font-display);font-size:1.05rem;color:var(--brand-blue-dark)}.trainer-preview__body p{color:var(--ink-soft);font-size:.9rem}.trainer-video{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-strong)}.trainer-video img{width:100%;height:100%;object-fit:cover}.trainer-video__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,74,114,.1),rgba(11,74,114,.6))}.trainer-video__play{position:absolute;inset:0;border:none;background:transparent;display:grid;place-items:center;cursor:pointer}.trainer-video__play span{width:60px;height:60px;border-radius:50%;background:var(--brand-yellow);position:relative;box-shadow:var(--shadow-strong)}.trainer-video__play span:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-35%,-50%);border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:14px solid var(--brand-blue-deep)}.trainer-card{background:var(--brand-white);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-card);border:2px solid rgba(11,74,114,.12);display:grid;grid-gap:16px;gap:16px}.trainer-card__header{display:flex;gap:16px;align-items:center}.trainer-card__avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;border:4px solid var(--brand-yellow)}.trainer-card__avatar img{width:100%;height:100%;object-fit:cover}.trainer-card h3{font-family:var(--font-display);font-size:1.6rem;color:var(--brand-blue-dark)}.trainer-card p{color:var(--ink-soft)}.trainer-card__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.trainer-card__tags span{background:var(--brand-yellow-soft);color:var(--brand-blue-deep);padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.trainer-card__bio{line-height:1.6}.trainer-nav{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:16px}.trainer-nav__btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--brand-blue-dark);background:transparent;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,color .2s ease}.trainer-nav__btn:hover{background:var(--brand-blue-dark);color:var(--brand-white)}.trainer-nav__icon{width:20px;height:20px}.trainer-nav__dots{display:flex;gap:8px}.trainer-nav__dot{width:10px;height:10px;border-radius:999px;background:rgba(11,74,114,.25);border:none;cursor:pointer;transition:width .2s ease,background .2s ease}.trainer-nav__dot.is-active{width:28px;background:var(--brand-yellow)}.cta{position:relative;padding:90px 0;text-align:center;color:var(--brand-white);background:linear-gradient(120deg,#115f5a,#0b3f5d 50%,#7b4d2c);overflow:hidden}.cta__glow{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(215,242,91,.3),transparent 60%),radial-gradient(circle at 80% 70%,rgba(11,74,114,.35),transparent 55%);opacity:.6}.cta__content{position:relative;z-index:1;display:grid;grid-gap:16px;gap:16px;max-width:680px}.cta__content h2{font-family:var(--font-display);font-size:clamp(2.2rem,3.6vw,3.2rem)}.cta__content p{color:hsla(0,0%,100%,.85);font-size:1.1rem;line-height:1.6}.cta__btn{justify-self:center;padding:14px 36px;font-size:1rem;box-shadow:var(--shadow-glow)}.faq-list{max-width:760px;margin:0 auto;display:grid;grid-gap:16px;gap:16px}.faq-item{background:#303030;color:var(--brand-white);border-radius:var(--radius-md);padding:18px 22px;box-shadow:var(--shadow-soft)}.faq-item summary{list-style:none;cursor:pointer;font-weight:600}.faq-item summary::marker{display:none}.faq-item summary:after{content:"+";float:right;font-weight:700;color:var(--brand-yellow)}.faq-item[open] summary:after{content:"-"}.faq-item p{margin-top:12px;color:hsla(0,0%,100%,.75);line-height:1.6}.site-footer{background:var(--brand-blue-dark);color:var(--brand-white);padding:70px 0 40px}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:32px;gap:32px;margin-bottom:32px}.site-footer h3{font-family:var(--font-display);margin-bottom:16px}.footer-text{color:hsla(0,0%,100%,.75);display:grid;grid-gap:6px;gap:6px}.footer-strong{color:var(--brand-white);font-weight:600}.footer-links{display:grid;grid-gap:8px;gap:8px;color:hsla(0,0%,100%,.75)}.footer-links a:hover{color:var(--brand-yellow)}.footer-form{display:flex;gap:8px;margin-top:12px}.footer-form input{flex:1 1;border-radius:999px;border:1px solid hsla(0,0%,100%,.3);padding:10px 14px;background:hsla(0,0%,100%,.12);color:var(--brand-white)}.footer-form input::placeholder{color:hsla(0,0%,100%,.6)}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.2);padding-top:16px;text-align:center;color:hsla(0,0%,100%,.6)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:140px 24px 90px}.auth-page--login{position:relative;overflow:hidden}.auth-panel{width:min(520px,94vw);background:var(--brand-white);color:var(--ink);padding:32px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.auth-panel--wide{width:min(760px,94vw)}.auth-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.auth-header p{font-weight:600;color:var(--ink-soft)}.login-panel{max-width:480px}.login-panel--reveal{opacity:0;transform:translateY(12px);animation:var(--anim-login-panel);position:relative;z-index:2}.login-intro{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;animation:var(--anim-login-logo);z-index:1}.login-intro__logo{width:150px;height:150px;border-radius:50%;background:var(--brand-white);border:4px solid var(--brand-yellow);box-shadow:var(--shadow-glow);display:grid;place-items:center}.login-intro__logo img{width:100%;height:100%;object-fit:contain}.login-panel h1{font-family:var(--font-display);margin-bottom:12px}.form-field{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.form-field input{padding:12px 14px;border-radius:12px;border:1px solid rgba(11,74,114,.2);font-size:1rem}.form-error{color:#c2482f;font-size:.95rem;margin-top:10px}.auth-actions,.hero-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px}.auth-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.auth-role-card{border:1px solid rgba(11,74,114,.2);background:var(--brand-white);border-radius:18px;padding:18px;display:grid;grid-gap:8px;gap:8px;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.auth-role-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:var(--brand-yellow)}.auth-role-card strong{font-size:1.05rem;color:var(--brand-blue-dark)}.auth-role-card span{color:var(--ink-soft);font-size:.9rem}.auth-role-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(11,74,114,.08);color:var(--brand-blue-dark)}.auth-role-icon svg{width:22px;height:22px}.auth-form{display:grid;grid-gap:16px;gap:16px}.auth-form__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.form-message{background:rgba(11,74,114,.08);border-radius:12px;padding:12px 14px;color:var(--brand-blue-dark);font-weight:600}.club-select{border:1px solid rgba(11,74,114,.12);border-radius:14px;padding:12px;display:grid;grid-gap:12px;gap:12px;max-height:220px;overflow:auto;background:rgba(11,74,114,.02)}.club-group{display:grid;grid-gap:8px;gap:8px}.club-group__label{font-weight:700;color:var(--brand-blue-dark);font-size:.9rem}.club-group__options{display:grid;grid-gap:8px;gap:8px}.club-option{border:1px solid rgba(11,74,114,.14);border-radius:12px;padding:8px 12px 8px 16px;background:var(--brand-white);text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.club-option.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 3px rgba(245,196,0,.2)}.club-option__name{font-weight:600;color:var(--brand-blue-dark)}.club-empty{color:var(--ink-soft);font-size:.9rem}.dashboard-panel{width:min(560px,94vw);background:var(--brand-white);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-card);display:grid;grid-gap:10px;gap:10px}.admin-dashboard{display:grid;grid-gap:24px;gap:24px;padding-top:140px;padding-bottom:80px;position:relative;z-index:1}.admin-dashboard__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-widgets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px;align-items:stretch}.admin-widgets--two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-widget{background:var(--brand-white);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-card);border:1px solid rgba(11,74,114,.08);display:grid;grid-gap:14px;gap:14px;min-height:220px}.admin-widget__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-widget__header h2{font-size:1.1rem;color:var(--brand-blue-dark)}.admin-widget__header--chart{align-items:center}.admin-widget__meta{font-size:.85rem;font-weight:600;color:var(--ink-soft)}.admin-widget__action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(11,74,114,.08);color:var(--brand-blue-dark);font-weight:600;font-size:.8rem;border:1px solid rgba(11,74,114,.18);text-decoration:none}.admin-widget__action:hover{background:rgba(11,74,114,.15)}.admin-hierarchy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-hierarchy__item{background:#f6f9fb;border-radius:16px;padding:14px 12px;display:grid;grid-gap:6px;gap:6px;text-align:center;color:inherit;text-decoration:none;border:1px solid transparent;transition:border .2s ease,transform .2s ease,box-shadow .2s ease}.admin-hierarchy__item:hover{border-color:rgba(11,74,114,.18);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.admin-hierarchy strong{font-size:1.4rem;color:var(--brand-blue-dark)}.admin-next-slot{background:#e9f7f1;border-radius:16px;padding:16px 18px;display:grid;grid-gap:8px;gap:8px}.admin-next-slot__label{font-weight:700;color:#25704a;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.admin-slot-list{display:grid;grid-gap:10px;gap:10px}.admin-slot-card{border-radius:14px;border:1px solid rgba(11,74,114,.12);padding:10px 12px;display:grid;grid-gap:4px;gap:4px;font-size:.85rem}.admin-empty{padding:12px;background:rgba(11,74,114,.04);border-radius:12px;color:var(--ink-soft);font-weight:600}.admin-slot-card strong{color:var(--brand-blue-dark)}.admin-widget--table{min-height:100%}.admin-widget--applications{min-height:220px}.admin-applications{display:grid;grid-gap:12px;gap:12px}.admin-application-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;background:#f6f9fb;border-radius:16px;padding:12px 14px;border:1px solid rgba(11,74,114,.08)}.admin-application-icon{width:38px;height:38px;border-radius:12px;background:rgba(11,74,114,.08);display:grid;place-items:center;color:var(--brand-blue-dark)}.admin-application-icon svg{width:18px;height:18px}.admin-application-label{font-weight:600;color:var(--ink)}.admin-application-value{font-size:1.4rem;color:var(--brand-blue-dark)}.admin-table{display:grid;grid-gap:8px;gap:8px;max-height:240px;overflow:auto;padding-right:6px}.admin-table__row{display:grid;grid-template-columns:100px 90px 1fr 1.2fr 120px;grid-gap:8px;gap:8px;align-items:center;font-size:.85rem;color:var(--ink);padding:6px 0;border-bottom:1px solid rgba(11,74,114,.08)}.admin-table__head{font-weight:700;color:var(--brand-blue-dark);border-bottom:1px solid rgba(11,74,114,.2)}.admin-table__empty{padding:12px;color:var(--ink-soft)}.status-pill{padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;text-align:center;background:rgba(11,74,114,.08);color:var(--brand-blue-dark)}.status-pill--pending{background:rgba(245,196,0,.2);color:#8a5a31}.status-pill--approved{background:rgba(76,199,141,.2);color:#1f6b4b}.status-pill--rejected{background:rgba(200,45,45,.15);color:#b32d2d}.admin-widget--chart{padding:24px}.admin-bookings-bar{background:var(--brand-white);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-card);border:1px solid rgba(11,74,114,.08);display:grid;grid-gap:14px;gap:14px}.admin-bookings-bar__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.admin-bookings-bar h2{font-size:1.2rem;color:var(--brand-blue-dark);margin:0}.admin-bookings-bar__sub{color:var(--ink-soft);font-weight:600;margin:2px 0 0}.admin-bookings-bar__actions{display:inline-flex;align-items:center;gap:10px}.admin-bookings-bar__filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-bookings-bar__filters-label{font-weight:800;color:var(--brand-blue-dark)}.admin-bookings-bar__filter-row{display:inline-flex;align-items:center;gap:10px}.admin-bookings-bar__filter-chip{width:34px;height:34px;border-radius:999px;background:#f6f9fb;border:1px solid rgba(11,74,114,.14);overflow:hidden;display:grid;place-items:center;cursor:pointer;padding:0}.admin-bookings-bar__filter-chip img{width:100%;height:100%;object-fit:cover}.admin-bookings-bar__filter-chip.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 2px rgba(245,196,0,.25);background:rgba(245,196,0,.12)}.admin-bookings-bar__filter-arrow{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:rgba(11,74,114,.08);color:var(--brand-blue-dark);font-weight:900;border:1px solid rgba(11,74,114,.12);cursor:pointer;padding:0}.admin-bookings-filter-group{position:relative;display:inline-flex;align-items:center;gap:10px}.admin-bookings-filter-reset{padding:6px 12px;font-size:.8rem}.admin-bookings-filter-popover{position:absolute;top:calc(100% + 10px);left:0;width:min(340px,80vw);background:var(--brand-white);border-radius:18px;border:1px solid rgba(11,74,114,.16);box-shadow:var(--shadow-strong);z-index:50;padding:12px}.admin-bookings-filter-popover__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--brand-blue-dark)}.admin-bookings-filter-popover__close{width:34px;height:34px;border-radius:999px;border:1px solid rgba(11,74,114,.18);background:rgba(11,74,114,.06);cursor:pointer;font-size:1.2rem;line-height:1;color:var(--brand-blue-dark)}.admin-bookings-filter-popover__close:hover{background:rgba(11,74,114,.12)}.admin-bookings-filter-popover__list{display:grid;grid-gap:8px;gap:8px;max-height:260px;overflow:auto;padding-right:4px}.admin-bookings-filter-popover__item{width:100%;text-align:left;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:10px;border-radius:14px;border:1px solid rgba(11,74,114,.12);background:rgba(11,74,114,.04);cursor:pointer;color:var(--brand-blue-dark)}.admin-bookings-filter-popover__item:hover{background:rgba(11,74,114,.08)}.admin-bookings-filter-popover__item.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 2px rgba(245,196,0,.25);background:rgba(245,196,0,.12)}.admin-bookings-filter-popover__avatar{width:34px;height:34px;border-radius:999px;overflow:hidden;background:hsla(0,0%,100%,.7);border:1px solid rgba(11,74,114,.12);display:grid;place-items:center}.admin-bookings-filter-popover__avatar img{width:100%;height:100%;object-fit:cover}.admin-bookings-filter-popover__name{font-weight:700}.admin-bookings-filter-popover__check{font-weight:900}.admin-bookings-filter-popover__empty{padding:10px 8px;color:var(--ink-soft);font-weight:700}.admin-bookings-strip{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(260px,1fr);grid-template-rows:auto auto;grid-gap:12px 16px;gap:12px 16px;align-items:start}.admin-bookings-strip__label{font-weight:900;color:var(--brand-blue-dark);font-size:.95rem}.admin-bookings-strip__next3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-booking-card{border-radius:16px;border:1px solid rgba(11,74,114,.14);box-shadow:0 18px 40px rgba(4,12,20,.08);background:#f7fbff}button.admin-booking-card{width:100%;text-align:left;cursor:pointer}button.admin-booking-card:focus-visible{outline:2px solid rgba(11,74,114,.4);outline-offset:3px}.admin-booking-card--next{background:#c9f6cf;border-color:rgba(22,110,65,.18);display:grid;grid-template-columns:86px 1fr 54px;overflow:hidden;min-height:132px}.admin-booking-card__date{display:grid;align-content:center;justify-items:center;grid-gap:4px;gap:4px;border-right:1px solid rgba(22,110,65,.18)}.admin-booking-card__date-day{font-size:1.6rem;font-weight:900;color:#144c2d}.admin-booking-card__date-month{font-size:1rem;font-weight:800;color:#1c6a3f;letter-spacing:.02em}.admin-booking-card__main{padding:14px;display:grid;grid-gap:6px;gap:6px}.admin-booking-card__time{font-weight:900;color:#123b25}.admin-booking-card__meta{font-weight:700;color:rgba(18,59,37,.86)}.admin-booking-card__people{display:flex;align-items:center;gap:10px;margin-top:2px}.admin-booking-card__pill{font-weight:900;color:rgba(18,59,37,.9)}.admin-booking-card__avatars{display:inline-flex;align-items:center}.admin-booking-card__avatar{width:34px;height:34px;border-radius:999px;overflow:hidden;border:2px solid hsla(0,0%,100%,.85);background:hsla(0,0%,100%,.6);margin-left:-10px;display:grid;place-items:center}.admin-booking-card__avatar:first-child{margin-left:0}.admin-booking-card__avatar--club{border-color:rgba(22,110,65,.22)}.admin-booking-card__avatar img{width:100%;height:100%;object-fit:cover}.admin-booking-card__side{background:hsla(0,0%,100%,.72);color:#123b25;font-weight:900;text-decoration:none;display:grid;place-items:center;writing-mode:vertical-rl;transform:rotate(180deg);border:none;border-left:1px solid rgba(22,110,65,.18);cursor:pointer}.admin-booking-card--small{padding:12px;display:grid;grid-gap:6px;gap:6px;min-height:132px}.admin-booking-card__small-date{font-weight:900;color:var(--brand-blue-dark)}.admin-booking-card__small-time{font-weight:800;color:var(--ink-soft);font-size:.9rem}.admin-booking-card__small-title{font-weight:900;color:var(--brand-blue-dark);line-height:1.2}.admin-booking-card__small-meta{font-weight:700;color:var(--ink-soft);font-size:.9rem}.admin-booking-modal{width:min(760px,94vw);max-height:86vh;overflow:auto}.admin-booking-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.admin-booking-modal__title{margin:0;color:var(--brand-blue-dark)}.admin-booking-modal__meta{margin:4px 0 0;font-weight:700;color:var(--ink-soft)}.admin-booking-modal__close{white-space:nowrap}.admin-booking-modal__form{display:grid;grid-gap:14px;gap:14px}.admin-booking-modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-booking-modal__field{display:grid;grid-gap:6px;gap:6px;font-weight:700;color:var(--brand-blue-dark)}.admin-booking-modal__input{width:100%;border:1px solid rgba(11,74,114,.18);border-radius:14px;padding:10px 12px;font-size:.95rem;color:var(--ink);background:rgba(11,74,114,.04)}.admin-booking-modal__textarea{resize:vertical}.admin-booking-modal__notice{border-radius:14px;padding:10px 12px;font-weight:800;border:1px solid rgba(11,74,114,.14)}.admin-booking-modal__notice.is-success{background:rgba(76,199,141,.14);color:#1f6b4b;border-color:rgba(76,199,141,.25)}.admin-booking-modal__notice.is-error{background:rgba(200,45,45,.12);color:#b32d2d;border-color:rgba(200,45,45,.2)}.admin-booking-modal__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}@media (max-width:720px){.admin-booking-modal__grid{grid-template-columns:1fr}.admin-bookings-filter-popover{left:auto;right:0}}.admin-chart{display:grid;grid-gap:12px;gap:12px;background:radial-gradient(circle,rgba(11,74,114,.08) 1px,transparent 0);background-size:14px 14px;padding:12px 12px 16px;border-radius:16px}.admin-chart__controls{display:flex;flex-wrap:wrap;gap:8px}.admin-filter{border-radius:999px;padding:6px 12px;border:1px solid rgba(11,74,114,.2);background:#f6f9fb;color:var(--brand-blue-dark);font-weight:600;font-size:.8rem;transition:background .2s ease,color .2s ease,border .2s ease}.admin-filter.is-active{background:var(--brand-yellow);border-color:var(--brand-yellow);color:#16212c}.admin-chart__canvas{position:relative}.admin-chart svg{width:100%;height:220px}.admin-chart__hover line{stroke:rgba(11,74,114,.35);stroke-width:1.5;stroke-dasharray:6 6}.admin-chart__tooltip{position:absolute;transform:translate(-50%,-120%);background:#fff;border-radius:12px;box-shadow:var(--shadow-soft);padding:10px 12px;font-size:.8rem;color:var(--ink);display:grid;grid-gap:6px;gap:6px;min-width:160px;pointer-events:none;z-index:2}.admin-chart__tooltip strong{color:var(--brand-blue-dark);font-size:.85rem}.admin-chart__tooltip span{display:inline-flex;align-items:center;gap:6px}.admin-chart__axis{justify-content:space-between;padding:0 12px}.admin-chart__axis,.admin-chart__legend{display:flex;font-size:.85rem;color:var(--ink-soft)}.admin-chart__legend{flex-wrap:wrap;gap:16px}.admin-chart__legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-dot--light{background:#4ec7d3}.legend-dot--mid{background:#2e90c4}.legend-dot--dark{background:#0b4a72}@media (max-width:1024px){.admin-widgets{grid-template-columns:1fr 1fr}.admin-table__row{grid-template-columns:90px 80px 1fr 1fr}.admin-table__row span:nth-child(5){display:none}}@media (max-width:720px){.admin-bookings-strip,.admin-bookings-strip__next3,.admin-table__row,.admin-widgets,.admin-widgets--two{grid-template-columns:1fr}.admin-table__row{gap:4px}.admin-dashboard{padding-top:120px}.admin-entity-row{align-items:stretch}.admin-assign-form,.admin-entity-row,.admin-entity-row--compact{grid-template-columns:1fr}.admin-assignment-item{flex-direction:column;align-items:flex-start}}.hero-actions .btn-outline{color:var(--brand-blue-dark);border-color:rgba(11,74,114,.4)}.admin-shell{display:grid;grid-gap:24px;gap:24px;padding-bottom:120px}.admin-hierarchy-page{padding-top:140px}.admin-back-link{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid rgba(11,74,114,.2);background:rgba(11,74,114,.08);color:var(--brand-blue-dark);font-weight:600;text-decoration:none;margin-bottom:10px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.admin-back-link:hover{background:rgba(11,74,114,.15);border-color:rgba(11,74,114,.35);transform:translateY(-1px)}.admin-nav{display:flex;gap:16px;flex-wrap:wrap}.admin-nav .btn-outline{background:rgba(11,74,114,.08);border-color:rgba(11,74,114,.35);color:var(--brand-blue-dark)}.admin-nav .btn-outline:hover{background:rgba(11,74,114,.15)}.admin-card{background:var(--brand-white);border:1px solid rgba(11,74,114,.12);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-soft)}.admin-slots-modal{width:min(540px,92vw);max-height:86vh;padding:18px;overflow:auto;display:block;background:var(--brand-white);border-radius:22px;box-shadow:var(--shadow-strong);position:relative}.admin-slots-modal__form{display:grid;grid-gap:16px;gap:16px}.admin-slots-modal__hero{min-height:180px;border-radius:18px;padding:16px;background-size:cover;background-position:50%;position:relative;display:grid;align-items:start}.admin-slots-modal__hero:after{content:"";position:absolute;inset:0;border-radius:18px;background:linear-gradient(160deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.35))}.admin-slots-modal__hero-label{position:relative;z-index:1;margin:0 auto;background:hsla(0,0%,100%,.92);border:1px solid rgba(11,74,114,.12);border-radius:999px;padding:8px 18px;font-weight:700;color:#2d8b49;text-transform:lowercase}.admin-slots-modal__section{display:grid;grid-gap:10px;gap:10px}.admin-slots-modal__label{font-weight:700;color:var(--brand-blue-dark)}.admin-slots-modal__club-row,.admin-slots-modal__trainer-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;padding:10px 12px;border-radius:14px;border:1px solid rgba(11,74,114,.12);background:rgba(11,74,114,.04)}.admin-slots-modal__club,.admin-slots-modal__trainer{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--brand-white);border:1px solid rgba(11,74,114,.12);font-weight:600;color:var(--brand-blue-dark);cursor:pointer;max-width:100%;min-width:0}.admin-slots-modal__club.is-active,.admin-slots-modal__trainer.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 2px rgba(245,196,0,.25);background:rgba(245,196,0,.12)}.admin-slots-modal__club-avatar,.admin-slots-modal__trainer-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;border:1px solid rgba(11,74,114,.2);display:grid;place-items:center;background:var(--brand-white);font-size:.7rem}.admin-slots-modal__club-avatar img,.admin-slots-modal__trainer-avatar img{width:100%;height:100%;object-fit:cover}.admin-slots-modal__club-name,.admin-slots-modal__trainer-name{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-slots-modal__date-row{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;border-radius:14px;border:1px solid rgba(11,74,114,.12);background:rgba(11,74,114,.05)}.admin-slots-modal__date-nav{width:34px;height:34px;border-radius:10px;border:none;background:var(--brand-white);box-shadow:var(--shadow-soft);color:var(--brand-blue-dark);cursor:pointer;font-size:1.1rem}.admin-slots-modal__date{display:grid;place-items:center}.admin-slots-modal__date-display,.admin-slots-modal__date-input{font-weight:700;color:var(--brand-blue-dark)}.admin-slots-modal__date-input{border:none;background:transparent}.admin-slots-modal__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px}.admin-slots-modal__card{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:16px;border:1px solid rgba(11,74,114,.12);background:rgba(11,74,114,.04);min-width:0}.admin-slots-modal__card,.admin-slots-modal__input{text-align:center;font-weight:600;color:var(--brand-blue-dark)}.admin-slots-modal__input{border:1px solid rgba(11,74,114,.18);border-radius:12px;padding:10px;background:var(--brand-white)}.admin-slots-modal__time-row{display:flex;align-items:center;justify-content:center;gap:6px}.admin-slots-modal__time-select{min-width:64px}.admin-slots-modal__time-sep{font-weight:700;color:var(--brand-blue-dark)}.admin-slots-modal__sub-label{font-size:.75rem;color:var(--ink-soft);font-weight:600;margin-top:-4px}.admin-slots-modal__pill-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}.admin-slots-modal__pill-row--time{margin-top:4px}.admin-slots-modal__pill{border:1px solid rgba(11,74,114,.2);background:var(--brand-white);color:var(--brand-blue-dark);font-weight:700;padding:4px 10px;border-radius:999px;cursor:pointer;font-size:.8rem}.admin-slots-modal__pill:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.admin-slots-modal__pill.is-active{border-color:var(--brand-yellow);box-shadow:0 0 0 2px rgba(245,196,0,.25);background:rgba(245,196,0,.12)}.admin-slots-modal__custom{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.admin-slots-modal__custom-input{width:90px;border:1px solid rgba(11,74,114,.2);border-radius:10px;padding:6px 8px;text-align:center;font-weight:700;color:var(--brand-blue-dark)}.admin-slots-modal__custom-input:disabled{opacity:.55;cursor:not-allowed}.admin-slots-modal__custom-suffix{font-weight:600;color:var(--ink-soft)}.admin-slots-modal__counter{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.admin-slots-modal__counter button{width:30px;height:30px;border-radius:10px;background:var(--brand-white);cursor:pointer}.admin-slots-modal__counter button,.admin-slots-modal__counter-input{border:1px solid rgba(11,74,114,.2);font-weight:700;color:var(--brand-blue-dark)}.admin-slots-modal__counter-input{width:70px;border-radius:10px;padding:6px 8px;text-align:center}.admin-slots-modal__field{display:grid}.admin-slots-modal__text{border:1px solid rgba(11,74,114,.18);border-radius:14px;padding:12px 14px;font-size:1rem}.admin-slots-modal__cta{border:none;border-radius:16px;padding:12px 18px;font-weight:700;font-size:1rem;background:#6fd1f3;color:#0b2f3b;cursor:pointer;box-shadow:var(--shadow-soft)}.admin-slots-modal__cta:disabled{opacity:.6;cursor:not-allowed}.admin-section{display:grid;grid-gap:16px;gap:16px}.admin-section__header{justify-content:space-between}.admin-section__actions,.admin-section__header{display:flex;align-items:center;gap:12px}.admin-section__header h2{font-size:1.1rem;color:var(--brand-blue-dark)}.admin-section__meta{font-size:.85rem;font-weight:600;color:var(--ink-soft)}.admin-form{display:grid;grid-gap:18px;gap:18px}.admin-pill-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.admin-pill-toggle input{position:absolute;opacity:0;pointer-events:none}.admin-pill-toggle span{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:999px;border:1px solid rgba(11,74,114,.2);background:rgba(11,74,114,.04);color:var(--brand-blue-dark);font-weight:700}.admin-pill-toggle input:checked+span{border-color:var(--brand-yellow);box-shadow:0 0 0 2px rgba(245,196,0,.2);background:rgba(245,196,0,.18)}.admin-form--inline{gap:12px}.admin-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px}.admin-form__field{display:grid;grid-gap:8px;gap:8px;font-weight:600;color:var(--ink)}.admin-form__input{border-radius:14px;border:1px solid rgba(11,74,114,.18);background:#fff;padding:10px 12px;font-size:.95rem;color:var(--ink)}.admin-form__input:focus{outline:2px solid rgba(245,196,0,.35);border-color:var(--brand-yellow)}.admin-form__hint{font-size:.85rem;color:var(--ink-soft)}.admin-entity-list{display:grid;grid-gap:12px;gap:12px}.admin-entity-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;align-items:end;padding:14px;border-radius:16px;border:1px solid rgba(11,74,114,.08);background:#f9fbfd}.admin-entity-row--compact{grid-template-columns:1fr auto auto;align-items:center}.admin-entity-row p{margin:4px 0 0;color:var(--ink-soft);font-size:.85rem}.admin-switch{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);padding-top:8px}.admin-switch input{accent-color:var(--brand-yellow)}.admin-assignment{display:grid;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid rgba(11,74,114,.08)}.admin-assignment:last-child{border-bottom:none}.admin-assignment h3{font-size:1rem;color:var(--brand-blue-dark)}.admin-assign-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) auto;grid-gap:12px;gap:12px;align-items:end}.admin-collapsible{border-radius:var(--radius-md);border:1px solid rgba(11,74,114,.15);background:#f9fbfd;padding:12px 16px 18px}.admin-collapsible__summary{font-weight:700;color:var(--brand-blue-dark);cursor:pointer;list-style:none}.admin-collapsible__summary::-webkit-details-marker{display:none}.admin-collapsible__summary:after{content:"v";margin-left:8px;font-size:.9rem;color:var(--ink-soft)}.admin-collapsible[open] .admin-collapsible__summary:after{content:"^"}.admin-collapsible__body{margin-top:18px;display:grid;grid-gap:24px;gap:24px}.admin-assignment-list{display:grid;grid-gap:8px;gap:8px}.admin-assignment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f6f9fb;border-radius:12px;padding:8px 12px;border:1px solid rgba(11,74,114,.08)}.admin-chip-grid{display:flex;flex-wrap:wrap;gap:10px}.admin-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(11,74,114,.18);background:#f6f9fb;font-weight:600;color:var(--brand-blue-dark)}.admin-chip input{accent-color:var(--brand-yellow)}.admin-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:14px;gap:14px}.admin-slot-card--wide{display:grid;grid-gap:10px;gap:10px}.admin-slot-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.85rem;color:var(--ink-soft)}.table{width:100%;border-collapse:collapse;margin-top:12px}.table td,.table th{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(11,74,114,.12);font-size:.95rem}.hierarchy-table{display:grid;grid-gap:10px;gap:10px}.hierarchy-create-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-radius:18px;border:1px solid rgba(245,196,0,.5);background:linear-gradient(120deg,rgba(245,196,0,.3),rgba(255,231,140,.6));box-shadow:0 18px 35px rgba(245,196,0,.25),inset 0 0 0 1px hsla(0,0%,100%,.5)}.hierarchy-create-hero h3{margin:4px 0 6px;font-size:1.15rem;font-weight:800;color:var(--brand-blue-dark)}.hierarchy-create-hero p{margin:0;font-size:.95rem;font-weight:600;color:rgba(11,74,114,.85)}.hierarchy-create-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:800;color:rgba(11,74,114,.75)}.hierarchy-create-hero__count{padding:10px 18px;border-radius:999px;background:rgba(11,74,114,.1);color:var(--brand-blue-dark);font-weight:700;font-size:.9rem;box-shadow:inset 0 0 0 1px rgba(11,74,114,.12)}.hierarchy-create-modal{width:min(700px,94vw);padding:28px;display:grid;grid-gap:16px;gap:16px;position:relative}.hierarchy-create-modal .btn-outline{color:var(--brand-blue-dark);border-color:rgba(11,74,114,.35);background:rgba(11,74,114,.08)}.hierarchy-create-modal .btn-outline:hover:not(:disabled){background:rgba(11,74,114,.16)}.hierarchy-create-modal__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.hierarchy-create-modal__header h3{margin:0 0 4px;font-size:1.25rem;font-weight:800;color:var(--brand-blue-dark)}.hierarchy-create-modal__header p{margin:0;color:var(--ink-soft);font-weight:600}.hierarchy-create-modal__count{align-self:flex-start;padding:8px 14px;border-radius:999px;background:rgba(245,196,0,.25);color:var(--brand-blue-dark);font-weight:700;font-size:.85rem;border:1px solid rgba(245,196,0,.4)}.hierarchy-create-modal__targets{display:flex;flex-wrap:wrap;gap:8px}.hierarchy-create-modal__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(11,74,114,.08);color:var(--brand-blue-dark);font-weight:600;font-size:.85rem}.hierarchy-create-modal__chip span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(11,74,114,.6)}.hierarchy-create-modal__roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px}.hierarchy-create-modal__role{border-radius:16px;border:1px solid rgba(11,74,114,.12);background:#f5f8fb;padding:12px;display:grid;justify-items:center;grid-gap:6px;gap:6px;font-weight:700;color:var(--brand-blue-dark);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.hierarchy-create-modal__role:hover{transform:translateY(-1px);border-color:rgba(11,74,114,.3);box-shadow:var(--shadow-soft)}.hierarchy-create-modal__role.is-active{border-color:rgba(245,196,0,.7);background:rgba(245,196,0,.2);box-shadow:0 10px 20px rgba(245,196,0,.2)}.hierarchy-create-modal__role-icon{width:36px;height:36px;border-radius:12px;background:rgba(11,74,114,.12);display:grid;place-items:center;font-weight:800;color:var(--brand-blue-dark)}.hierarchy-create-modal__error{margin:0;padding:10px 12px;border-radius:12px;background:rgba(255,81,81,.12);color:#b42318;font-weight:600}.hierarchy-table__header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.hierarchy-table__header.is-create-mode{padding:10px 12px;border-radius:16px;background:linear-gradient(120deg,rgba(245,196,0,.18),rgba(255,231,140,.35));border:1px solid rgba(245,196,0,.4);box-shadow:0 14px 28px rgba(245,196,0,.18)}.hierarchy-table__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.hierarchy-table__actions .btn-outline{color:var(--brand-blue-dark);border-color:rgba(11,74,114,.35);background:var(--brand-white)}.hierarchy-table__actions .btn-outline:hover:not(:disabled){background:rgba(11,74,114,.08)}.hierarchy-table__changes{font-size:.8rem;font-weight:600;color:var(--brand-blue-dark)}.hierarchy-table__meta{display:flex;justify-content:space-between;gap:12px;font-size:.85rem;color:var(--ink-soft);font-weight:600}.hierarchy-table__wrap{border-radius:var(--radius-md);border:1px solid rgba(11,74,114,.12);background:var(--brand-white);overflow:auto;max-height:70vh}.hierarchy-table__table{width:100%;border-collapse:collapse;min-width:780px}.hierarchy-table__table td,.hierarchy-table__table th{padding:10px 12px;border-bottom:1px solid rgba(11,74,114,.08);text-align:left;font-size:.9rem}.hierarchy-table__table thead th{background:#f2f6f9;font-weight:700;color:var(--brand-blue-dark)}.hierarchy-table__drag-col{width:44px}.hierarchy-table__input{width:100%;border-radius:10px;border:1px solid rgba(11,74,114,.18);padding:8px 10px;font-size:.85rem;color:var(--brand-blue-dark);background:var(--brand-white)}.hierarchy-table__input:focus{outline:2px solid rgba(245,196,0,.35);border-color:var(--brand-yellow)}.hierarchy-table__controls{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:12px;overflow-x:auto;padding-bottom:4px}.hierarchy-table__control{display:grid;grid-gap:6px;gap:6px;font-weight:600;color:var(--brand-blue-dark);font-size:.85rem;min-width:200px}.hierarchy-table__sort{border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.hierarchy-table__sort-icon{font-size:.8rem;color:var(--ink-soft)}.hierarchy-row{transition:background .2s ease}.hierarchy-row:hover{background:rgba(11,74,114,.06)}.hierarchy-row.is-drop-target{background:rgba(245,196,0,.18)}.hierarchy-row.is-drop-target td{border-bottom-color:rgba(245,196,0,.45)}.hierarchy-row.is-dragging{opacity:.45}.hierarchy-row.is-related{background:rgba(245,196,0,.16)}.hierarchy-row.is-related .hierarchy-row__label{color:var(--brand-blue-deep)}.hierarchy-row.is-related-collapsed{background:rgba(245,196,0,.06)}.hierarchy-row.is-subtree{background:rgba(11,74,114,.07)}.hierarchy-row.is-subtree .hierarchy-row__label{color:var(--brand-blue-dark)}.hierarchy-row.is-drop-disabled{opacity:.55}.hierarchy-row.is-drop-disabled .hierarchy-row__name{cursor:not-allowed}.hierarchy-row.is-editable .hierarchy-row__name,.hierarchy-row.is-targetable .hierarchy-row__name{cursor:pointer}.hierarchy-row.is-create-target{background:rgba(245,196,0,.18);border-left:3px solid rgba(245,196,0,.8)}.hierarchy-row.is-create-target .hierarchy-row__label{color:var(--brand-blue-deep)}.hierarchy-row__drag{text-align:center}.hierarchy-row__handle{display:inline-block;width:16px;height:22px;border-radius:6px;cursor:-webkit-grab;cursor:grab;background-image:radial-gradient(circle,rgba(11,74,114,.45) 1.5px,transparent 0);background-size:4px 6px;background-position:50%}.hierarchy-row__handle:active{cursor:-webkit-grabbing;cursor:grabbing}.hierarchy-create-bar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);width:min(720px,calc(100% - 32px));background:linear-gradient(120deg,rgba(245,196,0,.3),rgba(255,231,140,.7));border-radius:18px;border:1px solid rgba(245,196,0,.55);box-shadow:0 18px 35px rgba(245,196,0,.25),inset 0 0 0 1px hsla(0,0%,100%,.6);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:20}.hierarchy-create-bar__meta{font-weight:600;color:var(--brand-blue-dark)}.hierarchy-create-bar__actions{display:flex;align-items:center;gap:10px}.hierarchy-create-bar .btn-outline{color:var(--brand-blue-dark);border-color:rgba(11,74,114,.35);background:rgba(11,74,114,.08)}.hierarchy-create-bar .btn-outline:hover:not(:disabled){background:rgba(11,74,114,.18)}.hierarchy-create-bar .btn-primary{box-shadow:0 12px 24px rgba(245,196,0,.35)}.hierarchy-row__name{padding-left:0}.hierarchy-row__content{display:inline-flex;align-items:center;gap:10px}.hierarchy-row__tree{display:inline-flex;align-items:center;gap:4px;color:rgba(11,74,114,.55);min-width:18px}.hierarchy-row__tree-line{width:12px;height:18px;position:relative}.hierarchy-row__tree-line.is-branch:before{bottom:-8px}.hierarchy-row__tree-line.is-branch:before,.hierarchy-row__tree-line.is-elbow:before{content:"";position:absolute;left:50%;top:-8px;width:1px;background:rgba(11,74,114,.28)}.hierarchy-row__tree-line.is-elbow:before{bottom:50%}.hierarchy-row__tree-line.is-elbow.is-mid:before{bottom:-8px}.hierarchy-row__tree-line.is-elbow:after{content:"";position:absolute;left:50%;right:0;top:50%;height:1px;background:rgba(11,74,114,.28)}.hierarchy-row__toggle{border:none;background:rgba(11,74,114,.08);color:var(--brand-blue-dark);width:22px;height:22px;border-radius:6px;cursor:pointer;display:inline-grid;place-items:center}.hierarchy-row__toggle.placeholder{background:transparent;color:rgba(11,74,114,.25);cursor:default}.hierarchy-row__toggle-icon{width:7px;height:7px;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);transition:transform .2s ease}.hierarchy-row__toggle[data-expanded=true] .hierarchy-row__toggle-icon{transform:rotate(45deg)}.hierarchy-row__media{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:rgba(11,74,114,.08);color:var(--brand-blue-dark);font-size:.7rem;font-weight:700}.hierarchy-row__media img{width:100%;height:100%;object-fit:cover}.hierarchy-row__label{font-weight:600;color:var(--brand-blue-dark)}.hierarchy-row__meta{color:var(--ink-soft);font-size:.85rem}.hierarchy-table__hint{color:var(--ink-soft);font-weight:600}.hierarchy-table__empty,.hierarchy-table__sentinel{padding:12px;color:var(--ink-soft);text-align:center}.hierarchy-drop-modal{max-width:560px;width:min(90vw,560px)}.hierarchy-drop-modal__summary{font-weight:600;color:var(--brand-blue-dark)}.hierarchy-drop-modal__option{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--brand-blue-dark);margin:12px 0}.hierarchy-drop-modal__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.hierarchy-drop-modal__keys{font-size:.8rem;color:var(--ink-soft);margin-top:10px}.hierarchy-drop-modal .btn-outline{color:var(--brand-blue-dark);border-color:rgba(11,74,114,.35);background:var(--brand-white)}.hierarchy-drop-modal .btn-outline:hover{background:rgba(11,74,114,.08)}.modal-backdrop{position:fixed;inset:0;background:rgba(7,18,30,.5);display:grid;place-items:center;z-index:200;padding:24px}.modal-panel{width:min(720px,92vw);background:var(--brand-white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-strong);display:grid;grid-gap:16px;gap:16px}.trainer-modal{position:relative;padding:0;max-height:86vh;overflow:hidden;display:block}.trainer-modal .modal-header{padding:20px 24px 0}.trainer-modal__body{padding:0;display:block}.trainer-modal__header{position:absolute;top:16px;right:16px;z-index:4}.trainer-modal__header .btn-outline{background:hsla(0,0%,100%,.85);border-color:rgba(11,74,114,.2);box-shadow:var(--shadow-soft)}.admin-slots-modal__close,.trainer-modal__close{width:36px;height:36px;padding:0;border-radius:999px;font-size:18px;font-weight:700;line-height:1;display:grid;place-items:center;color:var(--brand-blue-dark);background:rgba(11,74,114,.12);border-color:rgba(11,74,114,.3)}.admin-slots-modal__close{position:absolute;top:14px;right:14px;z-index:2}.admin-slots-modal__close:hover,.trainer-modal__close:hover{background:rgba(11,74,114,.2);border-color:rgba(11,74,114,.45)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-tabs{display:flex;gap:8px;flex-wrap:wrap}.modal-tab{border-radius:999px;border:1px solid rgba(11,74,114,.18);background:#f5f8fb;color:var(--brand-blue-dark);padding:6px 12px;font-weight:600;cursor:pointer}.modal-tab.is-active{background:rgba(11,74,114,.12);border-color:rgba(11,74,114,.35)}.modal-body{display:grid;grid-gap:12px;gap:12px}.modal-actions{display:flex;justify-content:flex-end}.trainer-profile{display:grid;grid-gap:16px;gap:16px;animation:var(--anim-trainer-profile);--hero-progress:0}.trainer-profile__scroll{max-height:86vh;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.trainer-profile__hero{position:-webkit-sticky;position:sticky;top:0;z-index:2;text-align:center;min-height:calc(160px - 60px * var(--hero-progress));padding:calc(24px - 10px * var(--hero-progress)) 24px calc(16px - 6px * var(--hero-progress));border-radius:var(--radius-lg) var(--radius-lg) 24px 24px;background:linear-gradient(135deg,#eef4f8,#fbf2cf);border-bottom:1px solid rgba(11,74,114,.12);transition:background .3s ease}.trainer-profile__hero,.trainer-profile__hero-inner{display:grid;align-items:center;justify-items:center;width:100%}.trainer-profile__hero-inner{grid-template-columns:1fr;grid-gap:calc(12px - 4px * var(--hero-progress));gap:calc(12px - 4px * var(--hero-progress));max-width:calc(100% - 360px * var(--hero-progress));margin:0 auto}.trainer-profile__avatar{width:calc(92px - 14px * var(--hero-progress));height:calc(92px - 14px * var(--hero-progress));border-radius:calc(28px + 22px * var(--hero-progress));overflow:hidden;display:grid;place-items:center;background:rgba(11,74,114,.12);color:var(--brand-blue-dark);font-weight:700;transform:translateX(calc(clamp(-180px, -18vw, -120px) * var(--hero-progress)));transform-origin:center;will-change:transform;position:relative}.trainer-profile__avatar.is-uploading:after{content:"";position:absolute;inset:0;background:rgba(11,74,114,.2)}.trainer-profile__avatar-edit{position:absolute;bottom:4px;right:4px;width:34px;height:34px;border-radius:999px;background:var(--brand-white);border:1px solid rgba(11,74,114,.16);display:grid;place-items:center;box-shadow:var(--shadow-soft);cursor:pointer}.trainer-profile__avatar-edit input{position:absolute;inset:0;opacity:0;cursor:pointer}.trainer-profile__avatar-edit-icon{width:16px;height:16px;display:grid;place-items:center;color:var(--brand-blue-dark)}.trainer-profile__avatar-edit-icon svg{width:16px;height:16px}.trainer-profile__avatar-status{font-size:.75rem;font-weight:600;color:var(--ink-muted);margin-top:6px}.trainer-profile__avatar-error{font-size:.75rem;font-weight:600;color:#b42318;margin-top:6px}.trainer-profile__avatar img{width:100%;height:100%;object-fit:cover}.trainer-profile__heading{display:grid;grid-gap:6px;gap:6px;align-items:center;justify-items:center;text-align:center;transform:translate(calc(clamp(110px, 12vw, 140px) * var(--hero-progress)),calc(-58px * var(--hero-progress)));will-change:transform}.trainer-profile__heading h4{text-align:center;font-size:1.4rem;margin:0}.trainer-profile__role{text-transform:uppercase;font-size:.75rem;letter-spacing:.2em;color:var(--ink-muted)}.trainer-profile__heading h4{text-align:left}.trainer-profile__section{border:1px solid rgba(11,74,114,.12);border-radius:var(--radius-md);background:#f9fbfd;padding:12px 16px;position:relative}.trainer-profile__content{display:grid;grid-gap:16px;gap:16px;padding:16px 24px 24px}.trainer-profile__section summary{cursor:pointer;font-weight:600;color:var(--brand-blue-dark);display:flex;align-items:center;gap:10px;list-style:none}.trainer-profile__section summary::-webkit-details-marker{display:none}.trainer-profile__section summary:after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);transition:transform .2s ease}.trainer-profile__section[open] summary:after{transform:rotate(45deg)}.trainer-profile__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.trainer-profile__stat{background:var(--brand-white);border-radius:14px;padding:12px 14px;border:1px solid rgba(11,74,114,.08);display:grid;grid-gap:6px;gap:6px}.trainer-profile__stat span{font-size:.75rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.12em}.trainer-profile__stat strong{font-size:1.2rem;color:var(--brand-blue-dark)}.trainer-profile__certs{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.trainer-profile__cert{display:grid;grid-template-columns:72px 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:12px;border-radius:14px;background:var(--brand-white);border:1px solid rgba(11,74,114,.08);color:var(--brand-blue-dark);transition:background .2s ease,border-color .2s ease}.trainer-profile__cert.is-delete-hover{background:rgba(255,80,80,.12);border-color:rgba(255,80,80,.28)}.trainer-profile__cert-preview{width:72px;height:72px;border-radius:14px;overflow:hidden;border:1px solid rgba(11,74,114,.08);background:rgba(11,74,114,.04)}.trainer-profile__cert-preview img,.trainer-profile__cert-preview-iframe{width:100%;height:100%;object-fit:cover;border:0;pointer-events:none}.trainer-profile__cert-info{display:grid;grid-gap:4px;gap:4px}.trainer-profile__cert small{font-size:.75rem;color:var(--ink-muted)}.trainer-profile__cert-actions{display:flex;align-items:center;gap:8px}.trainer-profile__cert-action{width:32px;height:32px;border-radius:10px;border:1px solid rgba(11,74,114,.12);background:rgba(11,74,114,.04);display:grid;place-items:center;color:var(--brand-blue-dark);cursor:pointer}.trainer-profile__cert-action svg{width:16px;height:16px}.trainer-profile__cert-action--danger{color:#b42318;border-color:rgba(180,35,24,.2);background:rgba(180,35,24,.08)}.trainer-profile__confirm-backdrop{position:absolute;inset:0;background:rgba(10,20,40,.45);display:grid;place-items:center;border-radius:16px;z-index:3}.trainer-profile__confirm-card{width:min(360px,90%);background:var(--brand-white);border-radius:16px;padding:18px;box-shadow:var(--shadow-soft);display:grid;grid-gap:10px;gap:10px;color:var(--brand-blue-dark)}.trainer-profile__confirm-card p{color:var(--ink-muted);font-size:.9rem}.trainer-profile__confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.trainer-profile__confirm-delete{border:none;border-radius:12px;padding:8px 14px;font-weight:700;background:#ff6b6b;color:#2b0a0a;cursor:pointer}.trainer-profile__cert-empty{font-size:.85rem;color:var(--ink-muted)}.trainer-profile__cert-form{margin-top:12px;display:grid;grid-gap:12px;gap:12px}.trainer-profile__cert-drop{position:relative;display:grid;place-items:center;padding:24px;border-radius:18px;border:2px dashed rgba(245,155,57,.6);background:rgba(245,155,57,.08);text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease}.trainer-profile__cert-drop.is-dragging{border-color:#f59b39;background:rgba(245,155,57,.16)}.trainer-profile__cert-drop:hover{border-color:rgba(245,155,57,.9);background:rgba(245,155,57,.12)}.trainer-profile__cert-file{position:absolute;inset:0;opacity:0;cursor:pointer}.trainer-profile__cert-drop-inner{display:grid;grid-gap:6px;gap:6px;font-weight:700;color:var(--brand-blue-dark);text-transform:uppercase;letter-spacing:.12em;font-size:.85rem}.trainer-profile__cert-drop-hint{font-size:.75rem;font-weight:600;text-transform:none;letter-spacing:.06em;color:var(--ink-muted)}.trainer-profile__cert-preview{display:grid;grid-gap:10px;gap:10px;place-items:center;color:var(--brand-blue-dark)}.trainer-profile__cert-preview-media{width:86px;height:86px;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft);background:var(--brand-white)}.trainer-profile__cert-preview-media img{width:100%;height:100%;object-fit:cover}.trainer-profile__cert-preview-icon{width:86px;height:86px;border-radius:18px;display:grid;place-items:center;font-weight:800;letter-spacing:.08em;background:var(--brand-white);border:1px solid rgba(11,74,114,.1)}.trainer-profile__cert-preview-name{max-width:240px;font-size:.85rem;font-weight:600;color:var(--brand-blue-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trainer-profile__cert-progress{width:min(240px,100%);height:8px;border-radius:999px;background:rgba(11,74,114,.1);overflow:hidden}.trainer-profile__cert-progress-bar{display:block;height:100%;background:var(--brand-yellow);transition:width .2s ease}.trainer-profile__cert-progress-label{font-size:.75rem;font-weight:600;color:var(--ink-muted)}.trainer-profile__cert-error{font-size:.85rem;font-weight:600;color:#b42318}.admin-table--actions form{margin:0}.badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:.75rem;background:rgba(11,74,114,.12);color:var(--brand-blue-dark);font-weight:600}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px}.upload-card{background:var(--brand-white);border-radius:var(--radius-md);padding:20px;border:1px solid rgba(11,74,114,.12);box-shadow:var(--shadow-soft);display:grid;grid-gap:12px;gap:12px}.upload-card h3{font-family:var(--font-display);color:var(--brand-blue-dark)}.upload-card input[type=file]{padding:8px 0}.upload-card__status{font-size:.9rem;color:var(--ink-soft)}.upload-card__status--error{color:#c2482f}.upload-card__preview{border-radius:var(--radius-sm);overflow:hidden;border:1px solid rgba(11,74,114,.1)}.upload-card__preview img,.upload-card__preview video{width:100%;display:block}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-drop{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-drop-floating{0%{opacity:0;transform:translateX(-50%) translateY(-16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes hero-media-in{0%{opacity:0}to{opacity:1}}@keyframes login-logo{0%{opacity:0;transform:translateY(8px) scale(.9)}35%{opacity:1;transform:translateY(0) scale(1)}70%{opacity:1}to{opacity:0;transform:translateY(-6px) scale(.96)}}@keyframes login-panel-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes trainer-profile-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-text-in{0%{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:translateX(0)}}@keyframes hero-widget-in{0%{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}@keyframes scroll-reveal{0%{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes hero-round-in{0%{border-bottom-left-radius:0;border-bottom-right-radius:0}to{border-bottom-left-radius:var(--hero-radius);border-bottom-right-radius:var(--hero-radius)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes slide-in{0%{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}@keyframes blink{50%{opacity:.3}}@keyframes scroll-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes calendar-nudge{0%,70%,to{transform:translateY(0)}85%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.booking-widget__toggle,.landing .booking-widget,.landing-hero,.landing-hero__media,.landing-hero__scroll,.landing-hero__shade,.landing-hero__text,.nav-brand--floating,.site-header__inner{animation:none;opacity:1}.nav-brand--floating{transform:translateX(-50%)}.login-intro,.login-panel--reveal{animation:none}.login-panel--reveal{opacity:1;transform:none}.landing .booking-widget,.landing-hero__text{transform:none}.booking-widget.is-desktop-collapsed{transform:translateX(calc(100% - 20px));width:0;padding:6px}.landing-hero__scroll{transform:translateX(-50%)}}@media (max-width:1024px){.nav-actions,.nav-links{display:none}.nav-toggle{display:grid;place-items:center}.site-header__inner{border-radius:28px}.nav-logo{width:100px;height:100px;border-width:3px}.nav-brand--floating{top:6px}.site-main{padding-top:0}.landing{margin-top:0}.landing-hero{min-height:80vh;padding:160px 0 100px}.landing-hero__text{max-width:100%;margin-left:-12px}.trainer-carousel{gap:18px}.trainer-main{flex-basis:min(680px,88vw)}.trainer-preview{flex-basis:190px}.trainer-preview.is-prev{margin-left:-50px}.trainer-preview.is-next{margin-right:-50px}.service-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-hero{padding:180px 0 120px}.service-hero__content{margin-left:0}.booking-widget{top:140px;width:min(240px,40vw)}.booking-panel{right:240px;width:min(420px,58vw)}}@media (max-width:720px){.landing-hero{padding:150px 0 80px}.nav-logo{width:100px;height:100px}.nav-brand--floating{top:6px}.landing-hero__text{margin-left:0}.landing-hero__actions{flex-direction:column}.btn,.landing-hero__actions .btn{width:100%}.footer-form{flex-direction:column}.trainer-card__header{flex-direction:column;align-items:flex-start}.trainer-carousel{justify-content:center}.trainer-main{grid-template-columns:1fr;flex-basis:82vw}.trainer-preview{display:none}.trainer-card{margin:0 auto}.nav-shell{padding:10px 16px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid{grid-template-columns:1fr}.service-hero{padding:170px 0 110px}.service-body__grid{grid-template-columns:1fr}.service-hero__content{margin-left:0}.booking-widget{right:6px;bottom:88px;top:auto;width:min(340px,92vw);padding:14px;max-height:70vh}.booking-widget.is-collapsed{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px)}.booking-widget__close{display:inline-grid;place-items:center}.booking-widget__fab{display:grid}.booking-widget__cta{font-size:.7rem;padding:6px 10px}.booking-slot__date{min-width:52px;font-size:.8rem}.booking-slot__date strong{font-size:.95rem}.booking-panel{right:12px;left:12px;top:90px;width:auto;max-height:72vh}.booking-widget__more{left:12px;right:12px;bottom:-44px;top:auto;font-size:.7rem}}