@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--gw-color-ink: #07182c;--gw-color-muted: #526278;--gw-color-brand: #0f766e;--gw-color-brand-strong: #0b4f4a;--gw-color-accent: #a3e635;--gw-color-shell: #f0f4f8;--gw-color-surface: #ffffff;--gw-color-border: #d6e0e9;--gw-shadow-panel: 0 22px 62px rgba(15, 23, 42, .1);--gw-radius-panel: 1.75rem;--gw-radius-control: .75rem;color:var(--gw-color-ink);font-family:Montserrat Variable,Montserrat,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--gw-color-shell);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button,a,input{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,opacity .18s ease,transform .18s ease}a:focus-visible,button:focus-visible{outline:3px solid rgba(15,118,110,.28);outline-offset:3px}.hub-shell{max-width:1180px;margin:0 auto;padding:0 28px 64px}.hub-header{height:82px;display:flex;align-items:center;justify-content:space-between}.hub-header a{color:var(--gw-color-brand-strong);font-weight:700;text-decoration:none}.hub-brand{align-items:center;display:inline-flex;width:124px}.hub-brand img{display:block;height:auto;width:100%}.hub-logout{align-items:center;background:transparent;border:0;color:var(--gw-color-brand-strong);display:inline-flex;font-weight:700;gap:7px}.hub-entry{align-items:stretch;display:grid;gap:24px;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);margin:8px 0 50px}.hub-entry .auth-card{align-self:stretch;padding:32px}.hub-hero{animation:hub-enter .46s cubic-bezier(.22,1,.36,1) 60ms both;background:var(--gw-color-brand-strong);border-radius:var(--gw-radius-panel);color:#fff;display:flex;min-height:560px;margin:0;overflow:hidden;padding:0;position:relative}.hub-hero:before{background:linear-gradient(90deg,#03342dfa,#03342de6 44%,#03342d7a 68%,#03342d14);content:"";top:0;right:0;bottom:0;left:0;position:absolute;z-index:1}.hub-hero:after{background:var(--gw-color-accent);border-radius:999px;content:"";height:420px;opacity:.13;position:absolute;right:-120px;top:-250px;width:420px;z-index:2}.hub-hero-copy{align-self:center;max-width:610px;padding:56px;position:relative;z-index:3}.hub-hero-image{height:100%;top:0;right:0;bottom:0;left:0;object-fit:cover;object-position:66% center;position:absolute;width:100%;z-index:0}.eyebrow{color:#628b7d;font-size:.72rem;font-weight:800;letter-spacing:.12em;margin:0 0 13px}.hub-hero .eyebrow{color:var(--gw-color-accent)}.hub-hero h1,.dashboard-heading h1{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.055em;line-height:.98;margin:0;max-width:650px}.hub-hero p:not(.eyebrow){color:#c9d8d4;font-size:1.1rem;line-height:1.55;max-width:590px}.auth-card{animation:hub-enter .42s cubic-bezier(.22,1,.36,1) both;background:var(--gw-color-surface);border:1px solid var(--gw-color-border);border-radius:var(--gw-radius-panel);box-shadow:var(--gw-shadow-panel);padding:28px}.auth-heading{align-items:flex-start;display:flex;gap:12px}.auth-heading svg{color:var(--gw-color-brand);flex:0 0 auto}.auth-card h2,.catalog-section h2,.subscription-card h2{letter-spacing:-.03em;margin:0}.auth-card p{color:var(--gw-color-muted);font-size:.93rem;line-height:1.45;margin:6px 0 22px}.auth-card form{display:grid;gap:15px}.auth-card label{color:var(--gw-color-ink);display:grid;font-size:.84rem;font-weight:750;gap:6px}.auth-card input{border:1px solid var(--gw-color-border);border-radius:var(--gw-radius-control);padding:12px}.auth-card input:focus-visible{border-color:var(--gw-color-brand);box-shadow:0 0 0 3px #0f766e24;outline:0}.auth-card small{color:var(--gw-color-muted)}.hub-primary,.hub-secondary{align-items:center;border-radius:var(--gw-radius-control);display:inline-flex;font-weight:800;gap:8px;justify-content:center;padding:12px 16px;text-decoration:none}.hub-primary{background:var(--gw-color-accent);border:1px solid var(--gw-color-accent);color:var(--gw-color-ink)}.hub-primary:hover:not(:disabled){background:#b7ed54;box-shadow:0 10px 24px #a3e63533;transform:translateY(-1px)}.hub-primary:active:not(:disabled){transform:translateY(0)}.hub-primary:disabled{cursor:wait;opacity:.65}.hub-secondary{background:var(--gw-color-surface);border:1px solid #aac0b8;color:var(--gw-color-brand-strong)}.hub-secondary:hover{border-color:var(--gw-color-brand);color:var(--gw-color-brand);transform:translateY(-1px)}.auth-card .hub-primary{margin-top:8px;width:100%}.auth-switch{background:transparent;border:0;color:var(--gw-color-brand);font-size:.88rem;font-weight:750;margin-top:18px;padding:0}.auth-switch:hover{color:var(--gw-color-brand-strong)}.form-error{color:#b42318!important;margin:0!important}.catalog-section h2{font-size:1.85rem}.gym-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));margin-top:20px}.gym-card{background:#e7eeea;border-radius:16px;min-height:150px;padding:22px}.gym-card h3{letter-spacing:-.02em;margin:0 0 8px}.gym-card p,.muted{color:#5d6d67;line-height:1.45;margin:0}.gym-card .hub-secondary{font-size:.85rem;margin-top:17px;padding:9px 11px}.dashboard-heading{margin:55px 0 32px}.dashboard-heading h1{color:var(--gw-color-brand-strong);font-size:clamp(2.2rem,4vw,3.5rem)}.dashboard-heading>p:last-child{color:#5d6d67;font-size:1.05rem}.subscriptions{display:grid;gap:16px}.subscription-card{align-items:center;background:#fff;border:1px solid #dbe6e1;border-radius:18px;display:flex;justify-content:space-between;padding:26px}.subscription-card h2{margin-top:8px}.subscription-card p{color:#52645e;margin:6px 0}.subscription-card small{color:#687873}.status{border-radius:999px;display:inline-block;font-size:.72rem;font-weight:850;padding:5px 9px;text-transform:uppercase}.status-active{background:#d9f2dd;color:#176b32}.status-grace,.status-pending{background:#fff0c4;color:#8a5b00}.status-expired,.status-cancelled{background:#fbe0dd;color:#a12b1e}.card-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.compact{padding:11px 13px}.catalog-section{margin-top:58px}.empty-state{background:#e7eeea;border-radius:16px;padding:32px}.empty-state h2{margin:0}.empty-state p{color:#566761;max-width:640px}.hub-notice{align-items:center;background:#fff2ed;border:1px solid #f0c8bb;border-radius:10px;color:#8d2c1d;display:flex;justify-content:space-between;margin:10px 0;padding:12px 15px}.hub-notice button{background:none;border:0;color:inherit;font-size:1.35rem}.hub-loading{align-items:center;color:var(--gw-color-brand-strong);display:flex;gap:10px;justify-content:center;min-height:100vh}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes hub-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.hub-entry{grid-template-columns:1fr;gap:22px;margin-bottom:42px}.hub-entry .auth-card{justify-self:center;width:min(100%,580px)}.hub-hero{min-height:500px}}@media(max-width:620px){.hub-shell{padding:0 16px 40px}.hub-header{height:72px}.hub-brand{width:110px}.hub-entry .auth-card{padding:24px}.hub-hero{min-height:450px;margin-left:-4px;margin-right:-4px}.hub-hero:before{background:linear-gradient(180deg,#03342d3d,#03342dd6 46%,#03342dfa)}.hub-hero-copy{align-self:flex-end;padding:34px 24px}.hub-hero h1{font-size:clamp(2rem,10vw,2.35rem);max-width:330px}.hub-hero-image{object-position:center 42%}.subscription-card{align-items:stretch;flex-direction:column;gap:22px}.card-actions{justify-content:stretch}.card-actions button{flex:1}.dashboard-heading{margin-top:34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.auth-card,.hub-hero,.spin{animation:none}}.auth-divider{align-items:center;color:#71807a;display:flex;font-size:.82rem;gap:12px;margin-top:20px}.auth-divider:before,.auth-divider:after{background:#dce5e1;content:"";flex:1;height:1px}.hub-google{border:1px solid #b8c8c1;border-radius:var(--gw-radius-control);color:var(--gw-color-brand-strong);display:block;font-weight:750;margin-top:16px;padding:11px 16px;text-align:center;text-decoration:none;width:100%}.hub-google:hover:not(:disabled){background:#f2f6f4;border-color:var(--gw-color-brand);color:var(--gw-color-brand);transform:translateY(-1px)}.hub-google:disabled{background:#f2f6f4;color:#71807a;cursor:not-allowed}.auth-provider-note{display:block;font-size:.78rem;line-height:1.4;margin-top:8px}
