:root{--bg:#07100e;--panel:#0d1814;--card:#12201b;--line:rgba(255,255,255,.09);--text:#f3f8f5;--muted:#91a29a;--lime:#b7ff3c;--danger:#ff7588;--radius:20px}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Vazirmatn,Tahoma,sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0,rgba(183,255,60,.08),transparent 28%),var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-left:1px solid var(--line);background:rgba(6,13,11,.94);padding:24px 18px;display:flex;flex-direction:column;z-index:20}.logo{display:flex;align-items:center;gap:10px;font-family:Arial;font-size:22px;font-weight:800;margin-bottom:30px}.logo-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--lime);color:#07100d}.logo b{color:var(--lime)}.user-mini{display:flex;gap:11px;align-items:center;padding:13px;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:16px;margin-bottom:20px}.avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--lime),#4ca72a);color:#07100d;display:grid;place-items:center;font-weight:900}.user-mini strong{display:block;font-size:13px}.user-mini small{color:var(--muted);font-size:11px}.nav{display:grid;gap:6px}.nav a,.nav button{border:0;width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:13px;color:#acbbb4;background:transparent;cursor:pointer;text-align:right}.nav a:hover,.nav a.active,.nav button:hover{background:rgba(183,255,60,.09);color:var(--lime)}.nav .danger{color:#ff98a6}.sidebar-bottom{margin-top:auto}.main{min-width:0;padding:28px 32px 55px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.topbar h1{font-size:22px;margin:0}.topbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:#13211c;color:#fff;cursor:pointer;font-weight:700}.btn-primary{background:var(--lime);color:#08110d;border-color:var(--lime)}.btn-danger{border-color:rgba(255,117,136,.35);color:#ff9cab;background:rgba(255,117,136,.07)}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(145deg,rgba(18,32,27,.96),rgba(10,19,16,.96));border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.13)}.stat small,.muted{color:var(--muted)}.stat b{font-family:Arial;font-size:31px;display:block;margin-top:8px;color:var(--lime)}.card h2,.card h3{margin:0 0 14px}.hero-card{padding:26px;background:linear-gradient(120deg,#b7ff3c,#75df35);color:#07100d;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:240px;height:240px;border:45px solid rgba(7,16,13,.08);border-radius:50%;left:-80px;top:-110px}.hero-card>*{position:relative;z-index:1}.hero-card p{color:#294226}.workout-card{display:flex;justify-content:space-between;gap:18px;align-items:center}.workout-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pill{display:inline-flex;padding:6px 9px;border:1px solid var(--line);border-radius:20px;color:#b9c7c0;font-size:11px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:680px}.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:right;font-size:13px}.table th{color:#8fa198;font-weight:500}.status{padding:5px 9px;border-radius:20px;font-size:11px}.status.active{background:rgba(183,255,60,.1);color:var(--lime)}.status.blocked{background:rgba(255,117,136,.1);color:#ff9cab}.flash{padding:13px 16px;border-radius:13px;margin-bottom:18px}.flash.success{background:#173d25;border:1px solid #377b49}.flash.error{background:#4a2027;border:1px solid #8b3e4b}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;color:#b9c6c0}.input{width:100%;border:1px solid var(--line);background:#09120f;color:#fff;border-radius:12px;padding:12px;outline:none}.input:focus{border-color:rgba(183,255,60,.55);box-shadow:0 0 0 3px rgba(183,255,60,.06)}textarea.input{min-height:110px;resize:vertical}.exercise-list{display:grid;gap:9px;margin:15px 0}.exercise{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.exercise small{color:var(--muted)}.workout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.workout-day{position:relative}.workout-day.done{border-color:rgba(183,255,60,.35)}.workout-day .day-num{font-family:Arial;color:var(--lime);font-weight:700}.coach-layout{display:grid;grid-template-columns:250px 1fr;gap:15px}.conversation-list{display:grid;gap:7px}.conversation-list a{padding:10px;border-radius:11px;color:#aebdb6;border:1px solid transparent;font-size:12px}.conversation-list a:hover,.conversation-list a.active{border-color:var(--line);background:rgba(255,255,255,.035);color:#fff}.chat-card{padding:0;overflow:hidden}.messages{height:500px;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.message{max-width:78%;padding:12px 15px;border-radius:16px;line-height:1.9;font-size:13px;white-space:pre-wrap}.message.user{align-self:flex-end;background:var(--lime);color:#07100d;border-bottom-left-radius:5px}.message.assistant{align-self:flex-start;background:rgba(255,255,255,.055);border-bottom-right-radius:5px}.chat-form{border-top:1px solid var(--line);display:flex;gap:9px;padding:13px}.chat-form textarea{min-height:48px;max-height:130px}.empty{text-align:center;color:var(--muted);padding:45px 15px}.admin-badge{display:inline-flex;background:rgba(183,255,60,.12);color:var(--lime);border:1px solid rgba(183,255,60,.2);border-radius:20px;padding:5px 9px;font-size:11px}.plan-admin{margin-bottom:16px}.plan-admin summary{cursor:pointer;font-weight:800}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.mobile-toggle{display:none}.overlay{display:none}@media(max-width:1050px){.grid-4{grid-template-columns:repeat(2,1fr)}.workout-grid{grid-template-columns:repeat(2,1fr)}.coach-layout{grid-template-columns:1fr}.conversation-panel{display:none}}@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;right:0;top:0;width:270px;transform:translateX(105%);transition:.25s;border-left:1px solid var(--line)}.shell.menu-open .sidebar{transform:none}.overlay{display:block;position:fixed;inset:0;background:#0008;z-index:15;opacity:0;pointer-events:none}.shell.menu-open .overlay{opacity:1;pointer-events:auto}.mobile-toggle{display:inline-flex}.main{padding:18px 14px 40px}.topbar{align-items:flex-start}.grid-4,.grid-3,.grid-2,.workout-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.workout-card{align-items:flex-start;flex-direction:column}.messages{height:57vh}.message{max-width:90%}}
.avatar.avatar-image{overflow:hidden;padding:0;background:#13211c}.avatar.avatar-image img{width:100%;height:100%;display:block;object-fit:cover}
.logo .brand-logo-image{display:block;width:auto;max-width:184px;height:auto;max-height:65px;object-fit:contain;object-position:right center}

.privacy-consent-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:13px 15px;border-radius:14px}.privacy-consent-banner.pending{border:1px solid rgba(255,207,114,.25);background:rgba(255,207,114,.065)}.privacy-consent-banner.revoked{border:1px solid rgba(255,117,136,.26);background:rgba(255,117,136,.065)}.privacy-consent-banner b,.privacy-consent-banner span{display:block}.privacy-consent-banner b{font-size:11px}.privacy-consent-banner span{margin-top:3px;color:var(--muted);font-size:9px}.privacy-consent-banner a{flex:0 0 auto;padding:8px 11px;border-radius:10px;border:1px solid var(--line);font-size:10px;font-weight:800}.privacy-consent-banner.pending a{color:#ffcf72}.privacy-consent-banner.revoked a{color:#ff9cab}@media(max-width:760px){.privacy-consent-banner{align-items:stretch;flex-direction:column}.privacy-consent-banner a{text-align:center}}
