.theme-toggle{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(216,255,56,.25);border-radius:13px;color:var(--lime);background:rgba(216,255,56,.06);font-size:20px}
.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(280px,460px) minmax(340px,470px);align-items:center;justify-content:center;gap:clamp(40px,8vw,120px);padding:45px 24px;background:radial-gradient(circle at 18% 20%,rgba(139,92,246,.2),transparent 28rem),radial-gradient(circle at 85% 85%,rgba(216,255,56,.08),transparent 24rem)}
.login-brand .brand-mark{margin-bottom:38px}.login-brand h1{font-size:clamp(44px,6vw,72px);line-height:.98;letter-spacing:-.07em}.login-brand h1 span{color:var(--lime)}.login-brand>p:last-child{max-width:280px;color:var(--muted);font-size:16px;line-height:1.5;margin-top:19px}
.login-card{padding:29px;border:1px solid rgba(139,92,246,.45);border-radius:25px;background:var(--surface);box-shadow:0 25px 80px rgba(0,0,0,.24)}
.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin-bottom:28px;border-radius:14px;background:var(--surface3)}.login-tabs button{min-height:42px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-size:12px;font-weight:800}.login-tabs button.active{color:#17131f;background:var(--lime)}
.login-copy{margin-bottom:22px}.login-copy h2{font-size:28px;margin:5px 0 7px}.login-copy p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.45;margin:0}.login-card form{display:grid;gap:14px}.login-card label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.login-card input{width:100%;min-height:46px;padding:0 13px;border:1px solid var(--line);border-radius:11px;outline:0;color:var(--text);background:rgba(255,255,255,.045);font-size:14px}.login-card input:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(216,255,56,.12)}.login-button{width:100%;margin-top:4px}.demo-hint{display:grid;gap:4px;margin-top:18px;padding:14px;border:1px dashed rgba(216,255,56,.35);border-radius:13px;color:var(--muted);font-size:12px}.demo-hint b{color:var(--text);font-size:11px}.demo-hint span{color:var(--lime);font-weight:800}.demo-hint small{color:var(--muted2)}.login-error{padding:10px 12px;border:1px solid rgba(255,106,130,.4);border-radius:10px;color:#ff9aae;background:rgba(255,106,130,.08);font-size:12px}
.role-label{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.13em}
.logout-button{border:0;color:var(--muted);background:transparent;font-size:11px;font-weight:800}
.edit-student{justify-self:end;border:1px solid rgba(139,92,246,.3);border-radius:9px;padding:7px 9px;color:var(--muted);background:transparent;font-size:11px;font-weight:800}.edit-student:hover{color:var(--lime);border-color:var(--lime)}
.link-workout-button{white-space:nowrap}.light-mode .link-workout-button{color:#4d2a93}
.student-picker{display:grid;gap:8px;max-height:280px;overflow:auto}.student-picker label{display:flex;grid-template-columns:none;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;color:var(--text);background:rgba(255,255,255,.035);font-size:13px}.student-picker label:has(input:checked){border-color:rgba(216,255,56,.55);background:rgba(216,255,56,.08)}.student-picker input{width:18px;height:18px;accent-color:var(--lime)}.student-picker span{display:grid;gap:3px}.student-picker small{color:var(--muted);font-size:11px;font-weight:400}
.full-field{grid-column:1/-1}
.meals-content{max-width:900px;display:grid;gap:28px}
.calorie-card{display:flex;align-items:center;gap:30px;padding:28px;border:1px solid rgba(139,92,246,.42);border-radius:24px;background:linear-gradient(120deg,#201736,#171329)}
.calorie-ring{width:155px;height:155px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:conic-gradient(var(--lime) 0 var(--progress),rgba(255,255,255,.1) var(--progress) 360deg);position:relative}
.calorie-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#171329}
.calorie-ring>div{position:relative;z-index:1;display:grid;place-items:center}
.calorie-ring strong{font-size:29px;letter-spacing:-.05em}
.calorie-ring span{color:var(--muted);font-size:11px}
.calorie-copy{max-width:440px}
.calorie-copy h2{font-size:31px;margin-bottom:7px}
.calorie-copy p:not(.eyebrow){color:var(--muted);font-size:14px;margin:0 0 17px}
.calorie-copy p b{color:var(--lime)}
.calorie-track{height:8px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.1)}
.calorie-track i{display:block;height:100%;border-radius:inherit;background:var(--lime)}
.calorie-copy>small{display:block;color:var(--muted);font-size:11px;margin-top:8px}
.small-button{min-height:42px;padding:0 14px;font-size:12px}
.meals-section{border:1px solid var(--line);border-radius:20px;padding:22px;background:var(--surface)}
.meal-list{border-top:1px solid var(--line)}
.meal-row{display:grid;grid-template-columns:52px 38px 1fr auto;align-items:center;gap:11px;min-height:74px;border-bottom:1px solid var(--line)}
.meal-time{color:var(--muted2);font-size:11px}
.meal-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:var(--lime);background:rgba(216,255,56,.09)}
.meal-main{display:grid;gap:4px}
.meal-main b{font-size:14px}
.meal-main span{color:var(--muted);font-size:11px}
.meal-row>strong{font-size:14px}
.meal-row>strong small{color:var(--muted);font-size:10px;font-weight:400}
.nutrition-note{display:flex;gap:12px;align-items:start;padding:17px 18px;border:1px solid rgba(139,92,246,.24);border-radius:16px;background:rgba(139,92,246,.08)}
.nutrition-note>span{color:var(--lime);font-size:19px}
.nutrition-note b{font-size:13px}
.nutrition-note p{color:var(--muted);font-size:12px;margin:5px 0 0}
.light-mode{--bg:#f5f3f9;--surface:#ffffff;--surface3:#e8e5f1;--text:#181522;--muted:#6d687a;--muted2:#8c8799;--line:rgba(25,21,38,.12)}
body.light-mode{background:radial-gradient(circle at 85% -10%,rgba(139,92,246,.12),transparent 30rem),var(--bg)}
.light-mode .page-shell{background:transparent}
.light-mode .icon-button{background:rgba(25,21,38,.03)}
.light-mode .week-total,.light-mode .filter-button,.light-mode .back-app,.light-mode .back-to-workout{background:var(--surface)}
.light-mode .academy-panel,.light-mode .meals-section,.light-mode .metric-card,.light-mode .chart-card,.light-mode .last-session,.light-mode .exercise-card{box-shadow:0 7px 25px rgba(35,29,60,.05)}
.light-mode .modal-card{background:#fff;color:#181522}
.light-mode .modal-card input,.light-mode .modal-card select{color:#181522;background:#f5f3f9;border-color:rgba(25,21,38,.14)}
.light-mode .calorie-ring:after{background:#fff}
.light-mode .calorie-card{background:linear-gradient(120deg,#ece7fa,#ffffff);border-color:rgba(94,48,177,.24)}
.light-mode .login-screen{background:radial-gradient(circle at 18% 20%,rgba(139,92,246,.13),transparent 28rem),var(--bg)}
.light-mode .login-card{border-color:rgba(75,45,135,.2);box-shadow:0 18px 50px rgba(35,29,60,.12)}
.light-mode .login-card input{background:#fff;border-color:rgba(25,21,38,.2)}
.light-mode .calorie-ring{background:conic-gradient(var(--lime) 0 var(--progress),rgba(25,21,38,.13) var(--progress) 360deg)}
.light-mode .calorie-track{background:rgba(25,21,38,.12)}
.light-mode .nutrition-note{background:rgba(111,61,190,.09);border-color:rgba(111,61,190,.24)}
.light-mode .meal-row,.light-mode .meal-list{border-color:rgba(25,21,38,.14)}
.light-mode .meal-main b,.light-mode .calorie-copy h2,.light-mode .meals-section h2,.light-mode .nutrition-note b{color:#181522}
.light-mode .edit-student{border-color:rgba(75,45,135,.24);color:#514b61}
@media(max-width:620px){.calorie-card{gap:18px;padding:20px}.calorie-ring{width:118px;height:118px}.calorie-ring strong{font-size:23px}.calorie-copy h2{font-size:25px}.calorie-copy p:not(.eyebrow){font-size:12px}.meal-row{grid-template-columns:39px 34px 1fr auto;gap:8px}.meal-row>strong{font-size:12px}.theme-toggle{width:38px;height:38px}.header-actions{gap:7px}.role-label{display:none}.logout-button{font-size:0;padding:0;width:22px}.logout-button:after{content:"↪";font-size:18px}}
@media(max-width:760px){.login-screen{grid-template-columns:1fr;gap:26px;max-width:520px;margin:auto;padding:32px 18px}.login-brand{text-align:center}.login-brand .brand-mark{margin:0 auto 25px}.login-brand h1{font-size:46px}.login-brand>p:last-child{margin:13px auto 0}.student-row{grid-template-columns:35px 1fr auto auto}.student-row .edit-student{padding:6px 7px}.full-field{grid-column:auto}}
