/* SPORT PAGE */
.sport-page,.health-page{position:fixed;inset:0;background:var(--bg);z-index:180;overflow-y:auto;padding-bottom:90px;transform:translateX(100%);transition:transform .32s cubic-bezier(.25,.46,.45,.94)}
.sport-page.open,.health-page.open{transform:translateX(0)}
.sport-header{position:sticky;top:0;background:var(--bg2);border-bottom:1px solid var(--border-g);padding:11px 16px;display:flex;align-items:center;gap:12px;z-index:10;backdrop-filter:blur(8px)}
.sport-back{background:none;border:1px solid var(--border-g);border-radius:8px;color:var(--text-dim);padding:6px 11px;font-size:.75rem;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.sport-back:hover{border-color:#ff6b6b;color:#ff6b6b}
.sport-title{font-family:var(--font-d);font-size:1.3rem;font-weight:600;color:#ff6b6b}
.health-page{background:linear-gradient(180deg,#07110e 0%,var(--bg) 42%)}
.health-header{border-bottom-color:rgba(76,175,125,.32)}
.health-title{color:#79d7a5}
.health-back:hover{border-color:#79d7a5;color:#79d7a5}
.health-dashboard{padding:14px 16px 0}
.health-hero-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:linear-gradient(135deg,rgba(43,172,116,.2),rgba(18,34,28,.92) 56%,rgba(197,164,61,.12));border:1px solid rgba(121,215,165,.24);border-radius:14px;padding:16px;box-shadow:0 16px 34px rgba(0,0,0,.22)}
.health-kicker{font-size:.62rem;color:#79d7a5;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin-bottom:5px}
.health-title-main{font-family:var(--font-d);font-size:1.7rem;font-weight:700;color:#f2e6b8;line-height:1}
.health-sub{font-size:.75rem;color:var(--text-dim);line-height:1.45;margin-top:7px}
.health-quick-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.health-action-btn{border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#f5ead0;font-family:var(--font-b);font-size:.72rem;font-weight:800;padding:9px 12px;cursor:pointer;transition:all .2s;white-space:nowrap}
.health-action-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.health-action-btn.primary{background:linear-gradient(135deg,#2aa66e,#78d39e)}
.health-action-btn.water{background:linear-gradient(135deg,#236c95,#6abcec)}
.health-action-btn.sleep{background:linear-gradient(135deg,#4c2c72,#9b7acc)}
.health-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px}
.health-metric-card{background:rgba(15,18,15,.94);border:1px solid rgba(121,215,165,.18);border-radius:12px;padding:11px 10px;text-align:left;min-height:88px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.health-metric-card:hover{border-color:rgba(121,215,165,.45);transform:translateY(-1px)}
.health-metric-card.body{border-color:rgba(232,200,74,.22)}
.health-metric-card.water{border-color:rgba(106,188,236,.24)}
.health-metric-card.sleep{border-color:rgba(155,122,204,.26)}
.health-metric-card.food{border-color:rgba(224,90,43,.22)}
.health-metric-label{font-size:.58rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.health-metric-val{display:block;font-family:var(--font-d);font-size:1.15rem;color:#f1e5c1;margin-top:5px;line-height:1.08}
.health-metric-note{font-size:.64rem;color:var(--text-dim);margin-top:5px;line-height:1.25}
.health-meter{display:block;height:5px;background:#17201d;border-radius:4px;overflow:hidden;margin-top:9px}
.health-meter i{display:block;height:100%;background:linear-gradient(90deg,#2d8ac4,#6abcec);border-radius:4px;transition:width .3s}
@media(max-width:720px){.health-hero-card{grid-template-columns:1fr}.health-quick-actions{justify-content:flex-start}.health-metric-grid{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.health-metric-grid{grid-template-columns:1fr}.health-action-btn{flex:1}}
.sport-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-g);overflow-x:auto}
.sport-tab{flex-shrink:0;padding:9px 12px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:var(--font-b);font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.sport-tab.active{color:#ff6b6b;border-bottom-color:#ff6b6b}
.health-tab.active{color:#79d7a5;border-bottom-color:#79d7a5}
.sport-panel{display:none;padding:14px 16px}
.sport-panel.active{display:block}
.sport-goal-item{background:var(--card);border:1px solid var(--border-g);border-radius:11px;padding:11px 13px;display:flex;align-items:center;gap:10px;margin-bottom:7px;transition:all .2s}
.sport-goal-item.done-g{opacity:.55;border-color:transparent}
.sport-goal-cb{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-g);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.sport-goal-cb:hover{border-color:#ff6b6b}
.sport-goal-cb.checked{background:#ff6b6b;border-color:#ff6b6b}
.sport-goal-cb.checked::after{content:'✓';color:#fff;font-size:.75rem;font-weight:700}
.sport-goal-text{flex:1;font-size:.83rem;color:var(--text-mid)}
.sport-goal-text.done-t{text-decoration:line-through;color:var(--text-dim)}
.sport-goal-del{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.8rem;padding:2px 5px}
.sport-goal-del:hover{color:var(--red)}
.sport-add-row{display:flex;gap:8px;margin-top:8px}
.sport-add-input{flex:1;background:var(--bg3);border:1px solid var(--border-g);border-radius:9px;color:var(--text);font-family:var(--font-b);font-size:.82rem;padding:8px 11px;outline:none;transition:border-color .2s}
.sport-add-input:focus{border-color:#ff6b6b}
.sport-add-input::placeholder{color:var(--text-dim)}
.sport-add-btn{background:rgba(255,107,107,.15);border:1px solid rgba(255,107,107,.4);border-radius:9px;color:#ff6b6b;font-size:.82rem;padding:8px 13px;cursor:pointer;font-family:var(--font-b);transition:all .2s;white-space:nowrap}
.sport-add-btn:hover{background:rgba(255,107,107,.25)}
.sport-day-block{margin-bottom:14px}
.sport-day-title{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#ff6b6b;margin-bottom:7px;font-weight:700}
.sport-ex-row{background:var(--card);border:1px solid var(--border-g);border-radius:10px;padding:9px 12px;display:flex;align-items:center;gap:8px;margin-bottom:5px}
.sport-ex-name{flex:1;font-size:.82rem;color:var(--text-mid)}
.sport-ex-meta{font-size:.68rem;color:var(--text-dim)}
.sport-ex-del{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.75rem;padding:2px 4px}
.sport-ex-del:hover{color:var(--red)}
.sport-today-ex{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:13px;margin-bottom:8px;transition:all .2s}
.sport-today-ex.ex-done{opacity:.6;border-color:transparent}
.sport-today-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.sport-today-cb{width:22px;height:22px;border-radius:6px;border:2px solid var(--border-g);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;background:none}
.sport-today-cb:hover{border-color:#ff6b6b}
.sport-today-cb.checked{background:#ff6b6b;border-color:#ff6b6b}
.sport-today-cb.checked::after{content:'✓';color:#fff;font-size:.8rem;font-weight:700}
.sport-today-name{flex:1;font-size:.88rem;font-weight:700;color:var(--text)}
.sport-today-name.done-n{text-decoration:line-through;color:var(--text-dim)}
.sport-today-meta{font-size:.72rem;color:var(--text-dim);margin-left:32px;margin-bottom:8px}
.sport-timer-btn{display:inline-flex;align-items:center;gap:5px;background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.35);border-radius:8px;color:#ff6b6b;font-size:.75rem;padding:5px 11px;cursor:pointer;font-family:var(--font-b);transition:all .2s;margin-left:32px}
.sport-timer-btn:hover{background:rgba(255,107,107,.22)}
.sport-timer-btn.running{background:rgba(255,107,107,.25);animation:timerPulse 1s infinite}
@keyframes timerPulse{0%,100%{opacity:1}50%{opacity:.7}}
.sport-timer-display{font-weight:700;font-size:.82rem}
.sport-history-item{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:12px 14px;margin-bottom:8px}
.sport-history-date{font-size:.7rem;color:#ff6b6b;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.sport-history-exlist{font-size:.75rem;color:var(--text-dim);line-height:1.7}
.sport-history-exlist b{color:var(--text-mid)}
.sport-history-del{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.72rem;padding:2px 5px;margin-top:5px;float:right}
.sport-history-del:hover{color:var(--red)}
.sport-prog-section{margin-bottom:18px}
.sport-prog-title{font-family:var(--font-d);font-size:1rem;font-weight:600;color:#ff6b6b;margin-bottom:8px}
.sport-streak-card{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:14px;text-align:center;margin-bottom:10px}
.sport-streak-num{font-family:var(--font-d);font-size:2.5rem;font-weight:600;color:#ff6b6b;line-height:1}
.sport-streak-lbl{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
.sport-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px}
.sport-week-cell{aspect-ratio:1;border-radius:5px;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:.55rem;color:var(--text-dim);flex-direction:column;gap:1px}
.sport-week-cell.has-workout{background:rgba(255,107,107,.25);color:#ff6b6b}
.sport-week-cell.today-cell{border:1px solid #ff6b6b}
.sport-week-day{font-size:.52rem}
.sport-plan-add-row{display:grid;grid-template-columns:1fr auto auto auto;gap:6px;margin-top:8px;align-items:center}
.sport-plan-ex-input{background:var(--bg3);border:1px solid var(--border-g);border-radius:8px;color:var(--text);font-family:var(--font-b);font-size:.78rem;padding:7px 10px;outline:none;transition:border-color .2s}
.sport-plan-ex-input:focus{border-color:#ff6b6b}
.sport-plan-ex-input::placeholder{color:var(--text-dim)}
.sport-plan-mini{background:var(--bg3);border:1px solid var(--border-g);border-radius:8px;color:var(--text);font-family:var(--font-b);font-size:.75rem;padding:7px 8px;outline:none;width:70px}
.sport-plan-mini:focus{border-color:#ff6b6b}
.sport-start-btn{background:linear-gradient(135deg,rgba(255,107,107,.2),rgba(255,107,107,.1));border:1px solid rgba(255,107,107,.4);border-radius:10px;color:#ff6b6b;font-family:var(--font-b);font-size:.82rem;font-weight:700;padding:11px;cursor:pointer;width:100%;margin-top:10px;transition:all .2s;letter-spacing:.04em}
.sport-start-btn:hover{background:linear-gradient(135deg,rgba(255,107,107,.3),rgba(255,107,107,.2))}

/* SPORT v2 */
.sp-gold{color:#e8c84a}
.sp-phase-row{display:flex;gap:7px;margin-bottom:12px}
.sp-phase-btn{flex:1;background:#111;border:1px solid #222;border-radius:10px;padding:9px 4px;cursor:pointer;transition:all .2s;text-align:center}
.sp-phase-btn.active{border-color:var(--sp-col)}
.sp-phase-label{font-size:.62rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.sp-phase-name{font-size:.72rem;margin-top:2px}
.sp-week-row{display:flex;gap:6px;margin-bottom:12px}
.sp-week-btn{flex:1;padding:7px 3px;background:#111;border:1px solid #222;border-radius:8px;cursor:pointer;font-size:.72rem;font-weight:600;color:#555;transition:all .2s}
.sp-week-btn.active{color:#fff}
.sp-day-acc{border:1px solid #1e1e1e;border-radius:10px;margin-bottom:7px;overflow:hidden}
.sp-day-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;cursor:pointer;background:#111;transition:background .2s}
.sp-day-head:hover{background:#161616}
.sp-day-tag{border-radius:5px;padding:3px 8px;font-size:.65rem;font-weight:700;min-width:28px;text-align:center}
.sp-day-focus{font-size:.82rem;font-weight:600;color:#e8e0d0;margin-left:10px;flex:1}
.sp-day-count{font-size:.65rem;color:#555}
.sp-day-arr{font-size:.8rem;color:#333;transition:transform .2s}
.sp-day-arr.open{transform:rotate(180deg)}
.sp-day-body{background:#0e0e0e;border-top:1px solid #1a1a1a;padding:4px 0 8px}
.sp-ex-table-head{display:grid;grid-template-columns:1fr 48px 70px 52px 32px;padding:5px 12px 3px;gap:4px}
.sp-ex-table-head span{font-size:.6rem;color:#3a3a3a;text-transform:uppercase;letter-spacing:.08em}
.sp-ex-table-head span:not(:first-child){text-align:center}
.sp-ex-row{display:grid;grid-template-columns:1fr 48px 70px 52px 32px;padding:7px 12px;border-top:1px solid #161616;align-items:center;gap:4px;transition:background .2s}
.sp-ex-row:hover{background:#121212}
.sp-ex-row.done{opacity:.55}
.sp-ex-name{font-size:.8rem;color:#c8c0b0}
.sp-ex-sets{font-size:.82rem;font-weight:700;text-align:center}
.sp-ex-reps{font-size:.82rem;font-weight:700;color:#e8c84a;text-align:center}
.sp-ex-rest{font-size:.68rem;color:#555;text-align:center}
.sp-ex-act{text-align:center}
.sp-timer-btn{background:none;border:1px solid #2a2a2a;border-radius:7px;color:#e8c84a;font-size:.7rem;padding:4px 7px;cursor:pointer;font-family:var(--font-b);transition:all .2s;white-space:nowrap}
.sp-timer-btn:hover{border-color:#e8c84a}
.sp-timer-btn.running{border-color:#e8c84a;background:rgba(232,200,74,.1);animation:timerPulse 1s infinite}
.sp-edit-btn{background:none;border:none;color:#333;cursor:pointer;font-size:.75rem;padding:2px 5px;transition:color .2s}
.sp-edit-btn:hover{color:#e8c84a}
.sp-edit-row{display:grid;grid-template-columns:1fr 48px 70px 52px 32px;padding:5px 12px;border-top:1px solid #161616;gap:4px;background:#0a0a0a}
.sp-edit-inp{background:#1a1a1a;border:1px solid #e8c84a44;border-radius:5px;color:#e8e0d0;font-size:.72rem;padding:3px 6px;width:100%;font-family:var(--font-b)}
.sp-complete-btn{display:block;width:calc(100% - 24px);margin:10px 12px 4px;background:linear-gradient(135deg,rgba(232,200,74,.15),rgba(232,200,74,.08));border:1px solid rgba(232,200,74,.4);border-radius:9px;color:#e8c84a;font-family:var(--font-b);font-size:.8rem;font-weight:700;padding:10px;cursor:pointer;letter-spacing:.06em;transition:all .2s}
.sp-complete-btn:hover{background:linear-gradient(135deg,rgba(232,200,74,.25),rgba(232,200,74,.15))}
.sp-phase-desc{background:rgba(232,200,74,.06);border:1px solid rgba(232,200,74,.2);border-radius:9px;padding:8px 12px;margin-bottom:12px;font-size:.72rem}

/* WORKOUT TAB */
.sp-wk-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}
.sp-wk-timer{font-family:var(--font-d);font-size:1.4rem;color:#e8c84a}
.sp-wk-prog{height:5px;background:#1a1a1a;border-radius:3px;margin-bottom:14px;overflow:hidden}
.sp-wk-prog-fill{height:100%;background:linear-gradient(90deg,#e05a2b,#e8c84a);border-radius:3px;transition:width .4s}
.sp-wk-ex-card{background:#111;border:1px solid #222;border-radius:12px;padding:13px;margin-bottom:9px;transition:all .2s}
.sp-wk-ex-card.done{opacity:.55;border-color:transparent}
.sp-wk-ex-title{font-size:.9rem;font-weight:700;color:#e8e0d0;margin-bottom:5px}
.sp-wk-ex-meta{font-size:.72rem;color:#666;margin-bottom:9px}
.sp-set-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}
.sp-set-cb{width:36px;height:36px;border-radius:8px;border:1px solid #2a2a2a;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#555;transition:all .2s;font-family:var(--font-b)}
.sp-set-cb:hover{border-color:#e8c84a;color:#e8c84a}
.sp-set-cb.done{background:#e8c84a22;border-color:#e8c84a;color:#e8c84a}
.sp-wk-timer-btn{display:inline-flex;align-items:center;gap:5px;background:rgba(232,200,74,.1);border:1px solid rgba(232,200,74,.35);border-radius:8px;color:#e8c84a;font-size:.75rem;padding:6px 12px;cursor:pointer;font-family:var(--font-b);transition:all .2s;margin-top:4px}
.sp-wk-timer-btn.running{background:rgba(232,200,74,.2);animation:timerPulse 1s infinite}
.sp-wk-timer-disp{font-weight:700;font-size:.88rem;min-width:42px}
.sp-wk-empty{text-align:center;padding:30px 20px;color:var(--text-dim)}
.sp-wk-empty-icon{font-size:2.5rem;margin-bottom:12px}
.sp-rst-btn{background:none;border:1px solid #333;border-radius:8px;color:#666;font-size:.7rem;padding:5px 10px;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.sp-rst-btn:hover{border-color:#e05a2b;color:#e05a2b}

/* SLEEP WIDGET */
.sp-sleep-card{background:linear-gradient(135deg,rgba(60,40,90,.25),rgba(30,20,50,.4));border:1px solid rgba(155,122,204,.3);border-radius:14px;padding:16px;margin:14px 0}
.sp-sleep-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.sp-sleep-title{font-size:.78rem;color:#c9b3ee;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.sp-sleep-status{font-size:.7rem;color:#9b7acc}
.sp-sleep-status.active{color:#4caf7d;animation:sleepPulse 2s infinite}
@keyframes sleepPulse{0%,100%{opacity:1}50%{opacity:.6}}
.sp-sleep-btn{width:100%;background:linear-gradient(135deg,#3a2050,#5a3585);border:none;border-radius:10px;color:#fff;padding:14px;font-family:var(--font-b);font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}
.sp-sleep-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(155,122,204,.3)}
.sp-sleep-btn.wake{background:linear-gradient(135deg,#e8a032,#f0c860)}
.sp-sleep-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.sp-sleep-stat{background:rgba(20,15,30,.5);border-radius:8px;padding:8px;text-align:center}
.sp-sleep-stat-val{font-size:1rem;font-weight:700;color:#c9b3ee;font-family:var(--font-b)}
.sp-sleep-stat-lbl{font-size:.6rem;color:#888;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.sp-sleep-advice{background:rgba(20,15,30,.4);border-left:3px solid #9b7acc;border-radius:6px;padding:10px 12px;margin-top:10px;font-size:.78rem;color:#b8a8d0;line-height:1.5}
.sp-sleep-advice-load{font-style:italic;color:#777}
.sp-sleep-recent{margin-top:10px;font-size:.7rem;color:#666}
.sp-sleep-recent-item{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed rgba(155,122,204,.15)}
.sp-sleep-manual{margin-top:12px;padding-top:12px;border-top:1px solid rgba(155,122,204,.18)}
.sp-sleep-manual-title{font-size:.64rem;color:#9b7acc;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:8px}
.sp-sleep-manual-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:end}
.sp-sleep-manual .sp-body-inp{border-color:rgba(155,122,204,.24)}
.sp-sleep-manual-btn{width:100%;background:rgba(155,122,204,.16);border:1px solid rgba(155,122,204,.36);border-radius:8px;color:#c9b3ee;font-size:.72rem;padding:8px 10px;cursor:pointer;font-family:var(--font-b);font-weight:700;transition:all .2s}
.sp-sleep-manual-btn:hover{background:rgba(155,122,204,.26)}
@media(max-width:420px){.sp-sleep-manual-grid{grid-template-columns:1fr 1fr}.sp-sleep-manual-grid .sp-body-inp-wrap:first-child{grid-column:1/-1}}

/* EXERCISE INFO MODAL */
.ex-info-modal{position:fixed;inset:0;background:rgba(10,8,6,.85);backdrop-filter:blur(6px);z-index:9998;display:none;align-items:flex-start;justify-content:center;padding:30px 16px;overflow-y:auto}
.ex-info-modal.show{display:flex;animation:restFadeIn .25s ease-out}
.ex-info-card{background:linear-gradient(135deg,rgba(35,28,20,.98),rgba(20,15,10,.98));border:1px solid rgba(232,200,74,.3);border-radius:16px;padding:22px;max-width:480px;width:100%;position:relative;color:#e8e0d0}
.ex-info-close{position:absolute;top:10px;right:12px;background:none;border:none;color:#888;font-size:1.6rem;cursor:pointer;line-height:1;padding:4px 10px;border-radius:6px;transition:all .2s}
.ex-info-close:hover{color:#e05a2b;background:rgba(224,90,43,.1)}
.ex-info-body{font-size:.85rem;line-height:1.55}
.ex-info-title{font-size:1.15rem;font-weight:700;color:#e8c84a;margin-bottom:4px;font-family:var(--font-h);padding-right:30px}
.ex-info-muscle{font-size:.7rem;color:#9b7acc;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px}
.ex-info-section{margin-bottom:14px}
.ex-info-section-title{font-size:.68rem;color:#e8c84a;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:6px}
.ex-info-section-body{font-size:.82rem;color:#d0c8b8}
.ex-info-section-body ol{padding-left:20px;margin:6px 0}
.ex-info-section-body ol li{margin-bottom:4px}
.ex-info-vid{display:inline-flex;align-items:center;gap:6px;background:rgba(232,90,43,.15);border:1px solid rgba(232,90,43,.4);border-radius:8px;padding:8px 14px;color:#ff7a4a;text-decoration:none;font-size:.78rem;font-weight:600;font-family:var(--font-b);margin-top:8px;transition:all .2s}
.ex-info-vid:hover{background:rgba(232,90,43,.25)}
.ex-info-img-wrap{background:rgba(232,200,74,.05);border:1px dashed rgba(232,200,74,.2);border-radius:10px;padding:14px;text-align:center;margin-bottom:14px}
.ex-info-img-emoji{font-size:3.5rem}
.sp-wk-ex-title{cursor:pointer;transition:color .2s}
.sp-wk-ex-title:hover{color:#e8c84a}
.sp-wk-ex-title::after{content:' ⓘ';font-size:.7em;color:#666;font-weight:400}

/* REST OVERLAY */
.rest-overlay{position:fixed;inset:0;background:rgba(10,8,6,.92);backdrop-filter:blur(8px);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.rest-overlay.show{display:flex;animation:restFadeIn .25s ease-out}
@keyframes restFadeIn{from{opacity:0}to{opacity:1}}
.rest-overlay-card{background:linear-gradient(135deg,rgba(40,28,18,.95),rgba(20,15,10,.95));border:1px solid rgba(232,200,74,.35);border-radius:20px;padding:32px 28px;text-align:center;max-width:340px;width:100%;box-shadow:0 8px 40px rgba(232,200,74,.18)}
.rest-overlay-label{font-size:.75rem;color:#e8c84a;text-transform:uppercase;letter-spacing:.18em;font-weight:700;margin-bottom:14px}
.rest-overlay-time{font-size:5.5rem;font-weight:800;color:#e8c84a;line-height:1;font-family:var(--font-b);text-shadow:0 0 30px rgba(232,200,74,.4);transition:color .3s}
.rest-overlay-time.urgent{color:#e05a2b;text-shadow:0 0 30px rgba(224,90,43,.5);animation:restPulseUrgent .5s infinite}
@keyframes restPulseUrgent{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.rest-overlay-sub{font-size:.78rem;color:#888;margin-top:10px;margin-bottom:22px}
.rest-overlay-btns{display:flex;gap:10px;justify-content:center}
.rest-btn{font-family:var(--font-b);border-radius:10px;padding:10px 18px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid}
.rest-btn.skip{background:transparent;border-color:#555;color:#aaa}
.rest-btn.skip:hover{border-color:#e05a2b;color:#e05a2b}
.rest-btn.add{background:rgba(232,200,74,.15);border-color:rgba(232,200,74,.4);color:#e8c84a}
.rest-btn.add:hover{background:rgba(232,200,74,.25)}

/* BODY TAB */
.sp-body-settings{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:14px;margin-bottom:14px}
.sp-body-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.sp-body-inp-wrap{display:flex;flex-direction:column;gap:4px}
.sp-body-label{font-size:.62rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}
.sp-body-inp{background:var(--bg3);border:1px solid var(--border-g);border-radius:8px;color:var(--text);font-family:var(--font-b);font-size:.85rem;padding:7px 10px;outline:none;transition:border-color .2s;width:100%}
.sp-body-inp:focus{border-color:#e8c84a}
.sp-body-save-btn{background:rgba(232,200,74,.12);border:1px solid rgba(232,200,74,.35);border-radius:8px;color:#e8c84a;font-size:.75rem;padding:7px 14px;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.sp-body-save-btn:hover{background:rgba(232,200,74,.22)}
.sp-body-add-section{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:14px;margin-bottom:14px}
.sp-body-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-bottom:14px}
.sp-metric-card{background:var(--card);border:1px solid var(--border-g);border-radius:10px;padding:10px 8px;text-align:center}
.sp-metric-val{font-family:var(--font-d);font-size:1.3rem;font-weight:600;color:#e8c84a}
.sp-metric-lbl{font-size:.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.sp-metric-sub{font-size:.62rem;color:var(--text-mid);margin-top:2px}
.sp-svg-wrap{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:12px;margin-bottom:14px}
.sp-svg-title{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.sp-period-btn{background:none;border:1px solid var(--border-g);border-radius:6px;color:var(--text-dim);font-size:.62rem;padding:3px 8px;cursor:pointer;font-family:var(--font-b)}
.sp-period-btn.active{border-color:#e8c84a;color:#e8c84a}

/* NUTRITION TAB */
.sp-nutr-block{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:14px;margin-bottom:12px}
.sp-nutr-title{font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font-weight:700}
.sp-nutr-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sp-nutr-item{background:var(--bg3);border-radius:9px;padding:10px;display:flex;align-items:center;gap:8px}
.sp-nutr-icon{font-size:1.3rem}
.sp-nutr-val{font-family:var(--font-d);font-size:1.1rem;font-weight:600;color:#e8c84a}
.sp-nutr-name{font-size:.62rem;color:var(--text-dim)}
.sp-water-prog-wrap{margin:10px 0}
.sp-water-prog{height:8px;background:#1a1a1a;border-radius:4px;overflow:hidden}
.sp-water-prog-fill{height:100%;background:linear-gradient(90deg,#4a9edc,#6abcec);border-radius:4px;transition:width .4s}
.sp-water-btns{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.sp-water-btn{background:rgba(74,158,220,.12);border:1px solid rgba(74,158,220,.3);border-radius:8px;color:#6abcec;font-size:.72rem;padding:7px 12px;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.sp-water-btn:hover{background:rgba(74,158,220,.22)}
.sp-water-total{font-family:var(--font-d);font-size:1.4rem;color:#6abcec;font-weight:600}
.sp-protein-equiv{background:var(--bg3);border-radius:8px;padding:10px 12px;margin-top:8px}
.sp-protein-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid #1a1a1a;font-size:.75rem}
.sp-protein-row:last-child{border-bottom:none}
.sp-protein-row b{color:#e8c84a}
.sp-food-diary{background:linear-gradient(135deg,rgba(31,42,30,.96),rgba(17,17,13,.96));border-color:rgba(121,215,165,.24)}
.sp-food-summary{display:flex;gap:14px;align-items:center;margin-bottom:13px}
.sp-food-ring{width:74px;height:74px;border-radius:50%;background:conic-gradient(#79d7a5 calc(var(--p)*1%),#1f261f 0);display:flex;align-items:center;justify-content:center;flex:0 0 auto;position:relative}
.sp-food-ring::after{content:'';position:absolute;inset:8px;border-radius:50%;background:#10130f}
.sp-food-ring span{position:relative;z-index:1;font-family:var(--font-d);font-size:1rem;color:#f1e5c1;font-weight:700}
.sp-food-summary-main{flex:1;min-width:0}
.sp-food-kcal{font-family:var(--font-d);font-size:1.35rem;color:#f1e5c1;font-weight:700}
.sp-food-kcal span{font-size:.75rem;color:var(--text-dim);font-family:var(--font-b)}
.sp-food-left{font-size:.7rem;color:#79d7a5;margin:2px 0 9px}
.sp-food-bars{display:flex;flex-direction:column;gap:5px}
.sp-food-bars div{display:grid;grid-template-columns:18px 1fr 72px;gap:7px;align-items:center;font-size:.64rem;color:var(--text-dim)}
.sp-food-bars b{color:#e8c84a;font-size:.62rem}
.sp-food-bars i{height:5px;background:#20241c;border-radius:4px;overflow:hidden}
.sp-food-bars em{display:block;height:100%;background:linear-gradient(90deg,#79d7a5,#e8c84a);border-radius:4px}
.sp-food-form{display:grid;grid-template-columns:1.6fr repeat(4,.72fr) auto;gap:7px;margin:10px 0}
.sp-food-form.wide{grid-template-columns:.9fr 1.4fr repeat(4,.65fr) auto}
.sp-food-add{background:linear-gradient(135deg,#2aa66e,#78d39e);border:0;border-radius:8px;color:#07110e;font-size:.72rem;font-weight:800;padding:8px 12px;cursor:pointer;font-family:var(--font-b)}
.sp-food-presets{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 10px}
.sp-food-presets button{background:rgba(232,200,74,.1);border:1px solid rgba(232,200,74,.28);border-radius:8px;color:#e8c84a;font-size:.68rem;padding:7px 10px;cursor:pointer;font-family:var(--font-b)}
.sp-food-list{display:flex;flex-direction:column;gap:6px}
.sp-food-row{display:flex;justify-content:space-between;gap:10px;align-items:center;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.06);border-radius:9px;padding:9px 10px}
.sp-food-row b{display:block;color:#f1e5c1;font-size:.78rem;margin-bottom:2px}
.sp-food-row span{display:block;color:var(--text-dim);font-size:.66rem}
.sp-food-row button{background:none;border:1px solid rgba(224,85,85,.32);border-radius:7px;color:#e05555;font-size:.64rem;padding:5px 8px;cursor:pointer;font-family:var(--font-b)}
.sp-food-empty{text-align:center;color:var(--text-dim);font-size:.74rem;padding:12px 6px;border:1px dashed rgba(255,255,255,.08);border-radius:9px}
.sp-food-row small{display:block;color:#79d7a5;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
.sp-food-goal-grid{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:center}
.sp-food-chart{height:150px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;padding:10px 2px 2px}
.sp-food-chart-col{height:130px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}
.sp-food-chart-col i{width:100%;max-width:28px;background:linear-gradient(180deg,#79d7a5,#e8c84a);border-radius:8px 8px 3px 3px;min-height:6px}
.sp-food-chart-col b{font-size:.62rem;color:#f1e5c1;font-weight:700}
.sp-food-chart-col span{font-size:.56rem;color:var(--text-dim)}
.sp-food-tools .sp-body-save-btn{min-height:36px}
@media(max-width:720px){.sp-food-form,.sp-food-form.wide,.sp-food-goal-grid{grid-template-columns:1fr 1fr}.sp-food-name,.sp-food-add,.sp-food-goal-grid .sp-body-save-btn{grid-column:1/-1}.sp-food-summary{align-items:flex-start}.sp-food-bars div{grid-template-columns:18px 1fr 62px}}

/* PROGRESS TAB */
.sp-test-form{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:14px;margin-bottom:14px}
.sp-test-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.sp-test-inp-wrap{display:flex;flex-direction:column;gap:3px}
.sp-test-inp{background:var(--bg3);border:1px solid var(--border-g);border-radius:8px;color:var(--text);font-family:var(--font-b);font-size:.85rem;padding:7px 10px;outline:none;width:100%}
.sp-test-inp:focus{border-color:#e8c84a}
.sp-test-table{width:100%;border-collapse:collapse;font-size:.72rem;margin-top:10px}
.sp-test-table th{color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:5px 4px;border-bottom:1px solid var(--border-g);font-size:.62rem}
.sp-test-table td{padding:7px 4px;border-bottom:1px solid #161616;color:var(--text-mid)}
.sp-test-table td.pos{color:var(--green)}
.sp-streak-big{font-family:var(--font-d);font-size:2.8rem;font-weight:600;color:#e8c84a;line-height:1}
.sp-prog-section{margin-bottom:18px}
.sp-prog-sec-title{font-family:var(--font-d);font-size:.95rem;font-weight:600;color:#e8c84a;margin-bottom:8px}
.sp-stat-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}
.sp-stat-item{background:var(--card);border:1px solid var(--border-g);border-radius:10px;padding:10px 8px;text-align:center}
.sp-stat-val{font-family:var(--font-d);font-size:1.2rem;font-weight:600;color:#e8c84a}
.sp-stat-lbl{font-size:.6rem;color:var(--text-dim);margin-top:2px;text-transform:uppercase}

/* AI TRAINER TAB */
.sp-ai-wrap{display:flex;flex-direction:column;height:calc(100vh - 180px);min-height:400px}
.sp-ai-msgs{flex:1;overflow-y:auto;padding:10px 0;display:flex;flex-direction:column;gap:8px}
.sp-ai-msg{max-width:90%;padding:9px 12px;border-radius:12px;font-size:.8rem;line-height:1.55}
.sp-ai-msg.user{background:rgba(232,200,74,.12);border:1px solid rgba(232,200,74,.2);color:#e8e0d0;align-self:flex-end;border-radius:12px 12px 3px 12px}
.sp-ai-msg.ai{background:var(--card);border:1px solid var(--border-g);color:var(--text-mid);align-self:flex-start;border-radius:12px 12px 12px 3px}
.sp-ai-quick{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.sp-ai-qbtn{background:var(--bg3);border:1px solid var(--border-g);border-radius:20px;color:var(--text-dim);font-size:.65rem;padding:5px 11px;cursor:pointer;font-family:var(--font-b);transition:all .2s;white-space:nowrap}
.sp-ai-qbtn:hover{border-color:#e8c84a;color:#e8c84a}
.sp-ai-input-row{display:flex;gap:8px;margin-top:8px}
.sp-ai-inp{flex:1;background:var(--bg3);border:1px solid var(--border-g);border-radius:10px;color:var(--text);font-family:var(--font-b);font-size:.82rem;padding:9px 12px;outline:none;transition:border-color .2s}
.sp-ai-inp:focus{border-color:#e8c84a}
.sp-ai-send{background:rgba(232,200,74,.15);border:1px solid rgba(232,200,74,.4);border-radius:10px;color:#e8c84a;font-size:.82rem;padding:9px 14px;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.sp-ai-send:hover{background:rgba(232,200,74,.25)}
.sp-ai-apply-btn{display:inline-block;background:rgba(58,184,160,.15);border:1px solid rgba(58,184,160,.4);border-radius:8px;color:#3ab8a0;font-size:.72rem;padding:6px 12px;cursor:pointer;font-family:var(--font-b);margin-top:6px;transition:all .2s}
.sp-ai-apply-btn:hover{background:rgba(58,184,160,.25)}

