.login-page{isolation:isolate;background:radial-gradient(ellipse 70% 50% at 15% 20%, var(--brand-soft), transparent 60%), radial-gradient(ellipse 50% 45% at 85% 80%, var(--brand-soft), transparent 55%), var(--bg);min-height:100vh;position:relative;overflow:hidden}.login-split{z-index:1;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid;position:relative}.gym-backdrop{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.gym-backdrop__glow{filter:blur(60px);opacity:.35;border-radius:50%;position:absolute}.gym-backdrop__glow--a{background:var(--brand);width:420px;height:420px;animation:14s ease-in-out infinite alternate glow-drift;top:-8%;left:-6%}.gym-backdrop__glow--b{background:var(--brand);opacity:.22;width:360px;height:360px;animation:18s ease-in-out infinite alternate-reverse glow-drift;bottom:-10%;right:-4%}.gym-icon{width:clamp(72px,9vw,120px);height:auto;color:var(--brand);opacity:.12;filter:drop-shadow(0 0 18px color-mix(in srgb, var(--brand) 35%, transparent));position:absolute}.gym-icon--one{animation:9s ease-in-out infinite float-a;top:12%;left:8%}.gym-icon--two{opacity:.09;animation:11s ease-in-out infinite float-b;top:28%;left:38%}.gym-icon--three{opacity:.1;width:clamp(90px,11vw,140px);animation:13s ease-in-out infinite float-c;top:58%;left:14%}.gym-icon--four{opacity:.11;animation:10s ease-in-out infinite reverse float-b;top:18%;right:18%}.gym-icon--five{opacity:.08;animation:12s ease-in-out infinite reverse float-a;bottom:16%;right:28%}.gym-icon--six{opacity:.1;animation:15s ease-in-out infinite reverse float-c;bottom:22%;left:46%}.theme-toggle{z-index:3;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 80%, transparent);width:2.75rem;height:2.75rem;color:var(--text);cursor:pointer;backdrop-filter:blur(10px);border-radius:999px;place-items:center;transition:transform .2s,border-color .2s,background .2s;display:grid;position:absolute;top:1.25rem;right:1.25rem}.theme-toggle:hover{border-color:color-mix(in srgb, var(--brand) 55%, var(--border));transform:translateY(-1px)}.theme-toggle__icon{width:1.15rem;height:1.15rem;display:none}.theme-toggle__icon svg{width:100%;height:100%}[data-theme=dark] .theme-toggle__icon--sun,:root:not([data-theme=light]) .theme-toggle__icon--sun,[data-theme=light] .theme-toggle__icon--moon{display:block}[data-theme=light] .theme-toggle__icon--sun{display:none}.welcome-panel{border-right:1px solid var(--border);background:linear-gradient(160deg, color-mix(in srgb, var(--bg-panel) 72%, transparent), color-mix(in srgb, var(--bg) 40%, transparent) 55%, transparent);backdrop-filter:blur(8px);flex-direction:column;justify-content:space-between;padding:clamp(2.5rem,6vw,5rem);display:flex;position:relative}.welcome-panel__content{max-width:34rem;margin-top:clamp(3rem,10vh,7rem);animation:.8s both rise-in}.welcome-panel__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--brand);margin:0 0 .85rem;font-size:.95rem;font-weight:600}.welcome-panel__brand{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--text);margin:0;font-size:clamp(4.5rem,11vw,7.5rem);line-height:.9}.welcome-panel__body{max-width:28rem;color:var(--text-muted);margin:1.5rem 0 0;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.65}.welcome-panel__tagline{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text);opacity:.85;margin:1.25rem 0 0;font-size:clamp(1.35rem,2.2vw,1.75rem)}.welcome-panel__meta{align-items:center;gap:.75rem;animation:.9s .12s both rise-in;display:flex}.welcome-panel__version{font-family:var(--font-display);letter-spacing:.12em;color:var(--text-muted);font-size:1.15rem}.welcome-panel__stage{border:1px solid color-mix(in srgb, var(--brand) 55%, var(--border));letter-spacing:.14em;text-transform:uppercase;color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, transparent);border-radius:999px;align-items:center;padding:.28rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.login-form-panel{place-items:center;padding:clamp(2rem,5vw,4rem);animation:.85s 80ms both rise-in;display:grid}.login-form-panel__inner{width:min(100%,26rem)}.login-form-panel__header{margin-bottom:2rem}.login-form-panel__title{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:clamp(2.4rem,4vw,3rem)}.login-form-panel__subtitle{color:var(--text-muted);margin:.55rem 0 0;font-size:.98rem}.login-form{gap:1.15rem;display:grid}.login-form__field{gap:.45rem;display:grid}.login-form__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.82rem;font-weight:650}.login-form__input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:.7rem;outline:none;padding:.95rem 1rem;transition:border-color .2s,box-shadow .2s,background .2s}.login-form__input::placeholder{color:color-mix(in srgb, var(--text-muted) 75%, transparent)}.login-form__input:focus{border-color:color-mix(in srgb, var(--brand) 70%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent)}.login-form__password{position:relative}.login-form__password .login-form__input{padding-right:3.1rem}.login-form__visibility{width:2.2rem;height:2.2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.45rem;place-items:center;padding:0;transition:color .2s,background .2s;display:grid;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.login-form__visibility:hover{color:var(--text);background:color-mix(in srgb, var(--text) 6%, transparent)}.login-form__visibility-icon{width:1.15rem;height:1.15rem;display:none}.login-form__visibility-icon svg{width:100%;height:100%}.login-form__visibility-icon--show{display:block}.login-form__visibility.is-visible .login-form__visibility-icon--show{display:none}.login-form__visibility.is-visible .login-form__visibility-icon--hide{display:block}.login-form__row{justify-content:space-between;align-items:center;gap:1rem;margin-top:.15rem;display:flex}.login-form__remember{color:var(--text-muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.login-form__remember input{accent-color:var(--brand);width:1rem;height:1rem}.login-form__forgot{color:var(--brand);font-size:.9rem;font-weight:600;text-decoration:none}.login-form__forgot:hover{text-decoration:underline}.login-form__error{border:1px solid color-mix(in srgb, var(--brand) 40%, var(--border));background:color-mix(in srgb, var(--brand) 12%, transparent);color:var(--text);border-radius:.65rem;margin:0;padding:.75rem .9rem;font-size:.9rem}.login-form__submit{background:linear-gradient(180deg, var(--brand), var(--brand-strong));color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;width:100%;box-shadow:0 12px 28px color-mix(in srgb, var(--brand) 35%, transparent);border:0;border-radius:.75rem;margin-top:.35rem;padding:1rem 1.25rem;font-weight:750;transition:transform .2s,filter .2s,box-shadow .2s}.login-form__submit:hover{filter:brightness(1.05);transform:translateY(-1px)}.login-form__submit:active{transform:translateY(0)}.login-form.is-submitting .login-form__submit{opacity:.75;pointer-events:none}@keyframes float-a{0%,to{transform:translate(0,0)rotate(-6deg)}50%{transform:translate(12px,-18px)rotate(4deg)}}@keyframes float-b{0%,to{transform:translate(0,0)rotate(8deg)scale(1)}50%{transform:translate(-16px,14px)rotate(-4deg)scale(1.05)}}@keyframes float-c{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translate(10px,-22px)rotate(-10deg)}}@keyframes glow-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(30px,24px)scale(1.08)}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.login-split{grid-template-columns:1fr}.welcome-panel{border-right:0;border-bottom:1px solid var(--border);min-height:auto;padding-bottom:2.5rem}.welcome-panel__content{margin-top:3.5rem}.welcome-panel__brand{font-size:clamp(3.6rem,16vw,5.5rem)}.login-form-panel{padding-top:2.5rem;padding-bottom:3.5rem}.gym-icon--two,.gym-icon--six{display:none}}@media (prefers-reduced-motion:reduce){.gym-icon,.gym-backdrop__glow,.welcome-panel__content,.welcome-panel__meta,.login-form-panel{animation:none}}
