@layer base{:where([data-gym-auth]) :where(button,[data-slot=button]){min-width:44px;min-height:44px}:where([data-gym-auth]) :where([data-slot=input]){min-height:44px}}[data-gym-auth] input[data-slot=input]{font-size:max(1rem,16px)}[data-gym-auth] [data-slot=toggle-group]{flex-wrap:wrap}[data-gym-auth] :focus-visible{scroll-margin:8px}[data-gym-auth],[data-auth-action]{--auth-action:var(--primary);--auth-action-foreground:var(--primary-foreground);--auth-surface:var(--field-surface);--auth-shadow:#00000018;--auth-ease:cubic-bezier(.32, .72, 0, 1)}[data-auth-action][data-variant=default]{background:var(--auth-action);color:var(--auth-action-foreground);box-shadow:0 8px 28px var(--auth-shadow), inset 0 1px 0 color-mix(in oklch, var(--background) 18%, transparent)}[data-auth-action][data-variant=default]:hover{background:color-mix(in oklch, var(--auth-action) 88%, var(--background))}:is(.mobile-auth,.auth-entry-sheet,.auth-welcome,.auth-required) [data-slot=button]{transition:transform .12s var(--auth-ease), background-color .12s var(--auth-ease), opacity .12s var(--auth-ease)}:is(.mobile-auth,.auth-entry-sheet,.auth-welcome,.auth-required) [data-slot=button]:active{transform:scale(.98)}.auth-emblem{background:color-mix(in srgb, var(--primary) 10%, var(--card));block-size:4rem;inline-size:4rem;color:var(--primary-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 18%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.auth-emblem>svg{stroke-width:1.5px;block-size:1.9rem;inline-size:1.9rem}.mobile-auth{position:relative}.auth-sheet-handle{content:"";background:var(--border);border-radius:999px;block-size:.25rem;inline-size:2.5rem;display:block}.mobile-auth:before{top:calc(1.75rem + var(--app-safe-top,0px));display:none;position:absolute;inset-inline-start:calc(50% - 1.25rem)}.mobile-auth>header [data-size=icon-lg]{background:var(--card);box-shadow:0 6px 32px var(--auth-shadow);border:0}.mobile-auth .auth-heading{padding-block:clamp(2rem,7dvh,4rem) 2rem}.mobile-auth .auth-heading h1{font-size:clamp(1.5rem,5.8vw,1.875rem)}.mobile-auth input[data-slot=input]{border:1px solid var(--field-border);background:var(--auth-surface);min-height:3.5rem;color:var(--foreground);caret-color:var(--primary-ink);box-shadow:none;border-radius:999px;padding-inline:1.25rem}.mobile-auth input[data-slot=input]:focus-visible{border-color:var(--primary-ink)}.mobile-auth input[data-slot=input][aria-invalid=true]{border-color:var(--destructive)}.mobile-auth input[data-slot=input]::placeholder{color:var(--muted-foreground);opacity:1}.mobile-auth [data-slot=button][data-variant=link]{color:var(--primary-ink)}.auth-code-timer{background:color-mix(in srgb, var(--primary) 8%, var(--card));border-radius:999px;width:fit-content;margin-inline:auto;padding:.375rem .875rem}.auth-code-timer [dir=ltr]{color:var(--primary-ink)}.auth-code-timer[data-expired=true]{color:var(--destructive);background:color-mix(in srgb, var(--destructive) 8%, var(--card))}.auth-code-timer[data-expired=true] [dir=ltr]{color:inherit}.mobile-auth .one-time-code .otp-caret,.mobile-auth .one-time-code[data-phase=ok] .otp-cell{background:var(--primary)}.mobile-auth .one-time-code[data-phase=ok] .otp-ok{color:var(--primary-foreground)}.mobile-auth .auth-bencho-code{padding-block:.75rem}.auth-entry-sheet[data-side=bottom]{inset-inline:max(.5rem, var(--app-safe-left,0px)) max(.5rem, var(--app-safe-right,0px));bottom:calc(.5rem + var(--app-safe-bottom,0px));max-width:35rem;max-height:calc(100dvh - var(--app-safe-top,0px) - var(--app-safe-bottom,0px) - 1.5rem);overscroll-behavior:contain;border:1px solid color-mix(in oklch, var(--background) 70%, transparent);background:var(--popover);box-shadow:0 16px 64px var(--auth-shadow), inset 0 1px 0 var(--background);animation-duration:.2s;animation-timing-function:var(--auth-ease);border-radius:2rem;gap:1.25rem;margin-inline:auto;padding:.75rem 1.25rem 1.5rem;transition-duration:.2s;overflow-y:auto}.auth-sheet-handle{flex:none;margin-inline:auto}.auth-sheet-top{justify-content:space-between;align-items:start;gap:1rem;display:flex}.auth-entry-sheet [data-slot=sheet-header]{text-align:start;gap:.75rem;padding:0}.auth-entry-sheet [data-slot=sheet-title]{letter-spacing:-.035em;font-size:1.75rem;font-weight:650}.auth-entry-sheet [data-slot=sheet-description]{font-size:1rem;line-height:1.8}.auth-entry-options{flex-direction:column;gap:.75rem;display:flex}.auth-entry-note{color:var(--muted-foreground);justify-content:center;align-items:center;gap:.4rem;padding-block:.5rem;font-size:.75rem;display:flex}.auth-entry-note svg{flex:none;block-size:1rem;inline-size:1rem}.auth-policy{text-align:center;color:var(--muted-foreground);font-size:.75rem;line-height:1.8}.auth-policy a{min-height:2.75rem;color:var(--foreground);text-underline-offset:4px;align-items:center;text-decoration:underline;display:inline-flex}.auth-required[data-slot=empty]{gap:1.5rem;padding:3rem 1rem}.auth-required[data-compact]{padding-block:1.5rem}.auth-welcome{flex-direction:column;flex:1;justify-content:center;align-items:center;padding-block:2rem;display:flex}.auth-welcome-copy{text-align:center;max-width:23rem;animation:auth-enter .2s var(--auth-ease) both;flex-direction:column;align-items:center;gap:1rem;display:flex}.auth-welcome h2{letter-spacing:-.035em;font-size:1.75rem;font-weight:650}.auth-welcome-copy>p{max-width:21rem;color:var(--muted-foreground);margin-bottom:.5rem;font-size:1rem;line-height:1.85}.auth-welcome-copy>[data-auth-action]{padding-inline:1.5rem}.auth-artwork{block-size:clamp(16rem,36dvh,21rem);inline-size:min(100%,23rem);animation:auth-enter .22s var(--auth-ease) both;direction:ltr;flex:none;margin-bottom:1.5rem;position:relative}.auth-artwork--photos{block-size:clamp(17rem,37dvh,22rem);inline-size:min(100%,24rem);direction:inherit}.auth-photo{background:var(--muted);border-radius:1.5rem;position:absolute;overflow:hidden}.auth-photo img{object-fit:cover}.auth-photo--main{inset:0 0 10% 20%}.auth-photo--detail{border:5px solid var(--background);border-radius:1.75rem;inset:35% 48% 0 0}.auth-photo-caption{inset-inline-end:5%;background:var(--card);color:var(--foreground);border-radius:999px;align-items:center;gap:.5rem;padding:.65rem .9rem;font-size:.75rem;display:flex;position:absolute;bottom:14%;box-shadow:0 2px 8px #0001}@media (max-height:650px){.mobile-auth .auth-heading{gap:.75rem;padding-block:1.25rem}.auth-welcome{padding-block:0}.auth-artwork{block-size:14rem}}@media (max-height:850px){.mobile-auth:has([data-auth-method-switch]) .auth-heading{gap:.75rem;padding-block:1rem}.mobile-auth:has([data-auth-method-switch]) .auth-step{gap:1rem}.mobile-auth:has([data-auth-method-switch]) [data-slot=field-group]{gap:1.25rem}.mobile-auth:has([data-auth-method-switch]) .auth-submit-actions{gap:.5rem;padding-top:1rem}.mobile-auth [data-auth-method-switch]{margin-top:1rem;padding-top:.75rem}}@media (max-height:750px){.mobile-auth:has([data-auth-method-switch]) .auth-emblem{block-size:3rem;inline-size:3rem}.mobile-auth:has([data-auth-method-switch]) .auth-heading{padding-block:.75rem}}@media (prefers-reduced-motion:reduce){.auth-welcome-copy,.auth-artwork,.mobile-auth .auth-step,.auth-entry-sheet[data-side=bottom]{animation:none}.auth-entry-sheet[data-side=bottom]{-webkit-backdrop-filter:none;backdrop-filter:none;transition:none}:is(.mobile-auth,.auth-entry-sheet,.auth-welcome,.auth-required) [data-slot=button]{transition:none}:is(.mobile-auth,.auth-entry-sheet,.auth-welcome,.auth-required) [data-slot=button]:active{transform:none}}.auth-entry-sheet[data-state=open]{animation:auth-sheet-in .2s var(--auth-ease) both}.auth-entry-sheet[data-state=closed]{animation:auth-sheet-out .14s var(--auth-ease) both}@keyframes auth-sheet-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-sheet-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.auth-entry-sheet[data-state]{animation:none}}
.coaching-sessions{min-width:0}.coaching-session-summary{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr));padding:1.25rem .5rem;display:grid}.coaching-session-summary>div{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding-inline:.25rem;display:flex}.coaching-session-summary>div+div{border-inline-start:1px solid var(--border)}.coaching-session-summary strong{font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:600;line-height:1.25}.coaching-session-summary span{color:var(--muted-foreground);font-size:.75rem}.coaching-session-timeline{margin:0;padding:0;list-style:none}.coaching-session-stop{grid-template-columns:3rem minmax(0,1fr);column-gap:1rem;padding-block-end:1.5rem;display:grid;position:relative}.coaching-session-stop:not(:last-child):before{content:"";inset-inline-start:1.5rem;border-inline-start:1px dashed var(--border);position:absolute;top:3.5rem;bottom:0}.coaching-session-marker{z-index:1;border:1px solid var(--border);background:var(--card);height:3.5rem;color:var(--muted-foreground);border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;display:flex}.coaching-session-marker[data-status=completed]{background:var(--secondary);color:var(--secondary-foreground)}.coaching-session-stop[data-current] .coaching-session-marker{color:var(--primary);border-color:var(--primary);background:color-mix(in oklch, var(--primary) 7%, var(--card))}.coaching-session-row{border:1px solid var(--border);background:var(--card);border-radius:1.25rem;min-width:0;overflow:hidden}.coaching-session-stop[data-current] .coaching-session-row{border-color:color-mix(in oklch, var(--primary) 45%, var(--border))}.coaching-session-row-link{text-align:start;width:100%;color:inherit;cursor:pointer;flex-direction:column;gap:.35rem;padding:1rem;text-decoration:none;display:flex}.coaching-session-row-link:hover{background:var(--muted)}.coaching-session-row-link:focus-visible{outline:2px solid var(--ring);outline-offset:-3px;border-radius:1.25rem}.coaching-session-row-top{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.coaching-session-row-actions{flex-wrap:wrap;gap:.5rem;padding:0 1rem 1rem;display:flex}.coaching-session-row-actions:empty{display:none}.coaching-session-status{background:var(--muted);min-height:1.6rem;color:var(--muted-foreground);border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.7rem;line-height:1.4;display:inline-flex}.coaching-session-status[data-status=completed],.coaching-session-status[data-status=confirmed]{background:var(--secondary);color:var(--secondary-foreground)}.coaching-session-status[data-status=pending_approval]{background:color-mix(in oklch, var(--primary) 10%, var(--card));color:var(--foreground)}.coaching-session-status[data-status=cancelled]{background:color-mix(in oklch, var(--destructive) 8%, var(--card));color:var(--destructive)}.coaching-sessions-empty{text-align:center;border:1px dashed var(--border);border-radius:1.5rem;justify-items:center;gap:.75rem;padding:2.5rem 1rem;display:grid}.coaching-schedule>summary{list-style:none}.coaching-schedule>summary::-webkit-details-marker{display:none}.coaching-schedule>summary:after{content:"+";color:var(--muted-foreground);margin-inline-start:auto}.coaching-schedule[open]>summary:after{content:"−"}.coaching-schedule form,.coaching-session-secondary form{background:0 0;border:0;padding:0}.coaching-session-facts{gap:1rem;display:grid}.coaching-session-facts>div{grid-template-columns:1.25rem minmax(0,1fr);gap:.25rem .75rem;display:grid}.coaching-session-facts svg{width:1.1rem;height:1.1rem;color:var(--muted-foreground);grid-row:span 2;margin-top:.2rem}.coaching-session-facts dt{color:var(--muted-foreground);font-size:.75rem}.coaching-session-facts dd{overflow-wrap:anywhere;font-size:.875rem;line-height:1.75}.coaching-participant{border:1px solid var(--border);border-radius:1.25rem;gap:1rem;padding:1rem;display:grid}.coaching-session-detail{min-width:0;padding-bottom:0}.coaching-session-footer{min-width:0}.coaching-session-footer [role=status]:empty{display:none}.coaching-session-footer [role=status]:not(:empty){margin-block-end:.75rem;font-size:.875rem}.coaching-membership-balance{gap:.75rem;display:grid}.coaching-membership-balance-compact{background:var(--muted);border-radius:1rem;padding:.875rem;font-size:.875rem}.coaching-membership-track{background:var(--muted);border-radius:999px;height:.4rem;display:flex;overflow:hidden}.coaching-membership-used{background:var(--primary)}.coaching-membership-held{background:color-mix(in oklch, var(--primary) 35%, var(--muted))}@media (min-width:640px){.coaching-session-row-link{padding:1.25rem}.coaching-session-facts{grid-template-columns:1fr 1fr}.coaching-session-facts>div:last-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.coaching-session-row-link{transition:none}}
.analytics-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));align-items:end;gap:1rem;display:grid}.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.analytics-panel :is(input,select,button){min-height:44px}.analytics-panel [data-slot=card]{min-width:0}.analytics-chart{border-bottom:1px solid var(--border);align-items:end;gap:clamp(1px,.5vw,8px);height:12rem;padding-top:1rem;display:flex}.analytics-bar{flex:1;align-items:end;gap:1px;min-width:1px;height:100%;display:flex}.analytics-bar span{background:var(--primary);border-radius:3px 3px 0 0;width:50%;min-height:1px}.analytics-bar span+span{background:var(--foreground);opacity:.55}@media (min-width:768px){.analytics-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}}.analytics-refine{grid-column:1/-1}.analytics-refine summary{cursor:pointer;min-height:44px;padding-block:.65rem;font-size:.875rem}@media (max-width:600px){.analytics-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-filters>:is(details,div:last-child){grid-column:1/-1}.analytics-filters [data-slot=native-select],.analytics-filters [data-slot=native-select] select{width:100%}.analytics-filters input[type=date]{min-width:0;padding-inline:.5rem;font-size:.8125rem}}
.one-time-code .liq-defs{width:0;height:0;position:absolute;overflow:hidden}.one-time-code .cow-defs{width:0;height:0;position:absolute}.one-time-code{inline-size:fit-content;max-inline-size:100%;font-family:var(--font-sans);direction:ltr;border-radius:1rem;place-items:center;margin-inline:auto;display:grid;position:relative}.one-time-code .otp-row{position:relative}.one-time-code .otp-goo{position:absolute;inset:0}.one-time-code .otp-cell{background:var(--muted);height:100%;position:absolute;top:0;left:0}.one-time-code .otp-slot{pointer-events:none;place-items:center;height:100%;display:grid;position:absolute;top:0;left:0}.one-time-code .otp-digit{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--foreground);font-size:20px;font-weight:500;line-height:1;transition:color .16s;animation:.3s cubic-bezier(.22,1,.36,1) both otp-in}.one-time-code[data-phase=no] .otp-digit{color:var(--destructive)}.one-time-code .otp-caret{background:var(--foreground);opacity:0;pointer-events:none;border-radius:2px;width:2px;height:18px;margin-top:-9px;transition:opacity .16s;position:absolute;top:50%;left:0}.one-time-code .otp-caret[data-on=true]{opacity:1;animation:1.1s ease-in-out infinite alternate otp-breathe}.one-time-code .otp-ok{color:var(--foreground);pointer-events:none;letter-spacing:-.01em;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:400;display:flex;position:absolute;inset:0}.one-time-code .otp-field{opacity:0;caret-color:#0000;cursor:text;letter-spacing:-.01em;border:0;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.one-time-code[data-phase=ok] .otp-field{cursor:default}.one-time-code[data-reduced-motion=true] .otp-digit,.one-time-code[data-reduced-motion=true] .otp-caret[data-on=true]{animation:none}@media (prefers-reduced-motion:reduce){.one-time-code .otp-digit,.one-time-code .otp-caret[data-on=true]{animation:none}}@keyframes otp-in{0%{opacity:0;filter:blur(3px);transform:translateY(45%)scale(.86)}to{opacity:1;filter:none;transform:none}}@keyframes otp-breathe{0%{opacity:1}to{opacity:.25}}[data-gym-focus] .one-time-code .otp-field:focus-visible{box-shadow:none!important;outline:none!important}.one-time-code[aria-busy=true] .otp-field{cursor:wait}.one-time-code[data-phase=no] .otp-slot{box-shadow:inset 0 0 0 2px var(--destructive)}.one-time-code:has([aria-invalid=true]) .otp-slot{box-shadow:inset 0 0 0 2px var(--destructive)}
