@import"https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700;800&display=swap";:root{--motion-duration-micro-fast: 90ms;--motion-duration-micro: .12s;--motion-duration-ui-fast: .18s;--motion-duration-ui: .22s;--motion-duration-page-fast: .28s;--motion-duration-page: .34s;--motion-duration-reveal-fast: .38s;--motion-duration-reveal: .48s;--motion-duration-loop: .9s;--motion-ease-standard: cubic-bezier(.2, 0, 0, 1);--motion-ease-enter: cubic-bezier(.05, .7, .1, 1);--motion-ease-exit: cubic-bezier(.3, 0, .8, .15);--motion-ease-emphasized: cubic-bezier(.16, 1, .3, 1);--motion-ease-direct: cubic-bezier(.25, 1, .5, 1);--motion-press-scale: scale(.975);--motion-card-press-scale: scale(.985)}::view-transition-group(root){animation-duration:var(--motion-duration-page);animation-timing-function:var(--motion-ease-emphasized)}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-duration-ui);animation-timing-function:var(--motion-ease-standard)}::view-transition-group(hero-slot-time){animation-duration:var(--motion-duration-page);animation-timing-function:var(--motion-ease-emphasized)}::view-transition-old(hero-slot-time),::view-transition-new(hero-slot-time){height:100%;width:100%}::view-transition-group(trainer-avatar-dima),::view-transition-group(trainer-avatar-vanya),::view-transition-group(trainer-avatar-sergey),::view-transition-group(trainer-name-dima),::view-transition-group(trainer-name-vanya),::view-transition-group(trainer-name-sergey){animation-duration:var(--motion-duration-page);animation-timing-function:var(--motion-ease-emphasized)}::view-transition-old(trainer-avatar-dima),::view-transition-new(trainer-avatar-dima),::view-transition-old(trainer-avatar-vanya),::view-transition-new(trainer-avatar-vanya),::view-transition-old(trainer-avatar-sergey),::view-transition-new(trainer-avatar-sergey),::view-transition-old(trainer-name-dima),::view-transition-new(trainer-name-dima),::view-transition-old(trainer-name-vanya),::view-transition-new(trainer-name-vanya),::view-transition-old(trainer-name-sergey),::view-transition-new(trainer-name-sergey){height:100%;width:100%}.motion-pressable{transition:transform var(--motion-duration-micro-fast) var(--motion-ease-direct),background-color var(--motion-duration-micro) var(--motion-ease-standard),border-color var(--motion-duration-micro) var(--motion-ease-standard)}.motion-pressable:active:not(:disabled){transform:var(--motion-card-press-scale)}.motion-surface{transition:background-color var(--motion-duration-ui-fast) var(--motion-ease-standard),border-color var(--motion-duration-ui-fast) var(--motion-ease-standard),color var(--motion-duration-ui-fast) var(--motion-ease-standard)}.motion-tabular-nums{font-variant-numeric:tabular-nums}.button--submitting{position:relative;overflow:hidden;pointer-events:none;background:var(--brand-yellow)!important;color:#0a0d10!important;transform:var(--motion-press-scale);transition:transform var(--motion-duration-micro-fast) var(--motion-ease-direct)!important}.button--submitting:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.45) 50%,transparent 100%);transform:translate(-100%);animation:buttonProcessingSweep var(--motion-duration-loop) linear infinite}@keyframes buttonProcessingSweep{to{transform:translate(100%)}}.button--confirmed{background:var(--brand-yellow)!important;color:#111!important;font-weight:800!important;opacity:1!important;pointer-events:none;transform:none!important;transition:background-color var(--motion-duration-ui-fast) var(--motion-ease-standard),color var(--motion-duration-ui-fast) var(--motion-ease-standard)!important}.mobile-nav__indicator{position:absolute;top:0;left:6px;width:calc((100% - 12px)/5);height:2px;background:var(--brand-yellow);border-radius:1px;transition:transform var(--motion-duration-ui) var(--motion-ease-emphasized);pointer-events:none;z-index:2}@keyframes modalBackdropEnter{0%{opacity:0}to{opacity:1}}@keyframes modalContentEnter{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop{animation:modalBackdropEnter var(--motion-duration-page-fast) var(--motion-ease-enter) forwards}.modal,.modal-content{animation:modalContentEnter var(--motion-duration-page-fast) var(--motion-ease-emphasized) forwards}@keyframes guideFadeIn{0%{opacity:0}to{opacity:1}}.line-chart__guide{stroke:#ffffff40;stroke-width:1;stroke-dasharray:2 3;pointer-events:none;animation:guideFadeIn var(--motion-duration-micro) var(--motion-ease-enter) forwards}@keyframes syncBarSweep{0%{transform:translate(-100%)}to{transform:translate(200%)}}.source-item--syncing{position:relative;overflow:hidden}.source-item__sync-bar{position:absolute;bottom:0;left:0;width:50%;height:2px;background:linear-gradient(90deg,transparent,var(--brand-yellow),transparent);animation:syncBarSweep var(--motion-duration-loop) linear infinite;pointer-events:none}@keyframes timeDigitFlip{0%{opacity:.35;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.time-digit-flip{display:inline-block;animation:timeDigitFlip var(--motion-duration-ui-fast) var(--motion-ease-enter);will-change:transform,opacity}@media(prefers-reduced-motion:reduce){:root{--motion-duration-micro-fast: .01ms;--motion-duration-micro: .01ms;--motion-duration-ui-fast: .01ms;--motion-duration-ui: .01ms;--motion-duration-page-fast: .01ms;--motion-duration-page: .01ms;--motion-duration-reveal-fast: .01ms;--motion-duration-reveal: .01ms;--motion-duration-loop: .01ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.button--submitting:after,.source-item__sync-bar{display:none!important}.time-digit-flip{animation:none!important}}:root{font-family:Onest,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff;background:#111;font-synthesis:none;text-rendering:optimizeLegibility;--brand-yellow: #FFD626;--brand-yellow-pressed: #E8BE00;--brand-black: #111111;--bg-page: #111111;--surface-0: #111111;--surface-1: #191919;--surface-2: #222222;--surface-3: #2A2A2A;--surface-control: #222222;--surface-subtle: #141414;--surface-interactive: rgba(255, 255, 255, .05);--surface-interactive-pressed: rgba(255, 255, 255, .1);--surface-selected: rgba(255, 214, 38, .1);--surface-selected-border: rgba(255, 214, 38, .35);--surface-elevated: #191919;--divider-subtle: rgba(255, 255, 255, .08);--divider-strong: rgba(255, 255, 255, .16);--divider-accent: rgba(255, 214, 38, .35);--border-dark: #2F2F2F;--border-subtle: #242424;--text-primary: #FFFFFF;--text-secondary: #C7C7C7;--text-muted: #929292;--text-tertiary: #929292;--text-eyebrow: .75rem;--text-metadata: .8125rem;--text-body: 1rem;--text-section-title: clamp(18px, 4vw, 20px);--text-page-title: clamp(28px, 5vw, 32px);--text-hero-time: clamp(44px, 8.5vw, 52px);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-none: 0px;--radius-sm: 2px;--radius-control: 4px;--radius-modal: 8px;--radius-card: 0px;--radius-pill: 4px;--status-positive: #4ADE80;--status-warning: #FBBF24;--status-danger: #F87171;--page-max: 430px}*{box-sizing:border-box}html{min-width:320px;background:#111;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:#111;color:#fff;overflow-x:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0;overflow-wrap:break-word;word-break:break-word}h1,h2,h3,strong{letter-spacing:-.03em}h1{margin-bottom:0;font-size:clamp(28px,5vw,32px);line-height:1.1;font-weight:800}h2{margin-bottom:0;font-size:clamp(18px,4vw,20px);line-height:1.25;font-weight:750}p{line-height:1.5;font-size:1rem}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:2px}::selection{color:#111;background:var(--brand-yellow)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow,.text-eyebrow{margin-bottom:var(--space-1);color:var(--text-muted);font-size:var(--text-eyebrow);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.page-title{margin:0;font-size:var(--text-page-title);line-height:1.1;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;overflow-wrap:break-word}.section-title{margin:0;font-size:var(--text-section-title);line-height:1.25;font-weight:750;color:var(--text-primary);letter-spacing:-.02em;overflow-wrap:break-word}.hero-number,.hero-time{font-size:var(--text-hero-time);line-height:1;font-weight:850;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.divider{width:100%;height:1px;background:var(--divider-subtle);border:0;margin:0;flex-shrink:0}.divider--strong{background:var(--divider-strong)}.divider--accent{background:var(--divider-accent)}.divider--vertical{width:1px;height:auto;align-self:stretch}.section-divider{margin:var(--space-6) 0}.has-divider-bottom{border-bottom:1px solid var(--divider-subtle)}.page{width:100%;max-width:var(--page-max);margin:0 auto;padding:12px 16px calc(88px + max(12px,env(safe-area-inset-bottom,0px)))}.page>section+section{margin-top:var(--space-6)}.ui-section{display:flex;flex-direction:column;width:100%;padding:0;background:transparent;border:0}.ui-section--spacious{padding:0;margin-top:var(--space-8)}.ui-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.ui-section-header__title{font-size:1.05rem;font-weight:750;letter-spacing:-.02em;color:var(--text-primary);text-transform:uppercase}.ui-section-header__eyebrow{margin-bottom:2px;color:var(--text-muted);font-size:var(--text-eyebrow);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px;margin-bottom:var(--space-6)}.page-intro{max-width:580px;margin:-10px 0 20px;color:var(--text-secondary);font-size:.88rem;line-height:1.45}.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}.section-header h2{font-size:.95rem;font-weight:750;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary)}.interactive-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:var(--space-3) var(--space-2);background:transparent;border:0;border-bottom:1px solid var(--divider-subtle);color:var(--text-primary);text-decoration:none;cursor:pointer;text-align:left;border-radius:var(--radius-control);transition:background-color var(--motion-duration-micro) var(--motion-ease-standard),border-color var(--motion-duration-micro) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct);-webkit-user-select:none;user-select:none}.interactive-row:active:not(:disabled){transform:var(--motion-press-scale);background:var(--surface-interactive-pressed)}.interactive-row:hover:not(:disabled){background:var(--surface-interactive)}.interactive-row.is-selected{background:var(--surface-selected);border-color:var(--surface-selected-border)}.interactive-row:disabled{opacity:.45;cursor:not-allowed}.hero-metric{display:flex;flex-direction:column;gap:2px}.hero-metric__eyebrow{font-size:var(--text-eyebrow);font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:2px}.hero-metric__value-row{display:flex;align-items:baseline;gap:var(--space-2)}.hero-metric__value{font-size:clamp(2rem,7.5vw,2.6rem);font-weight:850;line-height:1;letter-spacing:-.04em;color:var(--text-primary);font-variant-numeric:tabular-nums}.hero-metric__unit{font-size:.95rem;font-weight:600;color:var(--text-muted)}.hero-metric__delta{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:650}.metadata-text{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.82rem;color:var(--text-secondary);line-height:1.4}.metadata-bullet{color:var(--divider-strong);-webkit-user-select:none;user-select:none}.status-text{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:650;letter-spacing:.01em}.status-text--positive{color:var(--status-positive)}.status-text--warning{color:var(--status-warning)}.status-text--danger{color:var(--status-danger)}.status-text--neutral{color:var(--text-muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:var(--surface-interactive);border:1px solid var(--divider-subtle);color:var(--text-secondary)}.status-badge--positive{color:var(--status-positive);background:#4ade801a;border-color:#4ade8040}.status-badge--warning{color:var(--status-warning);background:#fbbf241a;border-color:#fbbf2440}.status-badge--danger{color:var(--status-danger);background:#f871711a;border-color:#f8717140}.button{display:inline-flex;min-height:48px;padding:0 18px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-control);font-weight:800;font-size:.88rem;letter-spacing:.02em;line-height:1;cursor:pointer;transition:background-color var(--motion-duration-micro) var(--motion-ease-standard),border-color var(--motion-duration-micro) var(--motion-ease-standard),color var(--motion-duration-micro) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct);-webkit-user-select:none;user-select:none}.button:active:not(:disabled){transform:var(--motion-press-scale)}.button--primary{color:#111;background:var(--brand-yellow);border-color:transparent;box-shadow:none}.button--primary:hover{background:var(--brand-yellow-pressed)}.button--secondary{color:var(--text-primary);background:var(--surface-interactive);border-color:var(--divider-strong)}.button--secondary:hover{background:var(--surface-interactive-pressed)}.button--ghost{color:var(--text-secondary);background:transparent;border-color:transparent}.button--ghost:hover{color:var(--text-primary);background:var(--surface-interactive)}.button--danger{color:#fff;background:#6b2a26;border-color:#8d3b35}.button--danger:hover{background:#7b302b}.button:disabled:not(.button--confirmed):not(.button--submitting){color:var(--text-muted);background:var(--surface-interactive);border-color:var(--divider-subtle);cursor:not-allowed;opacity:.5}.button--confirmed,.button:disabled.button--confirmed{opacity:1!important;background:var(--brand-yellow)!important;color:#111!important;font-weight:800!important;cursor:default;transform:none!important}.button--submitting,.button:disabled.button--submitting{opacity:.85;cursor:wait}.card{border:1px solid var(--border-dark);border-radius:var(--radius-card);background:var(--surface-1)}.text-button{min-height:44px;padding:0 4px;color:var(--brand-yellow);background:none;border:0;font-weight:650;font-size:.82rem;cursor:pointer}.back-link{display:inline-flex;min-height:44px;align-items:center;gap:6px;margin-bottom:16px;color:var(--text-secondary);font-size:.88rem;font-weight:600}.back-link:hover{color:var(--text-primary)}.brand-logo{display:inline-flex;min-height:44px;align-items:center;gap:10px;border-radius:4px}.brand-mark{display:inline-block;flex:0 0 auto;width:40px;height:40px;overflow:hidden;border-radius:4px}.brand-mark svg{display:block;width:100%;height:100%}.brand-mark--sm{width:36px;height:36px}.brand-mark--lg{width:68px;height:68px}.brand-wordmark{display:flex;flex-direction:column;color:#fff;background:transparent;font-family:Onest,Inter,system-ui,sans-serif;font-size:15px;font-weight:800;line-height:1.15;letter-spacing:.04em}.mobile-app-viewport{width:100%;min-height:100vh;min-height:100dvh;display:flex;justify-content:center;background:var(--brand-black)}.app-shell,.admin-shell{width:100%;max-width:430px;min-height:100vh;min-height:100dvh;background:var(--brand-black);position:relative;display:flex;flex-direction:column}@media(min-width:431px){.app-shell,.admin-shell{border-left:1px solid var(--border-dark);border-right:1px solid var(--border-dark);box-shadow:0 0 60px #000c}}.app-content{flex:1 0 auto;width:100%}.mobile-header{position:sticky;z-index:40;top:0;display:flex;min-height:calc(52px + env(safe-area-inset-top,0px));padding:max(4px,env(safe-area-inset-top,0px)) 16px 4px;align-items:center;justify-content:flex-start;background:var(--brand-black);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.mobile-header__back{display:inline-flex;min-height:44px;align-items:center;gap:6px;color:var(--brand-yellow);font-size:.88rem;font-weight:600}.mobile-header__back:hover{color:var(--brand-yellow-pressed)}.mobile-header__city{margin-left:auto;font-size:.88rem;font-weight:600;color:var(--text-secondary)}.mobile-nav{position:fixed;z-index:50;right:auto;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;display:grid;height:calc(60px + env(safe-area-inset-bottom,0px));padding:4px 6px max(6px,env(safe-area-inset-bottom,0px));grid-template-columns:repeat(5,1fr);background:var(--brand-black);border-top:1px solid var(--border-subtle);box-shadow:0 -8px 24px #0000007f}@media(min-width:431px){.mobile-nav{border-left:1px solid var(--border-dark);border-right:1px solid var(--border-dark)}}.mobile-nav__item{display:flex;min-width:48px;min-height:44px;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:var(--text-tertiary);border-radius:var(--radius-control);font-size:.75rem;font-weight:600;letter-spacing:.02em;transition:color var(--motion-duration-micro) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline:none}.mobile-nav__item:focus:not(:focus-visible){outline:none;box-shadow:none}.mobile-nav__item:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:-2px}.mobile-nav__item:active{transform:var(--motion-press-scale)}.mobile-nav__item.is-active{color:var(--brand-yellow)}.mobile-nav__item.is-active .mobile-nav__icon{stroke-width:2.2px}.mobile-nav__icon{stroke-width:1.9px}.mobile-nav__label{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.toast{position:fixed;z-index:70;right:auto;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;width:calc(100% - 32px);max-width:398px;min-height:50px;padding:10px 14px;align-items:center;gap:10px;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-control);box-shadow:0 14px 40px #0006}.toast>svg{color:var(--status-positive)}.toast span{flex:1;font-weight:600}.toast button{display:grid;min-width:44px;min-height:44px;width:44px;height:44px;place-items:center;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-control);cursor:pointer}.toast button:hover{color:var(--text-primary)}.skeleton{overflow:hidden;background:var(--surface-2);border-radius:var(--radius-control)}.loading-stack{display:grid;gap:16px;padding:24px 16px}.skeleton--title{width:58%;height:42px}.skeleton--hero{height:270px}.skeleton--row{height:76px}.home-page{display:flex;flex-direction:column;gap:14px;padding-top:10px;padding-bottom:84px}.home-page>.home-section+.home-section{margin-top:0}.home-section{width:100%}.home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:var(--space-2)}.home-header__greeting{display:flex;flex-direction:column;gap:2px;min-width:0}.home-header__eyebrow{margin-bottom:0;color:var(--text-muted);font-size:var(--text-eyebrow);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.home-user-name{margin:0;font-size:clamp(1.75rem,6.5vw,2.25rem);line-height:1.1;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;word-break:break-word}.home-location-btn{display:inline-flex;min-height:44px;padding:4px 6px;align-items:center;gap:5px;background:transparent;border:0;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;border-radius:var(--radius-control);transition:color var(--motion-duration-micro) var(--motion-ease-standard),background-color var(--motion-duration-micro) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct);-webkit-user-select:none;user-select:none;flex-shrink:0}.home-location-btn:hover{color:var(--text-primary);background:var(--surface-interactive)}.home-location-btn:active{color:var(--brand-yellow);background:var(--surface-interactive-pressed);transform:var(--motion-press-scale)}.home-location-btn__pin{color:var(--brand-yellow);flex-shrink:0}.home-location-btn__city{max-width:clamp(90px,30vw,130px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-location-btn__chevron{color:var(--text-muted);flex-shrink:0;transition:transform var(--motion-duration-micro) var(--motion-ease-standard)}.home-location-btn:hover .home-location-btn__chevron{color:var(--text-secondary);transform:translate(2px)}.club-badge{display:inline-flex;min-height:44px;padding:4px 8px;align-items:center;gap:5px;background:transparent;border:0;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;border-radius:var(--radius-control);-webkit-user-select:none;user-select:none;flex-shrink:0}.club-badge__pin{color:var(--brand-yellow);flex-shrink:0}.club-badge__city{max-width:clamp(90px,30vw,130px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-badge__chevron{color:var(--text-muted);flex-shrink:0}.hero-workout{position:relative;display:flex;flex-direction:column;padding:var(--space-2) 0;background:transparent;border:0}.hero-workout__header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:var(--space-2)}.hero-workout__eyebrow{margin-bottom:0;color:var(--text-tertiary);font-size:var(--text-eyebrow);font-weight:700;letter-spacing:.06em;text-transform:none}.hero-workout__eyebrow--confirmed{display:inline-flex;align-items:center;gap:5px;color:var(--status-positive);text-transform:uppercase;letter-spacing:.08em}.hero-workout__capacity-hint{font-size:.82rem;font-weight:600;color:var(--text-secondary);letter-spacing:-.01em}.hero-workout__capacity-hint--full{color:var(--status-danger)}.hero-workout__time-wrap{margin:var(--space-1) 0 var(--space-3)}.hero-workout__time{margin:0;color:var(--text-primary);font-size:clamp(2.4rem,9.2vw,3.25rem);line-height:1;font-weight:850;letter-spacing:-.045em;font-variant-numeric:tabular-nums;white-space:nowrap}.hero-workout__time--muted{color:var(--text-muted)}.hero-workout__details{margin-bottom:var(--space-6)}.hero-workout__details--empty{margin-bottom:var(--space-4)}.hero-workout__title{margin:0 0 4px;font-size:clamp(1.15rem,4vw,1.35rem);font-weight:750;line-height:1.2;color:var(--text-primary);letter-spacing:-.015em}.hero-workout__meta{margin:0;color:var(--text-secondary);font-size:.9rem;font-weight:500;line-height:1.35}.hero-workout__actions{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.hero-workout__cta{width:100%;min-height:52px;font-size:1rem;font-weight:700;letter-spacing:-.01em;border-radius:var(--radius-control)}.hero-workout__secondary-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:4px 12px;color:var(--text-secondary);font-size:.88rem;font-weight:600;text-decoration:none;border-radius:var(--radius-control);transition:color var(--motion-duration-micro) var(--motion-ease-standard)}.hero-workout__secondary-link:hover{color:var(--text-primary)}.hero-workout__secondary-link:active{color:var(--brand-yellow);transform:var(--motion-press-scale)}.hero-workout__notice{display:flex;align-items:center;gap:6px;color:var(--status-danger);font-size:.84rem;font-weight:600;margin-bottom:var(--space-1)}.hero-workout__notice--error{color:var(--status-danger);font-size:1rem;font-weight:700;margin-bottom:var(--space-1)}.hero-workout--error .hero-workout__meta{color:var(--text-secondary)}.main-card--booked{cursor:default}.card-secondary-link{display:inline-flex;min-height:44px;align-items:center;gap:4px;color:var(--text-secondary);font-size:.85rem;font-weight:600;text-decoration:none}.card-secondary-link:hover{color:var(--text-primary)}.capacity-section{display:flex;flex-direction:column;padding:var(--space-2) 0;background:transparent;border:0}.capacity-section__header{margin-bottom:var(--space-2)}.capacity-section__eyebrow{margin-bottom:0;color:var(--text-muted);font-size:var(--text-eyebrow);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.capacity-section__hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:var(--space-2)}.capacity-section__metric{display:flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums;flex-shrink:0}.capacity-section__occupied{font-size:clamp(2rem,8vw,2.5rem);line-height:1;font-weight:850;letter-spacing:-.03em;color:var(--text-primary)}.capacity-section__divider{font-size:1.15rem;font-weight:500;color:var(--text-muted);margin:0 1px}.capacity-section__limit{font-size:1.15rem;font-weight:600;color:var(--text-secondary)}.capacity-segments{display:flex;align-items:center;gap:4px;flex:1;max-width:200px}.capacity-segment{flex:1;height:6px;border-radius:var(--radius-sm);transition:background-color var(--motion-duration-ui-fast) var(--motion-ease-emphasized),border-color var(--motion-duration-ui-fast) var(--motion-ease-emphasized)}.capacity-segment.is-filled{background:var(--brand-yellow)}.capacity-segment.is-empty{background:var(--surface-2);border:1px solid var(--border-subtle)}.capacity-segment.is-full-segment{background:var(--status-danger)}.capacity-section__note{margin:0;font-size:.84rem;font-weight:500;color:var(--text-secondary);line-height:1.35}.gym-news-feed{display:flex;flex-direction:column;padding:var(--space-2) 0 var(--space-4);background:transparent;border:0;width:100%}.gym-news-feed__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--space-3)}.gym-news-feed__eyebrow{margin-bottom:0;color:var(--text-muted);font-size:var(--text-eyebrow);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.gym-news-feed__channel-link{display:inline-flex;min-height:44px;align-items:center;gap:5px;padding:4px 6px;color:var(--text-secondary);font-size:.82rem;font-weight:600;text-decoration:none;border-radius:var(--radius-control);transition:color var(--motion-duration-micro) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct)}.gym-news-feed__channel-link:hover{color:var(--brand-yellow)}.gym-news-feed__channel-link:active{transform:var(--motion-press-scale)}.gym-news-feed__channel-link svg:first-child{color:#2aabee}.gym-news-feed__post{display:flex;flex-direction:column}.gym-news-feed__author{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-3)}.gym-news-feed__avatar{width:38px;height:38px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;color:var(--brand-yellow);flex-shrink:0}.gym-news-feed__author-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.gym-news-feed__author-name{font-size:.92rem;font-weight:750;color:var(--text-primary);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gym-news-feed__author-role{font-size:.78rem;font-weight:500;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gym-news-feed__media-wrap{position:relative;width:100%;aspect-ratio:16 / 9;max-height:240px;border-radius:var(--radius-none);overflow:hidden;background:var(--surface-1);margin-bottom:var(--space-3)}.gym-news-feed__media{width:100%;height:100%;object-fit:cover;display:block}.gym-news-feed__body{margin-bottom:var(--space-3)}.gym-news-feed__text{margin:0;font-size:.9rem;line-height:1.48;color:var(--text-secondary);white-space:pre-line}.gym-news-feed__toggle-btn{background:transparent;border:0;color:var(--brand-yellow);font-size:.84rem;font-weight:600;padding:4px 0;margin-top:4px;cursor:pointer}.gym-news-feed__toggle-btn:hover{text-decoration:underline}.gym-news-feed__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:var(--space-2)}.gym-news-feed__pagination{display:flex;align-items:center;gap:2px}.gym-news-feed__nav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-control);transition:color var(--motion-duration-micro) var(--motion-ease-standard),background-color var(--motion-duration-micro) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct)}.gym-news-feed__nav-btn:hover{color:var(--text-primary)}.gym-news-feed__nav-btn:active{color:var(--text-primary);background:var(--surface-interactive-pressed);transform:var(--motion-press-scale)}.gym-news-feed__nav-btn:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:-2px}.gym-news-feed__dots-indicator,.gym-news-feed__dots{display:flex;align-items:center;gap:6px;padding:0 4px}.gym-news-feed__dot{width:6px;height:6px;border-radius:50%;background:var(--surface-3);border:0;padding:0;display:inline-block;pointer-events:none;transition:background-color var(--motion-duration-micro) var(--motion-ease-standard),transform var(--motion-duration-micro) var(--motion-ease-standard)}.gym-news-feed__dot.is-active{background:var(--brand-yellow);transform:scale(1.3)}.gym-news-feed__post-link{display:inline-flex;min-height:44px;align-items:center;gap:5px;padding:4px 8px;color:var(--text-secondary);font-size:.84rem;font-weight:600;text-decoration:none;border-radius:var(--radius-control);transition:color var(--motion-duration-micro) var(--motion-ease-standard)}.gym-news-feed__post-link:hover{color:var(--brand-yellow)}.gym-news-feed__post-link svg{color:#2aabee}.gym-news-feed__fallback{padding:var(--space-4) 0;display:flex;flex-direction:column;gap:var(--space-3)}.gym-news-feed__fallback-text{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.gym-news-feed__btn{align-self:flex-start}.club-modal h2{font-size:1.25rem;margin:4px 0 12px}.club-modal__details{display:flex;flex-direction:column;gap:8px;color:var(--text-secondary);font-size:.88rem;line-height:1.45}.club-modal__details strong{color:var(--text-primary)}.schedule-page{max-width:780px}.schedule-page .page-header{margin-bottom:14px}.schedule-page .page-header h1{font-size:clamp(1.6rem,6.2vw,1.85rem);line-height:1.15;letter-spacing:-.025em}.schedule-page .page-header .eyebrow{margin-bottom:2px;font-size:.72rem;letter-spacing:.08em}.schedule-filter{display:flex;min-height:48px;padding:4px 12px;align-items:center;justify-content:space-between;margin:-4px 0 14px;color:#0a0d10;background:var(--brand-yellow);border-radius:var(--radius-control);font-weight:700;font-size:.84rem}.schedule-filter button{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;color:#0a0d10;background:#0a0d1026;border:0;border-radius:var(--radius-control);font-size:.8125rem;font-weight:750;cursor:pointer;transition:background-color var(--motion-duration-micro) var(--motion-ease-standard)}.schedule-filter button:hover{background:#0a0d1040}.date-strip{position:relative;display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;margin:0 -16px 14px;padding-left:16px;padding-right:16px;scrollbar-width:none}.date-strip::-webkit-scrollbar{display:none}.date-strip__selection-surface{position:absolute;top:0;left:0;height:66px;background:var(--brand-yellow);border-radius:var(--radius-control);transition:transform var(--motion-duration-ui) var(--motion-ease-emphasized);pointer-events:none;z-index:1}.date-strip__item{position:relative;z-index:2;flex:0 0 52px;min-width:52px;min-height:66px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-control);color:var(--text-secondary);cursor:pointer;scroll-snap-align:start;-webkit-user-select:none;user-select:none;transition:color var(--motion-duration-ui-fast) var(--motion-ease-standard),border-color var(--motion-duration-ui-fast) var(--motion-ease-standard),background-color var(--motion-duration-ui-fast) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct)}.date-strip__item:active{transform:var(--motion-press-scale)}.date-strip__weekday{font-size:.7rem;font-weight:700;letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;transition:color var(--motion-duration-ui-fast) var(--motion-ease-standard)}.date-strip__day{font-size:1.15rem;font-weight:850;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums;transition:color var(--motion-duration-ui-fast) var(--motion-ease-standard)}.date-strip__item.is-active{background:transparent;border-color:transparent;color:#0a0d10}.date-strip__item.is-active .date-strip__weekday{color:#0a0d10bf}.date-strip__item.is-active .date-strip__day{color:#0a0d10}.schedule-day-title{display:flex;align-items:center;gap:8px;margin:14px 0 10px}.schedule-day-title__icon{color:var(--brand-yellow);flex-shrink:0}.schedule-day-title h2{margin:0;font-size:.92rem;font-weight:650;color:var(--text-primary);letter-spacing:-.01em}.slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;width:100%}.slot-list__item{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--border-subtle)}.slot-list__item:first-child{border-top:1px solid var(--border-subtle)}.time-slot{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:14px 4px;background:transparent;border:none;border-radius:var(--radius-control);text-decoration:none;color:inherit;box-sizing:border-box;width:100%;transition:background-color var(--motion-duration-ui-fast) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.time-slot.is-available{cursor:pointer}.time-slot.is-available:hover{background:var(--surface-1)}.time-slot.is-available:active{background:var(--surface-2);transform:var(--motion-press-scale)}.time-slot:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:-2px}.time-slot__time-col{display:flex;flex-direction:column;gap:2px;min-width:0;flex-shrink:0}.time-slot__interval{font-size:clamp(1.3125rem,4.8vw,1.45rem);font-weight:700;color:var(--text-primary);line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.time-slot__duration{font-size:.8125rem;font-weight:500;color:var(--text-secondary);line-height:1.3}.time-slot__status-col{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;padding-right:12px;text-align:right;min-width:0}.time-slot__occupancy{display:inline-flex;align-items:center;gap:5px;font-size:.875rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.time-slot__occupancy svg{color:var(--text-muted)}.time-slot__status{font-size:.875rem;font-weight:600;line-height:1.3;letter-spacing:.01em;overflow-wrap:break-word;word-break:normal}.time-slot__status.is-positive{color:var(--status-positive)}.time-slot__status.is-warning{color:var(--status-warning)}.time-slot__status.is-full,.time-slot__status.is-blocked,.time-slot__status.is-past{color:var(--text-muted)}.time-slot__affordance{display:grid;place-items:center;color:var(--text-muted);flex-shrink:0;transition:transform var(--motion-duration-micro) var(--motion-ease-standard),color var(--motion-duration-micro) var(--motion-ease-standard)}.time-slot.is-available:hover .time-slot__affordance{color:var(--brand-yellow);transform:translate(2px)}.time-slot.is-disabled{background:transparent;cursor:default;opacity:1}.time-slot.is-disabled .time-slot__interval{color:var(--text-secondary)}.time-slot.is-disabled .time-slot__duration,.time-slot.is-disabled .time-slot__occupancy{color:var(--text-muted)}.time-slot.is-disabled .time-slot__occupancy svg{color:var(--text-muted)}.time-slot.is-disabled .time-slot__status,.time-slot.is-disabled .time-slot__status.is-full,.time-slot.is-disabled .time-slot__status.is-blocked{color:var(--text-secondary)}.time-slot.is-disabled .time-slot__status.is-past{color:var(--text-muted)}.time-slot.is-disabled .time-slot__status-col{padding-right:0}.schedule-state,.schedule-state-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 16px;background:transparent;border:none;margin:12px 0}.schedule-state__icon,.schedule-state-card__icon{margin-bottom:12px;color:var(--text-muted)}.schedule-state--error .schedule-state__icon,.schedule-state-card--error .schedule-state-card__icon{color:var(--status-danger)}.schedule-state__title,.schedule-state-card__title{margin:0 0 6px;font-size:1.125rem;font-weight:750;color:var(--text-primary)}.schedule-state__text,.schedule-state-card__text{margin:0 0 20px;font-size:.9375rem;color:var(--text-secondary);line-height:1.45;max-width:300px}.date-strip-skeleton{display:flex;gap:8px;overflow:hidden;margin:0 -16px 14px;padding:0 16px 6px}.date-strip-skeleton__item{flex:0 0 54px;min-width:54px;height:70px;border-radius:var(--radius-control)}.schedule-day-title-skeleton{margin:14px 0 10px}.time-slot-skeleton{width:100%;height:66px;border-radius:var(--radius-control)}.schedule-note{margin:16px 0 0;color:#8e8e93;font-size:.76rem;font-weight:500;text-align:center}.trainers-page{max-width:var(--shell-max, 430px);margin:0 auto}.trainers-page .page-header{margin-bottom:8px}.trainers-page .page-intro{margin:0 0 24px;color:var(--text-secondary);font-size:.94rem;line-height:1.45}.trainer-list,.trainer-grid,.trainer-list__item{display:flex;flex-direction:column}.trainer-list__divider{width:100%;height:1px;background:var(--border-subtle);margin:28px 0}.trainer-entity,.trainer-card{display:flex;flex-direction:column;background:transparent;border:none;padding:0}.trainer-entity__identity-link,.trainer-card__header{display:flex;align-items:flex-start;gap:16px;text-decoration:none;color:inherit;border-radius:var(--radius-control);padding:4px 0;min-height:56px;-webkit-user-select:none;user-select:none;transition:opacity var(--motion-duration-micro) var(--motion-ease-standard)}.trainer-entity__identity-link:focus-visible,.trainer-card__header:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:4px}.trainer-entity__identity-link:hover .trainer-entity__arrow,.trainer-card__header:hover .trainer-card__arrow{color:var(--brand-yellow);transform:translate(3px)}.trainer-entity__identity-link:hover .trainer-avatar,.trainer-card__header:hover .trainer-avatar{border-color:var(--brand-yellow)}.trainer-avatar{width:56px;height:56px;min-width:56px;min-height:56px;border-radius:var(--radius-control);background:var(--surface-2);border:1.5px solid var(--border-dark);display:grid;place-items:center;flex-shrink:0;transition:border-color var(--motion-duration-micro) var(--motion-ease-standard)}.trainer-avatar__initial,.trainer-avatar__initials{color:var(--brand-yellow);font-size:1.5rem;font-weight:850;letter-spacing:-.02em;line-height:1;font-family:Onest,system-ui,sans-serif}.trainer-entity__identity-text,.trainer-card__identity{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.trainer-entity__role,.trainer-card__role{font-size:.72rem;font-weight:750;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.trainer-entity__name,.trainer-card__name{margin:0;font-size:clamp(1.65rem,5.2vw,1.95rem);font-weight:800;color:var(--text-primary);letter-spacing:-.025em;line-height:1.15;overflow-wrap:break-word;word-break:normal;white-space:normal}.trainer-entity__arrow,.trainer-card__arrow{display:grid;place-items:center;color:var(--text-muted);margin-left:auto;margin-top:6px;flex-shrink:0;transition:transform var(--motion-duration-micro) var(--motion-ease-standard),color var(--motion-duration-micro) var(--motion-ease-standard)}.trainer-entity__specialties,.trainer-card__specialties{margin-top:14px}.trainer-entity__spec-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.trainer-entity__spec-item{display:flex;align-items:baseline;gap:8px;font-size:.94rem;line-height:1.4;color:var(--text-secondary)}.trainer-entity__bullet{color:var(--brand-yellow);font-weight:700;font-size:1.1rem;line-height:1;flex-shrink:0}.trainer-entity__disclosure-btn{display:inline-flex;align-items:center;background:transparent;border:none;color:var(--brand-yellow);font-family:inherit;font-size:.88rem;font-weight:600;padding:8px 0;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;transition:opacity var(--motion-duration-micro) var(--motion-ease-standard)}.trainer-entity__disclosure-btn:hover{opacity:.85}.trainer-entity__disclosure-btn:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:2px}.trainer-entity__actions{margin-top:16px}.trainer-entity__schedule-btn,.trainer-card__cta{width:auto;min-height:44px;height:44px;padding:0 20px;font-size:.9rem;font-weight:700;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center}.trainers-state{padding:24px 0;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.trainers-state__message{margin:0;font-size:.95rem;line-height:1.45;color:var(--text-secondary)}.trainers-state--error .trainers-state__message{color:#fca5a5}.trainers-state__btn{min-height:44px;height:44px;gap:8px}.trainer-entity-skeleton{padding:8px 0}.trainer-entity-skeleton__header{display:flex;gap:16px;align-items:center}.trainer-entity-skeleton__avatar{width:56px;height:56px;border-radius:var(--radius-control)}.trainer-entity-skeleton__text{display:flex;flex-direction:column}.trainer-card-skeleton{width:100%;height:164px;border-radius:var(--radius-control)}.self-training-row,.self-training-section{margin-top:32px;padding-top:28px;border-top:1px solid var(--border-subtle)}.self-training-row{display:flex;flex-direction:column;gap:16px}@media(min-width:360px){.self-training-row{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}}.self-training-row__info,.self-training-card__info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.self-training-row__eyebrow,.self-training-card__eyebrow{font-size:.68rem;font-weight:750;letter-spacing:.08em;color:var(--text-muted);margin-bottom:0;text-transform:uppercase}.self-training-row__title,.self-training-card__title{margin:0;font-size:1.05rem;font-weight:750;color:var(--text-primary);line-height:1.25}.self-training-row__desc,.self-training-card__desc{margin:0;font-size:.84rem;color:var(--text-secondary);line-height:1.35}.self-training-row__btn,.self-training-card__btn{min-height:44px;height:44px;padding:0 16px;font-size:.88rem;font-weight:700;white-space:nowrap;flex-shrink:0;border-radius:var(--radius-control);display:inline-flex;align-items:center;gap:8px}.trainer-detail-page{max-width:430px;margin:0 auto;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.trainer-detail-page .back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;height:44px;margin-bottom:12px;color:var(--text-secondary);font-size:.92rem;font-weight:600;text-decoration:none;transition:color var(--motion-duration-micro) var(--motion-ease-standard)}.trainer-detail-page .back-link:hover{color:var(--text-primary)}.trainer-detail-page .back-link:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:4px}.trainer-hero{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.trainer-hero .trainer-avatar,.trainer-hero__avatar{width:64px;height:64px;min-width:64px;min-height:64px;border-radius:var(--radius-control);background:var(--surface-2);border:1.5px solid var(--border-dark)}.trainer-hero .trainer-avatar__initials,.trainer-hero .trainer-avatar__initial{font-size:1.75rem;font-weight:850}.trainer-hero__info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.trainer-hero__eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:0}.trainer-hero__name,.trainer-hero h1{margin:0;font-size:clamp(2rem,6.2vw,2.35rem);font-weight:800;color:var(--text-primary);letter-spacing:-.025em;line-height:1.15;overflow-wrap:break-word;word-break:normal;white-space:normal}.trainer-profile-cta{width:100%;min-height:48px;height:48px;font-size:1rem;font-weight:750;margin-bottom:24px}.trainer-profile-unsupported-note{margin-bottom:24px;padding:12px 14px;background:var(--surface-1);border-left:3px solid var(--brand-yellow);border-radius:var(--radius-control)}.trainer-profile-unsupported-note__text{margin:0;font-size:.88rem;line-height:1.4;color:var(--text-secondary)}.trainer-profile-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--border-subtle)}.trainer-profile-section__title{margin:0 0 12px;font-size:clamp(1.125rem,4vw,1.25rem);font-weight:750;color:var(--text-primary);letter-spacing:-.01em}.trainer-directions__list,.direction-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.trainer-directions__item,.direction-list li{display:flex;align-items:baseline;gap:8px;font-size:.95rem;line-height:1.45;color:var(--text-secondary)}.trainer-directions__bullet{color:var(--brand-yellow);font-weight:700;font-size:1.1rem;line-height:1;flex-shrink:0}.trainer-about{background:transparent;border:none;padding:0}.trainer-about__text,.trainer-about p{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.55}.trainer-channel{display:flex;flex-direction:column;gap:8px}.trainer-channel__header{display:flex;flex-direction:column;gap:2px}.trainer-channel__eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.08em;color:var(--brand-yellow);text-transform:uppercase;margin-bottom:0}.trainer-channel__title{margin:0;font-size:1.05rem;font-weight:750;color:var(--text-primary)}.trainer-channel__desc{margin:0 0 10px;font-size:.88rem;color:var(--text-secondary);line-height:1.45}.trainer-channel__btn{width:auto;align-self:flex-start;min-height:44px;height:44px;padding:0 18px;font-size:.88rem;font-weight:600;text-decoration:none}.trainer-next-slot-row,.next-slot-card{display:flex;flex-direction:column;gap:12px;padding:0;background:transparent;border:none}@media(min-width:360px){.trainer-next-slot-row,.next-slot-card{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}}.trainer-next-slot-row__info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.trainer-next-slot-row__label{font-size:.72rem;font-weight:750;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.trainer-next-slot-row__time{font-size:.98rem;font-weight:700;color:var(--text-primary)}.trainer-next-slot-row__desc{margin:0;font-size:.9rem;color:var(--text-secondary)}.trainer-next-slot-row--error .trainer-next-slot-row__desc{color:#fca5a5}.trainer-next-slot-row__btn{min-height:44px;height:44px;padding:0 20px;font-size:.88rem;font-weight:700;align-self:flex-start}@media(min-width:360px){.trainer-next-slot-row__btn{align-self:center;flex-shrink:0}}.trainer-hero--skeleton{align-items:center}.trainer-hero__avatar-skeleton{width:64px;height:64px;border-radius:var(--radius-control);flex-shrink:0}.trainer-profile-state{padding:32px 0;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.trainer-profile-state__message{margin:0;font-size:.95rem;line-height:1.5;color:var(--text-secondary)}.trainer-profile-state--error .trainer-profile-state__message{color:#fca5a5}.trainer-profile-state__btn{min-height:44px;height:44px;gap:8px}.training-details-page{max-width:680px;padding-bottom:calc(96px + max(16px,env(safe-area-inset-bottom,0px)))}.training-details__status-wrap{margin-bottom:12px}.training-details__status{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:var(--radius-control);font-size:.74rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.training-details__status--confirmed{color:var(--status-positive);background:#4ade801f;border:1px solid rgba(74,222,128,.28)}.training-details__status--ongoing{color:var(--brand-yellow);background:#ffd6261f;border:1px solid rgba(255,214,38,.28)}.training-details__status--completed{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border-dark)}.training-details__status--cancelled{color:var(--status-danger);background:#f871711f;border:1px solid rgba(248,113,113,.28)}.training-details__status--past{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border-dark)}.training-details__status--new{color:var(--brand-yellow);background:#ffd6261f;border:1px solid rgba(255,214,38,.28)}.training-details__header{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.training-details__eyebrow{margin-bottom:2px;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.training-details__date{margin:0 0 6px;font-size:1.12rem;font-weight:750;color:var(--text-secondary);letter-spacing:-.01em}.training-details__time{margin:0;font-size:clamp(2.15rem,8.2vw,3.15rem);line-height:1;font-weight:850;letter-spacing:-.04em;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.training-details__info{display:flex;flex-direction:column;gap:4px;margin-top:10px}.training-details__title{margin:0;font-size:1.25rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.training-details__meta{margin:0;font-size:.92rem;font-weight:600;color:var(--text-secondary)}.training-details__capacity{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--text-muted);font-size:.8rem;font-weight:600}.training-details__capacity svg{color:var(--text-muted)}.training-details__facts{display:flex;flex-direction:column;gap:6px;margin-top:10px}.training-details__meta-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.92rem;font-weight:600;color:var(--text-secondary)}.training-details__dot{color:var(--text-muted)}.training-details__divider{width:100%;height:1px;background:var(--border-subtle);margin:22px 0}.training-guidance{display:flex;flex-direction:column;gap:12px}.training-guidance__header{display:flex;align-items:center;gap:6px}.training-guidance__icon{color:var(--brand-yellow);flex-shrink:0}.training-guidance__title{margin:0;font-size:.72rem;font-weight:750;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.training-guidance__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.training-guidance__item{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--text-secondary);line-height:1.4}.training-guidance__marker{width:4px;height:4px;border-radius:1px;background:var(--brand-yellow);margin-top:7px;flex-shrink:0}.training-cancellation{display:flex;flex-direction:column;gap:12px}.training-cancellation__policy{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.4}.training-cancellation__warning-box{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fbbf2414;border:1px solid rgba(251,191,36,.28);border-radius:var(--radius-control);color:var(--text-primary)}.training-cancellation__warning-box svg{color:var(--status-warning);flex-shrink:0;margin-top:2px}.training-cancellation__warning-box p{margin:0;font-size:.8rem;line-height:1.4;color:var(--text-secondary)}.training-details__action-btn,.training-details__cancel-btn{width:100%}.button--destructive{color:#f87171;background:#f871710f;border:1px solid rgba(248,113,113,.28)}.button--destructive:hover{color:#fca5a5;background:#f8717124;border-color:#f871717a}.cancel-confirm-modal{padding:22px 20px;text-align:left}.cancel-confirm-modal h2{margin:0 0 8px;font-size:1.25rem;font-weight:800;color:var(--text-primary)}.cancel-confirm-modal__text{margin:0 0 20px;font-size:.88rem;color:var(--text-secondary);line-height:1.45}.cancel-confirm-modal__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cancel-confirm-modal__actions .button{width:100%}.booking-page{max-width:680px}.booking-title{margin-bottom:20px}.booking-slot-summary{padding:20px}.booking-slot-summary>div{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.booking-slot-summary>div:first-child svg{color:var(--brand-yellow)}.booking-slot-summary>strong{display:block;margin:20px 0;font-size:clamp(2.5rem,12vw,4rem);line-height:.95;font-weight:800;letter-spacing:-.065em;font-variant-numeric:tabular-nums}.booking-slot-summary__capacity{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:var(--text-primary);font-weight:650}.booking-client-profile{border:0;padding:0;margin:0 0 24px;min-width:0}.booking-client-profile .form-group+.form-group{margin-top:12px}.booking-mode{margin:0}.booking-mode__title{margin:0 0 12px;font-size:.78rem;font-weight:750;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.booking-options{display:grid;gap:8px}.booking-option{display:flex;min-height:56px;padding:12px 16px;align-items:center;justify-content:space-between;gap:14px;color:var(--text-primary);text-align:left;background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-control);cursor:pointer;position:relative;transition:background-color var(--motion-duration-ui) var(--motion-ease-emphasized),border-color var(--motion-duration-ui) var(--motion-ease-emphasized),transform var(--motion-duration-micro-fast) var(--motion-ease-direct);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.booking-option.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.booking-option__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.booking-option:has(.booking-option__input:focus-visible){outline:2px solid var(--brand-yellow);outline-offset:2px}.booking-option:active{transform:var(--motion-card-press-scale)}.booking-option:hover:not(.is-selected){border-color:#45556d;background:var(--surface-2)}.booking-option.is-selected{border-color:var(--brand-yellow);background:#ffd62614}.booking-option__content{display:flex;flex-direction:column;gap:3px;min-width:0}.booking-option__name{font-size:.95rem;font-weight:750;color:var(--text-primary);letter-spacing:-.01em}.booking-option__subtitle{font-size:.8rem;font-weight:500;color:var(--text-secondary);line-height:1.3}.booking-option.is-selected .booking-option__name{color:#fff}.booking-option.is-selected .booking-option__subtitle{color:#e2e8f0}.booking-option__radio{display:grid;width:22px;height:22px;place-items:center;flex-shrink:0;color:#0a0d10;background:transparent;border:1.5px solid var(--border-dark);border-radius:var(--radius-control);transition:background-color var(--motion-duration-ui) var(--motion-ease-emphasized),border-color var(--motion-duration-ui) var(--motion-ease-emphasized),transform var(--motion-duration-ui-fast) var(--motion-ease-emphasized)}.booking-option.is-selected .booking-option__radio{background:var(--brand-yellow);border-color:var(--brand-yellow);color:#0a0d10}.booking-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.booking-submit-btn{width:100%}.confirmed-label{display:flex;min-height:46px;align-items:center;justify-content:center;gap:8px;color:var(--status-positive);font-weight:650}.inline-error,.inline-note{padding:12px 14px;margin:0 0 14px;border-radius:var(--radius-control);font-size:.88rem}.inline-error{color:#f4c4c0;background:#341b19;border:1px solid #63322e}.inline-note{color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-dark)}.progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-stat{display:flex;min-height:116px;padding:14px 16px;align-items:flex-start;flex-direction:column;justify-content:space-between}.summary-stat__icon{color:var(--brand-yellow)}.summary-stat strong{margin-top:10px;font-size:2.2rem;line-height:1;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.summary-stat span{margin-top:4px;color:var(--text-secondary);font-size:.78rem;line-height:1.3}.weight-card{padding:18px;margin:12px 0 22px}.weight-card__value{display:flex;align-items:baseline;gap:6px;margin:16px 0 10px}.weight-card__value strong{font-size:3.2rem;line-height:1;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.weight-card__value span{color:var(--text-secondary);font-size:1.1rem;font-weight:600}.metric-change{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;font-size:.74rem;font-weight:700;color:#d1d1d6;background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-control);font-variant-numeric:tabular-nums;white-space:nowrap}.metric-change svg{color:#a3a3a3;flex-shrink:0}.chart-period-selector{position:relative;display:flex;align-items:center;gap:2px;background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-control);padding:2px;margin:10px 0 14px;min-height:48px;-webkit-user-select:none;user-select:none}.chart-period__surface{position:absolute;top:2px;left:0;height:calc(100% - 4px);background:var(--brand-yellow);border-radius:calc(var(--radius-control) - 2px);transition:transform var(--motion-duration-ui) var(--motion-ease-emphasized);pointer-events:none;z-index:1}.chart-period-btn{position:relative;z-index:2;flex:1;min-height:44px;height:44px;padding:6px 8px;background:transparent;border:0;border-radius:calc(var(--radius-control) - 2px);color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.02em;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--motion-duration-ui-fast) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct)}.chart-period-btn:active{transform:var(--motion-press-scale)}.chart-period-btn.is-active{color:#0a0d10}.line-chart{width:100%;margin-top:6px}.line-chart__canvas-wrap{position:relative;width:100%;height:120px;touch-action:pan-y;cursor:crosshair}.line-chart__empty-period{display:flex;align-items:center;justify-content:center;height:120px;color:var(--text-muted);font-size:.82rem;font-weight:500;border:1px dashed var(--border-dark);border-radius:var(--radius-control)}.line-chart__svg{display:block;width:100%;height:100%;overflow:visible}.line-chart__baseline{stroke:#262626;stroke-width:1;stroke-dasharray:4 4}.line-chart__guide{stroke:#ffd62666;stroke-width:1.5;stroke-dasharray:2 2;pointer-events:none}.line-chart__line{fill:none;stroke:var(--brand-yellow);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.line-chart__dot{fill:var(--brand-black);stroke:var(--brand-yellow);stroke-width:2;vector-effect:non-scaling-stroke;transition:r var(--motion-duration-micro) var(--motion-ease-standard),fill var(--motion-duration-micro) var(--motion-ease-standard);pointer-events:none}.line-chart__dot.is-active{fill:var(--brand-yellow);stroke:#fff;stroke-width:2.5}.line-chart__labels{display:flex;justify-content:space-between;margin-top:6px;color:#8e8e93;font-size:.72rem;font-variant-numeric:tabular-nums}.chart-readout{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:10px 12px;background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-control)}.chart-readout__nav-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.chart-readout__nav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;background:transparent;border:0;color:var(--text-secondary);border-radius:var(--radius-control);cursor:pointer;transition:color var(--motion-duration-micro) var(--motion-ease-standard),opacity var(--motion-duration-micro) var(--motion-ease-standard)}.chart-readout__nav-btn:hover:not(:disabled){color:var(--text-primary)}.chart-readout__nav-btn:disabled{opacity:.25;cursor:not-allowed}.chart-readout__date{font-size:.84rem;font-weight:600;color:var(--text-secondary);text-align:center;font-variant-numeric:tabular-nums;overflow-wrap:break-word}.chart-readout__data-row{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:4px;border-top:1px solid var(--divider-subtle)}.chart-readout__val{font-size:1.4rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.chart-readout__provenance{font-size:.78rem;font-weight:500;color:var(--text-muted);overflow-wrap:break-word;max-width:100%}.chart-data-disclosure{margin-top:10px;width:100%}.chart-data-disclosure__btn{display:inline-flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px 12px;background:transparent;border:1px solid var(--border-dark);border-radius:var(--radius-control);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:background-color var(--motion-duration-micro) var(--motion-ease-standard),color var(--motion-duration-micro) var(--motion-ease-standard)}.chart-data-disclosure__btn:hover{background:var(--surface-2);color:var(--text-primary)}.chart-data-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto;border:1px solid var(--border-dark);border-radius:var(--radius-control);background:var(--surface-1)}.chart-data-list__item{padding:0}.chart-data-list__btn{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:8px 12px;background:transparent;border:0;border-bottom:1px solid var(--divider-subtle);color:var(--text-primary);text-align:left;cursor:pointer;transition:background-color var(--motion-duration-micro) var(--motion-ease-standard)}.chart-data-list__item:last-child .chart-data-list__btn{border-bottom:0}.chart-data-list__btn:hover{background:var(--surface-2)}.chart-data-list__btn.is-selected{background:#ffd6261f;border-left:3px solid var(--brand-yellow)}.chart-data-list__date{font-size:.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.chart-data-list__right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.chart-data-list__val{font-size:.92rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.chart-data-list__source{font-size:.72rem;color:var(--text-muted)}.line-chart--empty{min-height:80px;display:grid;place-items:center}.line-chart__empty-text{color:var(--text-muted);font-size:.82rem}.metric-list{display:grid;gap:9px}.metric-row{display:flex;min-height:76px;padding:14px 16px;align-items:center;justify-content:space-between;gap:14px}.metric-row__info{display:flex;flex-direction:column;gap:4px}.metric-row__info span{color:var(--text-secondary);font-size:.8rem}.metric-row__info strong{font-size:1.35rem;font-weight:750;font-variant-numeric:tabular-nums}.data-note{margin:20px 0 0;color:#8e8e93;font-size:.76rem;line-height:1.45}.progress-weight-section{padding:var(--space-4) 0}.progress-weight-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:8px}.progress-weight-hero{margin-bottom:6px}.progress-metrics-section{padding:var(--space-3) 0}.cardless-metric-list{display:flex;flex-direction:column;width:100%}.cardless-metric-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--divider-subtle)}.cardless-metric-row:last-child{border-bottom:0}.cardless-metric-row__info{display:flex;flex-direction:column;gap:2px}.cardless-metric-row__name{font-size:.92rem;font-weight:600;color:var(--text-primary)}.cardless-metric-row__provenance{font-size:.74rem;color:var(--text-muted)}.cardless-metric-row__values{display:flex;align-items:center;gap:10px}.cardless-metric-row__val{font-size:1.15rem;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.summary-stat-skeleton{min-height:116px;border-radius:var(--radius-card)}.weight-card-skeleton{min-height:200px;margin:12px 0 22px;border-radius:var(--radius-card)}.metric-row-skeleton{min-height:76px;border-radius:var(--radius-card)}.profile-page{max-width:var(--page-max)}.profile-identity,.profile-identity-section{display:flex;flex-direction:row;flex-wrap:wrap;padding:8px 0 16px;align-items:center;gap:16px;background:transparent;border:0}.profile-avatar{display:grid;width:52px;height:52px;place-items:center;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-control);flex-shrink:0}.profile-identity__info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.profile-identity__info .eyebrow{margin-bottom:2px}.profile-identity__name{margin:0;font-size:clamp(1.5rem,5vw,1.75rem);font-weight:800;letter-spacing:-.025em;color:var(--text-primary);line-height:1.15;overflow-wrap:break-word;word-break:normal}.profile-identity__city{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:.875rem}.membership-card,.membership-section{padding:12px 0;background:transparent;border:0}.membership-card__head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.membership-card__icon{display:grid;width:44px;height:44px;place-items:center;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-control);flex-shrink:0}.membership-card__meta .eyebrow{margin-bottom:2px}.membership-card__title{font-size:1.05rem;font-weight:750;margin:0;color:var(--text-primary);line-height:1.25}.membership-card__body{display:flex;flex-direction:column;gap:12px}.membership-card__main-stat{display:flex;flex-direction:column;gap:4px}.membership-card__stat-row{display:flex;align-items:baseline;gap:8px}.membership-card__big-number{font-size:clamp(2.25rem,7vw,2.5rem);line-height:1;font-weight:850;letter-spacing:-.04em;color:var(--brand-yellow);font-variant-numeric:tabular-nums}.membership-card__status-text{font-size:1.2rem;font-weight:750;color:var(--text-primary);line-height:1.2}.membership-card__stat-total{font-size:1rem;font-weight:600;color:var(--text-secondary)}.membership-card__stat-label{font-size:.875rem;color:var(--text-secondary);line-height:1.3}.membership-card__expiry{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-secondary);background:transparent;border:0;padding:0;font-variant-numeric:tabular-nums}.membership-card__warning-badge{margin-top:4px;padding:8px 12px;background:#ffd6261a;border:1px solid rgb(255 214 38 / 30%);border-radius:var(--radius-control);font-size:.8125rem;color:var(--brand-yellow);font-weight:650}.membership-card--empty{padding:12px 0}.membership-card__empty-text{margin:4px 0 0;color:var(--text-secondary);font-size:.85rem;line-height:1.45}.history-list{overflow:hidden}.cardless-history-list{background:transparent;border:0;border-radius:0;padding:0}.cardless-history-list .history-row{padding:12px 0}.history-row{display:flex;min-height:56px;padding:12px 0;align-items:center;justify-content:space-between;gap:16px}.history-row+.history-row{border-top:1px solid var(--border-dark)}.history-row__datetime{display:flex;flex-direction:column;gap:2px;min-width:0;flex-shrink:0}.history-row__date{font-size:.9rem;font-weight:650;color:var(--text-primary)}.history-row__time{color:var(--text-secondary);font-size:.78rem;font-variant-numeric:tabular-nums}.history-row__trainer{color:var(--text-secondary);font-size:.85rem;font-weight:550;text-align:right;white-space:normal;word-break:normal;overflow-wrap:break-word;max-width:220px}.history-list--empty{padding:22px 16px}.cardless-history-empty{background:transparent;border:1px dashed var(--border-dark);border-radius:var(--radius-control)}.history-empty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.history-empty__text{color:var(--text-secondary);font-size:.88rem;margin:0}.settings-list{overflow:hidden;margin-top:8px}.cardless-settings-list{background:transparent;border:0;border-radius:0;padding:0;margin-top:0}.cardless-settings-list .settings-row{padding:12px 0}.settings-row{display:grid;width:100%;min-height:48px;padding:12px 0;align-items:center;grid-template-columns:auto 1fr auto;gap:14px;color:var(--text-primary);text-align:left;background:transparent;border:0;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--motion-duration-micro) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct)}.settings-row:hover{background:#ffffff05}.settings-row:active:not(.is-disabled){background:#ffffff0a;transform:var(--motion-press-scale)}.settings-row+.settings-row{border-top:1px solid var(--border-dark)}.settings-row>svg{color:var(--brand-yellow);flex-shrink:0}.settings-row>span:not(.switch):not(.settings-badge){display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.95rem;font-weight:650}.settings-row small{color:var(--text-secondary);font-size:.78rem;font-weight:400}.settings-row.is-disabled{opacity:.7;cursor:default}.settings-row.is-disabled>svg{color:var(--text-muted)}.settings-badge{display:inline-flex;align-items:center;padding:3px 8px;background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-control);font-size:.72rem;font-weight:600;color:var(--text-secondary)}.history-modal{max-height:85vh;display:flex;flex-direction:column}.history-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.history-modal__header h2{font-size:1.15rem;margin:0;font-weight:750}.history-modal__body{overflow-y:auto;max-height:calc(85vh - 80px);-webkit-overflow-scrolling:touch;padding:0}.profile-identity-skeleton{min-height:80px;border-radius:var(--radius-card)}.membership-skeleton{min-height:120px;border-radius:var(--radius-card);margin:16px 0}.history-skeleton{min-height:160px;border-radius:var(--radius-card);margin-top:16px}.not-found-page{display:grid;min-height:calc(100vh - 150px);place-items:center}.not-found-page .card{width:100%;max-width:480px;padding:28px;text-align:center}.not-found-page__code{display:block;margin-bottom:12px;color:var(--brand-yellow);font-size:4rem;line-height:1;font-weight:800}.not-found-page p{color:var(--text-secondary)}.not-found-page .button{width:100%;margin-top:10px}.admin-main{width:100%;padding:16px 16px calc(60px + env(safe-area-inset-bottom,0px))}.admin-header{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px}.admin-header span{display:block;margin-top:4px;color:var(--text-secondary);font-size:.84rem}.admin-header .button{width:100%;min-height:44px}.admin-section+.admin-section{margin-top:26px}.admin-section__header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.admin-section__header h2{margin-bottom:4px;font-size:1.05rem}.admin-section__header p{margin:0;color:var(--text-secondary);font-size:.78rem}.timeline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.timeline-grid button,.timeline-slot-btn{display:flex;min-height:100px;padding:10px;align-items:flex-start;flex-direction:column;color:var(--text-primary);text-align:left;background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-control);cursor:pointer;transition:background var(--motion-duration-micro, .15s) ease,border-color var(--motion-duration-micro, .15s) ease}.timeline-grid button:focus-visible,.timeline-slot-btn:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:2px}.timeline-grid button>span,.timeline-slot-btn__time{color:var(--text-secondary);font-size:.8125rem}.timeline-grid button strong,.timeline-slot-btn__count{margin:auto 0 4px;font-size:1.25rem;font-variant-numeric:tabular-nums}.timeline-grid button small,.timeline-slot-btn__status{color:var(--status-positive);font-size:.75rem;line-height:1.2}.timeline-grid button.is-full,.timeline-slot-btn.is-full{background:var(--surface-1);border-color:var(--border-dark)}.timeline-grid button.is-full strong,.timeline-slot-btn.is-full strong{color:var(--text-secondary)}.timeline-grid button.is-full small,.timeline-slot-btn.is-full small{color:var(--text-muted)}.timeline-grid button.is-closed,.timeline-slot-btn.is-closed{background:#231817;border-color:#5e2d29}.timeline-grid button.is-closed strong,.timeline-grid button.is-closed small,.timeline-slot-btn.is-closed strong,.timeline-slot-btn.is-closed small{color:var(--status-danger)}.timeline-grid button:disabled,.timeline-slot-btn:disabled{opacity:.6;cursor:not-allowed}.closed-badge{display:inline-flex;padding:5px 8px;align-items:center;gap:5px;color:#f1c0bc;background:#321a18;border-radius:var(--radius-sm);font-size:.72rem}.admin-bookings-container{overflow:hidden;background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-control)}.admin-bookings-list{list-style:none;margin:0;padding:0}.admin-booking-item{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px 14px;min-height:56px}@media(max-width:360px){.admin-booking-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;padding:10px 12px}.admin-booking-item__time{font-size:1.05rem;order:1}.admin-booking-item .status{order:2;margin-left:auto;flex-shrink:0}.admin-booking-item__info{order:3;width:100%;margin-top:2px;gap:2px}.admin-booking-item__client{font-size:.9375rem;line-height:1.3;word-break:normal;overflow-wrap:break-word}.admin-booking-item__trainer{font-size:.8125rem;word-break:normal;overflow-wrap:break-word;white-space:normal}}.admin-booking-item+.admin-booking-item{border-top:1px solid var(--border-dark)}.admin-booking-item__time{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.admin-booking-item__info{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-booking-item__client{font-size:.9375rem;font-weight:600;color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;line-height:1.25}.admin-booking-item__trainer{font-size:.8125rem;color:var(--text-secondary)}.admin-bookings-empty{padding:24px 16px;text-align:center;background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-control);color:var(--text-secondary);font-size:.9rem}.admin-table{overflow:hidden;background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-control)}.admin-table__head{display:none}.admin-table__row{display:grid;padding:12px 14px;grid-template-columns:56px 1fr;gap:6px 10px;align-items:center;min-height:54px;font-size:.84rem}.admin-table__row+.admin-table__row{border-top:1px solid var(--border-dark)}.admin-table__row .status{grid-column:2;justify-self:start}.status{width:max-content;padding:5px 8px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:650;white-space:nowrap}.status--arrived{color:var(--status-positive);background:#7ccb881f}.status--confirmed{color:#ddd;background:#292929}.status--cancelled{color:var(--status-danger);background:#ef44441f}.capacity-control{display:flex;padding:16px;align-items:flex-start;flex-direction:column;gap:14px;background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-control)}.capacity-control__header{display:flex;align-items:center;gap:12px}.capacity-control__icon{color:var(--brand-yellow);flex-shrink:0}.capacity-control h2{margin-bottom:3px;font-size:1rem}.capacity-control p{margin:0;color:var(--text-secondary);font-size:.78rem}.capacity-control__stepper{display:flex;align-items:center;border:1px solid var(--border-dark);border-radius:var(--radius-control);overflow:hidden}.capacity-control__btn{width:44px;height:44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);background:var(--surface-2);border:0;font-size:1.25rem;font-weight:600;cursor:pointer;transition:background-color var(--motion-duration-micro, .15s) ease}.capacity-control__btn:hover:not(:disabled){background:var(--surface-3, #333)}.capacity-control__btn:disabled{opacity:.35;cursor:not-allowed}.capacity-control__btn:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:-2px}.capacity-control__output{display:grid;width:52px;height:44px;place-items:center;font-size:1.25rem;font-weight:750;font-variant-numeric:tabular-nums;background:var(--surface-1)}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px));place-items:center;background:#000000d1}.modal,.modal-content{position:relative;width:min(100%,398px);max-height:calc(100dvh - max(32px,env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px)));overflow-y:auto;padding:20px;background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-modal);box-shadow:0 16px 40px #0009}.modal h2{margin-bottom:8px}.modal>p,.modal__subtitle{color:var(--text-secondary);font-size:.88rem;margin-bottom:12px}.modal__close{position:absolute;top:10px;right:10px;display:grid;min-width:44px;min-height:44px;width:44px;height:44px;place-items:center;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-control);cursor:pointer}.modal__close:hover{color:var(--text-primary);background:var(--surface-2)}.modal form,.modal label,.add-client-form{display:grid;gap:12px}.modal label{color:var(--text-secondary);font-size:.82rem}.modal input{width:100%;min-height:48px;padding:0 13px;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-control);font-size:.95rem}.modal input:focus-visible{outline:2px solid var(--brand-yellow);border-color:var(--brand-yellow)}.modal input:disabled{opacity:.5;cursor:not-allowed}.modal form .button,.add-client-form .button{margin-top:6px;min-height:44px}.progress-header-actions{display:flex;align-items:center;gap:8px}.progress-action-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;height:44px;padding:0 12px;font-size:.8rem;font-weight:600;border-radius:var(--radius-control);cursor:pointer;transition:background-color var(--motion-duration-micro) var(--motion-ease-standard),border-color var(--motion-duration-micro) var(--motion-ease-standard),color var(--motion-duration-micro) var(--motion-ease-standard),transform var(--motion-duration-micro-fast) var(--motion-ease-direct);white-space:nowrap}.progress-action-btn--sources{color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-dark)}.progress-action-btn--sources:hover{background:var(--surface-3);border-color:#444}.progress-action-btn--add{color:#111;background:var(--brand-yellow);border:1px solid var(--brand-yellow)}.progress-action-btn--add:hover{background:var(--brand-yellow-pressed)}.metric-provenance{margin:-4px 0 10px;color:var(--text-muted);font-size:.74rem;font-weight:500}.metric-row__provenance{display:block;margin-top:3px;color:var(--text-muted);font-size:.72rem;font-weight:400}.line-chart__tooltip-source{display:block;margin-top:2px;color:var(--text-muted);font-size:.68rem;font-weight:400;white-space:nowrap}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.modal-header h3{margin:0;font-size:1.25rem;font-weight:750;color:var(--text-primary)}.modal-subtitle{margin:4px 0 0;font-size:.8rem;color:var(--text-secondary)}.icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-control);cursor:pointer;transition:color var(--motion-duration-micro) var(--motion-ease-standard),background-color var(--motion-duration-micro) var(--motion-ease-standard)}.icon-button:hover{color:var(--text-primary);background:var(--surface-2)}.measurement-form{display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:var(--text-secondary);font-size:.8rem;font-weight:550}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-input{width:100%;height:46px;padding:0 12px;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-control);font-size:.95rem;transition:border-color var(--motion-duration-micro) var(--motion-ease-standard)}.form-input:focus{border-color:var(--brand-yellow);outline:none}.form-error{padding:10px 12px;font-size:.8rem;color:var(--status-danger);background:#e16b621a;border:1px solid rgb(225 107 98 / 30%);border-radius:var(--radius-control)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.modal-success-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 12px}.success-icon-badge{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:var(--status-positive);background:#7ccb8826;margin-bottom:14px}.modal-success-state h4{margin:0 0 6px;font-size:1.2rem;font-weight:700}.modal-success-state p{margin:0;color:var(--text-secondary);font-size:.85rem}.spin-icon{animation:spin var(--motion-duration-loop) linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.health-sources-body{display:flex;flex-direction:column;gap:20px}.sources-section__title{margin:0 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.sources-list{display:flex;flex-direction:column;gap:8px}.source-item{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-card)}.source-item__icon-wrap{display:grid;place-items:center;width:40px;height:40px;color:var(--brand-yellow);background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-control);flex-shrink:0}.source-item__info{flex:1;min-width:0}.source-item__info strong{display:block;font-size:.95rem;font-weight:650;color:var(--text-primary);margin-bottom:2px}.source-item__info span{display:block;font-size:.76rem;color:var(--text-secondary);line-height:1.25}.source-item__action{flex-shrink:0}.button--sm{min-height:44px;padding:0 12px;font-size:.78rem}.source-connected-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.source-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:650}.source-badge.is-connected{color:var(--status-positive);background:#7ccb8826}.source-badge.is-soon{color:var(--text-muted);background:var(--surface-3);border:1px solid var(--border-dark)}.source-disconnect-btn{padding:0;color:var(--text-muted);background:none;border:none;font-size:.72rem;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:color var(--motion-duration-micro) var(--motion-ease-standard),text-decoration-color var(--motion-duration-micro) var(--motion-ease-standard)}.source-disconnect-btn:hover{color:var(--status-danger);text-decoration-color:var(--status-danger)}.sources-empty{font-size:.8rem;color:var(--text-muted);margin:4px 0}.health-privacy-note{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-control);color:var(--text-secondary)}.health-privacy-note svg{color:var(--brand-yellow);flex-shrink:0;margin-top:2px}.health-privacy-note p{margin:0;font-size:.75rem;line-height:1.4}.permission-explainer-card{display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--surface-2);border:1px solid var(--border-dark);border-radius:var(--radius-control)}.permission-explainer__header{display:flex;align-items:center;gap:10px}.permission-explainer__header h4{margin:0;font-size:1.05rem;font-weight:700}.permission-shield-icon{color:var(--brand-yellow)}.permission-alert-icon{color:var(--status-danger)}.permission-explainer__text{margin:0;color:var(--text-secondary);font-size:.83rem;line-height:1.45}.permission-requested-data{background:var(--surface-1);border:1px solid var(--border-dark);border-radius:var(--radius-control);padding:12px}.permission-requested-data strong{display:block;font-size:.78rem;color:var(--text-primary);margin-bottom:8px}.permission-requested-data ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.permission-requested-data li{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-secondary)}.permission-requested-data li svg{color:var(--status-positive);flex-shrink:0}.bridge-notice-box{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f0b84a1f;border:1px solid rgb(240 184 74 / 30%);border-radius:var(--radius-control);color:var(--text-primary)}.bridge-notice-box svg{color:var(--status-warning);flex-shrink:0;margin-top:2px}.bridge-notice-box p{margin:0;font-size:.76rem;line-height:1.35}.permission-explainer__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.integrations-page{max-width:720px}.integrations-counter{font-size:.76rem;font-weight:700;color:var(--brand-yellow);background:#ffd6261f;border:1px solid rgba(255,214,38,.28);padding:4px 10px;border-radius:var(--radius-control);letter-spacing:.02em}.integrations-intro{margin:-10px 0 18px;color:var(--text-secondary);font-size:.84rem;line-height:1.45}.integrations-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.integration-item{padding:14px 16px;border-radius:var(--radius-card);background:var(--surface-1);border:1px solid var(--border-dark);display:flex;flex-direction:column;gap:10px;transition:border-color var(--motion-duration-micro) var(--motion-ease-standard),background-color var(--motion-duration-micro) var(--motion-ease-standard)}.integration-item.is-connected{border-color:#3b4b5f}.integration-item:hover{border-color:#4a5b73}.integration-item__head{display:flex;align-items:center;gap:12px}.integration-item__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border-dark);color:var(--brand-yellow);flex-shrink:0}.integration-item__meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.integration-item__category{font-size:.68rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.integration-item__name{margin:0;font-size:1rem;font-weight:750;color:var(--text-primary);letter-spacing:-.01em}.integration-item__desc{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.integration-item__footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border-subtle)}.integration-status{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:600}.integration-status--active{color:var(--status-positive)}.integration-status--idle{color:var(--text-muted)}.integrations-actions{display:flex;flex-direction:column;gap:10px;align-items:center}.integrations-sync-btn{width:100%}.integrations-feedback{text-align:center;width:100%}.spin-animation{animation:spin var(--motion-duration-loop) linear infinite}@media(max-width:360px){.date-strip{gap:4px}.date-strip button{min-width:44px;min-height:64px;padding:6px 4px}.date-strip button strong{font-size:1rem}.mobile-nav a{min-width:44px;font-size:.6rem}.progress-header-actions{gap:4px}.progress-action-btn{min-height:44px;height:44px;padding:0 8px;font-size:.74rem}.time-slot{padding:12px 2px}.time-slot__interval{font-size:1.25rem}.time-slot__status-col{padding-right:6px}.time-slot__occupancy,.time-slot__status{font-size:.8125rem}}
