:root{--a-bg:#050a12;--a-panel:#0a111c;--a-card:#0e1724;--a-line:rgba(151,180,211,.13);--a-text:#f5f8fc;--a-muted:#7e91a7;--a-blue:#168bd2;--a-gold:#eab308;--a-green:#36d399}.athlete-page{margin:0;min-height:100vh;background:radial-gradient(circle at 75% 0,rgba(15,115,184,.16),transparent 28%),var(--a-bg);color:var(--a-text);font-family:IRANYekanX,Tahoma,sans-serif}.athlete-page button,.athlete-page input{font:inherit}.brand-loader{position:fixed;z-index:200;inset:0;display:grid;place-items:center;background:#050a12;transition:.5s ease}.brand-loader.done{opacity:0;visibility:hidden}.brand-loader>div{position:relative;text-align:center}.brand-loader img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 0 28px rgba(234,179,8,.28));animation:loader-pulse 1.35s ease-in-out infinite}.brand-loader i{position:absolute;inset:-18px;border:1px solid rgba(234,179,8,.22);border-top-color:var(--a-gold);border-radius:50%;animation:loader-spin 1.1s linear infinite}.brand-loader span{display:block;margin-top:28px;color:#718299;font-size:.52rem;letter-spacing:.22em}@keyframes loader-spin{to{transform:rotate(360deg)}}@keyframes loader-pulse{50%{transform:scale(.92);opacity:.78}}.account-brand{display:flex;align-items:center;gap:10px;color:#fff}.account-brand img{width:42px;height:42px;object-fit:contain;border-radius:10px}.account-brand b,.account-brand small{display:block}.account-brand b{font-size:.72rem}.account-brand small{margin-top:2px;color:#72849b;font-size:.48rem;letter-spacing:.08em}.athlete-login{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-visual{padding:clamp(26px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 10% 70%,rgba(234,179,8,.14),transparent 27%),linear-gradient(145deg,#08182a,#06101c);border-left:1px solid var(--a-line)}.login-visual>div{max-width:650px}.login-visual>div>span{color:var(--a-gold);font-size:.6rem;font-weight:900;letter-spacing:.14em}.login-visual h1{margin:12px 0;font-size:clamp(2rem,4vw,4.2rem);line-height:1.35;letter-spacing:-.05em}.login-visual p{max-width:540px;color:#8ca0b6;font-size:.77rem;line-height:2}.login-visual>a:last-child{color:#91a6bb;font-size:.67rem}.login-panel{display:grid;place-items:center;padding:24px}.login-panel form{width:min(410px,100%);padding:32px;border:1px solid var(--a-line);border-radius:22px;background:linear-gradient(145deg,rgba(14,23,36,.96),rgba(8,15,25,.96));box-shadow:0 35px 90px rgba(0,0,0,.35)}.login-panel header span{color:var(--a-blue);font-size:.58rem;font-weight:900}.login-panel h2{margin:5px 0;font-size:1.7rem}.login-panel header p{margin:0 0 25px;color:var(--a-muted);font-size:.67rem}.login-panel label{display:grid;gap:7px;margin-top:13px;color:#9eb0c3;font-size:.65rem}.login-panel input{height:48px;padding:0 13px;border:1px solid var(--a-line);border-radius:11px;background:#080f19;color:#fff;outline:0}.login-panel input:focus{border-color:var(--a-blue);box-shadow:0 0 0 3px rgba(22,139,210,.13)}.login-panel button[type=submit]{width:100%;height:49px;margin-top:19px;border:0;border-radius:11px;background:linear-gradient(115deg,#eab308,#f5ce47);color:#071126;font-size:.7rem;font-weight:900;cursor:pointer}.login-panel [data-login-status]{min-height:21px;color:#e96a70;font-size:.61rem}.athlete-app{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.athlete-sidebar{position:sticky;top:0;height:100vh;padding:22px 15px;display:flex;flex-direction:column;border-left:1px solid var(--a-line);background:rgba(5,10,18,.88);backdrop-filter:blur(24px)}.athlete-sidebar nav{display:grid;gap:5px;margin-top:42px}.athlete-sidebar nav button{height:44px;padding:0 13px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:11px;background:transparent;color:#8295aa;font-size:.65rem;cursor:pointer;text-align:right}.athlete-sidebar nav button span{width:22px;color:#61788f}.athlete-sidebar nav button:hover,.athlete-sidebar nav button.active{border-color:rgba(22,139,210,.16);background:linear-gradient(90deg,rgba(22,139,210,.18),rgba(22,139,210,.03));color:#fff}.athlete-sidebar nav button.active span{color:#38bdf8}.athlete-side-bottom{margin-top:auto;display:grid;gap:7px}.athlete-side-bottom a,.athlete-side-bottom button{padding:9px 11px;border:0;background:transparent;color:#71849a;font-size:.58rem;text-align:right;cursor:pointer}.athlete-main{min-width:0;padding:23px clamp(18px,3vw,42px) 70px}.athlete-topbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.athlete-topbar small{color:var(--a-muted);font-size:.56rem}.athlete-topbar h1{margin:5px 0 0;font-size:1.3rem}.athlete-topbar>div:last-child{display:flex;gap:8px}.athlete-topbar a,.athlete-topbar button{min-height:39px;padding:0 14px;display:grid;place-items:center;border:1px solid var(--a-line);border-radius:10px;background:rgba(14,23,36,.7);color:#b4c4d5;font-size:.6rem}.athlete-topbar button{display:none}.athlete-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.athlete-kpis article{position:relative;min-height:135px;padding:17px;border:1px solid var(--a-line);border-radius:17px;background:linear-gradient(145deg,rgba(14,23,36,.94),rgba(8,15,25,.94));overflow:hidden;transition:.24s ease}.athlete-kpis article:hover{transform:translateY(-3px);border-color:rgba(22,139,210,.3)}.athlete-kpis article:after{content:"";position:absolute;width:110px;height:110px;left:-45px;top:-50px;border-radius:50%;background:rgba(22,139,210,.1);filter:blur(12px)}.athlete-kpis article.kpi-highlight:after{background:rgba(234,179,8,.15)}.athlete-kpis small,.athlete-kpis strong,.athlete-kpis span{display:block}.athlete-kpis small{color:#7d91a6;font-size:.56rem}.athlete-kpis strong{margin:17px 0 4px;font-size:1.45rem}.athlete-kpis span{color:#60758b;font-size:.53rem}.athlete-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:10px;margin-top:10px}.athlete-card{min-height:340px;padding:20px;border:1px solid var(--a-line);border-radius:18px;background:linear-gradient(145deg,rgba(14,23,36,.93),rgba(7,13,22,.95))}.athlete-card>header,.view-head{display:flex;align-items:center;justify-content:space-between}.athlete-card header small,.view-head small{color:#2e94cf;font-size:.52rem;font-weight:900}.athlete-card h2,.view-head h2{margin:4px 0 0;font-size:1rem}.athlete-card header button,.view-head a{border:1px solid var(--a-line);border-radius:9px;background:#0b1420;color:#8da2b8;padding:8px 11px;font-size:.55rem;cursor:pointer}.active-program>[data-active-program]{margin-top:25px}.program-empty{min-height:230px;display:grid;place-items:center;text-align:center;color:#71869d}.program-empty b,.program-empty span{display:block}.program-empty b{color:#dce7f2;font-size:.8rem}.program-empty span{margin-top:6px;font-size:.6rem}.program-summary h3{margin:0 0 6px;font-size:1.35rem}.program-summary>p{color:#7d91a7;font-size:.65rem}.program-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:24px}.program-meta div{padding:12px;border:1px solid var(--a-line);border-radius:12px;background:#08101a}.program-meta small,.program-meta b{display:block}.program-meta small{color:#60768d;font-size:.5rem}.program-meta b{margin-top:5px;font-size:.66rem}.account-path ol,.account-path{list-style:none}.account-path ol{padding:5px 0 0;margin:18px 0}.account-path li{position:relative;padding:0 22px 23px 0;color:#71859a;font-size:.61rem}.account-path li:before{content:"";position:absolute;right:0;top:3px;width:8px;height:8px;border:2px solid #2e91ca;border-radius:50%;background:#08101a}.account-path li:after{content:"";position:absolute;right:5px;top:15px;bottom:0;width:1px;background:var(--a-line)}.account-path li.done{color:#d8e4ef}.account-path li.done:before{border-color:var(--a-gold);background:var(--a-gold)}.view-head{margin-bottom:18px}.program-list,.data-list{display:grid;gap:10px}.program-entry,.data-row{padding:18px;border:1px solid var(--a-line);border-radius:16px;background:linear-gradient(145deg,#0d1724,#08101a)}.program-entry>header,.data-row{display:flex;justify-content:space-between;gap:18px}.program-entry h3{margin:0;font-size:.9rem}.program-entry header span,.data-row span{color:#75899f;font-size:.58rem}.program-entry details{margin-top:12px;border-top:1px solid var(--a-line)}.program-entry summary{padding:12px 0;color:#7fa0ba;font-size:.6rem;cursor:pointer}.program-day{padding:12px;border:1px solid var(--a-line);border-radius:11px;margin-top:8px}.program-day b{font-size:.67rem}.program-day ul{margin:8px 0 0;padding:0 17px;color:#7f93a8;font-size:.58rem;line-height:2}.data-row strong{font-size:.7rem}.empty-row{padding:45px;border:1px dashed var(--a-line);border-radius:16px;text-align:center;color:#71869d;font-size:.65rem}
@media(max-width:1000px){.athlete-kpis{grid-template-columns:repeat(2,1fr)}.athlete-grid{grid-template-columns:1fr}.athlete-sidebar{width:220px}.athlete-app{grid-template-columns:220px 1fr}}
@media(max-width:720px){.athlete-login{grid-template-columns:1fr}.login-visual{min-height:42vh}.login-visual h1{font-size:2rem}.athlete-app{display:block}.athlete-sidebar{position:fixed;z-index:40;right:0;top:0;width:min(280px,82vw);transform:translateX(105%);transition:.25s ease}.athlete-sidebar.open{transform:none}.athlete-main{padding:15px 12px 55px}.athlete-topbar button{display:grid}.athlete-kpis{grid-template-columns:1fr 1fr}.athlete-kpis article{min-height:120px}.athlete-grid{display:block}.athlete-card{margin-top:10px}.program-entry>header,.data-row{display:grid}.program-meta{grid-template-columns:1fr}.view-head{align-items:flex-end}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Centered circuit login — password only, no social or OTP alternatives. */
.athlete-login-centered{position:relative;min-height:100svh;display:grid;place-items:center;padding:90px 20px 46px;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(11,48,109,.18),transparent 30%),linear-gradient(145deg,#050607,#0a0d10 52%,#050607)}
.athlete-login-centered:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at center,#000,transparent 74%);pointer-events:none}
.login-home-brand{position:absolute;z-index:4;top:24px;right:clamp(20px,4vw,58px);display:flex;align-items:center;gap:10px;color:#b8c5d4;font-size:.65rem;font-weight:800}
.login-home-brand img{width:40px;height:40px;object-fit:contain}
.login-panel-centered{position:relative;z-index:3;display:block;padding:0}
.login-panel-centered form{position:relative;width:min(390px,calc(100vw - 34px));padding:32px 28px 25px;border:1px solid rgba(175,197,220,.15);border-radius:16px;background:linear-gradient(145deg,rgba(23,25,28,.97),rgba(13,15,18,.97));box-shadow:0 38px 100px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.04)}
.login-panel-centered form:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(234,179,8,.2),transparent 33%,rgba(46,147,207,.22));mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}
.login-mark{position:relative;width:58px;height:58px;margin:-62px auto 19px;display:grid;place-items:center;border:1px solid rgba(234,179,8,.24);border-radius:15px;background:#12171d;box-shadow:0 14px 40px rgba(0,0,0,.45)}
.login-mark img{position:relative;z-index:2;width:40px;height:40px;object-fit:contain}
.login-mark i{position:absolute;inset:9px;border:1px solid rgba(234,179,8,.18);border-top-color:var(--a-gold);border-radius:50%;animation:loader-spin 4s linear infinite}
.login-panel-centered header{text-align:center}
.login-panel-centered header span{color:var(--a-gold);font-size:.52rem;letter-spacing:.15em}
.login-panel-centered h1{margin:8px 0 5px;font-size:1.55rem}
.login-panel-centered header p{margin:0 0 22px;color:#7d8997;font-size:.61rem;line-height:1.9}
.login-panel-centered label{gap:7px;margin-top:12px;color:#8996a5;font-size:.59rem}
.login-field{height:46px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid rgba(175,197,220,.12);border-radius:9px;background:#0b0d10;direction:rtl;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
.login-field:focus-within{border-color:rgba(234,179,8,.55);box-shadow:0 0 0 3px rgba(234,179,8,.08)}
.login-field b{color:#66788b;font-size:.75rem;font-weight:400}
.login-panel-centered .login-field input{flex:1 1 auto;width:100%;min-width:0;height:42px;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;color:#fff;caret-color:#fff;text-align:right}
.login-panel-centered .login-field input:focus{border:0;box-shadow:none}
.login-panel-centered .login-field input[type="tel"]{direction:ltr;text-align:right}
.login-panel-centered .login-field input:-webkit-autofill,.login-panel-centered .login-field input:-webkit-autofill:hover,.login-panel-centered .login-field input:-webkit-autofill:focus{-webkit-text-fill-color:#fff!important;caret-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #0b0d10 inset!important;box-shadow:0 0 0 1000px #0b0d10 inset!important;transition:background-color 9999s ease-out 0s}
.login-panel-centered button[type=submit]{height:47px;margin-top:18px;border-radius:9px;background:linear-gradient(110deg,#eab308,#ffd453);transition:transform .2s ease,box-shadow .2s ease}
.login-panel-centered button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(234,179,8,.18)}
.login-register-link{display:block;padding-top:14px;border-top:1px solid rgba(175,197,220,.1);color:#738396;text-align:center;font-size:.59rem}
.login-register-link strong{color:#e6edf4}
.login-circuit{position:absolute;z-index:1;inset:0;pointer-events:none}
.circuit-line{position:absolute;width:min(31vw,460px);height:190px;border-top:1px solid rgba(139,159,181,.18)}
.circuit-line:after{content:"";position:absolute;top:-3px;width:6px;height:6px;border-radius:50%;background:#dce9f5;box-shadow:0 0 12px #fff}
.line-a{top:27%;right:calc(50% + 195px);border-right:1px solid rgba(139,159,181,.18);transform:skewY(-18deg)}.line-a:after{left:0}
.line-b{top:27%;left:calc(50% + 195px);border-left:1px solid rgba(139,159,181,.18);transform:skewY(18deg)}.line-b:after{right:0}
.line-c{bottom:15%;right:calc(50% + 195px);border-bottom:1px solid rgba(139,159,181,.18);border-top:0;border-right:1px solid rgba(139,159,181,.18);transform:skewY(18deg)}.line-c:after{top:auto;bottom:-3px;left:0}
.line-d{bottom:15%;left:calc(50% + 195px);border-bottom:1px solid rgba(139,159,181,.18);border-top:0;border-left:1px solid rgba(139,159,181,.18);transform:skewY(-18deg)}.line-d:after{top:auto;bottom:-3px;right:0}
.circuit-node{position:absolute;width:68px;height:24px;border:1px solid rgba(139,159,181,.18);border-radius:6px;background:#0d1013;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.circuit-node:before{content:"";position:absolute;top:7px;right:-29px;width:28px;border-top:1px solid rgba(139,159,181,.18)}
.node-a{top:calc(27% - 12px);right:3%}.node-b{top:calc(27% - 12px);left:3%}.node-c{bottom:calc(15% - 12px);right:3%}.node-d{bottom:calc(15% - 12px);left:3%}
@media(max-width:760px){.athlete-login-centered{padding:98px 17px 42px}.login-home-brand{top:21px;right:20px}.login-panel-centered form{padding:31px 21px 22px}.login-circuit{opacity:.42}.circuit-line{width:34vw}.line-a,.line-c{right:calc(50% + 180px)}.line-b,.line-d{left:calc(50% + 180px)}.circuit-node{display:none}}
.program-entry .exercise-name-secondary{display:block;margin-top:2px;color:#7f92a5;font:500 .55rem/1.4 Inter,Arial,sans-serif;direction:ltr;text-align:inherit}.program-entry li>strong{font-size:.68rem}
