.auth-back{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px;background:#050807e8;backdrop-filter:blur(18px);overflow-y:auto}
.auth-back.show{display:grid}
.auth-card{width:min(465px,100%);max-height:min(94dvh,900px);overflow:auto;padding:34px;border:1px solid #a8ffe53d;border-radius:22px;background:radial-gradient(ellipse at 92% 0,#59ffc414,transparent 42%),linear-gradient(150deg,#131a19,#0e1213);box-shadow:0 30px 100px #000b,0 0 60px #55ffd012}
.auth-brand{display:flex;align-items:center;gap:8px;font-size:21px;font-weight:900;letter-spacing:-1px}
.auth-brand>span:last-child{font-size:10px;color:#7c9389;margin-left:-6px}
.auth-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#d4ff70,#73f5c4);color:#102019}
.auth-kicker{display:block;margin-top:29px;color:#a8ffd6;font:800 9px ui-monospace,monospace;letter-spacing:1.7px}
.auth-card h1{margin:10px 0 8px;font-size:34px;line-height:1.02;font-weight:900;letter-spacing:-.05em;background:linear-gradient(100deg,#fff,#9affe0);color:transparent;background-clip:text}
.auth-card>p{margin:0 0 20px;color:#91aaa2;font-size:13px}
.auth-role{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:13px}
.auth-role-btn{padding:10px;border:1px solid #294239;border-radius:10px;background:#101c1a;color:#a9c1b5;font-weight:750}
.auth-role-btn.active{border-color:#c7ff6277;background:#c7ff6214;color:#d9ff9c}
.auth-field,.form-field{display:grid;gap:6px;margin:12px 0;color:#a7bdb3;font-size:11px;font-weight:750}
.auth-field input,.form-field input,.form-field textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid #2b433b;border-radius:10px;background:#0a1110;color:#edfff5;font:inherit;font-size:13px;outline:none}
.auth-field input:focus,.form-field input:focus,.form-field textarea:focus{border-color:#9affd0;box-shadow:0 0 0 3px #72ffc21b}
.form-field input[readonly]{opacity:.7}
.form-field textarea{resize:vertical;min-height:82px}
.auth-error{min-height:18px;margin:5px 0;color:#ff9e94;font-size:11px}
.auth-submit{width:100%;justify-content:center;display:flex;align-items:center;gap:15px;margin-top:6px}
.auth-switch,.auth-demo{width:100%;padding:12px;background:transparent;color:#b9e4d1;font-size:12px;font-weight:700}
.auth-divider{display:flex;align-items:center;gap:12px;margin:9px 0;color:#668077;font:8px ui-monospace,monospace}
.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#ffffff18}
.auth-demo{border:1px solid #294239;border-radius:10px;background:#101b19}
.auth-disclaimer{display:block;margin-top:14px;text-align:center;color:#6e8980;font-size:9px}
.coach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.coach-card,.account-card{min-width:0;border:1px solid #ffffff20;border-radius:16px;background:radial-gradient(ellipse at 100% 0,#57ffd011,transparent 45%),linear-gradient(145deg,#121919,#0e1314);box-shadow:0 15px 45px #0005}
.coach-card{padding:19px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;transition:transform .25s,border-color .25s,box-shadow .25s}
.coach-card:hover{transform:translateY(-3px);border-color:#8affcf65;box-shadow:0 19px 45px #0007,0 0 28px #5affca12}
.coach-head{display:flex;align-items:center;gap:12px;width:100%}
.coach-photo{display:grid;place-items:center;width:54px;height:54px;flex:none;overflow:hidden;border:1px solid #9effd257;border-radius:16px;background:#14241f;color:#c7ff62;font-size:18px;font-weight:850}
.coach-photo img{width:100%;height:100%;object-fit:cover}
.coach-head h3{margin:0;color:#effff6;font-size:15px}
.coach-head small{display:block;color:#91aaa1;font-size:10px;margin-top:3px}
.coach-card>p{margin:0;color:#a6bbb2;font-size:11px;line-height:1.5;min-height:38px}
.coach-card .coach-rate{color:#d9ff9c;font-size:13px;font-weight:800}
.coach-card .btn{margin-top:auto;width:100%;justify-content:center}
.coach-card .btn:disabled{opacity:.56}
.empty-state{padding:20px;border:1px dashed #39564a;border-radius:13px;color:#91aaa1;font-size:12px;text-align:center}
.account-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);align-items:start;gap:15px}
.account-card{padding:20px}
.profile-photo-row{display:flex;align-items:center;gap:14px;padding-bottom:17px;border-bottom:1px solid #ffffff18;margin-bottom:12px}
.profile-photo{display:grid;place-items:center;width:78px;height:78px;overflow:hidden;border:1px solid #9effd250;border-radius:22px;background:#13251f;color:#c7ff62;font-size:22px;font-weight:850}
.profile-photo img{width:100%;height:100%;object-fit:cover}
.profile-photo-row strong{color:#e6fff2;font-size:13px}
.profile-photo-row p{margin:4px 0 9px;color:#829a90;font-size:10px}
.upload-button{display:inline-flex;min-height:34px;align-items:center;padding:6px 10px;font-size:10px}
.profile-card>.btn{margin-top:10px}
.account-side{display:grid;gap:13px}
.account-side h3{margin:0 0 11px;color:#f0fff6;font-size:15px}
.account-side h3:not(:first-child){margin-top:20px}
.account-side>div>p{color:#8fa79c;font-size:11px}
.account-summary{display:flex;align-items:center;gap:10px}
.request-list,.client-list{display:grid;gap:9px}
.request-card,.client-row,.assigned-coach{padding:12px;border:1px solid #ffffff18;border-radius:12px;background:#0d1514}
.request-card-top{display:flex;align-items:center;gap:9px}
.request-card-top strong,.client-row strong{color:#eafff3;font-size:12px}
.request-card p{margin:8px 0;color:#a1b5ab;font-size:11px}
.request-card small,.client-row small{color:#82998f;font-size:9px}
.request-actions{display:flex;gap:7px;margin-top:10px}
.request-actions .btn{flex:1;min-height:36px;padding:7px;font-size:10px}
.request-actions .reject{background:#2a1919;color:#ffb2a9;border:1px solid #58312d}
.request-status{display:inline-flex;padding:4px 7px;border:1px solid #ffffff16;border-radius:99px;color:#a1b7ac;font-size:9px;font-weight:800}
.request-status.pending{color:#ffdc8b;background:#ffce4510}
.request-status.accepted{color:#a9ffd0;background:#66ffc011}
.request-status.rejected{color:#ffa49d;background:#ff705110}
.assigned-coach{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.assigned-coach .coach-photo{width:46px;height:46px;border-radius:14px}
.assigned-coach strong{color:#edfff5;font-size:12px}
.assigned-coach small{display:block;color:#94a99f;font-size:10px;margin-top:3px}
.account-payment{display:flex;align-items:center;gap:11px;padding:14px}
.account-payment-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:#bbff6115;color:#d6ff83}
.account-payment>div{flex:1}
.account-payment strong{color:#e7fff2;font-size:11px}
.account-payment p{margin:3px 0 0;color:#82988f;font-size:9px;line-height:1.35}
.account-payment .tag{font-size:8px;padding:4px 6px}
.logout-button{width:100%;justify-content:center}
@media(max-width:1000px){.coach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.account-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.85fr)}
}
@media(max-width:660px){.auth-back{padding:12px;align-items:center}
.auth-card{padding:25px 20px;border-radius:19px}
.auth-card h1{font-size:29px}
.coach-grid{grid-template-columns:1fr}
.coach-card{padding:15px}
.account-layout{grid-template-columns:1fr}
.account-card{padding:16px}
.account-side{grid-row:2}
.nav button[data-page="exercises"]{display:none}
.nav button[data-page="home"],.nav button[data-page="coaches"],.nav button[data-page="programs"],.nav button[data-page="workout"],.nav button[data-page="account"]{display:flex;flex:1;min-width:0}
}
@media(min-width:901px){#account .account-layout{display:block;column-count:2;column-gap:15px}#account .account-layout>.account-card,#account .account-side>.account-card{break-inside:avoid;margin:0 0 13px;display:block;width:100%}#account .account-side{display:contents}}
#clientProfileFields{display:none!important}
