:root{--g1:#D4A853;--g2:#EDCA7A;--g3:#B08A3A;--g4:rgba(212,168,83,.14);--g5:rgba(212,168,83,.06);--cta:#F59E0B;--cta2:#D4820A;--bg:#06080D;--s1:#0B0E15;--s2:#10141D;--s3:#171D29;--s4:#1F2734;--tx:#F4F6FA;--tx2:#9CA4B5;--tx3:#7A8093;--red:#EF4444;--blue:#38BDF8;--grn:#22C55E;--org:#F97316;--purple:#B08AFF;--r1:16px;--r2:18px;--font-head:'IBM Plex Sans Arabic','Rubik',sans-serif;--grain-opacity:.16;
  /* V8.4 (P1-#4) — Standardized z-index scale (low → high). تجنّب أرقام عشوائية في الكود. */
  --z-base: 0;
  --z-floating: 90;       /* week-float floating badge */
  --z-deload-banner: 99;  /* sticky banner below nav */
  --z-nav: 100;           /* top nav */
  --z-session-bar: 101;   /* session-bar, sess-pill */
  --z-btt: 198;           /* back-to-top button */
  --z-timer: 200;         /* rest timer + trigger */
  --z-fab-menu: 999;      /* fab menu items */
  --z-fab: 1000;          /* fab button itself */
  --z-fab-hint: 1001;     /* first-time fab hint bubble */
  --z-progress-bar: 9998; /* top scroll progress bar */
  --z-grain: 9999;        /* body grain overlay */
  --z-modal: 10000;       /* stats-modal, profile, gym manager, etc. */
  --z-modal-priority: 10001;  /* summary, toast (above stats modals) */
  --z-modal-overlay: 10002;   /* onboarding overlay, pr-flash celebration */
  --z-modal-sheet: 10003;     /* alt-modal bottom sheet (above stats) */
  --z-modal-critical: 10005;  /* backup reminder — must show above everything else */
  --z-fullscreen: 10010;      /* progress photo fullscreen */
  --z-toast: 10100;           /* toast — ALWAYS on top of every modal */
}
/* V7 (#26) — Light Mode Theme */
:root[data-theme="light"]{--bg:#F5F4EE;--s1:#FFFFFF;--s2:#F0EFE8;--s3:#E5E3D8;--s4:#D8D5C8;--tx:#1A1D24;--tx2:#454A5A;--tx3:#6A6F7F;--g1:#A8862D;--g2:#8E6E22;--g3:#6E5419;--g4:rgba(168,134,45,.14);--g5:rgba(168,134,45,.06);--red:#D4322F;--blue:#2974BB;--grn:#2A9D5F;--org:#C7821C;--purple:#7656D4;--grain-opacity:.05}
/* V7 (#26) — Light Mode element overrides */
[data-theme="light"] h1{color:#1A1D24}
[data-theme="light"] .ct,[data-theme="light"] .step-name,[data-theme="light"] .alt-name,[data-theme="light"] .meal-name,[data-theme="light"] .mc .mn,[data-theme="light"] .onb-title,[data-theme="light"] .sb-day,[data-theme="light"] .sp-time,[data-theme="light"] .sh-val,[data-theme="light"] .wcm-val,[data-theme="light"] .tl-name,[data-theme="light"] .ul-seg.core{color:#1A1D24}
[data-theme="light"] body::-webkit-scrollbar-track{background:#E5E3D8}
[data-theme="light"] .nav{background:rgba(245,244,238,.92);border-bottom-color:rgba(0,0,0,.06)}
[data-theme="light"] .nb:hover{background:rgba(0,0,0,.04)}
[data-theme="light"] .card,[data-theme="light"] .dy,[data-theme="light"] .meal,[data-theme="light"] .alt-card{border-color:rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.04)}
[data-theme="light"] .step{border-color:rgba(0,0,0,.05)}
[data-theme="light"] .alt-modal{background:rgba(255,255,255,.6)}
[data-theme="light"] .stats-modal{background:rgba(255,255,255,.85)}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--tx);font-family:'Rubik',sans-serif;line-height:1.85;overflow-x:hidden;-webkit-font-smoothing:antialiased;letter-spacing:.01em;transition:background-color .3s,color .3s}
::selection{background:var(--g1);color:#000}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--g3),var(--g1));border-radius:10px}

/* V7 (#23) — Focus indicators (keyboard a11y) */
:focus{outline:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role="button"]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--g1);outline-offset:2px;border-radius:4px}

/* V7 (#19) — Touch target expansion (44×44 minimum effective tap area)
   نوسّع مناطق اللمس عبر ::before شفافة بدون تغيير الحجم البصري */
.alt-btn,.skip-btn,.restore-original-btn,.bm-del-btn,.toast-undo,.close-modal,.sb-min{position:relative}
.alt-btn::before,.skip-btn::before,.restore-original-btn::before,.bm-del-btn::before,.close-modal::before,.sb-min::before{content:'';position:absolute;inset:-10px;z-index:-1}
.alt-btn,.skip-btn{min-height:32px}
.tpr{min-height:44px;min-width:44px}
.tbn{min-height:44px;min-width:44px}
.nb{min-height:44px}
.rest-swap-btn{min-height:44px}
.bm-del-btn{min-width:30px;min-height:30px}
.bm-del-btn::before{inset:-12px}
.onb-btn-skip,.onb-btn-prev,.onb-btn-next,.onb-btn-skip{min-height:40px}
.session-start-btn{min-height:48px}
.save-btn{min-height:36px}
.ph-apply{min-height:28px}.ph-apply::before{content:'';position:absolute;inset:-8px;z-index:-1}
.fab{min-width:48px;min-height:48px}
.fab-menu button{min-height:44px}
.alt-use-btn,.alt-scope-btn{min-height:44px}

/* GRAIN (V7 #25 — opacity تخفّفت من .35 إلى .18، قابلة للضبط عبر --grain-opacity) */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");transition:opacity .3s}

/* V7 (#22) — Reduced motion support */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  body::after{display:none}
}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes glow{0%,100%{box-shadow:0 0 24px rgba(212,168,83,.12)}50%{box-shadow:0 0 48px rgba(212,168,83,.25)}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes borderGlow{0%,100%{border-color:rgba(212,168,83,.08)}50%{border-color:rgba(212,168,83,.25)}}
.fu{animation:fadeUp .7s cubic-bezier(.16,1,.3,1) both}.fu1{animation-delay:.12s}.fu2{animation-delay:.24s}.fu3{animation-delay:.36s}

/* HERO */
.hero{position:relative;padding:60px 24px 48px;text-align:center;overflow:hidden;transition:padding .3s}
/* V7 (#24) — Hero collapsed state */
.hero.collapsed{padding:14px 18px}
.hero.collapsed .hl,.hero.collapsed h1,.hero.collapsed .hsub,.hero.collapsed .sbar{display:none}
.hero.collapsed::before,.hero.collapsed::after{display:none}
.hero.collapsed .hero-toggle{display:none}
.hero.collapsed .hero-compact{display:flex}
.hero:not(.collapsed) .hero-compact{display:none}
.hero-toggle{position:absolute;top:14px;left:14px;width:34px;height:34px;border-radius:50%;background:rgba(212,168,83,.08);border:1px solid rgba(212,168,83,.18);color:var(--g2);font-size:18px;cursor:pointer;z-index:5;display:none;transition:.2s;line-height:1;-webkit-tap-highlight-color:transparent}
.hero-toggle::before{content:'';position:absolute;inset:-10px}
.hero-toggle:hover{background:rgba(212,168,83,.16);color:#fff}
.hero.has-data .hero-toggle{display:flex;align-items:center;justify-content:center}
.hero-compact{align-items:center;gap:12px;justify-content:space-between;width:100%;animation:fadeUp .3s both}
/* V8.4 (P2-#2) — toned-down: plain text instead of gradient */
.hc-brand{font-family:'Outfit',sans-serif;font-weight:800;font-size:14px;color:var(--g2)}
.hc-week{flex:1;text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--tx2);background:rgba(212,168,83,.06);border:1px solid rgba(212,168,83,.15);padding:6px 10px;border-radius:8px}
.hc-expand{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--tx2);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:14px;transition:.2s;-webkit-tap-highlight-color:transparent;position:relative}
.hc-expand::before{content:'';position:absolute;inset:-8px}
.hc-expand:hover{background:rgba(255,255,255,.05);color:var(--g2);border-color:rgba(212,168,83,.3)}
.hero::before{content:'';position:absolute;inset:0;background:
  radial-gradient(ellipse 500px 350px at 50% 30%,rgba(212,168,83,.1),transparent 70%),
  radial-gradient(ellipse 300px 300px at 20% 80%,rgba(90,180,255,.04),transparent),
  radial-gradient(ellipse 300px 300px at 80% 80%,rgba(90,230,138,.03),transparent)}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 5%,rgba(212,168,83,.25) 50%,transparent 95%)}
.hl{display:inline-flex;align-items:center;gap:8px;background:rgba(212,168,83,.06);border:1px solid rgba(212,168,83,.15);color:var(--g2);font-size:10px;letter-spacing:5px;padding:7px 22px;border-radius:30px;margin-bottom:22px;font-weight:600;text-transform:uppercase;font-family:'Outfit',sans-serif;backdrop-filter:blur(8px)}
.hl .dot{width:7px;height:7px;border-radius:50%;background:var(--g1);animation:pulse 2s infinite;box-shadow:0 0 8px var(--g1)}
h1{font-family:'Outfit',sans-serif;font-size:clamp(30px,7.5vw,56px);font-weight:800;color:#fff;line-height:1.1;margin-bottom:10px;letter-spacing:-1px}
/* V8.4 (P2-#2) — toned-down: subtle gold accent without shimmer (لتقليل الإحساس premium/watch app) */
h1 em{font-style:normal;color:var(--g2);font-weight:800}
.hsub{color:var(--tx2);font-size:13.5px;max-width:460px;margin:0 auto 30px;font-weight:400;line-height:1.7}

/* STATS */
.sbar{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;max-width:540px;margin:0 auto}
.sp{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:30px;padding:9px 18px;font-size:12px;backdrop-filter:blur(12px);transition:.3s}
.sp:hover{border-color:rgba(212,168,83,.2);transform:translateY(-2px)}
.sp .n{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--g2);font-size:15px}
.sp .l{color:var(--tx2);font-size:11px}

/* NAV — SIMPLE */
.nav{position:sticky;top:0;z-index:var(--z-nav);background:rgba(5,6,8,.92);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:0 12px;gap:0}
.nav-brand{font-family:'Outfit',sans-serif;font-weight:800;font-size:13px;color:var(--g2);cursor:pointer;white-space:nowrap;padding:14px 8px 14px 0;letter-spacing:.5px;flex-shrink:0;transition:.3s}
.nav-brand:hover{color:#fff}
.ni{display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;flex:1;gap:1px;padding:0 4px}.ni::-webkit-scrollbar{display:none}
.nb{flex-shrink:0;position:relative;padding:14px 14px;background:none;border:none;color:var(--tx3);cursor:pointer;font-family:'Rubik',sans-serif;font-size:11.5px;font-weight:600;transition:.25s;white-space:nowrap;border-radius:8px}
.nb.a{color:var(--g2)}
.nb.a::after{content:'';position:absolute;bottom:4px;left:25%;right:25%;height:2px;background:var(--g1);border-radius:2px}
.nb:hover{color:var(--tx);background:rgba(255,255,255,.03)}

/* SECTIONS */
.sec{display:none;padding:28px 18px;max-width:840px;margin:0 auto;animation:fadeUp .35s cubic-bezier(.16,1,.3,1)}
.sec.a{display:block}

/* FOOTER */
.footer{text-align:center;padding:48px 20px 100px;border-top:1px solid rgba(255,255,255,.04);margin-top:32px;background:linear-gradient(180deg,transparent,rgba(212,168,83,.02))}
.footer-brand{font-family:'Outfit',sans-serif;font-weight:800;font-size:22px;color:var(--g2);margin-bottom:6px}
.footer-text{font-size:12px;color:var(--tx3);line-height:1.8;max-width:400px;margin:0 auto}
.footer-stats{display:flex;justify-content:center;gap:16px;margin-top:20px;flex-wrap:wrap}
.footer-stat{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--tx3);padding:6px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.04);background:rgba(255,255,255,.02)}
.footer-stat b{color:var(--g2)}

/* BACK TO TOP */
.btt{position:fixed;bottom:90px;left:20px;width:44px;height:44px;border-radius:50%;background:rgba(11,13,17,.9);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);color:var(--tx2);font-size:16px;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:198;transition:.3s;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.btt:hover{border-color:rgba(212,168,83,.3);color:var(--g2);transform:translateY(-3px)}
.btt.show{display:flex}

/* V7 (#34) — Install prompt button */
.install-btn{position:fixed;bottom:24px;right:24px;background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:13px 20px;border-radius:24px;font-family:'Outfit',sans-serif;font-weight:800;font-size:13px;letter-spacing:1px;cursor:pointer;box-shadow:0 8px 24px rgba(212,168,83,.4);z-index:1000;animation:fadeUp .5s both,glow 3s infinite;-webkit-tap-highlight-color:transparent;min-height:44px}
.install-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(212,168,83,.5)}
.install-btn:active{transform:scale(.97)}
@media (max-width:480px){.install-btn{bottom:90px;right:14px;padding:11px 16px;font-size:12px}}

/* SCROLL PROGRESS */
.progress-bar{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--g1),var(--g2));z-index:9998;transition:width .1s;width:0;transform-origin:right}

/* CARDS */
.card{position:relative;background:linear-gradient(145deg,var(--s1),var(--s2));border:1px solid rgba(255,255,255,.04);border-radius:var(--r2);padding:24px;margin-bottom:18px;overflow:hidden;transition:all .35s cubic-bezier(.16,1,.3,1)}
.card:hover{border-color:rgba(255,255,255,.1);transform:translateY(-2px);box-shadow:0 16px 48px rgba(0,0,0,.3)}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 10%,rgba(255,255,255,.08) 50%,transparent 90%)}
.card::after{content:'';position:absolute;top:0;right:0;width:120px;height:120px;background:radial-gradient(circle,rgba(212,168,83,.04),transparent 70%);pointer-events:none}
.ch{display:flex;align-items:center;gap:15px;margin-bottom:18px}
.ci{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;background:linear-gradient(145deg,rgba(212,168,83,.12),rgba(212,168,83,.04));border:1px solid rgba(212,168,83,.12);box-shadow:0 4px 16px rgba(212,168,83,.06);color:var(--g2)}
/* V8.4 (P2-#7) — SVG icon داخل .ci (بديل emoji) */
.ci .ci-svg{width:22px;height:22px;color:var(--g2);stroke:currentColor;fill:none}
.ct{font-family:'Outfit',sans-serif;font-size:17px;font-weight:700;color:#fff;letter-spacing:-.2px}
.cs{font-size:11.5px;color:var(--tx2);margin-top:3px}

/* DAY CARDS */
.dy{background:linear-gradient(145deg,var(--s1),var(--s2));border:1px solid rgba(255,255,255,.04);border-radius:var(--r2);margin-bottom:12px;overflow:hidden;transition:all .35s cubic-bezier(.16,1,.3,1)}
.dy:hover{border-color:rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.2)}
.dy.open{animation:borderGlow 3s infinite}

/* TODAY HIGHLIGHT — البطاقة المقابلة لاليوم */
.dy.today-day{position:relative;border-color:var(--g1);background:linear-gradient(145deg,rgba(212,168,83,.07),var(--s2));box-shadow:0 0 0 1px rgba(212,168,83,.25),0 12px 36px rgba(212,168,83,.12)}
.dy.today-day::before{content:'';position:absolute;top:0;right:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--g1),var(--g2),var(--g1));box-shadow:0 0 12px var(--g1);z-index:1}
.dy.today-day .db{transform:scale(1.06);box-shadow:0 0 0 2px var(--g1),0 6px 16px rgba(212,168,83,.25)}
.today-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,var(--g1),var(--g2));color:#000;font-family:'Outfit',sans-serif;font-size:9.5px;font-weight:800;padding:3px 9px;border-radius:20px;margin-right:8px;letter-spacing:1px;vertical-align:middle;animation:pulse 2s infinite;box-shadow:0 2px 8px rgba(212,168,83,.4)}
.today-badge::before{content:'⭐';font-size:11px}

/* Rest-day swap UI */
.rest-swap{margin:0 0 16px;padding:14px 16px;background:linear-gradient(145deg,rgba(212,168,83,.06),rgba(212,168,83,.02));border:1px solid rgba(212,168,83,.2);border-radius:14px;animation:fadeUp .5s cubic-bezier(.16,1,.3,1)}
.rest-swap-title{font-size:12.5px;color:var(--g2);font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.rest-swap-sub{font-size:11px;color:var(--tx2);margin-bottom:10px;line-height:1.5}
.rest-swap-row{display:flex;gap:6px;flex-wrap:wrap}
.rest-swap-btn{flex:1;min-width:90px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--tx);font-family:'Rubik',sans-serif;font-size:11.5px;font-weight:600;padding:9px 8px;border-radius:9px;cursor:pointer;transition:.2s}
.rest-swap-btn:hover{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.3);color:var(--g2);transform:translateY(-1px)}
.rest-swap-btn b{display:block;font-size:9.5px;color:var(--tx3);margin-bottom:2px;font-family:'Outfit',sans-serif;letter-spacing:.5px}

/* Weekly grid TODAY cell */
.wc.today-cell{position:relative;transform:scale(1.08);box-shadow:0 0 0 2px var(--g1),0 8px 22px rgba(212,168,83,.25);background:linear-gradient(145deg,rgba(212,168,83,.16),rgba(212,168,83,.04));border-color:var(--g1);animation:glow 2.4s infinite;z-index:2}
.wc.today-cell::after{content:'⭐';position:absolute;top:-9px;right:-5px;font-size:14px;animation:pulse 1.6s infinite}

/* V9.3 — "Last session" variant: نفس بنية today-day لكن بلون مختلف (أزرق هادئ بدل الذهبي)
   ليفرّق المستخدم بين "اليوم في التقويم" و "آخر جلسة بدأتها" */
.dy.last-session-day{position:relative;border-color:rgba(90,180,255,.5);background:linear-gradient(145deg,rgba(90,180,255,.05),var(--s2));box-shadow:0 0 0 1px rgba(90,180,255,.2),0 10px 28px rgba(90,180,255,.08)}
.dy.last-session-day::before{content:'';position:absolute;top:0;right:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--blue),#7BC8FF,var(--blue));box-shadow:0 0 12px rgba(90,180,255,.6);z-index:1}
.dy.last-session-day .db{transform:scale(1.04);box-shadow:0 0 0 2px var(--blue),0 6px 14px rgba(90,180,255,.25)}
.today-badge.last-session-badge{background:linear-gradient(135deg,var(--blue),#7BC8FF);color:#000;box-shadow:0 2px 8px rgba(90,180,255,.4);animation:none}
.today-badge.last-session-badge::before{content:'✓';font-size:10px}
.wc.last-session-cell{position:relative;transform:scale(1.06);box-shadow:0 0 0 2px var(--blue),0 6px 18px rgba(90,180,255,.2);background:linear-gradient(145deg,rgba(90,180,255,.12),rgba(90,180,255,.03));border-color:var(--blue);z-index:2}
.wc.last-session-cell::after{content:'✓';position:absolute;top:-9px;right:-5px;font-size:14px;color:var(--blue);font-weight:bold;background:var(--bg);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--blue)}
.dh{display:flex;align-items:center;padding:18px 22px;cursor:pointer;gap:15px;transition:.25s;-webkit-tap-highlight-color:transparent}
.dh:active{transform:scale(.995)}
.db{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:11px;flex-shrink:0;transition:.3s}
.db.push{background:linear-gradient(145deg,rgba(255,90,95,.14),rgba(255,90,95,.04));color:var(--red);border:1px solid rgba(255,90,95,.15);box-shadow:0 4px 12px rgba(255,90,95,.06)}
.db.pull{background:linear-gradient(145deg,rgba(90,180,255,.14),rgba(90,180,255,.04));color:var(--blue);border:1px solid rgba(90,180,255,.15);box-shadow:0 4px 12px rgba(90,180,255,.06)}
.db.legs{background:linear-gradient(145deg,rgba(90,230,138,.14),rgba(90,230,138,.04));color:var(--grn);border:1px solid rgba(90,230,138,.15);box-shadow:0 4px 12px rgba(90,230,138,.06)}
.db.rest{background:linear-gradient(145deg,var(--g4),var(--g5));color:var(--g2);border:1px solid rgba(212,168,83,.12);box-shadow:0 4px 12px rgba(212,168,83,.06)}
.di{flex:1;min-width:0}.dn{font-weight:700;font-size:14.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.df{font-size:11.5px;color:var(--tx2);margin-top:2px}
.dt{font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;padding:5px 12px;border-radius:20px;letter-spacing:1.5px;text-transform:uppercase}
.tp{background:rgba(255,90,95,.06);color:var(--red);border:1px solid rgba(255,90,95,.12)}
.tpl{background:rgba(90,180,255,.06);color:var(--blue);border:1px solid rgba(90,180,255,.12)}
.tl{background:rgba(90,230,138,.06);color:var(--grn);border:1px solid rgba(90,230,138,.12)}
.da{color:var(--tx3);font-size:13px;transition:.4s cubic-bezier(.16,1,.3,1);margin-right:4px}
.dy.open .da{transform:rotate(180deg);color:var(--g2)}
.dby{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1)}
/* V9.14.22 — سقف كبير كفاية لمحتوى اليوم الكامل (السيتات صارت أطول مع خانات الإدخال/البدائل).
   كان 14000px فيُقتطع آخر تمرين في الأيام الطويلة (ظهر "Reverse Fly لا تظهر بالكامل"). */
.dy.open .dby{max-height:30000px}
.dbi{padding:18px 22px 22px;border-top:1px solid rgba(255,255,255,.04)}

/* EXERCISE TABLE */
.et{width:100%;border-collapse:collapse}
.et th{text-align:right;font-family:'Outfit',sans-serif;font-size:10px;color:var(--tx3);font-weight:700;padding:10px 8px;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.05)}
.et td{padding:14px 8px;border-bottom:1px solid rgba(255,255,255,.02);vertical-align:middle}
.et tr:last-child td{border-bottom:none}
.et tbody tr{transition:.2s}.et tbody tr:hover{background:rgba(212,168,83,.03)}
.en{font-weight:700;font-size:13.5px;color:#fff;font-family:'Rubik',sans-serif}
.em{font-size:11px;color:var(--g1);margin-top:3px;font-weight:400;opacity:.85}
.sb{display:inline-block;background:linear-gradient(135deg,var(--g4),var(--g5));color:var(--g2);border-radius:10px;padding:6px 14px;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500;border:1px solid rgba(212,168,83,.1);white-space:nowrap;transition:.2s}
.et tbody tr:hover .sb{border-color:rgba(212,168,83,.25);box-shadow:0 2px 8px rgba(212,168,83,.08)}
.rv{color:var(--tx2);font-family:'JetBrains Mono',monospace;font-size:12px}

/* TIPS */
.tip{display:flex;gap:13px;padding:15px 18px;border-radius:var(--r1);margin-bottom:9px;align-items:flex-start;transition:.2s}
.tip:hover{transform:translateX(-3px)}
.t0{background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.08)}
.tb{background:rgba(90,180,255,.04);border:1px solid rgba(90,180,255,.08)}
.tr{background:rgba(255,90,95,.04);border:1px solid rgba(255,90,95,.08)}
.tg{background:rgba(90,230,138,.04);border:1px solid rgba(90,230,138,.08)}
.tpu{background:rgba(176,138,255,.04);border:1px solid rgba(176,138,255,.08)}
.ti{font-size:16px;flex-shrink:0;margin-top:1px;width:22px;text-align:center}
.tt{font-size:13px;color:var(--tx2);line-height:1.8}.tt strong{color:var(--g2);font-weight:600}.tt b{color:#fff;font-weight:600}

/* WEEK GRID */
.wg{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:18px 0}
.wc{text-align:center;padding:14px 4px;border-radius:14px;border:1px solid rgba(255,255,255,.04);background:var(--s2);transition:all .3s cubic-bezier(.16,1,.3,1)}
.wc:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.1);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.wc .wd{font-family:'Outfit',sans-serif;font-size:9px;color:var(--tx3);margin-bottom:5px;letter-spacing:.5px;text-transform:uppercase}.wc .wt{font-family:'Outfit',sans-serif;font-weight:800;font-size:10.5px}
.wc.cp{background:rgba(255,90,95,.02);border-color:rgba(255,90,95,.08)}.cp .wt{color:var(--red)}
.wc.cpl{background:rgba(90,180,255,.02);border-color:rgba(90,180,255,.08)}.cpl .wt{color:var(--blue)}
.wc.cl{background:rgba(90,230,138,.02);border-color:rgba(90,230,138,.08)}.cl .wt{color:var(--grn)}
.wc.cr{background:var(--g5);border-color:rgba(212,168,83,.06)}.cr .wt{color:var(--g1)}

/* MACROS */
.mg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}
.mc{text-align:center;padding:20px 8px;border-radius:var(--r1);background:linear-gradient(145deg,var(--s2),var(--s3));border:1px solid rgba(255,255,255,.04);transition:all .3s cubic-bezier(.16,1,.3,1)}
.mc:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.25);border-color:rgba(255,255,255,.1)}
.mn{font-family:'JetBrains Mono',monospace;font-size:26px;font-weight:700;display:block;margin-bottom:4px}
.ml{font-size:10px;color:var(--tx3);font-family:'Outfit',sans-serif;letter-spacing:.3px}
.mcc .mn{color:var(--g2)}
.mcp .mn{color:var(--red)}.mcb .mn{color:var(--org)}.mcf .mn{color:var(--blue)}

/* MEALS */
.meal{position:relative;background:linear-gradient(145deg,var(--s2),rgba(22,26,36,.8));border:1px solid rgba(255,255,255,.04);border-radius:var(--r1);padding:20px;margin-bottom:12px;overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1)}
.meal:hover{border-color:rgba(255,255,255,.1);transform:translateX(-4px);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.meal::before{content:'';position:absolute;right:0;top:0;bottom:0;width:3px;border-radius:0 3px 3px 0;background:var(--g1);opacity:0;transition:.3s}
.meal:hover::before{opacity:1}
.mt{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:5px;text-transform:uppercase}
.mna{font-weight:800;color:#fff;font-size:15px;margin-bottom:7px;font-family:'Rubik',sans-serif}
.md{font-size:13px;color:var(--tx2);line-height:1.85}
.mm{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.mi{font-family:'JetBrains Mono',monospace;font-size:11px;padding:5px 12px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.04);transition:.2s}
.meal:hover .mi{border-color:rgba(255,255,255,.08)}
.mic{color:var(--g2)}.mip{color:var(--red)}.mik{color:var(--org)}.mif{color:var(--blue)}

/* PHASE */
.ph{display:inline-flex;align-items:center;gap:7px;padding:6px 16px;border-radius:24px;font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:700;margin-bottom:12px;letter-spacing:.3px}
.p1{background:rgba(255,90,95,.06);color:var(--red);border:1px solid rgba(255,90,95,.12)}
.p2{background:rgba(255,184,90,.06);color:var(--org);border:1px solid rgba(255,184,90,.12)}
.p3{background:rgba(90,230,138,.06);color:var(--grn);border:1px solid rgba(90,230,138,.12)}

/* PROGRESS TABLE */
.pt{width:100%;border-collapse:collapse}
.pt th{text-align:right;font-family:'Outfit',sans-serif;font-size:10px;color:var(--tx3);padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.05);letter-spacing:.5px}
.pt td{padding:11px 10px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.02);font-family:'JetBrains Mono',monospace}
.pt .h{color:var(--g2);font-weight:700}.pt .u{color:var(--grn)}

/* EQUIPMENT GRID */
.eg{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:9px}
.ei{padding:12px 14px;background:linear-gradient(145deg,var(--s2),var(--s3));border:1px solid rgba(255,255,255,.04);border-radius:12px;font-size:12px;color:var(--tx);transition:all .3s cubic-bezier(.16,1,.3,1);text-align:center}
.ei:hover{border-color:rgba(212,168,83,.2);background:var(--s3);transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.2)}
.ei .ec{font-family:'Outfit',sans-serif;font-size:9px;color:var(--tx3);display:block;margin-top:3px;letter-spacing:.3px}
.ei.new{border-color:rgba(90,230,138,.18);background:linear-gradient(145deg,rgba(90,230,138,.03),var(--s2))}
.ei.new::after{content:'جديد';font-size:8px;color:var(--grn);font-weight:700;margin-right:5px}

/* STEP-BY-STEP — V3 */
.phase-bar{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,rgba(212,168,83,.1),transparent);border-right:3px solid var(--g1);padding:10px 14px;margin:14px 0 8px;border-radius:0 10px 10px 0}
.phase-bar .pl{font-family:'Outfit',sans-serif;font-size:9px;font-weight:800;letter-spacing:2px;color:var(--g1);background:rgba(212,168,83,.12);padding:3px 8px;border-radius:6px}
.phase-bar .pn{font-family:'Rubik',sans-serif;font-weight:700;font-size:13.5px;color:#fff}
.phase-bar .pmeta{font-size:11px;color:var(--tx2);margin-right:auto;font-family:'JetBrains Mono',monospace}

.step{display:flex;align-items:stretch;gap:0;margin:5px 0;border-radius:10px;overflow:hidden;transition:.2s}
.step:hover{transform:translateX(-2px)}
.step-num{display:flex;align-items:center;justify-content:center;width:38px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:13px;color:var(--g2);background:rgba(212,168,83,.08);border:1px solid rgba(212,168,83,.12);border-left:none;flex-shrink:0}
.step-body{flex:1;padding:9px 14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.04);border-right:none;min-width:0}
.step-name{font-weight:700;font-size:13.5px;color:#fff;line-height:1.4}
.step-info{margin-top:2px;font-family:'JetBrains Mono',monospace}
/* V8.4 (P2-#8) — step-info مقسّم إلى سطرين للقراءة الأسهل أثناء التمرين */
.step-info .si-main{font-size:12.5px;color:#fff;font-weight:700;line-height:1.4;letter-spacing:-.2px}
.step-info .si-sub{font-size:10.5px;color:var(--tx3);margin-top:2px;font-weight:400;line-height:1.5;font-family:'Rubik',sans-serif;letter-spacing:0}
.step.rest .si-main{color:var(--tx2);font-weight:400}
.step.rest .si-sub{color:var(--tx3)}
/* fallback لو step-info مش مقسّم (احتراز للـ backwards compatibility) */
.step-info:not(:has(.si-main)){font-size:11.5px;color:var(--g1)}

.step.rest .step-num{background:rgba(90,180,255,.06);border-color:rgba(90,180,255,.1);color:var(--blue);font-size:14px}
.step.rest .step-body{background:rgba(90,180,255,.025);border-color:rgba(90,180,255,.05)}
.step.rest .step-name{color:var(--blue);font-weight:500;font-size:12.5px}
.step.rest .step-info{color:var(--tx3)}

.step.warmup .step-num{background:rgba(255,184,90,.08);border-color:rgba(255,184,90,.15);color:var(--org)}
.step.warmup .step-body{background:rgba(255,184,90,.025);border-color:rgba(255,184,90,.05)}

/* V8.3 — Trackable warmup (3.1) — warmup with weight/reps inputs */
.step.warmup.trackable-warmup .step-body{position:relative;padding-bottom:9px}
.track-input.warmup-track{background:rgba(255,184,90,.06);border-color:rgba(255,184,90,.22);border-style:dashed}
.track-input.warmup-track .save-btn{background:linear-gradient(135deg,var(--org),#c97a35);color:#000}
.track-input.warmup-track .save-btn.saved{background:linear-gradient(135deg,var(--grn),#3da868)}
.warmup-badge{font-family:'Outfit',sans-serif;font-size:9px;font-weight:800;letter-spacing:1px;color:var(--org);background:rgba(255,184,90,.12);border:1px solid rgba(255,184,90,.25);padding:3px 7px;border-radius:5px;text-transform:uppercase;white-space:nowrap}
.set-warmup-mark{font-size:10px;margin-left:2px;opacity:.85}

/* V8.3 (3.2) + V8.4 (P1-#3) — Step toolbar buttons (form-note, history, alt, skip)
   كل الأزرار 24×24px في صف موحّد أعلى step-body — لا تداخل بصري */
.step-body{position:relative}
.step-tool-btn,
.form-note-btn,
.ex-history-btn{
  position:absolute;top:6px;width:24px;height:24px;font-size:12px;line-height:1;padding:0;
  border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:.18s;-webkit-tap-highlight-color:transparent;z-index:2;
  font-family:'Outfit',sans-serif;font-weight:700
}
.step-tool-btn:active,.form-note-btn:active,.ex-history-btn:active{transform:scale(.94)}
.step-tool-btn:hover{transform:scale(1.06)}
/* Order (left = visual end in RTL): form-note → history → alt → skip */
.form-note-btn{left:8px;background:rgba(90,180,255,.08);border:1px solid rgba(90,180,255,.18);color:var(--blue)}
.form-note-btn:hover{background:rgba(90,180,255,.18);border-color:var(--blue);transform:scale(1.06)}
.step-body.has-form-note .step-name{padding-left:32px}
.step.completed .form-note-btn{background:rgba(90,230,138,.06);border-color:rgba(90,230,138,.18);color:var(--grn)}
.step.warmup.trackable-warmup .form-note-btn{background:rgba(255,184,90,.08);border-color:rgba(255,184,90,.2);color:var(--org)}

.step.solo-set .step-num{background:rgba(176,138,255,.08);border-color:rgba(176,138,255,.15);color:var(--purple)}

.step.done .step-num{background:rgba(90,230,138,.08);border-color:rgba(90,230,138,.15);color:var(--grn)}
.step.done .step-body{background:rgba(90,230,138,.025);border-color:rgba(90,230,138,.05)}
.step.done .step-name{color:var(--grn)}

.pair-banner{background:linear-gradient(90deg,rgba(212,168,83,.06),rgba(212,168,83,.02));border:1px dashed rgba(212,168,83,.2);border-radius:10px;padding:10px 14px;margin:6px 0;font-size:12px;color:var(--g2);display:flex;align-items:center;gap:10px}
.pair-banner b{color:#fff;font-weight:600}
.pair-banner .pb-icon{font-size:14px}

.plan-b{background:rgba(90,180,255,.04);border:1px solid rgba(90,180,255,.1);border-right:3px solid var(--blue);border-radius:0 8px 8px 0;padding:8px 12px;margin:6px 0 10px;font-size:11.5px;color:var(--tx2);display:flex;align-items:flex-start;gap:8px}
.plan-b b{color:var(--blue);font-weight:600}
.plan-b .pb-tag{font-family:'Outfit',sans-serif;font-size:9px;font-weight:800;color:var(--blue);background:rgba(90,180,255,.1);padding:2px 6px;border-radius:4px;letter-spacing:1px;flex-shrink:0;margin-top:1px}

.zone-tag{display:inline-block;font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;color:var(--grn);background:rgba(90,230,138,.08);border:1px solid rgba(90,230,138,.15);padding:2px 8px;border-radius:6px;letter-spacing:.5px;margin-right:8px}

/* ============ TRACKING SYSTEM ============ */
.track-input{display:flex;gap:8px;align-items:center;margin-top:8px;padding:8px;background:rgba(212,168,83,.04);border:1px dashed rgba(212,168,83,.18);border-radius:8px;flex-wrap:wrap}
.track-input label{font-size:10px;color:var(--tx3);font-family:'Outfit',sans-serif;letter-spacing:1px;font-weight:600;text-transform:uppercase}
.track-input input{background:rgba(0,0,0,.4);border:1px solid rgba(212,168,83,.15);color:#fff;padding:6px 10px;border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;width:55px;text-align:center;outline:none;transition:.2s}
.track-input input:focus{border-color:var(--g1);background:rgba(212,168,83,.06)}
.track-input input::-webkit-outer-spin-button,.track-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.track-input input[type=number]{-moz-appearance:textfield}
.track-input .save-btn{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:6px 14px;border-radius:6px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:800;letter-spacing:1px;cursor:pointer;transition:.2s;margin-right:auto}
.track-input .save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,168,83,.3)}
.track-input .save-btn.saved{background:linear-gradient(135deg,var(--grn),#3da868);color:#000}
.track-input .last{font-size:10px;color:var(--tx3);font-family:'JetBrains Mono',monospace;cursor:pointer;transition:.2s;padding:3px 6px;margin:0 -2px;border-radius:5px;user-select:none;-webkit-tap-highlight-color:transparent}
.track-input .last:hover{background:rgba(212,168,83,.05);color:var(--tx2)}
.track-input .last b{color:var(--g2)}
.track-input .last small{color:var(--tx3);font-size:9px;margin-right:4px;font-family:'Rubik',sans-serif}
.track-input .last .flip-hint{font-size:8.5px;color:var(--tx3);margin-right:6px;opacity:.6;font-family:'Rubik',sans-serif}
.track-input .last.show-best{background:rgba(176,138,255,.05)}
.track-input .last.show-best b{color:var(--purple)}

/* V7 (#16) — Progression suggestion hint */
.track-input{position:relative}
.prog-hint{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--grn);font-family:'Rubik',sans-serif;font-weight:500;background:rgba(90,230,138,.06);border:1px dashed rgba(90,230,138,.25);padding:5px 10px;border-radius:8px;margin-top:6px;flex-basis:100%;line-height:1.45}
.prog-hint .ph-icon{font-size:13px;flex-shrink:0}
.prog-hint b{color:var(--grn);font-family:'JetBrains Mono',monospace;font-weight:700}
.prog-hint .ph-apply{background:linear-gradient(135deg,var(--grn),#3da868);color:#000;border:none;padding:3px 9px;border-radius:5px;font-family:'Outfit',sans-serif;font-size:9.5px;font-weight:800;cursor:pointer;letter-spacing:.5px;margin-right:auto;transition:.2s}
.prog-hint .ph-apply:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(90,230,138,.3)}
.weight-input.suggested{border-color:rgba(90,230,138,.4);background:rgba(90,230,138,.04)}

/* V9.0 (P7) — Near-PR hint (يظهر تحت weight/reps input عند الإدخال) */
.pr-hint{display:flex;align-items:center;gap:7px;font-size:11px;font-family:'Rubik',sans-serif;font-weight:600;padding:6px 11px;border-radius:8px;margin-top:6px;flex-basis:100%;line-height:1.5;animation:fadeUp .25s both}
.pr-hint .prh-icon{font-size:14px;flex-shrink:0;line-height:1}
.pr-hint b{font-family:'Outfit',sans-serif;font-weight:800}
.pr-hint-near{color:var(--org);background:rgba(255,184,90,.08);border:1px dashed rgba(255,184,90,.32)}
.pr-hint-active{color:#000;background:linear-gradient(135deg,var(--g2),var(--g1));border:1px solid var(--g3);box-shadow:0 3px 12px rgba(212,168,83,.25);animation:fadeUp .25s both, glow 2s infinite}
.pr-hint-active b{color:#000}

.step.completed .step-body{background:rgba(90,230,138,.06);border-color:rgba(90,230,138,.15)}
.step.completed .step-name{color:var(--grn)}
.step.completed .step-num{background:rgba(90,230,138,.12);color:var(--grn);border-color:rgba(90,230,138,.2)}
/* V9.14.21 — السيت الأخير (سيت حقيقي قابل للتسجيل): لمسة ذهبية احتفالية، لا "مكتمل" */
.step.last-set:not(.completed) .step-num{background:rgba(212,168,83,.15);border-color:rgba(212,168,83,.32);color:var(--g2)}
.step.last-set:not(.completed) .step-name{color:var(--g2)}
/* V9.14.23 — شارة التسخين 🔥 (لا تحمل رقم سيت) */
.step-num.step-num-warmup{background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.22);font-size:15px}

/* Floating action button */
.fab{position:fixed;bottom:24px;left:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--g1),var(--g3));border:none;color:#000;font-size:24px;cursor:pointer;box-shadow:0 8px 24px rgba(212,168,83,.4);z-index:var(--z-fab);display:flex;align-items:center;justify-content:center;transition:.3s}
.fab:hover{transform:scale(1.08);box-shadow:0 12px 32px rgba(212,168,83,.5)}
.fab-menu{position:fixed;bottom:88px;left:24px;display:flex;flex-direction:column;gap:8px;z-index:var(--z-fab-menu);opacity:0;pointer-events:none;transition:.3s;transform:translateY(20px)}
.fab-menu.open{opacity:1;pointer-events:all;transform:translateY(0)}
.fab-menu button{background:var(--s2);color:var(--tx);border:1px solid rgba(212,168,83,.2);padding:10px 16px;border-radius:10px;font-family:'Rubik',sans-serif;font-size:12px;font-weight:600;cursor:pointer;text-align:right;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.fab-menu button:hover{background:var(--s3);border-color:var(--g1)}
/* V9.0 (P5) — FAB group headers (silent labels لتجميع الأزرار بصرياً) */
.fab-group-title{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--tx3);text-transform:uppercase;padding:4px 6px 2px;margin-top:6px;text-align:right;opacity:.7}
.fab-group-title:first-child{margin-top:0}

/* Stats panel */
.stats-modal{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px)}
.stats-modal.open{display:flex}
.stats-content{background:var(--s1);border:1px solid rgba(212,168,83,.2);border-radius:18px;padding:24px;max-width:500px;width:100%;max-height:85vh;overflow-y:auto;direction:rtl;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.stats-content h2{font-family:'Outfit',sans-serif;font-size:16px;letter-spacing:2px;color:var(--g1);margin-bottom:16px;border-bottom:1px solid rgba(212,168,83,.1);padding-bottom:10px}
.stats-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.04);font-size:13px}
.stats-row b{color:var(--g2);font-family:'JetBrains Mono',monospace}
.stats-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.stats-actions button{flex:1;min-width:120px;padding:10px;background:var(--s3);color:var(--tx);border:1px solid rgba(212,168,83,.2);border-radius:8px;font-family:'Rubik';font-size:12px;font-weight:600;cursor:pointer}
.stats-actions button.danger{border-color:rgba(255,90,95,.3);color:var(--red)}
.stats-actions button:hover{background:var(--s4)}
.close-modal{position:absolute;top:12px;left:12px;background:transparent;border:none;color:var(--tx2);font-size:24px;cursor:pointer}

/* Workout history */
.history-day{margin-bottom:14px;padding:12px;background:rgba(212,168,83,.03);border:1px solid rgba(212,168,83,.1);border-radius:10px}
.history-day .h-date{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--g1);margin-bottom:6px}
.history-day .h-ex{font-size:12px;color:var(--tx2);padding:3px 0;display:flex;justify-content:space-between}
.history-day .h-ex b{color:#fff;font-weight:500}
.history-day .h-ex span{color:var(--g2);font-family:'JetBrains Mono',monospace;font-size:11px}

/* V8.4 — Gym Switcher pill (sticky below nav) */
.gym-switcher{position:relative;margin:8px 16px 0;direction:rtl;z-index:990}
.gs-pill{display:flex;align-items:center;gap:10px;width:100%;background:linear-gradient(145deg,rgba(212,168,83,.1),rgba(212,168,83,.03));border:1px solid rgba(212,168,83,.22);border-radius:11px;padding:8px 12px;cursor:pointer;color:var(--tx);font-family:'Rubik',sans-serif;transition:.2s}
.gs-pill:hover{background:linear-gradient(145deg,rgba(212,168,83,.16),rgba(212,168,83,.05));border-color:var(--g1);transform:translateY(-1px)}
.gs-pill .gs-icon{font-size:20px;line-height:1;flex-shrink:0}
.gs-pill .gs-text{flex:1;text-align:right;display:flex;flex-direction:column;gap:2px;min-width:0}
.gs-pill .gs-text small{font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;letter-spacing:.5px;color:var(--tx3);text-transform:uppercase}
.gs-pill .gs-text b{font-size:13px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-pill .gs-chev{color:var(--g2);font-size:14px;line-height:1;flex-shrink:0;margin-right:auto}
.gs-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;background:linear-gradient(160deg,var(--s1),var(--s2));border:1px solid rgba(212,168,83,.25);border-radius:12px;padding:6px;box-shadow:0 12px 36px rgba(0,0,0,.5);display:none;animation:gs-pop .25s cubic-bezier(.16,1,.3,1)}
.gs-menu.open{display:block}
@keyframes gs-pop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.gs-menu-title{font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;color:var(--tx3);letter-spacing:1px;padding:8px 10px 4px;text-transform:uppercase}
.gs-item{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:1px solid transparent;border-radius:9px;padding:8px 10px;cursor:pointer;text-align:right;color:var(--tx);transition:.15s;font-family:'Rubik',sans-serif;margin-bottom:2px}
.gs-item:hover{background:rgba(212,168,83,.06);border-color:rgba(212,168,83,.15)}
.gs-item.active{background:rgba(212,168,83,.08);border-color:var(--g1)}
.gs-item .gsi-icon{font-size:18px;line-height:1;flex-shrink:0}
.gs-item .gsi-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.gs-item .gsi-body b{font-size:12.5px;color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-item .gsi-body small{font-size:9.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.gs-item .gsi-tick{color:var(--grn);font-size:14px;flex-shrink:0}
.gs-manage{display:block;width:100%;background:rgba(176,138,255,.06);border:1px dashed rgba(176,138,255,.28);color:var(--purple);font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.5px;padding:8px;border-radius:8px;cursor:pointer;margin-top:6px;transition:.2s}
.gs-manage:hover{background:rgba(176,138,255,.14);border-color:var(--purple)}

/* V8.4 — Gym Manager modal */
#gymManagerModal .stats-content{padding:20px}
.gm-card{background:linear-gradient(145deg,var(--s2),var(--s3));border:1px solid rgba(255,255,255,.05);border-radius:11px;padding:12px;margin-bottom:10px;transition:.25s}
.gm-card.gm-active{border-color:var(--g1);background:linear-gradient(145deg,rgba(212,168,83,.08),var(--s3));box-shadow:0 0 0 1px rgba(212,168,83,.15)}
.gm-card.gm-focus{animation:gm-flash 1.2s ease-out}
@keyframes gm-flash{0%{box-shadow:0 0 0 4px rgba(212,168,83,.35)}100%{box-shadow:0 0 0 1px rgba(212,168,83,.15)}}
.gm-card-head{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.gm-icon{font-size:24px;line-height:1;flex-shrink:0}
.gm-card-body{flex:1;min-width:0}
.gm-name{font-size:13.5px;color:#fff;font-weight:600}
.gm-name b{font-weight:700}
.gm-meta{font-size:10.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace;margin-top:3px}
.gm-active-tag{font-family:'Outfit',sans-serif;font-size:9px;font-weight:800;color:#000;background:linear-gradient(135deg,var(--g1),var(--g3));padding:2px 7px;border-radius:5px;letter-spacing:.5px;margin-right:6px}
.gm-bw-tag,.gm-ro-tag{font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.3px;margin-right:5px}
.gm-bw-tag{color:var(--blue);background:rgba(90,180,255,.1);border:1px solid rgba(90,180,255,.22)}
.gm-ro-tag{color:var(--tx3);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.gm-card-actions{display:flex;gap:6px;flex-wrap:wrap}
.gm-card-actions button{flex:1;min-width:80px;padding:7px 10px;border-radius:7px;font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.5px;cursor:pointer;border:1px solid transparent;transition:.18s}
.gm-activate{background:linear-gradient(135deg,var(--grn),#3da868);color:#000;border-color:var(--grn)}
.gm-activate:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(90,230,138,.3)}
.gm-edit{background:rgba(212,168,83,.06);color:var(--g2);border-color:rgba(212,168,83,.22)}
.gm-edit:hover{background:rgba(212,168,83,.14)}
.gm-delete{background:rgba(255,90,95,.06);color:var(--red);border-color:rgba(255,90,95,.2)}
.gm-delete:hover{background:rgba(255,90,95,.16)}
.gm-footer{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed rgba(212,168,83,.12);flex-wrap:wrap}
.gm-create{flex:1;background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:10px 14px;border-radius:8px;font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.5px;cursor:pointer;transition:.2s;min-width:140px}
.gm-create:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(212,168,83,.3)}
.gm-cancel{background:rgba(255,255,255,.04);color:var(--tx2);border:1px solid rgba(255,255,255,.08);padding:10px 14px;border-radius:8px;font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:600;cursor:pointer}
.gm-save{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:10px 14px;border-radius:8px;font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.5px;cursor:pointer;flex:1;min-width:100px;transition:.2s}
.gm-save:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(212,168,83,.3)}

/* V8.4 — Gym Editor (equipment picker) */
.gm-eq-section{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:12px;margin-top:12px}
.gm-eq-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--g2)}
.gm-eq-head small{color:var(--tx3);font-size:10px}
.gm-eq-search-wrap input{width:100%;background:rgba(0,0,0,.35);border:1px solid rgba(212,168,83,.15);color:#fff;padding:7px 10px;border-radius:7px;font-size:12px;outline:none;margin-bottom:8px}
.gm-eq-search-wrap input:focus{border-color:var(--g1);background:rgba(212,168,83,.04)}
.gm-eq-actions{display:flex;gap:6px;margin-bottom:8px}
.gm-eq-actions button{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--tx2);padding:5px 10px;border-radius:6px;font-family:'Outfit',sans-serif;font-size:10px;font-weight:600;cursor:pointer;transition:.18s}
.gm-eq-actions button:hover{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.22);color:var(--g2)}
.gm-eq-list{max-height:260px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;background:rgba(0,0,0,.15);border-radius:7px}
.gm-eq-item{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.04);border-radius:6px;padding:6px 8px;cursor:pointer;font-size:11px;color:var(--tx);transition:.15s;font-family:'Rubik',sans-serif}
.gm-eq-item:hover{background:rgba(212,168,83,.06);border-color:rgba(212,168,83,.2)}
.gm-eq-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--g1);flex-shrink:0}
.gm-eq-item.gm-eq-bw{background:rgba(90,180,255,.04);border-color:rgba(90,180,255,.12)}
.gm-eq-item.gm-eq-bw:hover{background:rgba(90,180,255,.1)}
.gm-eq-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm-eq-custom{display:flex;gap:6px;margin-top:8px}
.gm-eq-custom input{flex:1;background:rgba(0,0,0,.35);border:1px solid rgba(212,168,83,.15);color:#fff;padding:7px 10px;border-radius:7px;font-size:11.5px;outline:none}
.gm-eq-custom input:focus{border-color:var(--g1)}
.gm-eq-custom button{background:rgba(90,230,138,.08);border:1px solid rgba(90,230,138,.25);color:var(--grn);padding:7px 12px;border-radius:7px;font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;cursor:pointer;transition:.18s}
.gm-eq-custom button:hover{background:rgba(90,230,138,.16)}

/* V8.4 — Active gym context inside alternatives modal */
.alt-gym-context{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--g2);background:rgba(212,168,83,.05);border:1px solid rgba(212,168,83,.18);border-radius:7px;padding:6px 10px;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.alt-gym-context .agc-icon{font-size:14px}
.alt-gym-context b{color:#fff;font-weight:700}
.alt-gym-context small{color:var(--tx3);font-family:'Rubik',sans-serif;font-size:10px;margin-right:4px}

/* V8.4 — Empty state inside alternatives modal */
.alt-empty-gym{padding:24px 12px;text-align:center;background:rgba(255,184,90,.04);border:1px dashed rgba(255,184,90,.2);border-radius:11px}
.alt-empty-gym .aeg-icon{font-size:36px;margin-bottom:10px;opacity:.7}
.alt-empty-gym .aeg-title{font-family:'Outfit',sans-serif;font-size:14px;font-weight:800;color:var(--org);margin-bottom:6px}
.alt-empty-gym .aeg-body{font-size:11.5px;color:var(--tx2);line-height:1.65;margin-bottom:14px}
.alt-empty-gym .aeg-actions{display:flex;flex-direction:column;gap:6px}
.aeg-bw,.aeg-add,.aeg-show-all{padding:9px 12px;border-radius:8px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:.5px;cursor:pointer;border:1px solid transparent;transition:.2s}
.aeg-bw{background:linear-gradient(135deg,var(--blue),#3A7FC0);color:#fff;border-color:var(--blue)}
.aeg-bw:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(90,180,255,.3)}
.aeg-add{background:rgba(176,138,255,.08);color:var(--purple);border-color:rgba(176,138,255,.25)}
.aeg-add:hover{background:rgba(176,138,255,.18);border-color:var(--purple)}
.aeg-show-all{background:rgba(255,255,255,.04);color:var(--tx2);border-color:rgba(255,255,255,.08)}
.aeg-show-all:hover{background:rgba(255,255,255,.08);color:#fff}

/* V8.4 — Marker on alt-btn when no available alts in active gym */
.alt-btn.alt-btn-empty{background:rgba(255,184,90,.08)!important;border-color:rgba(255,184,90,.3)!important;color:var(--org)!important;animation:alt-pulse 2s infinite}
@keyframes alt-pulse{0%,100%{opacity:.85}50%{opacity:1}}

/* V8.4 (P2-#3) — Merged "نصائح ودليل" tab: TOC + section headers */
.guide-toc{background:linear-gradient(145deg,rgba(212,168,83,.06),rgba(212,168,83,.02));border:1px solid rgba(212,168,83,.18);border-radius:12px;padding:12px 14px;margin-bottom:16px;position:sticky;top:54px;z-index:50;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.gt-title{font-family:'Outfit',sans-serif;font-size:11px;font-weight:800;color:var(--tx3);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.gt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.gt-link{display:block;padding:8px 10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:7px;color:var(--tx);text-decoration:none;font-size:11.5px;font-family:'Rubik',sans-serif;font-weight:600;transition:.15s;text-align:right;line-height:1.4}
.gt-link:hover{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.22);color:var(--g2);transform:translateY(-1px)}
@media (max-width:480px){.gt-grid{grid-template-columns:1fr}}
.guide-section{margin-bottom:28px;scroll-margin-top:120px}
.guide-section-head{font-family:'Outfit',sans-serif;font-size:14px;font-weight:800;color:var(--tx);letter-spacing:.3px;padding:12px 14px;margin:0 0 12px;background:linear-gradient(90deg,rgba(212,168,83,.12),transparent);border-right:4px solid var(--g1);border-radius:0 10px 10px 0}

/* V8.4 (P1-#2) — Custom confirm modal (replaces native confirm()) */
.confirm-modal{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:var(--z-modal-critical);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.confirm-modal.show{display:flex;animation:cm-fade .22s both}
@keyframes cm-fade{from{opacity:0}to{opacity:1}}
.confirm-card{background:linear-gradient(160deg,var(--s1),var(--s2));border:1px solid rgba(212,168,83,.25);border-radius:16px;padding:24px 22px 18px;max-width:420px;width:100%;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 1px rgba(212,168,83,.08);direction:rtl;animation:cm-pop .32s cubic-bezier(.16,1,.3,1) both}
@keyframes cm-pop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
.confirm-icon{font-size:38px;margin-bottom:8px;line-height:1}
.confirm-title{font-family:'Outfit',sans-serif;font-size:16px;font-weight:800;color:#fff;letter-spacing:.3px;margin-bottom:10px}
.confirm-body{font-size:13px;color:var(--tx);line-height:1.8;margin-bottom:18px;white-space:pre-line;text-align:right;padding:0 4px}
.confirm-body b{color:var(--g2);font-weight:700}
.confirm-actions{display:flex;gap:8px;flex-direction:row-reverse}
.confirm-btn{flex:1;padding:11px 14px;border-radius:9px;font-family:'Outfit',sans-serif;font-size:12px;font-weight:800;letter-spacing:.5px;cursor:pointer;border:1px solid transparent;transition:.18s;min-height:42px}
.confirm-ok{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border-color:var(--g1)}
.confirm-ok:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(212,168,83,.3)}
.confirm-ok:focus{outline:2px solid var(--g2);outline-offset:2px}
.confirm-ok.danger{background:linear-gradient(135deg,var(--red),#c44a4d);color:#fff;border-color:var(--red)}
.confirm-ok.danger:hover{box-shadow:0 5px 14px rgba(255,90,95,.4)}
.confirm-cancel{background:rgba(255,255,255,.05);color:var(--tx2);border-color:rgba(255,255,255,.1)}
.confirm-cancel:hover{background:rgba(255,255,255,.1);color:#fff}

/* V8.3 (UX-3) — FAB hint (first-time pointer) */
.fab-hint{position:fixed;bottom:96px;left:24px;max-width:280px;background:linear-gradient(145deg,var(--s1),var(--s2));border:2px solid var(--g1);border-radius:12px;padding:14px 16px 12px;box-shadow:0 12px 40px rgba(212,168,83,.4),0 0 0 1px rgba(212,168,83,.15);z-index:var(--z-fab-hint);direction:rtl;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;pointer-events:none}
.fab-hint.show{opacity:1;transform:translateY(0);pointer-events:auto}
.fab-hint .fh-arrow{position:absolute;bottom:-9px;left:24px;width:16px;height:16px;background:var(--s2);border-right:2px solid var(--g1);border-bottom:2px solid var(--g1);transform:rotate(45deg)}
.fab-hint .fh-body{font-family:'Rubik',sans-serif;font-size:12.5px;line-height:1.65;color:var(--tx);margin-bottom:10px}
.fab-hint .fh-body b{color:var(--g2);display:block;margin-bottom:4px;font-size:13.5px}
.fab-hint .fh-body div{color:var(--tx2);font-size:11.5px}
.fab-hint .fh-close{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:7px 14px;border-radius:7px;font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.5px;cursor:pointer;width:100%}
.fab-hint .fh-close:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(212,168,83,.3)}

/* V8.3 (UX-4) — Strong backup reminder modal (after 10 sets) */
.backup-reminder-modal{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:var(--z-modal-critical);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.backup-reminder-modal.show{display:flex;animation:brm-fade .35s both}
@keyframes brm-fade{from{opacity:0}to{opacity:1}}
.brm-card{background:linear-gradient(160deg,var(--s1),var(--s2));border:2px solid var(--red);border-radius:18px;padding:28px 24px 22px;max-width:420px;width:100%;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 1px rgba(255,90,95,.15);animation:brm-pop .4s cubic-bezier(.16,1,.3,1) both;direction:rtl}
@keyframes brm-pop{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.brm-icon{font-size:42px;margin-bottom:8px;animation:brm-shake .6s ease-out}
@keyframes brm-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.brm-title{font-family:'Outfit',sans-serif;font-size:20px;font-weight:800;color:var(--red);margin-bottom:10px;letter-spacing:.3px}
.brm-body{font-size:13px;color:var(--tx);line-height:1.75;margin-bottom:8px}
.brm-body b{color:#fff;font-weight:700}
.brm-sub{font-size:11.5px;color:var(--tx2);margin-bottom:18px;font-style:italic}
.brm-actions{display:flex;flex-direction:column;gap:8px}
.brm-btn{padding:11px 14px;border-radius:9px;font-family:'Outfit',sans-serif;font-size:12px;font-weight:800;letter-spacing:.5px;cursor:pointer;border:1px solid transparent;transition:.2s}
.brm-export{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border-color:var(--g1)}
.brm-export:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(212,168,83,.4)}
.brm-auto{background:rgba(90,180,255,.08);color:var(--blue);border-color:rgba(90,180,255,.3)}
.brm-auto:hover{background:rgba(90,180,255,.18);border-color:var(--blue)}
.brm-skip{background:transparent;color:var(--tx3);border-color:rgba(255,255,255,.08);font-weight:500}
.brm-skip:hover{color:var(--tx2);background:rgba(255,255,255,.04)}

/* V8.3 (UX-8) — Progress sub-section headers (consolidated tabs) */
.pp-subsection{margin-bottom:20px;padding-bottom:18px;border-bottom:1px dashed rgba(212,168,83,.12)}
.pp-subsection:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.pp-subhead{font-family:'Outfit',sans-serif;font-size:13px;font-weight:800;color:var(--g2);letter-spacing:.5px;margin:0 0 12px;padding:8px 12px;background:linear-gradient(90deg,rgba(212,168,83,.1),transparent);border-right:3px solid var(--g1);border-radius:0 8px 8px 0}

/* V8.3 (3.12) — Weight Goal Tracker */
.prof-goal-section{background:rgba(90,230,138,.04);border:1px solid rgba(90,230,138,.15);border-right:3px solid var(--grn);border-radius:11px;padding:12px 14px;margin:14px 0}
.prof-goal-title{font-family:'Outfit',sans-serif;font-size:12px;font-weight:800;color:var(--grn);letter-spacing:.5px;margin-bottom:10px}
.prof-goal-title small{font-weight:400;color:var(--tx3);font-size:9.5px}
.prof-goal-summary{margin-top:10px;font-size:12px;color:var(--tx);line-height:1.65}
.pg-empty{color:var(--tx3);font-style:italic;font-size:11.5px;text-align:center;padding:8px}
.pg-stats{display:flex;gap:6px;margin-bottom:10px}
.pg-stat{flex:1;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.04);border-radius:8px;padding:7px 6px;text-align:center}
.pg-num{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:#fff;line-height:1.1}
.pg-num small{font-size:9px;color:var(--tx3);font-weight:400;margin-right:2px}
.pg-lbl{font-family:'Outfit',sans-serif;font-size:9px;color:var(--tx3);letter-spacing:.5px;margin-top:3px;font-weight:600}
.pg-progress{font-size:11.5px;line-height:1.75;color:var(--tx)}
.pg-line{margin-bottom:3px}
.pg-line b{color:var(--grn);font-family:'JetBrains Mono',monospace;font-weight:700}
.pg-tag{display:inline-block;font-size:9.5px;padding:2px 7px;border-radius:5px;font-family:'Outfit',sans-serif;font-weight:700;letter-spacing:.3px;margin-right:5px}
.pg-tag.pg-on{color:var(--grn);background:rgba(90,230,138,.1);border:1px solid rgba(90,230,138,.25)}
.pg-tag.pg-off{color:var(--org);background:rgba(255,184,90,.1);border:1px solid rgba(255,184,90,.25)}
.pg-health{margin-top:8px;padding:7px 10px;background:rgba(0,0,0,.2);border-right:2px solid var(--g1);border-radius:0 6px 6px 0;font-size:11px;color:var(--tx2)}
.prof-goal-chart{margin-top:12px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.04);border-radius:8px;padding:8px;height:140px;position:relative}
.prof-goal-chart canvas{max-height:130px !important}

/* V8.3 (3.13) — Auto Backup section */
.ab-body{margin-top:8px}
.ab-hint{font-size:11.5px;color:var(--tx2);line-height:1.65;margin-bottom:10px;padding:8px 10px;background:rgba(90,180,255,.04);border-right:2px solid var(--blue);border-radius:0 7px 7px 0}
.ab-link{background:linear-gradient(135deg,var(--blue),#3A7FC0);color:#fff;width:100%}
.ab-link:hover{box-shadow:0 5px 14px rgba(90,180,255,.3)}
.ab-status{background:rgba(90,230,138,.04);border:1px solid rgba(90,230,138,.18);border-radius:8px;padding:9px 11px;margin-bottom:10px;font-size:12px;line-height:1.7}
.ab-row{display:flex;justify-content:space-between;gap:8px}
.ab-row .ab-lbl{color:var(--tx3);font-family:'Outfit',sans-serif;font-size:10.5px;letter-spacing:.3px}
.ab-row b{color:#fff;font-family:'JetBrains Mono',monospace;font-size:11.5px}
.ab-file{display:block;color:var(--tx3);font-family:'JetBrains Mono',monospace;font-size:10px;margin-top:4px;direction:ltr;text-align:left}
.ab-actions{display:flex;gap:8px;flex-wrap:wrap}
.ab-actions button{flex:1;padding:8px 12px;border-radius:7px;font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.5px;cursor:pointer;border:1px solid transparent;transition:.2s;min-width:120px}
.ab-test{background:linear-gradient(135deg,var(--grn),#3da868);color:#000;border-color:var(--grn)}
.ab-test:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(90,230,138,.3)}
.ab-unlink{background:rgba(255,90,95,.06);color:var(--red);border-color:rgba(255,90,95,.2)}
.ab-unlink:hover{background:rgba(255,90,95,.16);border-color:var(--red)}
.ab-unsupported{display:flex;gap:10px;background:rgba(255,184,90,.06);border:1px solid rgba(255,184,90,.2);border-radius:9px;padding:11px 14px;align-items:flex-start}
.ab-unsupported .ab-icon{font-size:22px;flex-shrink:0;opacity:.85}
.ab-unsupported .ab-text{font-size:11.5px;line-height:1.7;color:var(--tx)}
.ab-unsupported .ab-text b{color:var(--org)}
.ab-unsupported .ab-text small{display:block;color:var(--tx3);font-size:10.5px;margin-top:3px}
/* V8.4 (P3-UX-#5) — failure streak banner */
.ab-fail-banner{background:rgba(255,90,95,.08);border:1px solid rgba(255,90,95,.3);border-radius:8px;padding:9px 11px;margin-bottom:10px;display:flex;flex-direction:column;gap:3px}
.ab-fail-banner b{color:var(--red);font-size:12px;font-family:'Rubik',sans-serif}
.ab-fail-banner small{color:var(--tx2);font-size:10.5px;direction:ltr;text-align:right}
.ab-fail-banner small:last-child{color:var(--tx);direction:rtl}

/* V8.3 (3.8) — Achievement progress on locked cards */
.ach-progress{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.06)}
.ach-progress-text{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--tx2);display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px}
.ach-progress-text b{color:var(--g2);font-weight:700}
.ach-pct{color:var(--tx3);font-size:10px;background:rgba(255,255,255,.04);padding:1px 5px;border-radius:4px}
.ach-progress-track-mini{height:5px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden}
.ach-progress-fill-mini{height:100%;background:linear-gradient(90deg,var(--g3),var(--g1));border-radius:3px;transition:width .6s cubic-bezier(.16,1,.3,1);box-shadow:0 0 6px rgba(212,168,83,.2)}
.ach-progress-fill-mini.half{background:linear-gradient(90deg,var(--g2),#FFB85A)}
.ach-progress-fill-mini.almost{background:linear-gradient(90deg,#FFB85A,var(--grn));box-shadow:0 0 8px rgba(90,230,138,.35);animation:ach-pulse 2s infinite}
@keyframes ach-pulse{0%,100%{box-shadow:0 0 8px rgba(90,230,138,.35)}50%{box-shadow:0 0 14px rgba(90,230,138,.6)}}

/* V8.3 (3.9) + V8.4 (P1-#3) — Exercise history button */
.ex-history-btn{left:38px;background:rgba(176,138,255,.08);border:1px solid rgba(176,138,255,.2);color:var(--purple)}
.ex-history-btn:hover{background:rgba(176,138,255,.2);border-color:var(--purple);transform:scale(1.06)}
.step-body.has-history.has-form-note .step-name{padding-left:62px}
.step-body.has-history:not(.has-form-note) .ex-history-btn{left:8px}
.step-body.has-history:not(.has-form-note) .step-name{padding-left:32px}
/* V8.4 (P1-#3) — alt-btn (تحويل لـ icon-only) + skip-btn — صف موحّد */
.alt-btn,.skip-btn{
  position:absolute;top:6px;width:24px;height:24px;font-size:14px;line-height:1;padding:0;
  border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:.18s;z-index:2;font-family:'Outfit',sans-serif;font-weight:700;
  -webkit-tap-highlight-color:transparent;letter-spacing:0
}
.alt-btn{left:68px;background:rgba(212,168,83,.06);border:1px solid rgba(212,168,83,.22);color:var(--g2)}
.alt-btn:hover{background:rgba(212,168,83,.18);border-color:var(--g1);transform:scale(1.06)}
.skip-btn{left:98px;background:rgba(136,144,160,.08);border:1px solid rgba(136,144,160,.2);color:var(--tx2);font-size:13px}
.skip-btn:hover{background:rgba(136,144,160,.18);border-color:var(--tx2);color:#fff;transform:scale(1.06)}
/* Adjust step-name padding based on which buttons present */
.step-body.has-alt:not(.has-history):not(.has-form-note):not(.has-skip) .step-name{padding-left:32px}
/* V8.4 (P3-UX-#9) — has-alt + has-skip بدون form/history: skip at 38, لازم 62 */
.step-body.has-alt.has-skip:not(.has-history):not(.has-form-note) .step-name{padding-left:62px}
.step-body.has-alt.has-history:not(.has-form-note) .step-name,
.step-body.has-alt.has-form-note:not(.has-history) .step-name{padding-left:62px}
.step-body.has-alt.has-form-note.has-history .step-name{padding-left:92px}
.step-body.has-skip:not(.has-alt):not(.has-history):not(.has-form-note) .step-name{padding-left:32px}
.step-body.has-skip:not(.has-alt).has-history .step-name{padding-left:62px}
/* V8.4 (P3-UX-#9) — has-form-note + has-skip بدون alt/history: skip at 38, لازم 62 */
.step-body.has-skip:not(.has-alt).has-form-note:not(.has-history) .step-name{padding-left:62px}
.step-body.has-skip:not(.has-alt).has-form-note.has-history .step-name{padding-left:92px}
.step-body.has-skip.has-alt.has-form-note.has-history .step-name{padding-left:122px}
.step-body.has-skip.has-alt.has-history:not(.has-form-note) .step-name,
.step-body.has-skip.has-alt.has-form-note:not(.has-history) .step-name{padding-left:92px}
/* skipped state — highlighted skip-btn */
.step.skipped .skip-btn{background:rgba(255,184,90,.15);border-color:var(--org);color:var(--org)}
/* Position alt-btn lefter if no form-note/history */
.step-body.has-alt:not(.has-form-note):not(.has-history) .alt-btn{left:8px}
.step-body.has-alt:not(.has-history).has-form-note .alt-btn{left:38px}
.step-body.has-alt:not(.has-form-note).has-history .alt-btn{left:38px}
/* Position skip-btn dynamically based on which other buttons exist */
.step-body.has-skip:not(.has-alt):not(.has-history):not(.has-form-note) .skip-btn{left:8px}
.step-body.has-skip:not(.has-alt).has-form-note:not(.has-history) .skip-btn{left:38px}
.step-body.has-skip:not(.has-alt):not(.has-form-note).has-history .skip-btn{left:38px}
.step-body.has-skip:not(.has-alt).has-form-note.has-history .skip-btn{left:68px}
.step-body.has-skip.has-alt:not(.has-form-note):not(.has-history) .skip-btn{left:38px}
.step-body.has-skip.has-alt.has-form-note:not(.has-history) .skip-btn{left:68px}
.step-body.has-skip.has-alt:not(.has-form-note).has-history .skip-btn{left:68px}
.exh-subtitle{font-size:11px;color:var(--tx3);margin-top:4px;font-family:'JetBrains Mono',monospace}
.exh-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}
.exh-stat{background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.1);border-radius:8px;padding:8px 6px;text-align:center}
.exh-sn{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:#fff;line-height:1.1}
.exh-sl{font-family:'Outfit',sans-serif;font-size:9px;font-weight:600;color:var(--tx3);letter-spacing:.3px;margin-top:3px}
.exh-sl small{color:var(--org)}
.exh-body{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.exh-empty{text-align:center;padding:30px 14px;color:var(--tx3);font-size:12.5px}
.exh-empty-icon{font-size:32px;margin-bottom:8px;opacity:.7}
.exh-empty small{display:block;font-size:10.5px;margin-top:6px;color:var(--tx3)}
.exh-session{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);border-radius:9px;padding:9px 11px}
.exh-session-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.exh-date{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--g2);font-weight:700}
.exh-type{font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;color:var(--tx2);background:rgba(255,255,255,.04);padding:2px 7px;border-radius:4px;letter-spacing:.5px}
.exh-trend{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:4px;margin-right:auto}
.exh-trend.up{color:var(--grn);background:rgba(90,230,138,.08)}
.exh-trend.down{color:var(--red);background:rgba(255,90,95,.08)}
.exh-trend.flat{color:var(--tx3);background:rgba(255,255,255,.04)}
.exh-sets{display:flex;flex-wrap:wrap;gap:6px}
.exh-set{background:rgba(212,168,83,.05);border:1px solid rgba(212,168,83,.1);color:var(--tx);font-family:'JetBrains Mono',monospace;font-size:11px;padding:3px 8px;border-radius:5px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.exh-set b{color:#fff;font-weight:700}
.exh-set.warmup{background:rgba(255,184,90,.05);border-color:rgba(255,184,90,.15);color:var(--org);opacity:.8}
.exh-set.pr{background:rgba(212,168,83,.14);border-color:rgba(212,168,83,.4);box-shadow:0 0 6px rgba(212,168,83,.2)}
.exh-rpe{color:var(--purple);font-size:9.5px;margin-right:2px}
.exh-set-note{cursor:help;opacity:.85;font-size:10px}

/* V8.3 (3.10) — Smart recovery banner (missed-day) */
.missed-banner{background:linear-gradient(145deg,rgba(255,184,90,.08),rgba(255,184,90,.02));border:1px solid rgba(255,184,90,.25);border-right:3px solid var(--org);border-radius:11px;padding:12px 14px;margin:0 0 14px;animation:mb-slide .4s cubic-bezier(.16,1,.3,1)}
@keyframes mb-slide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mb-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.mb-icon{font-size:18px;line-height:1}
.mb-title{font-family:'Outfit',sans-serif;font-size:13.5px;font-weight:800;color:var(--org);letter-spacing:.5px;flex:1}
.mb-dismiss{background:transparent;border:none;color:var(--tx3);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:5px;transition:.2s}
.mb-dismiss:hover{background:rgba(255,255,255,.06);color:var(--tx)}
.mb-body{font-size:12.5px;color:var(--tx);line-height:1.7;margin-bottom:10px}
.mb-line{margin-bottom:3px}
.mb-line b{color:#fff;font-weight:700}
.mb-fallback{color:var(--tx2);font-size:12px;margin-top:4px}
.mb-actions{display:flex;gap:8px;flex-wrap:wrap}
.mb-start{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:9px 14px;border-radius:8px;font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.5px;cursor:pointer;transition:.2s;flex:1;min-width:140px}
.mb-start:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(212,168,83,.3)}
.mb-skip{background:rgba(255,255,255,.04);color:var(--tx2);border:1px solid rgba(255,255,255,.08);padding:9px 14px;border-radius:8px;font-family:'Rubik',sans-serif;font-size:11.5px;font-weight:600;cursor:pointer;transition:.2s}
.mb-skip:hover{background:rgba(255,255,255,.08);color:#fff}

/* V8.3 (3.11) — Muscle volume MEV/MAV/MRV reference */
.mv-legend{margin-bottom:10px;font-size:10.5px;color:var(--tx3);line-height:1.55;background:rgba(176,138,255,.04);border:1px dashed rgba(176,138,255,.15);border-radius:8px;padding:7px 10px}
.mv-legend b{color:var(--purple)}
.mv-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10.5px;margin:5px 0 6px;flex-wrap:wrap}
.mv-status{font-family:'Outfit',sans-serif;font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:3px 8px;border-radius:5px;white-space:nowrap}
.mv-status.vol-under{color:var(--red);background:rgba(255,90,95,.1);border:1px solid rgba(255,90,95,.25)}
.mv-status.vol-approaching{color:var(--org);background:rgba(255,184,90,.1);border:1px solid rgba(255,184,90,.25)}
.mv-status.vol-optimal{color:var(--grn);background:rgba(90,230,138,.1);border:1px solid rgba(90,230,138,.25)}
.mv-status.vol-high{color:var(--org);background:rgba(255,184,90,.12);border:1px solid rgba(255,184,90,.3)}
.mv-status.vol-over{color:var(--red);background:rgba(255,90,95,.14);border:1px solid rgba(255,90,95,.35);animation:mv-warn 2s infinite}
@keyframes mv-warn{0%,100%{opacity:1}50%{opacity:.7}}
.mv-vals{color:var(--tx2);font-family:'JetBrains Mono',monospace;font-size:10.5px}
.mv-vals b{color:#fff;font-weight:700}
.mv-range{position:relative;height:14px;background:rgba(255,255,255,.04);border-radius:7px;margin:8px 0 4px;overflow:visible;direction:rtl}
.mv-zone{position:absolute;top:0;height:100%;background:linear-gradient(90deg,rgba(90,230,138,.18),rgba(90,230,138,.3));border-top:1px solid rgba(90,230,138,.35);border-bottom:1px solid rgba(90,230,138,.35)}
.mv-tick{position:absolute;top:-3px;height:20px;width:1px;background:var(--tx3)}
.mv-mev-tick{background:var(--org)}
.mv-mrv-tick{background:var(--red)}
.mv-mav-tick{background:rgba(90,230,138,.5)}
.mv-marker{position:absolute;top:-5px;width:14px;height:24px;background:var(--g1);border-radius:3px;transform:translateX(50%);box-shadow:0 0 0 2px var(--s1),0 2px 8px rgba(212,168,83,.5);z-index:2}
.mv-marker.vol-optimal{background:var(--grn);box-shadow:0 0 0 2px var(--s1),0 2px 8px rgba(90,230,138,.5)}
.mv-marker.vol-under{background:var(--red);box-shadow:0 0 0 2px var(--s1),0 2px 8px rgba(255,90,95,.5)}
.mv-marker.vol-over,.mv-marker.vol-high{background:var(--org);box-shadow:0 0 0 2px var(--s1),0 2px 8px rgba(255,184,90,.5)}
.mv-scale{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--tx3);margin-top:8px;direction:rtl}
.mv-scale-mid{color:var(--org)}
.mv-scale span:last-child{color:var(--red)}

/* V8.3 (3.5) — Set note inline panel (replaces prompt()) */
.set-note-panel{flex-basis:100%;display:none;flex-direction:column;gap:8px;margin-top:8px;padding:10px;background:rgba(212,168,83,.05);border:1px dashed rgba(212,168,83,.22);border-radius:9px;animation:cal-fade .18s ease-out}
.set-note-panel.open{display:flex}
.set-note-ta{width:100%;min-height:60px;background:rgba(0,0,0,.35);border:1px solid rgba(212,168,83,.2);color:#fff;padding:8px 10px;border-radius:7px;font-family:'Rubik',sans-serif;font-size:12.5px;line-height:1.6;outline:none;resize:vertical;direction:rtl}
.set-note-ta:focus{border-color:var(--g1);background:rgba(212,168,83,.06)}
.set-note-ta::placeholder{color:var(--tx3);font-size:11.5px}
.set-note-actions{display:flex;gap:8px;justify-content:flex-start}
.set-note-actions button{padding:6px 12px;border-radius:6px;font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.5px;cursor:pointer;border:1px solid transparent;transition:.18s}
.snp-save{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border-color:var(--g1)}
.snp-save:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(212,168,83,.3)}
.snp-clear{background:rgba(255,90,95,.08);color:var(--red);border-color:rgba(255,90,95,.22)}
.snp-clear:hover{background:rgba(255,90,95,.18);border-color:var(--red)}

/* V8.3 (3.6) — RPE chip selector (replaces select dropdown) */
.rpe-chips{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:3px 5px}
.rpe-chips .rpe-lbl{font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;letter-spacing:1px;color:var(--tx3);padding:0 4px;text-transform:uppercase;flex-shrink:0}
.rpe-chip{background:transparent;border:1px solid rgba(255,255,255,.08);color:var(--tx2);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;width:24px;height:24px;border-radius:5px;cursor:pointer;padding:0;line-height:1;transition:.15s;-webkit-tap-highlight-color:transparent}
.rpe-chip:hover{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.25);color:var(--g2)}
.rpe-chip.active{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border-color:var(--g1);box-shadow:0 0 8px rgba(212,168,83,.3)}
.rpe-chip[data-rpe="6"].active,.rpe-chip[data-rpe="7"].active{background:linear-gradient(135deg,var(--grn),#3da868);border-color:var(--grn);box-shadow:0 0 8px rgba(90,230,138,.3)}
.rpe-chip[data-rpe="9"].active,.rpe-chip[data-rpe="10"].active{background:linear-gradient(135deg,var(--red),#c44a4d);color:#fff;border-color:var(--red);box-shadow:0 0 8px rgba(255,90,95,.3)}

/* V8.3 (3.7) — Calendar (monthly plan view) */
.cal-toolbar{display:flex;align-items:center;gap:10px;margin:14px 0 10px;padding:8px;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.1);border-radius:10px}
.cal-nav{background:rgba(212,168,83,.08);border:1px solid rgba(212,168,83,.2);color:var(--g2);width:32px;height:32px;border-radius:7px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0}
.cal-nav:hover{background:rgba(212,168,83,.18);color:#fff;border-color:var(--g1)}
.cal-title{flex:1;text-align:center;font-family:'Outfit',sans-serif;font-size:15px;font-weight:800;color:#fff;letter-spacing:.5px}
.cal-today{background:rgba(176,138,255,.08);border:1px solid rgba(176,138,255,.22);color:var(--purple);font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;padding:6px 11px;border-radius:7px;cursor:pointer;letter-spacing:.5px;transition:.2s;flex-shrink:0}
.cal-today:hover{background:rgba(176,138,255,.18);border-color:var(--purple)}

.cal-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;font-size:10.5px;font-family:'Rubik',sans-serif}
.cal-lg{padding:3px 8px;border-radius:5px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);color:var(--tx2);white-space:nowrap}
.cal-lg.done{color:var(--grn);background:rgba(90,230,138,.06);border-color:rgba(90,230,138,.2)}
.cal-lg.today{color:var(--g2);background:rgba(212,168,83,.06);border-color:rgba(212,168,83,.2)}
.cal-lg.missed{color:var(--red);background:rgba(255,90,95,.06);border-color:rgba(255,90,95,.2)}
.cal-lg.rest{color:var(--tx3);background:rgba(255,255,255,.025)}
.cal-lg.planned{color:var(--blue);background:rgba(90,180,255,.06);border-color:rgba(90,180,255,.2)}
.cal-lg.bonus{color:var(--purple);background:rgba(176,138,255,.06);border-color:rgba(176,138,255,.2)}

.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;direction:rtl}
.cal-wd{text-align:center;font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;color:var(--tx3);padding:6px 0;letter-spacing:.5px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;direction:rtl}
.cal-cell{position:relative;aspect-ratio:1;min-height:60px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);border-radius:9px;padding:5px 4px;display:flex;flex-direction:column;align-items:stretch;cursor:pointer;transition:.18s;overflow:hidden}
.cal-cell:hover{transform:translateY(-2px);border-color:var(--g1);background:rgba(212,168,83,.06)}
.cal-cell.cal-cell-out{opacity:.28;pointer-events:none}
.cal-cell .cc-day{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;color:#fff;line-height:1}
.cal-cell .cc-badge{font-family:'Outfit',sans-serif;font-size:8.5px;font-weight:800;letter-spacing:.3px;color:var(--g2);background:rgba(212,168,83,.1);padding:2px 4px;border-radius:4px;text-align:center;margin-top:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.cal-cell .cc-badge.push{color:var(--red);background:rgba(255,90,95,.1)}
.cal-cell .cc-badge.pull{color:var(--blue);background:rgba(90,180,255,.1)}
.cal-cell .cc-badge.legs{color:var(--grn);background:rgba(90,230,138,.1)}
.cal-cell .cc-badge.rest{color:var(--tx3);background:rgba(255,255,255,.04)}
.cal-cell .cc-icon{position:absolute;top:4px;left:4px;font-size:10px;line-height:1;opacity:.85}

.cal-cell.cal-today{border-color:var(--g1);box-shadow:0 0 0 2px rgba(212,168,83,.3),0 6px 16px rgba(212,168,83,.18);background:linear-gradient(145deg,rgba(212,168,83,.12),rgba(212,168,83,.03))}
.cal-cell.cal-today .cc-day{color:var(--g2)}
.cal-cell.cal-done{background:rgba(90,230,138,.08);border-color:rgba(90,230,138,.25)}
.cal-cell.cal-done .cc-day{color:var(--grn)}
.cal-cell.cal-missed{background:rgba(255,90,95,.05);border-color:rgba(255,90,95,.18)}
.cal-cell.cal-missed .cc-day{color:var(--red)}
.cal-cell.cal-rest{opacity:.55}
.cal-cell.cal-rest .cc-day{color:var(--tx3)}
.cal-cell.cal-planned{background:rgba(90,180,255,.04);border-color:rgba(90,180,255,.15);border-style:dashed}
.cal-cell.cal-bonus{background:rgba(176,138,255,.08);border-color:rgba(176,138,255,.25)}
.cal-cell.cal-bonus .cc-day{color:var(--purple)}

.cal-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding:12px;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.1);border-radius:10px}
.cal-stats .cs-item{flex:1;min-width:80px;text-align:center}
.cal-stats .cs-num{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:800;color:#fff;line-height:1.1}
.cal-stats .cs-num.cs-done{color:var(--grn)}
.cal-stats .cs-num.cs-rate{color:var(--g2)}
.cal-stats .cs-num.cs-missed{color:var(--red)}
.cal-stats .cs-num.cs-rest{color:var(--tx2)}
.cal-stats .cs-num.cs-bonus{color:var(--purple)}
.cal-stats .cs-lbl{font-family:'Outfit',sans-serif;font-size:9.5px;font-weight:600;color:var(--tx3);letter-spacing:.5px;margin-top:3px}

.cd-info{font-size:12.5px;color:var(--tx);padding:10px 12px;background:rgba(212,168,83,.05);border-right:3px solid var(--g1);border-radius:0 8px 8px 0;margin-bottom:10px;line-height:1.6}
.cd-info.cd-rest{border-right-color:var(--tx3);background:rgba(255,255,255,.025)}
.cd-info b{color:var(--g2)}
.cd-info small{color:var(--tx2)}
.cd-empty{padding:12px;text-align:center;color:var(--tx3);font-size:12px;font-style:italic}
.cd-empty.cd-missed{color:var(--red);background:rgba(255,90,95,.05);border-radius:8px;font-style:normal}
.cd-workout{margin-top:10px;padding:12px;background:rgba(90,230,138,.04);border:1px solid rgba(90,230,138,.15);border-radius:9px}
.cd-w-head{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--grn);margin-bottom:8px}
.cd-w-note{font-size:11.5px;color:var(--tx);background:rgba(212,168,83,.06);padding:6px 10px;border-radius:6px;margin-bottom:8px;border-right:2px solid var(--g1)}
.cd-ex{font-size:12px;color:var(--tx2);padding:4px 0;display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1px dashed rgba(255,255,255,.04)}
.cd-ex:last-child{border-bottom:none}
.cd-ex b{color:#fff;font-weight:600}
.cd-ex span{color:var(--g2);font-family:'JetBrains Mono',monospace;font-size:11px;text-align:left}
.cd-warmup{color:var(--org);font-size:9.5px;font-family:'Outfit',sans-serif;letter-spacing:.5px}

@keyframes cal-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* V8.3 (3.4) — Plate-calc shortcut button next to weight input */
.plate-calc-btn{background:rgba(212,168,83,.06);border:1px solid rgba(212,168,83,.18);color:var(--g2);font-size:13px;padding:4px 8px;border-radius:6px;cursor:pointer;transition:.2s;line-height:1;-webkit-tap-highlight-color:transparent;min-height:30px;margin-right:-4px}
.plate-calc-btn:hover{background:rgba(212,168,83,.18);border-color:var(--g1);transform:scale(1.05)}
.plate-calc-btn:active{transform:scale(.95)}
.pc-context{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--g2);background:rgba(212,168,83,.06);border:1px solid rgba(212,168,83,.18);border-radius:7px;padding:7px 11px;margin-bottom:10px;text-align:right}

/* V7.3 — Set/Session notes */
.set-note-btn{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--tx3);font-size:13px;padding:4px 8px;border-radius:6px;cursor:pointer;transition:.2s;line-height:1;-webkit-tap-highlight-color:transparent;min-height:30px}
.set-note-btn:hover{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.25);color:var(--g2)}
.set-note-btn.has-note{background:linear-gradient(135deg,rgba(212,168,83,.18),rgba(212,168,83,.06));border-color:var(--g1);color:var(--g2);box-shadow:0 0 8px rgba(212,168,83,.2)}
.session-note-textarea{width:100%;background:rgba(0,0,0,.3);border:1px solid rgba(212,168,83,.18);color:#fff;padding:10px 12px;border-radius:8px;font-family:'Rubik',sans-serif;font-size:13px;outline:none;resize:vertical;min-height:60px;margin-top:14px;line-height:1.6}
.session-note-textarea:focus{border-color:var(--g1);background:rgba(212,168,83,.04)}
.session-note-textarea::placeholder{color:var(--tx3);font-size:11.5px}
.history-note{font-size:11.5px;color:var(--tx);background:rgba(212,168,83,.06);border-right:2px solid var(--g1);padding:6px 10px;margin:4px 0 8px;border-radius:0 6px 6px 0;line-height:1.55;font-family:'Rubik',sans-serif}
.set-note-mark{display:inline-block;font-size:10px;cursor:help;opacity:.85}

/* ===== ONBOARDING OVERLAY ===== */
.onb-overlay{position:fixed;inset:0;background:rgba(5,6,8,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:var(--z-modal-overlay);display:none;align-items:center;justify-content:center;padding:20px;direction:rtl}
.onb-overlay.open{display:flex;animation:fadeUp .4s cubic-bezier(.16,1,.3,1)}
.onb-card{background:linear-gradient(160deg,var(--s1),var(--s2));border:1px solid rgba(212,168,83,.25);border-radius:22px;padding:28px 22px 22px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 1px rgba(212,168,83,.08)}
.onb-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--g1),transparent)}

.onb-progress{display:flex;justify-content:center;gap:8px;margin-bottom:22px}
.onb-dot{width:28px;height:4px;border-radius:2px;background:rgba(255,255,255,.1);transition:.3s}
.onb-dot.a{background:linear-gradient(90deg,var(--g1),var(--g2));width:36px}
.onb-dot.done{background:rgba(212,168,83,.4)}

.onb-slide{display:none;animation:fadeUp .35s cubic-bezier(.16,1,.3,1)}
.onb-slide.a{display:block}

.onb-icon{font-size:42px;text-align:center;margin-bottom:14px;animation:float 3s ease-in-out infinite}
.onb-title{font-family:'Outfit',sans-serif;font-size:24px;font-weight:800;color:#fff;text-align:center;line-height:1.2;letter-spacing:-.3px;margin-bottom:8px}
.onb-title em{font-style:normal;color:var(--g2);font-weight:800}
.onb-sub{font-size:13px;color:var(--tx2);text-align:center;line-height:1.65;margin-bottom:18px;font-weight:400}

/* Slide 1 — weekly chart */
.onb-week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:14px}
.onb-day{aspect-ratio:.8;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 2px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);transition:.2s;position:relative}
.onb-day .od-wd{font-size:10px;color:var(--tx3);font-family:'Outfit',sans-serif;letter-spacing:.3px;margin-bottom:3px}
.onb-day .od-tp{font-size:9px;font-weight:700;color:var(--tx2);text-align:center;line-height:1.2;font-family:'JetBrains Mono',monospace}
.onb-day.upper{background:rgba(255,90,95,.08);border-color:rgba(255,90,95,.18)}
.onb-day.upper .od-tp{color:var(--red)}
.onb-day.arms{background:rgba(90,180,255,.08);border-color:rgba(90,180,255,.18)}
.onb-day.arms .od-tp{color:var(--blue)}
.onb-day.legs{background:rgba(90,230,138,.08);border-color:rgba(90,230,138,.18)}
.onb-day.legs .od-tp{color:var(--grn)}
.onb-day.rest{background:rgba(212,168,83,.04);border-color:rgba(212,168,83,.1)}
.onb-day.rest .od-tp{color:var(--g2)}
.onb-day.today{transform:scale(1.08);box-shadow:0 0 0 2px var(--g1),0 8px 22px rgba(212,168,83,.3);background:linear-gradient(145deg,rgba(212,168,83,.18),rgba(212,168,83,.06));border-color:var(--g1);animation:glow 2s infinite}
.onb-day.today::after{content:'⭐';position:absolute;top:-8px;right:-4px;font-size:14px;animation:pulse 1.6s infinite}
.onb-today-note{text-align:center;padding:10px 14px;background:rgba(212,168,83,.08);border:1px solid rgba(212,168,83,.18);border-radius:10px;font-size:12px;color:var(--g2);line-height:1.5}
.onb-today-note b{color:#fff}

/* Slide 2 — how to start steps */
.onb-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.onb-step{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;transition:.3s}
.onb-step:hover{border-color:rgba(212,168,83,.3);transform:translateX(-3px)}
.onb-step-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;font-family:'JetBrains Mono',monospace;font-weight:800;font-size:14px;flex-shrink:0;box-shadow:0 3px 10px rgba(212,168,83,.25)}
.onb-step-body{flex:1;min-width:0}
.onb-step-title{font-size:13px;color:var(--tx);font-weight:500;margin-bottom:3px}
.onb-step-title b{color:var(--g2);font-weight:700}
.onb-step-info{font-size:11px;color:var(--tx3);line-height:1.5}
.onb-anim-hint{display:flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(90,230,138,.05);border:1px solid rgba(90,230,138,.15);border-radius:10px;font-size:11.5px;color:var(--grn);line-height:1.5}
.onb-anim-pulse{width:8px;height:8px;border-radius:50%;background:var(--grn);animation:pulse 1.4s infinite;flex-shrink:0;box-shadow:0 0 8px var(--grn)}

/* Slide 3 — export box */
.onb-export-box{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:14px;margin-bottom:14px;display:flex;flex-direction:column;gap:10px}
.onb-eb-row{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--tx)}
.onb-eb-key{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(212,168,83,.1);border:1px solid rgba(212,168,83,.18);font-size:14px;flex-shrink:0}
.onb-eb-row b{color:var(--g2)}
.onb-warn{padding:10px 12px;background:rgba(255,90,95,.06);border:1px solid rgba(255,90,95,.18);border-radius:10px;font-size:11.5px;color:var(--tx);line-height:1.6;margin-bottom:10px}
.onb-warn b{color:var(--red)}
.onb-reminder-hint{padding:8px 12px;background:rgba(90,180,255,.05);border:1px solid rgba(90,180,255,.15);border-radius:8px;font-size:11px;color:var(--blue);text-align:center}

/* Navigation buttons */
.onb-nav{display:flex;align-items:center;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.05)}
.onb-spacer{flex:1}
.onb-btn-skip{background:none;border:none;color:var(--tx3);font-family:'Rubik',sans-serif;font-size:12px;padding:8px 12px;cursor:pointer;transition:.2s;border-radius:8px}
.onb-btn-skip:hover{color:var(--tx);background:rgba(255,255,255,.04)}
.onb-btn-prev,.onb-btn-next{padding:10px 18px;border:none;border-radius:10px;font-family:'Rubik',sans-serif;font-weight:700;font-size:13px;cursor:pointer;transition:.25s}
.onb-btn-prev{background:rgba(255,255,255,.04);color:var(--tx);border:1px solid rgba(255,255,255,.08)}
.onb-btn-prev:hover{background:rgba(255,255,255,.07)}
.onb-btn-next{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;box-shadow:0 4px 14px rgba(212,168,83,.3)}
.onb-btn-next:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(212,168,83,.4)}
.onb-btn-next.finish{background:linear-gradient(135deg,var(--grn),#4DD380)}

/* ===== Enhanced Stats V2 ===== */
.stats-hero{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:18px}
.sh-item{background:linear-gradient(145deg,rgba(212,168,83,.08),rgba(212,168,83,.02));border:1px solid rgba(212,168,83,.15);border-radius:12px;padding:14px 10px;text-align:center;transition:.2s}
.sh-item.sh-fire{background:linear-gradient(145deg,rgba(255,90,95,.12),rgba(255,184,90,.06));border-color:rgba(255,90,95,.3);animation:glow 2.4s infinite}
.sh-val{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:800;color:#fff;line-height:1.1}
.sh-lbl{font-size:10px;color:var(--tx2);margin-top:4px;font-family:'Outfit',sans-serif;letter-spacing:.3px}

.stats-section{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.05)}
.stats-section:first-child{border-top:none;padding-top:0;margin-top:0}
.ss-title{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--g2);margin-bottom:12px;letter-spacing:.3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ss-sub{font-size:10px;color:var(--tx3);font-weight:400;letter-spacing:0}
.ss-empty{text-align:center;color:var(--tx3);font-size:12px;padding:14px}

/* Weekly compare */
.week-compare{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.wcm{background:var(--s2);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 12px}
.wcm-val{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:700;color:#fff;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.wcm-lbl{font-size:10px;color:var(--tx3);margin-top:3px;font-family:'Outfit',sans-serif}
.wcm-d{font-size:10px;font-weight:600;padding:2px 6px;border-radius:6px;font-family:'Rubik',sans-serif}
.wcm-d.up{background:rgba(90,230,138,.15);color:var(--grn)}
.wcm-d.down{background:rgba(255,90,95,.15);color:var(--red)}
.wcm-d.flat{background:rgba(255,255,255,.06);color:var(--tx3)}

/* Upper/Lower bar */
.ul-bar{display:flex;height:30px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.06);margin-bottom:8px}
.ul-seg{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#000;font-family:'Outfit',sans-serif;letter-spacing:.3px;transition:.3s;min-width:0}
.ul-seg.upper{background:linear-gradient(135deg,#FF5A5F,#FFB85A)}
.ul-seg.lower{background:linear-gradient(135deg,#5AE68A,#5AB4FF);color:#000}
.ul-seg.core{background:rgba(136,144,160,.5);color:#fff}
.ul-hint{font-size:11px;color:var(--tx2);padding:6px 10px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:8px;line-height:1.6}

/* Muscle group rows */
.mg-list{display:flex;flex-direction:column;gap:8px}
.mg-row{}
.mg-head{display:flex;justify-content:space-between;font-size:11px;margin-bottom:4px;font-family:'Outfit',sans-serif}
.mg-name{font-weight:700}
.mg-val{color:var(--tx2);font-family:'JetBrains Mono',monospace}
.mg-val small{color:var(--tx3);font-size:10px}
.mg-bar-bg{height:6px;background:rgba(255,255,255,.05);border-radius:3px;overflow:hidden}
.mg-bar-fill{height:100%;border-radius:3px;transition:width .5s cubic-bezier(.16,1,.3,1)}

/* Heatmap */
.heatmap{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:8px}
.hm-cell{aspect-ratio:1;border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:9px;color:rgba(255,255,255,.4);cursor:default;transition:.2s}
.hm-cell:hover{transform:scale(1.15)}
.hm-cell.hm-0{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.04)}
.hm-cell.hm-1{background:rgba(212,168,83,.18)}
.hm-cell.hm-2{background:rgba(212,168,83,.35)}
.hm-cell.hm-3{background:rgba(212,168,83,.6)}
.hm-cell.hm-4{background:linear-gradient(135deg,var(--g1),var(--g2));color:#000;font-weight:700}
.hm-d{pointer-events:none}
.hm-legend{display:flex;align-items:center;gap:4px;justify-content:flex-end;font-size:10px;color:var(--tx3);margin-top:4px}
.hm-legend .hm-cell{width:14px;height:14px;aspect-ratio:auto}

/* Top lifts */
.top-lifts{display:flex;flex-direction:column;gap:6px}
.tl-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--s2);border:1px solid rgba(255,255,255,.04);border-radius:10px;transition:.2s}
.tl-row:hover{border-color:rgba(212,168,83,.2)}
.tl-rank{font-size:16px;width:24px;text-align:center;font-family:'JetBrains Mono',monospace;color:var(--g2);font-weight:800}
.tl-body{flex:1;min-width:0}
.tl-name{font-size:12px;color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-date{font-size:10px;color:var(--tx3);font-family:'JetBrains Mono',monospace;margin-top:2px}
.tl-w{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700;color:var(--g2)}
.tl-w small{font-size:10px;color:var(--tx3);font-weight:400;display:block;text-align:left}

/* Day type frequency */
.dt-list{display:flex;flex-direction:column;gap:4px}
.dt-row{display:flex;justify-content:space-between;padding:6px 10px;background:rgba(255,255,255,.02);border-radius:8px;font-size:12px;color:var(--tx)}
.dt-row b{color:var(--g2);font-family:'JetBrains Mono',monospace}

/* Toast notification */
.toast{position:fixed;bottom:100px;right:50%;transform:translate(50%,20px);background:var(--s2);border:1px solid var(--grn);color:var(--grn);padding:12px 20px;border-radius:10px;font-family:'Rubik';font-size:13px;font-weight:600;z-index:var(--z-toast);opacity:0;pointer-events:none;transition:.3s;box-shadow:0 8px 24px rgba(0,0,0,.5);display:flex;align-items:center;gap:10px;max-width:90vw}
.toast.show{opacity:1;transform:translate(50%,0);pointer-events:auto}

/* V7 (#18) — Toast undo button */
.toast-msg{flex:1;min-width:0;text-align:right}
.toast-undo{background:rgba(255,255,255,.08);border:1px solid currentColor;color:inherit;font-family:'Outfit',sans-serif;font-size:11px;font-weight:800;padding:6px 12px;border-radius:7px;cursor:pointer;letter-spacing:.5px;flex-shrink:0;display:flex;align-items:center;gap:5px;transition:.2s;text-transform:uppercase}
.toast-undo:hover{background:rgba(255,255,255,.15);transform:translateY(-1px)}
.toast-undo-bar{height:2px;background:currentColor;opacity:.5;border-radius:1px;margin-top:6px;width:100%;animation:undoCountdown 5s linear forwards}
@keyframes undoCountdown{from{width:100%}to{width:0%}}
.toast-full{flex-direction:column;align-items:stretch}

/* V9.14.7 — تحسين عرض الإشعارات على الموبايل:
   شريط بعرض مريح فوق التنقّل السفلي، يحترم safe-area، نص أوضح ولا يتداخل مع الـ bottom-nav. */
@media (max-width:600px){
  .toast{
    left:12px;right:12px;max-width:none;
    bottom:calc(72px + var(--sai-bottom));
    transform:translateY(16px);
    padding:14px 16px;font-size:13.5px;line-height:1.45;
    border-radius:14px;border-width:1.5px;
    box-shadow:0 10px 30px rgba(0,0,0,.55);
    text-align:right;
  }
  .toast.show{transform:translateY(0)}
  .toast-msg{font-size:13.5px}
  .toast-undo{padding:9px 14px;font-size:12px}
}

.day-summary{display:flex;gap:10px;flex-wrap:wrap;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:12px;margin-bottom:14px}
.ds-item{flex:1;min-width:90px;text-align:center}
.ds-num{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:700;color:var(--g2);display:block}
.ds-lbl{font-size:10px;color:var(--tx3);font-family:'Outfit',sans-serif;letter-spacing:.5px;text-transform:uppercase;margin-top:2px}


.pair{position:relative;background:linear-gradient(145deg,rgba(212,168,83,.04),rgba(212,168,83,.01));border:1px solid rgba(212,168,83,.18);border-radius:14px;padding:14px;margin:10px 0;overflow:hidden}
.pair::before{content:'PAIR';position:absolute;top:-9px;right:14px;background:var(--bg);padding:0 8px;font-family:'Outfit',sans-serif;font-size:9px;font-weight:800;color:var(--g2);letter-spacing:2px}
.pair-rounds{display:inline-block;background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;padding:3px 10px;border-radius:8px;margin-top:8px}
.pair-rest{display:inline-block;color:var(--tx2);font-family:'JetBrains Mono',monospace;font-size:11px;margin-right:8px;margin-top:8px}
.aps-note{font-size:11px;color:var(--g2);background:rgba(212,168,83,.06);padding:8px 12px;border-radius:8px;margin-top:8px;border-right:2px solid var(--g1)}
.single{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:14px;margin:10px 0}
.single::before{content:'SOLO';position:absolute;top:-9px;right:14px;background:var(--bg);padding:0 8px;font-family:'Outfit',sans-serif;font-size:9px;font-weight:800;color:var(--tx3);letter-spacing:2px}
.ex-line{display:flex;align-items:flex-start;gap:10px;padding:8px 4px}
.ex-line:not(:last-child){border-bottom:1px dashed rgba(255,255,255,.04)}
.ex-tag{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;color:var(--g2);background:rgba(212,168,83,.1);padding:4px 8px;border-radius:6px;flex-shrink:0;min-width:34px;text-align:center}
.ex-tag.solo{color:var(--tx3);background:rgba(255,255,255,.04)}
.ex-body{flex:1;min-width:0}
.ex-name{font-weight:700;font-size:13.5px;color:#fff;line-height:1.4}
.ex-meta{font-size:11px;color:var(--g1);margin-top:3px;opacity:.9}
.ex-sets{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--tx2);margin-top:4px}
.ex-sets b{color:var(--g2)}

.tf{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:200;display:none}
.tf.show{display:flex}
.tfl{display:flex;align-items:center;gap:14px;background:rgba(11,13,17,.95);backdrop-filter:blur(24px);border:1px solid rgba(212,168,83,.2);border-radius:44px;padding:12px 14px 12px 24px;box-shadow:0 16px 48px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.03);animation:glow 3s infinite}
.td{font-family:'JetBrains Mono',monospace;font-size:32px;font-weight:700;color:var(--g2);min-width:60px;text-align:center}
.tla{font-family:'Outfit',sans-serif;font-size:11px;color:var(--tx2)}
.tbs{display:flex;gap:7px}
.tbn{width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;transition:all .2s cubic-bezier(.16,1,.3,1)}
.tbn:active{transform:scale(.88)}
.tbs1{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;box-shadow:0 4px 12px rgba(212,168,83,.25)}.tbs2{background:rgba(255,90,95,.1);color:var(--red);border:1px solid rgba(255,90,95,.2)}
.tps{display:flex;gap:5px;margin-top:10px;justify-content:center}
.tpr{background:var(--s3);border:1px solid var(--s4);color:var(--tx2);border-radius:20px;padding:5px 14px;font-size:11px;cursor:pointer;font-family:'JetBrains Mono',monospace;transition:.25s}
.tpr:hover,.tpr.a{background:var(--g4);color:var(--g2);border-color:rgba(212,168,83,.25)}
.ttrig{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:199;background:rgba(11,13,17,.92);backdrop-filter:blur(20px);border:1px solid rgba(212,168,83,.15);border-radius:34px;padding:12px 24px;cursor:pointer;display:flex;align-items:center;gap:10px;font-family:'Outfit',sans-serif;font-size:12.5px;color:var(--g2);font-weight:700;box-shadow:0 12px 40px rgba(0,0,0,.4);transition:all .3s cubic-bezier(.16,1,.3,1);animation:float 4s ease-in-out infinite}
.ttrig:hover{border-color:rgba(212,168,83,.35);transform:translateX(-50%) translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.5)}
.ttrig.hid{display:none}

@media(max-width:768px){
  .nav-brand{font-size:12px;padding:12px 6px 12px 0}
  .nb{padding:12px 10px;font-size:10.5px}
}
@media(max-width:500px){
  .mg{grid-template-columns:repeat(2,1fr)}
  .wg{gap:4px}.wc{padding:10px 3px}
  .sbar{gap:4px}.sp{padding:7px 12px;font-size:11px}
  .mm{gap:5px}
  h1{letter-spacing:-.5px}
  .card{padding:18px}
  .dh{padding:14px 16px}
  .dbi{padding:12px 16px 16px}
  .footer{padding:32px 16px 100px}
}

/* ============ V5 LEVEL 1: SESSION + PR + CHARTS ============ */
/* Session control inside day */
.session-ctrl{display:flex;gap:10px;align-items:center;margin-bottom:14px;padding:12px;background:linear-gradient(135deg,rgba(212,168,83,.08),rgba(212,168,83,.02));border:1px solid rgba(212,168,83,.18);border-radius:12px}
/* V8.4 (P2-UX-#4) — sticky في الأعلى عند فتح اليوم؛ يبقى الزر في متناول الإصبع أثناء السكروول */
.dy.open .session-ctrl{position:sticky;top:54px;z-index:60;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:linear-gradient(135deg,rgba(20,22,28,.95),rgba(15,17,22,.92));border-color:rgba(212,168,83,.35);box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 0 1px rgba(212,168,83,.1)}
/* إذا banner deload مرئي، انزل أكثر لتجنب التراكب */
body:has(#deloadHeaderBanner.show) .dy.open .session-ctrl{top:96px}
.session-start-btn{flex:1;background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:11px 16px;border-radius:9px;font-family:'Outfit',sans-serif;font-size:12px;font-weight:800;letter-spacing:1.5px;cursor:pointer;transition:.2s;text-transform:uppercase}
.session-start-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,168,83,.3)}
.session-start-btn:active{transform:scale(.97)}
.session-start-btn.active{background:linear-gradient(135deg,#FF5A5F,#C04347);color:#fff;animation:pulse 2s infinite}
.session-ctrl-hint{font-size:10.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace;flex-shrink:0}

/* Active session top bar */
.sess-bar{position:fixed;top:0;left:0;right:0;z-index:var(--z-session-bar);background:linear-gradient(180deg,rgba(11,13,17,.98),rgba(11,13,17,.92));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(212,168,83,.3);padding:9px 14px;display:none;align-items:center;gap:12px;box-shadow:0 4px 20px rgba(0,0,0,.5)}
.sess-bar.show{display:flex;animation:slideDown .35s cubic-bezier(.16,1,.3,1)}
body.sess-active{padding-top:50px}
body.sess-active .nav{top:50px}
@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
.sess-bar .sb-icon{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#FF5A5F,#C04347);display:flex;align-items:center;justify-content:center;font-size:13px;animation:pulse 2s infinite;flex-shrink:0;box-shadow:0 4px 12px rgba(255,90,95,.3)}
.sess-bar .sb-info{flex:1;min-width:0}
.sess-bar .sb-day{font-family:'Outfit',sans-serif;font-weight:700;font-size:12px;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sess-bar .sb-meta{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--tx2);margin-top:2px}
.sess-bar .sb-meta b{color:var(--g2)}
.sess-bar .sb-end{background:rgba(255,90,95,.15);color:var(--red);border:1px solid rgba(255,90,95,.3);border-radius:8px;padding:8px 14px;font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:1px;cursor:pointer;flex-shrink:0;transition:.2s;text-transform:uppercase}
.sess-bar .sb-end:hover{background:rgba(255,90,95,.25)}

/* V7 (#17) — Minimize button + minimized state */
.sess-bar .sb-min{background:rgba(255,255,255,.05);color:var(--tx2);border:1px solid rgba(255,255,255,.1);border-radius:7px;width:30px;height:30px;font-size:14px;font-weight:700;cursor:pointer;flex-shrink:0;transition:.2s;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}
.sess-bar .sb-min:hover{background:rgba(255,255,255,.1);color:#fff}

/* Minimized floating pill */
.sess-pill{position:fixed;top:14px;right:14px;width:auto;height:44px;padding:0 14px;border-radius:22px;background:linear-gradient(135deg,rgba(255,90,95,.18),rgba(255,90,95,.06));border:1.5px solid var(--red);color:#fff;display:none;align-items:center;gap:8px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-weight:700;z-index:var(--z-session-bar);backdrop-filter:blur(20px);box-shadow:0 6px 20px rgba(0,0,0,.4),0 0 0 4px rgba(255,90,95,.08);transition:.3s;-webkit-tap-highlight-color:transparent}
.sess-pill.show{display:inline-flex;animation:fadeUp .3s both}
.sess-pill:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 5px rgba(255,90,95,.12)}
.sess-pill .sp-dot{width:9px;height:9px;border-radius:50%;background:var(--red);animation:pulse 2s infinite;flex-shrink:0;box-shadow:0 0 8px var(--red)}
.sess-pill .sp-time{font-size:12.5px;color:#fff}
.sess-pill .sp-sets{font-size:10px;color:var(--g2);background:rgba(212,168,83,.12);padding:2px 7px;border-radius:8px;border:1px solid rgba(212,168,83,.2)}
.sess-pill .sp-deload{font-size:9.5px;color:var(--blue);background:rgba(90,180,255,.12);padding:2px 6px;border-radius:6px;border:1px solid rgba(90,180,255,.25)}

/* PR celebration overlay */
.pr-flash{position:fixed;inset:0;z-index:var(--z-modal-overlay);background:radial-gradient(circle,rgba(212,168,83,.4),rgba(0,0,0,.92));display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s}
.pr-flash.show{opacity:1;pointer-events:all}
.pr-flash-inner{background:linear-gradient(145deg,var(--s1),var(--s2));border:2px solid var(--g1);border-radius:24px;padding:32px 26px;text-align:center;max-width:340px;width:90%;max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:0 0 80px rgba(212,168,83,.5);animation:prPop .7s cubic-bezier(.34,1.56,.64,1)}
@keyframes prPop{0%{transform:scale(.5) rotate(-10deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}
.pr-flash-icon{font-size:64px;margin-bottom:8px;animation:float 2s ease-in-out infinite;display:inline-block}
.pr-flash-title{font-family:'Outfit',sans-serif;font-size:22px;font-weight:800;color:var(--g2);margin-bottom:6px;letter-spacing:.5px}
.pr-flash-ex{font-size:14px;color:#fff;font-weight:600;margin-bottom:14px}
.pr-flash-prs{display:flex;flex-direction:column;gap:6px}
.pr-flash-item{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--tx2);background:rgba(212,168,83,.08);border:1px solid rgba(212,168,83,.15);padding:7px 12px;border-radius:8px}
.pr-flash-item b{color:var(--g2)}

/* ============ V8 — Achievements ============ */

/* Popup (نفس .pr-flash لكن بلون فضي/أزرق بدل الذهبي) */
.pr-flash.ach-popup{background:radial-gradient(circle,rgba(90,180,255,.4),rgba(0,0,0,.92))}
.pr-flash.ach-popup .pr-flash-inner{border-color:var(--blue);box-shadow:0 0 80px rgba(90,180,255,.5)}
.pr-flash.ach-popup .pr-flash-title{color:var(--blue)}
.pr-flash.ach-popup .pr-flash-item{background:rgba(90,180,255,.08);border-color:rgba(90,180,255,.18)}
.pr-flash.ach-popup .pr-flash-item b{color:var(--blue)}
.pr-flash.ach-popup .ach-more{margin-top:14px;padding:8px 12px;background:rgba(212,168,83,.08);border:1px dashed rgba(212,168,83,.25);border-radius:8px;font-size:11px;color:var(--g2);line-height:1.5}

/* صفحة الإنجازات — Progress bar */
.ach-progress-bar{background:linear-gradient(145deg,rgba(90,180,255,.08),rgba(90,180,255,.02));border:1px solid rgba(90,180,255,.2);border-radius:14px;padding:14px 18px;margin-bottom:18px}
.ach-progress-head{display:flex;align-items:baseline;gap:6px;margin-bottom:10px;justify-content:center}
.ach-progress-num{font-family:'JetBrains Mono',monospace;font-size:30px;font-weight:800;color:var(--blue);line-height:1}
.ach-progress-sep{color:var(--tx3);font-size:20px}
.ach-progress-total{font-family:'JetBrains Mono',monospace;font-size:20px;color:var(--tx2);font-weight:600}
.ach-progress-lbl{color:var(--tx2);font-size:12px;margin-right:6px;font-family:'Outfit',sans-serif}
.ach-progress-track{height:8px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden}
.ach-progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),#A8D4FF);border-radius:4px;transition:width .6s cubic-bezier(.16,1,.3,1);box-shadow:0 0 8px rgba(90,180,255,.4)}

/* Section titles */
.ach-section-title{font-family:'Outfit',sans-serif;font-size:13px;color:var(--g2);font-weight:700;margin:16px 0 10px;letter-spacing:.5px;border-right:3px solid var(--g1);padding-right:10px}

/* Grid */
.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:8px}

/* Card — مفتوحة */
.ach-card{background:linear-gradient(145deg,var(--s1),var(--s2));border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px 10px;text-align:center;transition:.25s;position:relative;overflow:hidden}
.ach-card.ach-unlocked{border-color:rgba(212,168,83,.3);background:linear-gradient(145deg,rgba(212,168,83,.1),rgba(212,168,83,.02));box-shadow:0 4px 14px rgba(212,168,83,.12)}
.ach-card.ach-unlocked:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(212,168,83,.2);border-color:var(--g1)}
.ach-card.ach-unlocked::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--g1),transparent)}
.ach-card .ach-icon{font-size:32px;margin-bottom:6px;display:block;line-height:1.1}
.ach-card.ach-unlocked .ach-icon{animation:float 3s ease-in-out infinite}
.ach-card .ach-title{font-family:'Outfit',sans-serif;font-size:12.5px;font-weight:800;color:#fff;margin-bottom:4px;line-height:1.3}
.ach-card .ach-desc{font-size:10.5px;color:var(--tx2);line-height:1.45;margin-bottom:8px;min-height:30px}
.ach-card .ach-date{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--g2);padding:3px 8px;background:rgba(212,168,83,.08);border-radius:6px;display:inline-block}

/* Card — مقفلة */
.ach-card.ach-locked{filter:grayscale(.8);opacity:.55}
.ach-card.ach-locked .ach-title{color:var(--tx2)}
.ach-card.ach-locked .ach-date{color:var(--tx3);background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.08)}
.ach-card.ach-locked:hover{opacity:.8;filter:grayscale(.4)}

/* ============ V8 — Progress Photos ============ */

/* Hint + actions */
.pp-hint{font-size:12px;color:var(--tx2);line-height:1.7;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.12);border-radius:10px;padding:10px 14px;margin-bottom:14px}
.pp-actions{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.pp-add-btn{flex:1;min-width:140px;background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:13px 16px;border-radius:10px;font-family:'Outfit',sans-serif;font-weight:800;font-size:13px;letter-spacing:1px;cursor:pointer;transition:.2s;min-height:48px;-webkit-tap-highlight-color:transparent}
.pp-add-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(212,168,83,.3)}
.pp-compare-btn{flex:1;min-width:140px;background:rgba(90,180,255,.08);color:var(--blue);border:1px solid rgba(90,180,255,.3);padding:13px 16px;border-radius:10px;font-family:'Outfit',sans-serif;font-weight:700;font-size:12px;letter-spacing:.5px;cursor:pointer;transition:.2s;min-height:48px;-webkit-tap-highlight-color:transparent}
.pp-compare-btn:hover{background:rgba(90,180,255,.14);border-color:var(--blue)}

/* Form (after file selected) */
.pp-form{background:linear-gradient(145deg,var(--s2),var(--s3));border:1px solid rgba(212,168,83,.2);border-radius:14px;padding:16px;margin-bottom:18px;animation:fadeUp .3s both}
.pp-preview{position:relative;background:#000;border-radius:10px;overflow:hidden;margin-bottom:14px;max-height:340px;display:flex;align-items:center;justify-content:center}
.pp-preview img{max-width:100%;max-height:340px;display:block;object-fit:contain}
.pp-preview-note{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.7);color:var(--g2);font-family:'JetBrains Mono',monospace;font-size:10.5px;padding:4px 8px;border-radius:6px;backdrop-filter:blur(4px)}
.pp-preview-note b{color:var(--grn)}
.pp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.pp-notes-field{grid-column:1/-1}
.pp-form-actions{display:flex;gap:8px}
.pp-form-actions .bm-save{flex:1}
.pp-cancel{background:rgba(255,255,255,.04);color:var(--tx2);border:1px solid rgba(255,255,255,.1);padding:12px 18px;border-radius:10px;font-family:'Rubik',sans-serif;font-weight:600;font-size:12px;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:transparent}
.pp-cancel:hover{background:rgba(255,90,95,.08);color:var(--red);border-color:rgba(255,90,95,.3)}

/* Gallery */
.pp-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:600px){.pp-gallery{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.pp-gallery{grid-template-columns:repeat(4,1fr)}}
.pp-thumb{position:relative;aspect-ratio:1/1;background:#000;border-radius:10px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.06);transition:.2s;-webkit-tap-highlight-color:transparent}
.pp-thumb:hover{transform:translateY(-2px);border-color:rgba(212,168,83,.3);box-shadow:0 6px 16px rgba(0,0,0,.4)}
.pp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pp-thumb-overlay{position:absolute;left:0;right:0;bottom:0;padding:8px 10px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.85));color:#fff;pointer-events:none}
.pp-thumb-cat{font-size:10.5px;font-family:'Outfit',sans-serif;color:var(--g2);font-weight:700;letter-spacing:.3px}
.pp-thumb-date{font-size:9.5px;color:rgba(255,255,255,.8);font-family:'JetBrains Mono',monospace;margin-top:2px}

/* Fullscreen */
.pp-fullscreen{position:fixed;inset:0;z-index:var(--z-fullscreen);background:rgba(0,0,0,.96);display:none;align-items:center;justify-content:center;flex-direction:column;padding:20px;backdrop-filter:blur(8px)}
.pp-fullscreen.show{display:flex;animation:fadeUp .25s both}
.pp-fullscreen img{max-width:100%;max-height:75vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.6)}
.pp-fs-close{position:absolute;top:14px;left:14px;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:18px;width:40px;height:40px;border-radius:50%;cursor:pointer;z-index:1;backdrop-filter:blur(6px);min-width:44px;min-height:44px;-webkit-tap-highlight-color:transparent}
.pp-fs-close:hover{background:rgba(255,90,95,.2);border-color:var(--red)}
.pp-fs-info{margin-top:16px;text-align:center;max-width:600px;width:100%}
.pp-fs-meta{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--g2);margin-bottom:8px}
.pp-fs-note{font-size:12.5px;color:var(--tx);background:rgba(212,168,83,.08);border:1px solid rgba(212,168,83,.18);padding:8px 12px;border-radius:8px;margin-bottom:12px;line-height:1.6}
.pp-fs-delete{background:rgba(255,90,95,.12);color:var(--red);border:1px solid rgba(255,90,95,.3);padding:9px 18px;border-radius:8px;font-family:'Rubik',sans-serif;font-weight:600;font-size:12px;cursor:pointer;min-height:40px;-webkit-tap-highlight-color:transparent}
.pp-fs-delete:hover{background:rgba(255,90,95,.22)}

/* Compare modal */
.pp-compare-selects{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.pp-compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;background:#000;border-radius:10px;padding:8px;margin-bottom:12px}
.pp-compare-side{position:relative;background:#0B0D11;border-radius:8px;overflow:hidden}
.pp-compare-side img{width:100%;display:block;max-height:50vh;object-fit:contain;background:#000}
.pp-cmp-label{position:absolute;top:6px;right:6px;background:rgba(212,168,83,.95);color:#000;font-family:'Outfit',sans-serif;font-size:10px;font-weight:800;padding:3px 9px;border-radius:5px;letter-spacing:1px;z-index:1}
.pp-cmp-label.after{background:rgba(90,230,138,.95)}
.pp-cmp-meta{padding:6px 8px;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--tx2);text-align:center;background:rgba(255,255,255,.02)}
.pp-cmp-delta{text-align:center;padding:8px 12px;border-radius:8px;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;margin-bottom:12px;border:1px solid}
.pp-cmp-delta.pp-w-up{color:var(--grn);background:rgba(90,230,138,.08);border-color:rgba(90,230,138,.25)}
.pp-cmp-delta.pp-w-down{color:var(--red);background:rgba(255,90,95,.08);border-color:rgba(255,90,95,.25)}
.pp-cmp-delta.pp-w-flat{color:var(--tx2);background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08)}
.pp-compare-actions{display:flex;justify-content:center}

/* ============ V8 — Plate Calculator ============ */

/* Plate chips (checkboxes في الإعدادات) */
.pc-plate-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.pc-plate-chip{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pc-plate-chip input{position:absolute;opacity:0;pointer-events:none}
.pc-plate-chip span{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);color:var(--tx2);font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;padding:8px 12px;border-radius:8px;transition:.2s;min-height:36px}
.pc-plate-chip:hover span{background:rgba(212,168,83,.07);color:var(--tx);border-color:rgba(212,168,83,.25)}
.pc-plate-chip input:checked + span{background:linear-gradient(135deg,rgba(212,168,83,.18),rgba(212,168,83,.05));color:var(--g2);border-color:var(--g1);font-weight:800}

/* Result wrapper */
.pc-result-wrap{margin-top:16px}
.pc-error{padding:12px 14px;background:rgba(255,90,95,.08);border:1px solid rgba(255,90,95,.3);border-right:3px solid var(--red);border-radius:10px;color:var(--tx);font-size:12.5px;line-height:1.6}
.pc-warn{padding:12px 14px;background:rgba(255,184,90,.08);border:1px solid rgba(255,184,90,.3);border-right:3px solid var(--org);border-radius:10px;color:var(--tx);font-size:12.5px;margin-bottom:12px;line-height:1.6}
.pc-warn b{color:var(--org)}

.pc-success{background:linear-gradient(145deg,rgba(90,230,138,.08),rgba(90,230,138,.02));border:1px solid rgba(90,230,138,.25);border-radius:12px;padding:14px;margin-bottom:12px}
.pc-success-line{font-size:13px;color:var(--tx);margin-bottom:8px;line-height:1.6}
.pc-success-line b{color:var(--grn)}
.pc-formula{font-family:'JetBrains Mono',monospace;font-size:14px;color:#fff;background:rgba(0,0,0,.3);padding:10px 14px;border-radius:8px;text-align:center;margin-bottom:12px;direction:ltr}
.pc-formula b{color:var(--grn);font-size:16px}
.pc-total{font-size:11.5px;color:var(--tx2);text-align:center;margin-top:8px;font-family:'JetBrains Mono',monospace}
.pc-total b{color:var(--g2)}

/* Alternative suggestions (above/below) */
.pc-alt{background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px;margin-bottom:10px}
.pc-alt-below{border-right:3px solid var(--blue)}
.pc-alt-above{border-right:3px solid var(--grn)}
.pc-alt-head{font-size:12.5px;color:var(--tx);margin-bottom:8px;font-family:'Outfit',sans-serif;font-weight:700}
.pc-alt-head b{color:#fff;font-size:14px;font-family:'JetBrains Mono',monospace}
.pc-alt-below .pc-alt-head{color:var(--blue)}
.pc-alt-above .pc-alt-head{color:var(--grn)}

/* Bar visualization */
.pc-bar{display:flex;align-items:center;justify-content:center;gap:0;margin:14px auto;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.5));padding:18px 8px;border-radius:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;min-height:120px;border:1px solid rgba(255,255,255,.05)}
.pc-bar-side{display:flex;align-items:center;gap:2px;min-width:0;flex-shrink:0}
.pc-bar-side.empty{font-family:'JetBrains Mono',monospace;color:var(--tx3);font-size:12px;padding:0 14px}
.pc-bar-rod{height:8px;background:linear-gradient(180deg,#C0C5CE,#7A8093);border-radius:2px;flex:0 0 80px;min-width:80px;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.2)}
.pc-bar-label{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3);white-space:nowrap}
.pc-plate{display:flex;align-items:center;justify-content:center;width:18px;border-radius:4px;font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:800;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.15);border:1px solid rgba(0,0,0,.2);text-shadow:0 1px 1px rgba(0,0,0,.2)}

/* ============ V8 — Smart Deload ============ */

/* Sticky header banner (تحت nav) */
.deload-header-banner{display:none;position:sticky;top:48px;z-index:var(--z-deload-banner);padding:10px 14px;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;line-height:1.5;border-bottom:1px solid;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.deload-header-banner.show{display:flex;animation:fadeUp .35s both}
.deload-header-banner.deload-active{background:linear-gradient(90deg,rgba(90,180,255,.92),rgba(90,180,255,.78));border-bottom-color:var(--blue);color:#fff}
.deload-header-banner.deload-active b{color:#fff;font-family:'Outfit',sans-serif}
.deload-header-banner.deload-suggest{background:linear-gradient(90deg,rgba(255,90,95,.92),rgba(255,184,90,.85));border-bottom-color:var(--red);color:#fff}
.deload-header-banner.deload-suggest b{color:#fff;font-family:'Outfit',sans-serif}
.dhb-text{flex:1;min-width:0}
.dhb-btn{background:rgba(255,255,255,.95);color:#1A1D24;border:none;padding:7px 14px;border-radius:8px;font-family:'Outfit',sans-serif;font-weight:800;font-size:11.5px;cursor:pointer;flex-shrink:0;letter-spacing:.3px;transition:.2s;min-height:36px;-webkit-tap-highlight-color:transparent}
.dhb-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2);background:#fff}
.deload-header-banner.deload-active .dhb-btn{color:var(--blue)}
.deload-header-banner.deload-suggest .dhb-btn{color:var(--red)}

/* Recovery tab cards */
.recovery-card{padding:18px;border-radius:14px;margin-bottom:18px;text-align:center;border:1px solid;position:relative;overflow:hidden}
.recovery-active{background:linear-gradient(145deg,rgba(90,180,255,.12),rgba(90,180,255,.03));border-color:rgba(90,180,255,.35)}
.recovery-need-high{background:linear-gradient(145deg,rgba(255,90,95,.12),rgba(255,90,95,.03));border-color:rgba(255,90,95,.35);animation:glow 2.4s infinite}
.recovery-need-low{background:linear-gradient(145deg,rgba(255,184,90,.1),rgba(255,184,90,.03));border-color:rgba(255,184,90,.3)}
.recovery-ok{background:linear-gradient(145deg,rgba(90,230,138,.1),rgba(90,230,138,.03));border-color:rgba(90,230,138,.3)}
.recovery-state-icon{font-size:42px;margin-bottom:8px}
.recovery-state-title{font-family:'Outfit',sans-serif;font-size:16px;font-weight:800;color:#fff;margin-bottom:6px;letter-spacing:.3px}
.recovery-state-sub{font-size:12px;color:var(--tx);line-height:1.55;margin-bottom:10px}
.recovery-state-effect{font-size:12px;color:var(--blue);background:rgba(90,180,255,.08);padding:8px 12px;border-radius:8px;margin-bottom:14px;font-family:'JetBrains Mono',monospace;display:inline-block}
.recovery-state-effect b{color:#fff;font-size:14px}
.recovery-btn{padding:11px 22px;border-radius:10px;font-family:'Outfit',sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.5px;cursor:pointer;border:none;min-height:44px;-webkit-tap-highlight-color:transparent;transition:.2s}
.recovery-start{background:linear-gradient(135deg,var(--blue),#3a8fd9);color:#fff}
.recovery-stop{background:linear-gradient(135deg,var(--red),#c04347);color:#fff}
.recovery-manual{background:rgba(255,255,255,.06);color:var(--tx2);border:1px solid rgba(255,255,255,.1)}
.recovery-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.3)}

/* Section title */
.recovery-section-title{font-family:'Outfit',sans-serif;font-size:13px;color:var(--g2);font-weight:700;margin:18px 0 10px;letter-spacing:.5px;border-right:3px solid var(--g1);padding-right:10px}

/* Criteria list */
.recovery-criteria{display:flex;flex-direction:column;gap:8px}
.crit-row{display:flex;gap:10px;padding:11px 14px;background:var(--s2);border:1px solid rgba(255,255,255,.05);border-radius:10px;align-items:flex-start}
.crit-icon{font-size:18px;width:22px;text-align:center;flex-shrink:0;line-height:1.2}
.crit-row.crit-pass .crit-icon{color:var(--grn)}
.crit-row.crit-fail{border-color:rgba(255,90,95,.3);background:rgba(255,90,95,.04)}
.crit-row.crit-fail .crit-icon{color:var(--red)}
.crit-row.crit-skipped{opacity:.55}
.crit-body{flex:1;min-width:0}
.crit-label{font-size:12.5px;color:#fff;font-weight:600;margin-bottom:3px}
.crit-detail{font-size:10.5px;color:var(--tx2);font-family:'JetBrains Mono',monospace}
.crit-detail b{color:var(--g2);font-size:12px}
.crit-note{font-size:10.5px;color:var(--tx3);margin-top:4px;font-style:italic}

/* Explain block */
.recovery-explain{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:14px 18px;font-size:12.5px;color:var(--tx);line-height:1.75}
.recovery-explain p{margin-bottom:10px}
.recovery-explain p b{color:var(--g2)}
.recovery-list{list-style:none;padding:0;margin:0 0 12px}
.recovery-list li{padding:4px 0 4px 16px;position:relative;color:var(--tx2);font-size:12px}
.recovery-list li::before{content:'•';color:var(--g1);font-weight:bold;position:absolute;right:0;top:4px}
.recovery-note{font-size:11.5px;color:var(--blue);background:rgba(90,180,255,.06);padding:8px 12px;border-radius:8px;border:1px solid rgba(90,180,255,.18);margin-top:10px}

/* ============ V8 — Workout Reminders (in Profile modal) ============ */
.rem-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,83,.25),transparent);margin:22px -4px}
.rem-section h3{font-family:'Outfit',sans-serif;font-size:15px;color:var(--g2);font-weight:800;margin-bottom:8px;letter-spacing:.5px}
.rem-hint{font-size:11.5px;color:var(--tx2);line-height:1.65;margin-bottom:12px;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.12);padding:8px 12px;border-radius:8px}
.rem-form{padding:14px;background:linear-gradient(145deg,var(--s2),var(--s3));border:1px solid rgba(255,255,255,.06);border-radius:12px}
.rem-toggle{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rem-toggle input{width:18px;height:18px;cursor:pointer;accent-color:var(--g1);flex-shrink:0}
.rem-toggle span{font-size:12.5px;color:var(--tx);font-weight:500}
.rem-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:8px 0 4px}
.rem-grid input[type=time]{background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.06);color:#fff;padding:9px 12px;border-radius:8px;font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;outline:none;width:100%;text-align:center;color-scheme:dark}
.rem-grid input[type=time]:focus{border-color:var(--g1)}
.rem-status{padding:8px 12px;border-radius:8px;font-size:11.5px;margin:10px 0 6px;font-family:'Rubik',sans-serif;border:1px solid}
.rem-status-ok{background:rgba(90,230,138,.06);color:var(--grn);border-color:rgba(90,230,138,.25)}
.rem-status-warn{background:rgba(255,184,90,.06);color:var(--org);border-color:rgba(255,184,90,.25)}
.rem-status-error{background:rgba(255,90,95,.06);color:var(--red);border-color:rgba(255,90,95,.25)}
.rem-status-info{background:rgba(90,180,255,.06);color:var(--blue);border-color:rgba(90,180,255,.25)}
.rem-warn{font-size:11px;color:var(--tx2);line-height:1.6;background:rgba(255,184,90,.05);border:1px dashed rgba(255,184,90,.25);padding:8px 12px;border-radius:8px;margin:8px 0 12px}
.rem-warn b{color:var(--org)}
.rem-actions{display:flex;gap:8px;flex-wrap:wrap}
.rem-actions .bm-save{flex:1;min-width:140px}
.rem-ics-btn{flex:1;min-width:140px;background:rgba(90,180,255,.08);color:var(--blue);border:1px solid rgba(90,180,255,.3);padding:12px 16px;border-radius:10px;font-family:'Outfit',sans-serif;font-weight:700;font-size:12px;letter-spacing:.3px;cursor:pointer;transition:.2s;min-height:44px;-webkit-tap-highlight-color:transparent}
.rem-ics-btn:hover{background:rgba(90,180,255,.14);border-color:var(--blue)}

/* PR indicators on completed steps */
.step.has-pr{position:relative}
.step.has-pr::before{content:'🏆';position:absolute;top:-6px;right:-2px;font-size:16px;z-index:2;animation:float 2s infinite;filter:drop-shadow(0 2px 4px rgba(212,168,83,.4))}
.pr-badge-inline{display:inline-block;background:linear-gradient(135deg,var(--g1),var(--g2));color:#000;font-family:'Outfit',sans-serif;font-size:9px;font-weight:800;padding:2px 7px;border-radius:6px;letter-spacing:.5px;margin-right:5px}

/* Session summary modal */
.summary-modal{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:var(--z-modal-priority);display:none;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.summary-modal.open{display:flex;animation:fadeUp .35s both}
.summary-content{background:linear-gradient(145deg,var(--s1),var(--s2));border:1px solid rgba(212,168,83,.25);border-radius:22px;padding:28px 24px;max-width:420px;width:100%;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;text-align:center;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.6)}
.summary-content h2{font-family:'Outfit',sans-serif;font-size:18px;letter-spacing:2px;color:var(--g2);margin-bottom:6px;font-weight:800}
.summary-day{font-family:'Outfit',sans-serif;font-size:12px;color:var(--tx2);margin-bottom:20px;letter-spacing:2px;text-transform:uppercase}
.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}
.summary-stat{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:18px 12px;transition:.3s}
.summary-stat.gold{background:linear-gradient(145deg,rgba(212,168,83,.1),rgba(212,168,83,.02));border-color:rgba(212,168,83,.3);animation:glow 2.5s infinite}
.summary-stat .ss-num{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:700;color:var(--g2);display:block;margin-bottom:4px}
.summary-stat .ss-lbl{font-size:11px;color:var(--tx3);font-family:'Outfit',sans-serif;letter-spacing:1px;text-transform:uppercase}

/* V9.5 (#1) — Rest stats card في session summary */
.summary-rest{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:11px;margin-bottom:14px;border:1px solid}
.summary-rest .sr-icon{font-size:22px;line-height:1;flex-shrink:0}
.summary-rest .sr-body{flex:1;min-width:0}
.summary-rest .sr-main{font-size:13px;color:var(--tx);font-weight:600;line-height:1.4}
.summary-rest .sr-main b{font-family:'JetBrains Mono',monospace;font-size:16px}
.summary-rest .sr-main small{font-size:10.5px;color:var(--tx3);font-weight:400;margin-right:4px}
.summary-rest .sr-hint{font-size:11px;margin-top:3px;line-height:1.5}
.summary-rest.summary-rest-ok{background:rgba(90,230,138,.05);border-color:rgba(90,230,138,.22)}
.summary-rest.summary-rest-ok .sr-main b{color:var(--grn)}
.summary-rest.summary-rest-ok .sr-hint{color:var(--grn)}
.summary-rest.summary-rest-warn{background:rgba(255,184,90,.05);border-color:rgba(255,184,90,.22)}
.summary-rest.summary-rest-warn .sr-main b{color:var(--org)}
.summary-rest.summary-rest-warn .sr-hint{color:var(--org)}
.summary-rest.summary-rest-over{background:rgba(255,90,95,.05);border-color:rgba(255,90,95,.22)}
.summary-rest.summary-rest-over .sr-main b{color:var(--red)}
.summary-rest.summary-rest-over .sr-hint{color:var(--red)}

/* V9.5 (#2) — Profile weight sync hint (يظهر تحت حقل الوزن) */
.prof-weight-hint{display:flex;align-items:center;gap:6px;font-size:10.5px;margin-top:6px;padding:6px 10px;border-radius:7px;border:1px solid;flex-wrap:wrap;line-height:1.5}
.prof-weight-hint .pwh-icon{font-size:13px;line-height:1;flex-shrink:0}
.prof-weight-hint b{font-family:'JetBrains Mono',monospace;font-weight:700}
.prof-weight-hint.pwh-ok{color:var(--grn);background:rgba(90,230,138,.06);border-color:rgba(90,230,138,.2)}
.prof-weight-hint.pwh-info{color:var(--blue);background:rgba(90,180,255,.06);border-color:rgba(90,180,255,.2)}
.prof-weight-hint.pwh-warn{color:var(--org);background:rgba(255,184,90,.06);border-color:rgba(255,184,90,.22)}
.pwh-apply{background:linear-gradient(135deg,var(--org),#cc8a30);color:#000;border:none;padding:3px 9px;border-radius:5px;font-family:'Outfit',sans-serif;font-size:10px;font-weight:800;cursor:pointer;letter-spacing:.3px;margin-right:auto;transition:.2s;-webkit-tap-highlight-color:transparent}
.pwh-apply:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(255,184,90,.3)}

/* V9.5 (#3) — Daily Log protein source badge */
.dl-source-badge{flex-basis:100%;display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--grn);background:rgba(90,230,138,.06);border:1px solid rgba(90,230,138,.22);border-radius:8px;padding:6px 11px;margin-top:6px;line-height:1.5;flex-wrap:wrap}
.dl-source-badge .dsb-icon{font-size:12px;line-height:1;flex-shrink:0}
.dl-source-badge b{font-family:'JetBrains Mono',monospace;color:var(--grn);font-weight:700}
.dl-protein-override-btn{background:transparent;color:var(--tx3);border:1px solid rgba(255,255,255,.08);padding:3px 9px;border-radius:5px;font-family:'Rubik',sans-serif;font-size:10px;font-weight:600;cursor:pointer;margin-right:auto;transition:.2s;-webkit-tap-highlight-color:transparent}
.dl-protein-override-btn:hover{background:var(--s3);color:var(--g2);border-color:rgba(212,168,83,.2)}
.dl-num-input-locked{opacity:.7;background:rgba(90,230,138,.04) !important;border-color:rgba(90,230,138,.18) !important;cursor:not-allowed}
.dl-num-input-locked:focus{outline:none}
/* علامة 🍽 صغيرة في history */
.dl-from-food{font-size:10px;margin-right:3px;opacity:.7;cursor:help}

/* ============================================================
 * V9.6 — Data Audit Round 2 Styles (#4-#8)
 * ============================================================ */

/* #4 — Substitution Patterns Card */
.subs-patterns{display:flex;flex-direction:column;gap:14px}
.sp-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.sp-stats-row .sp-stat-cell{padding:11px 6px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:9px;text-align:center}
.sp-stats-row .sp-stat-num{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:700;color:var(--g2);line-height:1.1}
.sp-stats-row .sp-stat-lbl{font-size:10px;color:var(--tx3);margin-top:3px}
.sp-trend-hint{padding:10px 14px;border-radius:9px;font-size:11.5px;line-height:1.6;display:flex;align-items:center;gap:8px}
.sp-trend-hint b{font-family:'JetBrains Mono',monospace}
.sp-trend-hint.sp-trend-up{background:rgba(255,184,90,.06);border:1px solid rgba(255,184,90,.22);color:var(--org)}
.sp-trend-hint.sp-trend-down{background:rgba(90,230,138,.05);border:1px solid rgba(90,230,138,.22);color:var(--grn)}
.subs-patterns .sp-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:11px;padding:12px 14px}
.subs-patterns .sp-section-head{font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:700;color:var(--g2);margin-bottom:10px}
.sp-top-list{display:flex;flex-direction:column;gap:8px}
.sp-row{display:flex;align-items:center;gap:10px}
.sp-rank{width:24px;height:24px;border-radius:50%;background:rgba(212,168,83,.1);color:var(--g2);font-family:'Outfit',sans-serif;font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sp-row-body{flex:1;min-width:0}
.sp-row-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;gap:8px}
.sp-row-name{font-size:12px;color:var(--tx);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-row-head b{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--g2);flex-shrink:0}
.sp-row-bar{height:4px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden}
.sp-row-fill{height:100%;background:linear-gradient(90deg,var(--g3),var(--g1));border-radius:3px}
.sp-subs-list{display:flex;flex-wrap:wrap;gap:6px}
.sp-sub-chip{padding:6px 11px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;font-size:11px;color:var(--tx2);display:flex;align-items:center;gap:4px}
.sp-sub-chip b{color:var(--tx);font-weight:600}
.sp-sub-chip small{color:var(--tx3);font-family:'JetBrains Mono',monospace;font-size:10px}
.sp-sub-chip.sp-sub-fav{background:rgba(212,168,83,.06);border-color:rgba(212,168,83,.2);color:var(--g2)}
.sp-sub-chip.sp-sub-fav b{color:var(--g2)}
.sp-recommend{margin-top:10px;padding:9px 12px;background:rgba(176,138,255,.05);border:1px dashed rgba(176,138,255,.22);border-radius:8px;font-size:11.5px;color:var(--purple);line-height:1.6}
.sp-recommend b{color:var(--purple);font-weight:700}
.sp-months{display:flex;flex-direction:column;gap:8px}
.sp-month{display:flex;align-items:center;gap:10px}
.sp-month-lbl{flex:0 0 90px;font-size:11px;color:var(--tx2)}
.sp-month-bar{flex:1;height:18px;background:rgba(255,255,255,.04);border-radius:9px;overflow:hidden;position:relative}
.sp-month-fill{height:100%;background:linear-gradient(90deg,var(--g3),var(--g2));border-radius:9px;display:flex;align-items:center;justify-content:flex-start;padding-right:8px;color:#000;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;min-width:24px;transition:width .3s}

/* #5 — Meal slot add buttons in Daily Log */
.dl-meals-chips{display:flex;flex-direction:column;gap:5px}
.dl-meal-row{display:flex;align-items:stretch;gap:6px}
.dl-meal-row .dl-chip{flex:1}
.dl-meal-add{flex-shrink:0;width:38px;background:rgba(212,168,83,.08);color:var(--g2);border:1px solid rgba(212,168,83,.22);border-radius:8px;font-family:'Outfit',sans-serif;font-size:18px;font-weight:700;cursor:pointer;transition:.2s;-webkit-tap-highlight-color:transparent;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}
.dl-meal-add:hover{background:var(--g2);color:#000;border-color:var(--g1);transform:scale(1.05)}
.dl-meal-add:active{transform:scale(.96)}

/* Dashboard nutrition breakdown */
.dn-fiber-row{margin-top:8px;padding:7px 11px;background:rgba(90,230,138,.04);border:1px solid rgba(90,230,138,.15);border-radius:8px;font-size:11.5px;color:var(--tx2);display:flex;align-items:center;gap:6px}
.dn-fiber-row b{font-family:'JetBrains Mono',monospace;color:var(--grn);font-weight:700}
.dn-fiber-row small{color:var(--tx3);font-size:10px;margin-right:auto}
.dn-breakdown{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.05)}
.dn-breakdown-head{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;color:var(--tx2);margin-bottom:8px;letter-spacing:.3px}
.dn-breakdown-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
@media(min-width:520px){.dn-breakdown-grid{grid-template-columns:repeat(3,1fr)}}
.dn-bd-cell{display:flex;gap:8px;padding:8px 10px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:8px;align-items:center}
.dn-bd-icon{font-size:18px;line-height:1;flex-shrink:0}
.dn-bd-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.dn-bd-text b{font-size:11px;color:var(--tx);font-weight:600;font-family:'Rubik',sans-serif}
.dn-bd-text small{font-size:9.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace;line-height:1.4}
.dn-bd-cell.dn-bd-unassigned{opacity:.7;border-color:rgba(255,184,90,.18);background:rgba(255,184,90,.03)}
.dn-bd-cell.dn-bd-unassigned b{color:var(--org)}

/* #6 — PR type chips in history */
.pr-type-chips{display:inline-flex;gap:2px;margin-right:3px}
.pr-type-chip{display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;padding:1px 3px;border-radius:4px;cursor:help}
.pr-t-weight{background:rgba(212,168,83,.15)}
.pr-t-reps{background:rgba(90,180,255,.15)}
.pr-t-volume{background:rgba(176,138,255,.15)}
.pr-t-1rm{background:rgba(255,90,95,.15)}
.pr-t-effort{background:rgba(90,230,138,.15)}

/* prsBody — filter chips + type rows */
.pr-filter{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed rgba(255,255,255,.06)}
.pr-filter-chip{background:transparent;color:var(--tx3);border:1px solid rgba(255,255,255,.06);padding:5px 10px;border-radius:7px;font-family:'Rubik',sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:.2s;-webkit-tap-highlight-color:transparent;min-height:32px}
.pr-filter-chip:hover{color:var(--tx);border-color:rgba(212,168,83,.18)}
.pr-filter-chip.active{background:rgba(212,168,83,.1);color:var(--g2);border-color:var(--g3)}
.pr-filter-chip.pr-t-weight.active{background:rgba(212,168,83,.18);color:var(--g2);border-color:var(--g1)}
.pr-filter-chip.pr-t-reps.active{background:rgba(90,180,255,.15);color:var(--blue);border-color:var(--blue)}
.pr-filter-chip.pr-t-volume.active{background:rgba(176,138,255,.15);color:var(--purple);border-color:var(--purple)}
.pr-filter-chip.pr-t-1rm.active{background:rgba(255,90,95,.13);color:var(--red);border-color:var(--red)}
.pr-filter-chip.pr-t-effort.active{background:rgba(90,230,138,.13);color:var(--grn);border-color:var(--grn)}
.pr-type-row{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;font-size:11px;margin:2px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04)}
.pr-type-row .prt-icon{font-size:12px}
.pr-type-row .prt-label{color:var(--tx3);font-size:10px;font-family:'Outfit',sans-serif;font-weight:600}
.pr-type-row b{font-family:'JetBrains Mono',monospace;color:var(--g2);font-weight:700}
.pr-type-row.pr-t-weight{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.22)}
.pr-type-row.pr-t-weight b{color:var(--g2)}
.pr-type-row.pr-t-reps{background:rgba(90,180,255,.07);border-color:rgba(90,180,255,.2)}
.pr-type-row.pr-t-reps b{color:var(--blue)}
.pr-type-row.pr-t-volume{background:rgba(176,138,255,.07);border-color:rgba(176,138,255,.2)}
.pr-type-row.pr-t-volume b{color:var(--purple)}
.pr-type-row.pr-t-1rm{background:rgba(255,90,95,.06);border-color:rgba(255,90,95,.2)}
.pr-type-row.pr-t-1rm b{color:var(--red)}
.pr-type-row.pr-t-effort{background:rgba(90,230,138,.06);border-color:rgba(90,230,138,.2)}
.pr-type-row.pr-t-effort b{color:var(--grn)}

/* #7 — Photo weight badge */
.pp-thumb{position:relative}
.pp-thumb-weight-badge{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--g2);padding:4px 8px;border-radius:7px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;border:1px solid rgba(212,168,83,.3);display:flex;align-items:center;gap:3px;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:2}
.pp-thumb-weight-badge small{font-size:8.5px;color:var(--tx3);font-weight:400;margin-right:1px}

/* Compare delta enhanced */
.pp-cmp-delta{padding:14px 16px;border-radius:11px;margin-top:12px;border:1px solid}
.pp-cmp-delta-main{display:flex;align-items:center;gap:10px;font-family:'Rubik',sans-serif;font-size:14px;color:var(--tx);justify-content:center}
.pp-cmp-delta-main b{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700}
.pp-cmp-delta-main small{font-size:11px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.pp-cmp-delta-icon{font-size:22px;line-height:1}
.pp-cmp-delta.pp-w-up{background:rgba(212,168,83,.05);border-color:rgba(212,168,83,.25)}
.pp-cmp-delta.pp-w-up .pp-cmp-delta-main b{color:var(--g2)}
.pp-cmp-delta.pp-w-down{background:rgba(90,180,255,.04);border-color:rgba(90,180,255,.22)}
.pp-cmp-delta.pp-w-down .pp-cmp-delta-main b{color:var(--blue)}
.pp-cmp-delta.pp-w-flat{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.06)}
.pp-cmp-delta.pp-w-flat .pp-cmp-delta-main b{color:var(--tx2)}

/* ============================================================
 * V9.7 — Multi-program tracking + Deload unification + Equipment mismatch
 * ============================================================ */

/* #9 — Overrides Manager (في Profile) */
.prof-overrides-list{display:flex;flex-direction:column;gap:8px}
.prof-override-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--s1);border:1px solid rgba(255,255,255,.05);border-radius:9px}
.prof-override-row.active{border-color:rgba(212,168,83,.22);background:linear-gradient(135deg,rgba(212,168,83,.04),var(--s1))}
.prof-override-row .por-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.prof-override-row .por-info b{font-size:12.5px;color:var(--tx);font-family:'Outfit',sans-serif;font-weight:700}
.prof-override-row .por-info small{font-size:10.5px;color:var(--tx3)}
.prof-override-row .por-active-tag{background:rgba(90,230,138,.12);color:var(--grn);padding:1px 6px;border-radius:4px;font-size:9.5px;font-weight:700;margin-right:3px}
.prof-override-row .por-clear-btn{background:transparent;color:var(--red);border:1px solid rgba(255,90,95,.22);padding:6px 11px;border-radius:7px;font-family:'Rubik',sans-serif;font-size:10.5px;font-weight:600;cursor:pointer;transition:.2s;-webkit-tap-highlight-color:transparent;min-height:32px;flex-shrink:0}
.prof-override-row .por-clear-btn:hover{background:rgba(255,90,95,.08);border-color:var(--red)}

/* #10 — Gym Equipment Mismatch banner */
.gym-mismatch-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:linear-gradient(135deg,rgba(255,184,90,.08),rgba(255,184,90,.02));border:1px solid rgba(255,184,90,.32);border-radius:12px;margin:0 0 14px;position:relative;animation:fadeUp .4s both}
.gym-mismatch-banner .gmb-icon{font-size:24px;line-height:1;flex-shrink:0;margin-top:1px}
.gym-mismatch-banner .gmb-body{flex:1;min-width:0}
.gym-mismatch-banner .gmb-title{font-size:12.5px;color:var(--tx);font-weight:600;line-height:1.5;margin-bottom:4px}
.gym-mismatch-banner .gmb-title b{color:var(--org);font-family:'JetBrains Mono',monospace}
.gym-mismatch-banner .gmb-sample{font-size:11px;color:var(--tx2);font-family:'JetBrains Mono',monospace;line-height:1.5;margin-bottom:6px}
.gym-mismatch-banner .gmb-sample small{color:var(--tx3);font-family:'Rubik',sans-serif;font-size:10px;margin-right:3px}
.gym-mismatch-banner .gmb-hint{font-size:10.5px;color:var(--tx3);line-height:1.6}
.gym-mismatch-banner .gmb-hint b{color:var(--g2);font-weight:700}
.gym-mismatch-banner .gmb-actions{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}
.gym-mismatch-banner .gmb-suggest{background:linear-gradient(135deg,var(--g2),var(--g3));color:#000;border:none;padding:7px 12px;border-radius:7px;font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;cursor:pointer;transition:.2s;-webkit-tap-highlight-color:transparent;white-space:nowrap;min-height:34px}
.gym-mismatch-banner .gmb-suggest:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(212,168,83,.3)}
.gym-mismatch-banner .gmb-dismiss{background:transparent;color:var(--tx3);border:none;width:26px;height:26px;font-size:16px;cursor:pointer;border-radius:50%;line-height:1;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;padding:0}
.gym-mismatch-banner .gmb-dismiss:hover{background:rgba(255,255,255,.06);color:var(--tx)}

/* #11 — Weekly Review Deload suggestions (info variant) */
.wr-suggestion.wr-suggestion-info{background:rgba(90,180,255,.05);border:1px solid rgba(90,180,255,.2)}
.wr-suggestion.wr-suggestion-info .wrs-body b{color:var(--blue)}

/* ============================================================
 * V9.8 — Round 4 (#15-#22)
 * ============================================================ */

/* #15 — workout.prList summary in history */
.hist-pr-list{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 8px;padding:6px 8px;background:rgba(212,168,83,.03);border:1px solid rgba(212,168,83,.12);border-radius:8px}
.hist-pr-chip{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;padding:3px 7px;border-radius:5px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);color:var(--tx2)}
.hist-pr-chip b{font-family:'JetBrains Mono',monospace;color:var(--g2);font-weight:700;font-size:11px;margin-right:1px}
.hist-pr-chip.pr-t-weight{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.22)}
.hist-pr-chip.pr-t-reps{background:rgba(90,180,255,.07);border-color:rgba(90,180,255,.2)}
.hist-pr-chip.pr-t-reps b{color:var(--blue)}
.hist-pr-chip.pr-t-volume{background:rgba(176,138,255,.07);border-color:rgba(176,138,255,.2)}
.hist-pr-chip.pr-t-volume b{color:var(--purple)}
.hist-pr-chip.pr-t-1rm{background:rgba(255,90,95,.06);border-color:rgba(255,90,95,.2)}
.hist-pr-chip.pr-t-1rm b{color:var(--red)}
.hist-pr-chip.pr-t-effort{background:rgba(90,230,138,.06);border-color:rgba(90,230,138,.2)}
.hist-pr-chip.pr-t-effort b{color:var(--grn)}
.hist-pr-more{font-size:10px;color:var(--tx3);padding:3px 7px;align-self:center}

/* #19 — RPE chip ملوّن */
.rpe-chip{display:inline-flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:5px;margin:0 2px;line-height:1.5;cursor:help;border:1px solid}
.rpe-chip.rpe-easy{color:var(--grn);background:rgba(90,230,138,.08);border-color:rgba(90,230,138,.25)}
.rpe-chip.rpe-mid{color:var(--org);background:rgba(255,184,90,.08);border-color:rgba(255,184,90,.25)}
.rpe-chip.rpe-hard{color:var(--red);background:rgba(255,90,95,.08);border-color:rgba(255,90,95,.3)}
.rpe-chip::before{content:'@';opacity:.5;margin-left:1px;font-size:9px}

/* #16 — Next achievement widget في Dashboard */
.dash-next-ach .dna-row{display:flex;gap:12px;align-items:center;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.18);border-radius:11px;padding:12px;cursor:pointer;text-align:right;width:100%;color:var(--tx);font-family:'Rubik',sans-serif;transition:.2s;-webkit-tap-highlight-color:transparent}
.dash-next-ach .dna-row:hover{background:rgba(212,168,83,.07);transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,168,83,.15)}
.dash-next-ach .dna-icon{font-size:32px;line-height:1;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(212,168,83,.08);border-radius:11px;border:1px solid rgba(212,168,83,.2);filter:grayscale(40%);transition:.2s}
.dash-next-ach .dna-row:hover .dna-icon{filter:grayscale(0%)}
.dash-next-ach .dna-body{flex:1;min-width:0}
.dash-next-ach .dna-name{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--tx);margin-bottom:2px}
.dash-next-ach .dna-desc{font-size:10.5px;color:var(--tx3);margin-bottom:6px;line-height:1.5}
.dash-next-ach .dna-progress{display:flex;flex-direction:column;gap:3px}
.dash-next-ach .dna-track{height:5px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden}
.dash-next-ach .dna-fill{height:100%;background:linear-gradient(90deg,var(--g3),var(--g1));border-radius:4px;transition:width .4s}
.dash-next-ach .dna-meta{font-size:10px;color:var(--tx2);font-family:'JetBrains Mono',monospace}
.dash-next-ach .dna-meta b{color:var(--g2);font-weight:700}

/* #17 — Monthly daily-log stats */
.dl-monthly{margin-top:14px;padding:14px;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.18);border-radius:12px;display:flex;flex-direction:column;gap:14px}
.dl-monthly-head{font-family:'Outfit',sans-serif;font-size:12.5px;font-weight:700;color:var(--g2);letter-spacing:.3px}
.dl-monthly-section{}
.dl-monthly-section-head{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;color:var(--tx2);margin-bottom:8px;letter-spacing:.4px;text-transform:uppercase;opacity:.85}
.dl-supp-grid{display:flex;flex-direction:column;gap:7px}
.dl-supp-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:9px}
.dl-supp-row.dl-supp-good{border-color:rgba(90,230,138,.2);background:rgba(90,230,138,.04)}
.dl-supp-row.dl-supp-mid{border-color:rgba(255,184,90,.18);background:rgba(255,184,90,.03)}
.dl-supp-name{flex:0 0 130px;display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--tx2);min-width:0}
.dl-supp-name span{font-size:14px;line-height:1}
.dl-supp-name b{color:var(--tx);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-supp-streak{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--org);background:rgba(255,184,90,.1);padding:1px 6px;border-radius:4px;font-weight:700;margin-right:auto}
.dl-supp-stats{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.dl-supp-bar{height:5px;background:rgba(255,255,255,.04);border-radius:4px;overflow:hidden}
.dl-supp-fill{height:100%;background:linear-gradient(90deg,var(--g3),var(--g1));border-radius:4px}
.dl-supp-good .dl-supp-fill{background:linear-gradient(90deg,#3da868,var(--grn))}
.dl-supp-mid .dl-supp-fill{background:linear-gradient(90deg,#cc8a30,var(--org))}
.dl-supp-meta{font-size:10px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.dl-supp-meta b{color:var(--g2);font-weight:700}
.dl-meals-monthly{display:flex;flex-direction:column;gap:8px}
.dl-meals-monthly-main{display:flex;align-items:baseline;justify-content:space-between;padding:10px 12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:9px}
.dl-meals-monthly-num{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--tx2)}
.dl-meals-monthly-num b{color:var(--tx);font-size:24px;font-weight:700;margin-left:4px}
.dl-meals-monthly-num span{color:var(--tx3);font-size:12px}
.dl-meals-monthly-pct{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:700;padding:3px 11px;border-radius:7px}
.dl-meals-monthly-pct.good{color:var(--grn);background:rgba(90,230,138,.08)}
.dl-meals-monthly-pct.mid{color:var(--org);background:rgba(255,184,90,.08)}
.dl-meals-monthly-pct.low{color:var(--red);background:rgba(255,90,95,.08)}
.dl-meals-monthly-streak{padding:9px 12px;background:rgba(255,184,90,.06);border:1px dashed rgba(255,184,90,.25);border-radius:8px;font-size:11.5px;color:var(--org);text-align:center}
.dl-meals-monthly-streak b{font-family:'JetBrains Mono',monospace;color:var(--org);font-weight:700;font-size:13px}

/* #18 — Photo compare category warning */
.pp-cmp-warn{padding:10px 14px;background:rgba(255,184,90,.06);border:1px solid rgba(255,184,90,.25);border-radius:9px;font-size:11.5px;color:var(--org);line-height:1.7;margin-top:10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pp-cmp-warn b{font-family:'Outfit',sans-serif;color:var(--org);font-weight:700}
.summary-prs{margin-bottom:16px;max-height:160px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.summary-pr-item{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--g2);background:rgba(212,168,83,.06);border:1px solid rgba(212,168,83,.15);padding:6px 10px;border-radius:8px;margin-bottom:5px;text-align:right}
.summary-close{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:12px 28px;border-radius:10px;font-family:'Outfit',sans-serif;font-size:12px;font-weight:800;letter-spacing:1.5px;cursor:pointer;text-transform:uppercase;width:100%}
.summary-close:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(212,168,83,.3)}

/* Rest timer enhancements */
.tpr.skip{background:rgba(255,90,95,.1)!important;color:var(--red)!important;border-color:rgba(255,90,95,.2)!important}
.tpr.add{background:rgba(90,180,255,.1)!important;color:var(--blue)!important;border-color:rgba(90,180,255,.2)!important}
.ttrig.active{background:linear-gradient(135deg,rgba(212,168,83,.25),rgba(212,168,83,.06));border-color:var(--g1);color:#fff}
.tf .td.warn{color:var(--red);animation:pulse 1s infinite}

/* Progress sub-tabs */
.prog-tabs{display:flex;gap:6px;margin-bottom:18px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.prog-tabs::-webkit-scrollbar{display:none}
.prog-tab{flex-shrink:0;background:var(--s2);color:var(--tx2);border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:9px 16px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;cursor:pointer;letter-spacing:1px;transition:.2s;white-space:nowrap}
.prog-tab.a{background:linear-gradient(135deg,var(--g4),var(--g5));color:var(--g2);border-color:rgba(212,168,83,.25)}
.prog-tab:hover{color:#fff}
.prog-pane{display:none}
.prog-pane.a{display:block;animation:fadeUp .35s both}

/* V7 (#14) — Body Metrics form */
.bm-hint{font-size:12px;color:var(--tx2);line-height:1.7;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.12);border-radius:10px;padding:10px 14px;margin-bottom:14px}
.bm-form{background:linear-gradient(145deg,var(--s2),var(--s3));border:1px solid rgba(212,168,83,.15);border-radius:14px;padding:16px;margin-bottom:18px}
.bm-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.bm-row label{font-size:11px;color:var(--tx2);font-family:'Outfit',sans-serif;letter-spacing:.5px;width:60px;flex-shrink:0}
.bm-row input{flex:1;background:rgba(0,0,0,.4);border:1px solid rgba(212,168,83,.18);color:#fff;padding:8px 10px;border-radius:8px;font-family:'JetBrains Mono',monospace;font-size:13px;outline:none;transition:.2s;color-scheme:dark}
.bm-row input:focus{border-color:var(--g1);background:rgba(212,168,83,.06)}
.bm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.bm-field{display:flex;flex-direction:column;gap:4px}
.bm-field label{font-size:10.5px;color:var(--tx2);font-family:'Outfit',sans-serif;font-weight:600;letter-spacing:.5px}
.bm-field label small{color:var(--tx3);font-size:9.5px;margin-right:4px;font-weight:400}
.bm-field input{background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.06);color:#fff;padding:9px 12px;border-radius:8px;font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;outline:none;transition:.2s;width:100%;text-align:center}
.bm-field input:focus{border-color:var(--g1);background:rgba(212,168,83,.06)}
.bm-field.bm-field-weight input{color:var(--grn);border-color:rgba(90,230,138,.18)}
.bm-save{width:100%;background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:12px;border-radius:10px;font-family:'Outfit',sans-serif;font-weight:800;font-size:12.5px;letter-spacing:1.5px;cursor:pointer;transition:.2s;text-transform:uppercase}
.bm-save:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(212,168,83,.3)}
.bm-history-title{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--g2);margin-bottom:10px;letter-spacing:.5px}

/* Body Metrics history table */
.bm-table{width:100%;border-collapse:collapse;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.05)}
.bm-table thead th{background:rgba(212,168,83,.08);color:var(--g2);font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;padding:8px 6px;text-align:center;letter-spacing:.5px;border-bottom:1px solid rgba(212,168,83,.15)}
.bm-table tbody td{padding:9px 6px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--tx);text-align:center;border-bottom:1px solid rgba(255,255,255,.04)}
.bm-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.bm-table tbody tr:last-child td{border-bottom:none}
.bm-table .bm-date{color:var(--tx3);font-size:10.5px;white-space:nowrap}
.bm-table .bm-delta{display:block;font-size:9px;margin-top:2px;font-family:'Rubik',sans-serif}
.bm-table .bm-delta.up{color:var(--grn)}
.bm-table .bm-delta.down{color:var(--red)}
.bm-table .bm-delta.flat{color:var(--tx3)}
.bm-table .bm-empty{padding:20px;text-align:center;color:var(--tx3);font-size:12px}
.bm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bm-row-actions{text-align:left}
.bm-del-btn{background:transparent;border:none;color:var(--tx3);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:.2s}
.bm-del-btn:hover{color:var(--red);background:rgba(255,90,95,.06)}

/* V7.2 (#38, #41) — Daily Log */
.dl-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.dl-label{font-size:12.5px;color:var(--tx);font-weight:500}
.dl-label small{font-size:10px;color:var(--tx3);margin-right:4px;font-weight:400}
.dl-counter{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.3);padding:4px;border-radius:10px;border:1px solid rgba(212,168,83,.15)}
.dl-step{background:rgba(212,168,83,.1);border:1px solid rgba(212,168,83,.25);color:var(--g2);width:34px;height:34px;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;transition:.2s;-webkit-tap-highlight-color:transparent}
.dl-step:hover{background:rgba(212,168,83,.2);color:#fff;transform:translateY(-1px)}
.dl-step:active{transform:scale(.95)}
.dl-val{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:700;color:var(--g2);min-width:42px;text-align:center}
/* V8.4 (P3-UX-#6) — protein input + progress mini */
.dl-num-input{background:transparent;border:none;color:var(--g2);font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:700;min-width:60px;width:60px;text-align:center;padding:0;outline:none;-moz-appearance:textfield}
.dl-num-input::-webkit-outer-spin-button,.dl-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.dl-row-protein{flex-wrap:wrap}
.dl-progress-mini{flex-basis:100%;margin-top:8px}
.dl-progress-mini .dl-progress-track{height:6px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden}
.dl-progress-mini .dl-progress-fill{height:100%;border-radius:4px;transition:width .5s cubic-bezier(.16,1,.3,1)}
.dl-progress-mini .dl-progress-fill.low{background:linear-gradient(90deg,var(--red),#ff8a5f)}
.dl-progress-mini .dl-progress-fill.mid{background:linear-gradient(90deg,var(--org),#ffd47a)}
.dl-progress-mini .dl-progress-fill.good{background:linear-gradient(90deg,var(--grn),#7ee0a3)}
.dl-progress-label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--tx2);margin-top:5px;text-align:center;direction:ltr}
.dl-stat-good .dl-stat-val{color:var(--grn)}
.dl-stat-mid .dl-stat-val{color:var(--org)}
.dl-stat-low .dl-stat-val{color:var(--red)}

.dl-section{margin-bottom:14px}
.dl-section-title{font-size:12px;color:var(--tx2);font-weight:600;margin-bottom:8px;font-family:'Outfit',sans-serif;letter-spacing:.5px}
.dl-section-title small{font-size:10px;color:var(--tx3);margin-right:4px;font-weight:400}
.dl-chips{display:flex;gap:6px;flex-wrap:wrap}
.dl-chip{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dl-chip input{position:absolute;opacity:0;pointer-events:none}
.dl-chip span{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);color:var(--tx2);font-size:11.5px;font-weight:600;padding:9px 14px;border-radius:8px;transition:.2s;font-family:'Rubik',sans-serif;min-height:36px}
.dl-chip:hover span{background:rgba(212,168,83,.07);color:var(--tx);border-color:rgba(212,168,83,.2)}
.dl-chip input:checked + span{background:linear-gradient(135deg,rgba(90,230,138,.15),rgba(90,230,138,.05));color:var(--grn);border-color:rgba(90,230,138,.35);font-weight:700}
.dl-chip input:checked + span::before{content:'✓ ';font-weight:800}

/* Daily log stats summary */
.dl-stats{margin:18px 0;padding:14px;background:linear-gradient(145deg,rgba(212,168,83,.06),rgba(212,168,83,.02));border:1px solid rgba(212,168,83,.18);border-radius:12px}
.dl-stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.dl-stat{text-align:center;padding:10px 8px;background:var(--s2);border-radius:10px;border:1px solid rgba(255,255,255,.04)}
.dl-stat-val{display:block;font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:700;color:var(--g2);line-height:1.2}
.dl-stat-lbl{display:block;font-size:10px;color:var(--tx3);margin-top:3px}

/* Daily log history table cells */
.dl-table td.dl-good{color:var(--grn);font-weight:700}
.dl-table td.dl-mid{color:var(--org)}
.dl-table td.dl-low{color:var(--red)}

/* V7.2 (#39) — RPE input */
.rpe-wrap{display:inline-flex;align-items:center}
.rpe-input{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);color:var(--tx);font-family:'Rubik',sans-serif;font-size:11px;padding:5px 8px;border-radius:6px;outline:none;cursor:pointer;min-height:30px}
.rpe-input:focus{border-color:var(--g1)}
.rpe-input option{background:var(--s2);color:var(--tx)}
.rpe-tag{display:inline-block;background:rgba(176,138,255,.12);color:var(--purple);border:1px solid rgba(176,138,255,.25);font-family:'JetBrains Mono',monospace;font-size:10px;padding:1px 5px;border-radius:4px;font-weight:700;margin-right:3px}

/* V7.2 (#37) — Profile Modal */
.prof-select{background:rgba(0,0,0,.4);border:1px solid rgba(212,168,83,.18);color:#fff;padding:9px 12px;border-radius:8px;font-family:'Rubik',sans-serif;font-size:13px;outline:none;width:100%;cursor:pointer;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--g2) 50%),linear-gradient(135deg,var(--g2) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.prof-select:focus{border-color:var(--g1)}
.prof-select option{background:var(--s2);color:var(--tx)}
.prof-calc{background:linear-gradient(145deg,rgba(212,168,83,.06),rgba(212,168,83,.02));border:1px solid rgba(212,168,83,.2);border-radius:12px;padding:14px;margin-bottom:14px}
.prof-calc-empty{text-align:center;color:var(--tx3);font-size:11.5px;padding:6px}
.prof-calc-title{font-size:12px;color:var(--g2);font-weight:700;margin-bottom:10px;font-family:'Outfit',sans-serif;letter-spacing:.5px}
.prof-calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.prof-calc-item{text-align:center;padding:8px 4px;background:var(--s2);border:1px solid rgba(255,255,255,.04);border-radius:8px}
.pcv{display:block;font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700;color:#fff;line-height:1.2}
.pcv small{font-size:9px;color:var(--tx3);font-weight:400}
.pcl{display:block;font-size:9.5px;color:var(--tx3);margin-top:3px}
.prof-calc-note{font-size:10.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace;text-align:center;line-height:1.5}

/* V7 (#15) — Deload banner */
.deload-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(90,180,255,.12),rgba(90,180,255,.04));border:1px solid rgba(90,180,255,.3);border-right:4px solid var(--blue);border-radius:14px;padding:14px 16px;margin-bottom:18px;animation:fadeUp .4s both,glow 3s infinite}
.deload-banner .db-icon{font-size:28px;flex-shrink:0;animation:float 2.4s ease-in-out infinite}
.deload-banner .db-body{flex:1;min-width:0}
.deload-banner .db-title{font-family:'Outfit',sans-serif;font-weight:800;color:var(--blue);font-size:14px;letter-spacing:.3px;margin-bottom:3px}
.deload-banner .db-sub{font-size:11.5px;color:var(--tx);line-height:1.6}
.deload-banner .db-sub b{color:var(--blue);font-family:'JetBrains Mono',monospace;font-size:13px}

/* V7 (#15) — Week badge in session bar */
.week-pill{display:inline-flex;align-items:center;gap:4px;background:rgba(212,168,83,.1);border:1px solid rgba(212,168,83,.25);color:var(--g2);font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;padding:3px 8px;border-radius:8px;margin-left:6px;letter-spacing:.3px;white-space:nowrap}
.week-pill.deload{background:rgba(90,180,255,.12);border-color:rgba(90,180,255,.35);color:var(--blue);animation:pulse 2s infinite}
.week-pill::before{content:'📅';font-size:10px}
.week-pill.deload::before{content:'🛟'}

/* Floating week badge (when no active session) */
.week-float{position:fixed;top:60px;right:14px;background:linear-gradient(135deg,rgba(11,13,17,.95),rgba(22,26,36,.95));border:1px solid rgba(212,168,83,.2);color:var(--g2);font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;padding:6px 12px;border-radius:10px;backdrop-filter:blur(12px);box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:90;cursor:default;letter-spacing:.3px;transition:.3s;display:none}
.week-float.show{display:inline-flex;align-items:center;gap:5px;animation:fadeUp .4s both}
.week-float.deload{background:linear-gradient(135deg,rgba(90,180,255,.18),rgba(90,180,255,.08));border-color:rgba(90,180,255,.4);color:var(--blue);animation:pulse 2.2s infinite}

/* ============================================================
 * V9.14.9 — إزالة كل الأيقونات العائمة
 *   - أدوات الـ FAB → درج «المزيد» (يُفتح من الشريط السفلي/زر الشريط العلوي)
 *   - مؤقت الراحة → زر ثابت (الشريط السفلي على الموبايل · شريط الجلسة على سطح المكتب)
 *   - شارة الأسبوع/زر العودة للأعلى/شارة الجلسة المصغّرة → مخفية (معلوماتها في الرئيسية/شريط الجلسة)
 * ملاحظة: #tTrig يبقى في DOM (مخفي) لأن showT/hideT يبدّلان أصنافه؛ لوحة المؤقت .tf تبقى تعمل.
 * ============================================================ */
.fab,.fab-menu,.fab-hint,.ttrig,.week-float,.btt,.sess-pill,.sb-min{display:none !important}

/* مؤقت الراحة داخل شريط الجلسة العلوي (سطح المكتب) */
.sb-timer{background:rgba(212,168,83,.12);color:var(--g2);border:1px solid rgba(212,168,83,.3);border-radius:8px;width:34px;height:34px;font-size:15px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.2s;-webkit-tap-highlight-color:transparent}
.sb-timer:hover{background:rgba(212,168,83,.22)}

/* مؤقت الراحة كزر في الشريط السفلي — يظهر أثناء الجلسة فقط */
.bn-timer{display:none !important}
body.sess-active .bn-timer{display:flex !important;color:var(--g2)}
body.sess-active .bn-timer .bn-ic{filter:drop-shadow(0 0 6px rgba(212,168,83,.55))}

/* Chart wrap */
.chart-wrap{background:linear-gradient(145deg,var(--s1),var(--s2));border:1px solid rgba(255,255,255,.04);border-radius:16px;padding:16px;margin-bottom:14px;position:relative}
.chart-wrap h3{font-family:'Outfit',sans-serif;font-size:13px;color:var(--g2);font-weight:700;margin-bottom:10px;letter-spacing:.5px}
.chart-wrap select{background:var(--s3);color:var(--tx);border:1px solid rgba(212,168,83,.15);border-radius:8px;padding:8px 12px;font-family:'Rubik',sans-serif;font-size:12px;margin-bottom:12px;width:100%;outline:none}
.chart-wrap select:focus{border-color:var(--g1)}
.chart-wrap canvas{max-height:280px}
/* V7.3 — RPE deload warning under chart */
.rpe-deload-hint{margin-top:10px;padding:10px 12px;background:linear-gradient(90deg,rgba(176,138,255,.12),rgba(176,138,255,.04));border:1px solid rgba(176,138,255,.3);border-right:3px solid var(--purple);border-radius:8px;font-size:11.5px;color:var(--tx);line-height:1.6}
.rpe-deload-hint b{color:var(--purple);font-weight:700}

/* PR list */
.pr-list{display:flex;flex-direction:column;gap:8px}
.pr-item{display:flex;align-items:center;gap:12px;background:linear-gradient(145deg,rgba(212,168,83,.04),rgba(212,168,83,.01));border:1px solid rgba(212,168,83,.12);border-radius:12px;padding:12px 14px;transition:.2s}
.pr-item:hover{border-color:rgba(212,168,83,.25);transform:translateX(-2px)}
.pr-item .pr-icon{font-size:20px;flex-shrink:0}
.pr-item .pr-body{flex:1;min-width:0}
.pr-item .pr-name{font-weight:700;font-size:13px;color:#fff;line-height:1.3}
.pr-item .pr-types{font-size:11px;color:var(--tx2);margin-top:4px;font-family:'JetBrains Mono',monospace;display:flex;flex-wrap:wrap;gap:6px}
.pr-item .pr-types span{background:rgba(212,168,83,.08);color:var(--g2);padding:2px 8px;border-radius:6px;border:1px solid rgba(212,168,83,.15)}
.pr-item .pr-date{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3);flex-shrink:0}

/* Empty state */
.empty-state{text-align:center;padding:40px 20px;color:var(--tx3)}
.empty-state .es-icon{font-size:42px;margin-bottom:10px;opacity:.5}
.empty-state .es-text{font-size:13px;line-height:1.6}
.empty-state .es-text b{color:var(--g2)}
.empty-state .es-text small{display:block;color:var(--tx3);font-size:11.5px;margin-top:4px}
/* V8.4 (P3-UX-#10) — soft variant for inline empties (e.g., stats with no data yet) */
.empty-state-soft{padding:20px 16px;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.08);border-radius:10px;display:flex;gap:12px;align-items:center;text-align:right}
.empty-state-soft .es-icon{font-size:30px;margin:0;opacity:.6}
.empty-state-soft .es-text{font-size:12px;flex:1}
.cal-empty-cta{grid-column:1/-1;flex-wrap:wrap}
.cal-empty-btn{background:linear-gradient(135deg,var(--g2),var(--g3));color:#000;border:none;padding:9px 18px;border-radius:10px;font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.3px;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.cal-empty-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(212,168,83,.3)}
/* V8.4 (P3-UX-#10) — chart empty state */
.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:24px 18px;text-align:center;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.08);border-radius:10px;gap:10px}
.chart-empty .es-icon{font-size:34px;opacity:.55}
.chart-empty .es-text{font-size:12px;line-height:1.7;color:var(--tx2)}

/* ============================================================
 * V9.0 (P2) — Dashboard (tab 0 / الرئيسية)
 * ============================================================ */
#dashboardContainer{margin-bottom:18px}

/* Hero block */
.dash-hero{background:linear-gradient(135deg,var(--s2),var(--s1));border:1px solid rgba(212,168,83,.22);border-radius:18px;padding:22px 22px 18px;margin-bottom:14px;position:relative;overflow:hidden;animation:fadeUp .5s both}
.dash-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 400px 200px at 70% -10%,rgba(212,168,83,.08),transparent 70%);pointer-events:none}
.dash-hero-active{border-color:rgba(255,90,95,.35);background:linear-gradient(135deg,rgba(255,90,95,.08),var(--s1))}
.dash-hero-rest{border-color:rgba(90,180,255,.25);background:linear-gradient(135deg,rgba(90,180,255,.04),var(--s1))}
/* V9.2 (B.7) — Smart recommendation hero variant */
.dash-hero-smart{border-color:rgba(176,138,255,.3);background:linear-gradient(135deg,rgba(176,138,255,.06),var(--s1))}
.dash-hero-smart .dh-tag{color:var(--purple);background:rgba(176,138,255,.1);border-color:rgba(176,138,255,.22)}
.dash-hero-smart .dh-sub b{color:var(--purple)}
.dash-hero-welcome{border-color:rgba(212,168,83,.4);box-shadow:0 0 32px rgba(212,168,83,.08)}
.dash-hero .dh-tag{display:inline-block;font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--g2);background:rgba(212,168,83,.1);border:1px solid rgba(212,168,83,.2);padding:5px 12px;border-radius:14px;margin-bottom:12px}
.dash-hero-active .dh-tag{color:var(--red);background:rgba(255,90,95,.12);border-color:rgba(255,90,95,.25);animation:pulse 1.6s infinite}
.dash-hero-rest .dh-tag{color:var(--blue);background:rgba(90,180,255,.1);border-color:rgba(90,180,255,.22)}
.dash-hero .dh-title{font-family:'Outfit',sans-serif;font-size:26px;font-weight:800;color:#fff;line-height:1.15;margin-bottom:8px;letter-spacing:-.5px}
[data-theme="light"] .dash-hero .dh-title{color:#1A1D24}
.dash-hero .dh-sub{color:var(--tx2);font-size:13px;line-height:1.7;margin-bottom:16px}
.dash-hero .dh-missed{margin:6px 0 14px;padding:9px 12px;background:rgba(255,184,90,.08);border:1px solid rgba(255,184,90,.22);border-radius:9px;font-size:11.5px;color:var(--org)}
.dash-hero .dh-cta{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:13px 26px;border-radius:11px;font-family:'Outfit',sans-serif;font-weight:800;font-size:13.5px;letter-spacing:.5px;cursor:pointer;box-shadow:0 6px 18px rgba(212,168,83,.3);transition:.25s;-webkit-tap-highlight-color:transparent;min-height:48px}
.dash-hero .dh-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(212,168,83,.4)}
.dash-hero .dh-cta-secondary{background:transparent;color:var(--g2);border:1px solid rgba(212,168,83,.3);box-shadow:none}
.dash-hero .dh-cta-secondary:hover{background:rgba(212,168,83,.06)}
.dash-hero .dh-secondary{margin-top:10px}
.dash-hero .dh-secondary button{background:transparent;color:var(--tx3);border:none;font-size:11px;cursor:pointer;text-decoration:underline}
.dash-hero .dh-secondary button:hover{color:var(--g2)}

/* Grid utilities */
.dash-grid{display:grid;gap:10px;margin-bottom:14px}
.dash-grid-2{grid-template-columns:1fr 1.5fr}
@media(max-width:520px){.dash-grid-2{grid-template-columns:1fr}}

/* Streak */
.dash-streak{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(255,184,90,.06),var(--s1));border:1px solid rgba(255,184,90,.18);border-radius:14px;padding:14px}
.dash-streak .ds-icon{font-size:32px;line-height:1;flex-shrink:0}
.dash-streak .ds-body{flex:1;display:flex;flex-direction:column;gap:4px}
.dash-streak .ds-current{display:flex;align-items:baseline;gap:6px}
.dash-streak .ds-current b{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:700;color:var(--org);line-height:1}
.dash-streak .ds-current span{font-size:11px;color:var(--tx2)}
.dash-streak .ds-best{font-size:10.5px;color:var(--tx3)}
.dash-streak .ds-best b{color:var(--g2);font-family:'JetBrains Mono',monospace}

/* Stats (4-cell grid) */
.dash-stats{background:linear-gradient(135deg,var(--s2),var(--s1));border:1px solid rgba(212,168,83,.14);border-radius:14px;padding:12px 14px}
.dash-stats-head{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;color:var(--tx2);letter-spacing:.6px;margin-bottom:10px;text-transform:uppercase}
.dash-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.dash-stats-grid .dss-cell{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:8px 4px;background:rgba(255,255,255,.02);border-radius:8px;border:1px solid rgba(255,255,255,.04)}
.dash-stats-grid .dss-cell b{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700;color:var(--g2);line-height:1.1}
.dash-stats-grid .dss-cell span{font-size:9.5px;color:var(--tx3);line-height:1.3}

/* Quick actions */
.dash-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
@media(max-width:520px){.dash-actions{grid-template-columns:repeat(2,1fr)}}
.dash-action{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--s2);border:1px solid rgba(212,168,83,.14);border-radius:12px;padding:14px 8px;cursor:pointer;color:var(--tx);font-family:'Rubik',sans-serif;transition:.25s;-webkit-tap-highlight-color:transparent;min-height:74px}
.dash-action span{font-size:22px;line-height:1}
.dash-action b{font-size:11px;font-weight:600;color:var(--tx2)}
.dash-action:hover{border-color:var(--g2);transform:translateY(-2px);background:var(--s3)}
.dash-action:hover b{color:var(--g2)}

/* Generic card */
.dash-card{background:linear-gradient(135deg,var(--s2),var(--s1));border:1px solid rgba(212,168,83,.12);border-radius:14px;padding:14px 16px;margin-bottom:12px}
.dash-card-head{font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;color:var(--g2);letter-spacing:.4px;margin-bottom:10px}
.dash-card-more{display:block;width:100%;background:transparent;border:1px dashed rgba(212,168,83,.22);color:var(--g2);padding:8px;border-radius:8px;font-family:'Rubik',sans-serif;font-size:11.5px;font-weight:600;cursor:pointer;margin-top:10px;transition:.2s;-webkit-tap-highlight-color:transparent}
.dash-card-more:hover{background:rgba(212,168,83,.06);border-style:solid}
.dash-empty{padding:14px;color:var(--tx3);font-size:12px;text-align:center;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.06);border-radius:8px}

/* PRs list */
.dash-prs{display:flex;flex-direction:column;gap:8px}
.dash-prs .dpr-item{padding:10px 12px;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.12);border-radius:9px;display:flex;flex-direction:column;gap:4px}
.dash-prs .dpr-ex{font-size:12.5px;font-weight:600;color:var(--tx)}
.dash-prs .dpr-meta{font-size:10.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.dash-prs .dpr-type{background:rgba(212,168,83,.12);color:var(--g2);padding:1px 7px;border-radius:6px;font-size:9.5px;font-weight:700;letter-spacing:.3px}

/* Program progress bar */
.dash-progress-bar{height:8px;background:rgba(255,255,255,.05);border-radius:6px;overflow:hidden;margin:8px 0 6px}
.dpb-fill{height:100%;background:linear-gradient(90deg,var(--g3),var(--g1));border-radius:6px;transition:width .5s}
.dash-progress-meta{display:flex;justify-content:space-between;font-size:10.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.dash-progress-meta b{color:var(--g2)}

/* Daily compliance */
.dash-daily{display:flex;flex-direction:column;gap:10px}
.dash-daily .ddl-item{display:flex;gap:10px;align-items:center}
.dash-daily .ddl-icon{font-size:18px;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.03);border-radius:8px}
.dash-daily .ddl-body{flex:1;min-width:0}
.dash-daily .ddl-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.dash-daily .ddl-lbl{font-size:11.5px;color:var(--tx2)}
.dash-daily .ddl-row b{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--g2)}
.dash-daily .ddl-track{height:5px;background:rgba(255,255,255,.04);border-radius:4px;overflow:hidden}
.dash-daily .ddl-fill{height:100%;background:linear-gradient(90deg,var(--g3),var(--g1));border-radius:4px;transition:width .3s}

/* Collapsible "اعرف برنامجك" */
.program-info-details{margin-top:18px;background:var(--s1);border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}
.program-info-details summary{cursor:pointer;padding:14px 18px;display:flex;flex-direction:column;gap:3px;list-style:none;transition:.2s;-webkit-tap-highlight-color:transparent}
.program-info-details summary::-webkit-details-marker{display:none}
.program-info-details summary span{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--g2)}
.program-info-details summary small{font-size:11px;color:var(--tx3);line-height:1.5}
.program-info-details summary:hover{background:rgba(212,168,83,.04)}
.program-info-details[open] summary{border-bottom:1px solid rgba(255,255,255,.05);background:rgba(212,168,83,.03)}
.program-info-body{padding:14px 12px}
.program-info-body .card{margin-bottom:10px}
.program-info-body .card:last-child{margin-bottom:0}

/* ============================================================
 * V9.0 (P5) — Guide Hub (tabs t2/t3/t4/t6 launcher cards)
 * ============================================================ */
.guide-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:20px}
.guide-hub-card{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--s2),var(--s1));border:1px solid rgba(212,168,83,.18);border-radius:14px;padding:14px 16px;cursor:pointer;text-align:right;color:var(--tx);transition:.25s;font-family:'Rubik',sans-serif;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}
.guide-hub-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(212,168,83,.06),transparent);opacity:0;transition:.25s}
.guide-hub-card:hover{border-color:var(--g2);transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.guide-hub-card:hover::before{opacity:1}
.guide-hub-card .ghc-icon{font-size:26px;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(212,168,83,.1);border-radius:10px;border:1px solid rgba(212,168,83,.15)}
.guide-hub-card .ghc-text{flex:1;display:flex;flex-direction:column;gap:3px;line-height:1.5}
.guide-hub-card .ghc-text b{font-size:13.5px;color:var(--g2);font-weight:700;font-family:'Outfit',sans-serif;letter-spacing:.2px}
.guide-hub-card .ghc-text span{font-size:11px;color:var(--tx3);line-height:1.5}
.guide-hub-card .ghc-arrow{font-size:22px;color:var(--g3);opacity:.5;transition:.25s;flex-shrink:0}
.guide-hub-card:hover .ghc-arrow{opacity:1;color:var(--g1);transform:translateX(-3px)}
.guide-hub-divider{font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;color:var(--tx3);text-align:center;letter-spacing:.8px;padding:14px 0 18px;border-top:1px dashed rgba(255,255,255,.05);margin-top:10px}

/* ============================================================
 * V9.0 (P6) — Weekly Review modal
 * ============================================================ */
.wr-content{max-width:560px}
.wr-head{text-align:center;margin-bottom:18px}
.wr-head h2{margin-bottom:4px}
.wr-sub{font-size:12px;color:var(--tx3)}
.wr-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.wr-cell{display:flex;align-items:center;gap:10px;padding:12px;background:linear-gradient(135deg,var(--s3),var(--s2));border:1px solid rgba(212,168,83,.18);border-radius:12px}
.wr-cell-icon{font-size:24px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:rgba(212,168,83,.1);border-radius:10px;flex-shrink:0}
.wr-cell-body{flex:1;min-width:0}
.wr-cell-num{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;color:var(--g2);line-height:1.1}
.wr-cell-lbl{font-size:11px;color:var(--tx3);margin-top:3px;display:flex;align-items:center;gap:6px}
.wr-delta{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:5px}
.wr-delta-up{color:var(--grn);background:rgba(90,230,138,.08)}
.wr-delta-down{color:var(--red);background:rgba(255,90,95,.08)}
.wr-delta-flat{color:var(--tx3);background:rgba(255,255,255,.04)}
.wr-meta{text-align:center;font-size:11.5px;color:var(--tx2);padding:8px 0 14px;font-family:'JetBrains Mono',monospace}
.wr-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:11px;padding:12px 14px;margin-bottom:10px}
.wr-section-head{font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:700;color:var(--g2);letter-spacing:.4px;margin-bottom:8px}
.wr-top-ex b{display:block;font-size:14px;color:var(--tx);margin-bottom:2px}
.wr-top-ex small{font-size:11px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.wr-daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.wrd-cell{text-align:center;padding:8px 4px;background:rgba(255,255,255,.02);border-radius:8px;display:flex;flex-direction:column;gap:2px}
.wrd-cell span{font-size:18px}
.wrd-cell b{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--g2)}
.wrd-cell small{font-size:9.5px;color:var(--tx3)}
.wr-empty{text-align:center;padding:14px;color:var(--tx3);font-size:11.5px}
.wr-streak-line b{font-family:'JetBrains Mono',monospace;font-size:18px;color:var(--org);margin-left:6px}
.wr-streak-line small{display:block;color:var(--tx3);font-size:11px;margin-top:4px}
.wr-suggestion{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px;margin-top:14px}
.wr-suggestion-ok{background:rgba(90,230,138,.05);border:1px solid rgba(90,230,138,.18)}
.wr-suggestion-warn{background:rgba(255,184,90,.07);border:1px solid rgba(255,184,90,.22)}
.wrs-icon{font-size:24px;line-height:1;flex-shrink:0}
.wrs-body{flex:1}
.wrs-body b{display:block;font-size:13px;color:var(--tx);margin-bottom:4px;font-family:'Outfit',sans-serif}
.wrs-body div{font-size:11.5px;color:var(--tx2);line-height:1.7}

/* ============================================================
 * V9.0 (P4) — Diagnostic onboarding slide
 * ============================================================ */
.onb-diag-form{display:flex;flex-direction:column;gap:14px;margin:10px 0 12px;text-align:right}
.onb-diag-row{display:flex;flex-direction:column;gap:7px}
.onb-diag-row>label{font-size:11.5px;color:var(--tx2);font-weight:600}
.onb-diag-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.onb-diag-field{display:flex;flex-direction:column;gap:6px;text-align:right}
.onb-diag-field label{font-size:11px;color:var(--tx2);font-weight:600}
.onb-diag-field label small{color:var(--tx3);font-size:9.5px;font-weight:400;margin-right:3px}
.onb-diag-field input,.onb-diag-field select{background:var(--s2);border:1px solid rgba(255,255,255,.08);color:var(--tx);font-family:'Rubik',sans-serif;font-size:13px;padding:10px 12px;border-radius:9px;width:100%;text-align:right;direction:rtl;-webkit-appearance:none;appearance:none;min-height:42px}
.onb-diag-field input:focus,.onb-diag-field select:focus{border-color:var(--g2);outline:none;background:var(--s3)}
.onb-diag-chips{display:flex;flex-wrap:wrap;gap:6px}
.onb-diag-chips .odc{background:var(--s2);border:1px solid rgba(255,255,255,.06);color:var(--tx2);padding:9px 14px;border-radius:9px;font-family:'Rubik',sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:.2s;-webkit-tap-highlight-color:transparent;min-height:38px}
.onb-diag-chips .odc:hover{background:var(--s3);border-color:rgba(212,168,83,.2)}
.onb-diag-chips .odc.a{background:linear-gradient(135deg,var(--g2),var(--g3));color:#000;border-color:var(--g1);font-weight:700;box-shadow:0 3px 10px rgba(212,168,83,.25)}
.onb-diag-note{font-size:11px;color:var(--tx3);text-align:center;line-height:1.7;padding-top:6px;border-top:1px dashed rgba(255,255,255,.05)}
.onb-diag-note b{color:var(--g2)}
.onb-diag-skip{background:none;border:none;color:var(--g2);font-family:'Rubik',sans-serif;font-size:11px;font-weight:600;cursor:pointer;padding:2px 4px;text-decoration:underline}

/* ============================================================
 * V9.1 (A.4) — Program Templates Selector (in Profile modal)
 * ============================================================ */
.prof-program-section{margin:18px 0 12px;padding:14px;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.18);border-radius:12px}
.prof-program-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px;flex-wrap:wrap}
.prof-program-head span{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--g2)}
.prof-program-suggest{background:linear-gradient(135deg,var(--g2),var(--g3));color:#000;border:none;padding:6px 12px;border-radius:8px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;cursor:pointer;letter-spacing:.3px;-webkit-tap-highlight-color:transparent;transition:.2s;min-height:34px}
.prof-program-suggest:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(212,168,83,.3)}
.prof-program-list{display:flex;flex-direction:column;gap:10px}
.prof-program-card{background:var(--s1);border:1px solid rgba(255,255,255,.06);border-radius:11px;padding:12px 14px;transition:.25s;position:relative;overflow:hidden}
.prof-program-card.active{border-color:var(--g2);background:linear-gradient(135deg,rgba(212,168,83,.06),var(--s1));box-shadow:0 4px 14px rgba(212,168,83,.15)}
.prof-program-card.active::before{content:'';position:absolute;top:0;right:0;width:3px;height:100%;background:linear-gradient(180deg,var(--g1),var(--g3))}
.ppc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.ppc-name{font-family:'Outfit',sans-serif;font-size:13.5px;font-weight:700;color:var(--tx);line-height:1.3;margin-bottom:3px}
[data-theme="light"] .ppc-name{color:#1A1D24}
.ppc-desc{font-size:11px;color:var(--tx3);line-height:1.6}
.ppc-active-badge{background:linear-gradient(135deg,var(--grn),#3da868);color:#000;font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;padding:4px 10px;border-radius:6px;letter-spacing:.4px;white-space:nowrap;flex-shrink:0}
.ppc-select-btn{background:var(--s3);color:var(--g2);border:1px solid rgba(212,168,83,.2);padding:6px 12px;border-radius:8px;font-family:'Rubik',sans-serif;font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:.2s;min-height:32px}
.ppc-select-btn:hover{background:var(--g2);color:#000;border-color:var(--g1)}
.ppc-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.pp-tag{background:rgba(255,255,255,.04);color:var(--tx3);font-size:10px;font-weight:600;padding:3px 8px;border-radius:5px;font-family:'JetBrains Mono',monospace;border:1px solid rgba(255,255,255,.04)}
.pp-tag-days{background:rgba(212,168,83,.08);color:var(--g2);border-color:rgba(212,168,83,.18)}
.pp-tag-time{background:rgba(90,180,255,.06);color:var(--blue);border-color:rgba(90,180,255,.15)}
.pp-tag-goal{background:rgba(90,230,138,.06);color:var(--grn);border-color:rgba(90,230,138,.18)}

/* V9.1 (A.2) — YouTube video link inside form-note modal */
.form-note-video-link{margin:12px 16px 4px;padding:10px 14px;background:rgba(255,90,95,.05);border:1px solid rgba(255,90,95,.18);border-radius:10px;display:flex;flex-direction:column;gap:4px}
.form-note-video-link a{color:var(--red);font-family:'Outfit',sans-serif;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-block;letter-spacing:.2px}
.form-note-video-link a:hover{text-decoration:underline}
.form-note-video-link small{font-size:10px;color:var(--tx3);line-height:1.5}

/* ============================================================
 * V9.1 (A.3) — Nutrition Tracking
 * ============================================================ */

/* Food Log Panel (داخل Daily Log) */
.food-log-panel{margin:18px 0 12px;padding:14px;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.18);border-radius:12px}
.flp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px;flex-wrap:wrap}
.flp-head span{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--g2)}
.flp-add{background:linear-gradient(135deg,var(--g2),var(--g3));color:#000;border:none;padding:7px 14px;border-radius:8px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.2s;min-height:36px}
.flp-add:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(212,168,83,.3)}
.flp-targets{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px dashed rgba(255,255,255,.06)}
.flp-bar-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;gap:8px}
.flp-bar-label{font-size:11.5px;color:var(--tx2);font-weight:600}
.flp-bar-val{font-size:11px;color:var(--tx2);font-family:'JetBrains Mono',monospace}
.flp-bar-val b{color:var(--g2);font-size:12.5px}
.flp-bar-val small{color:var(--tx3);font-size:10px}
.flp-bar-track{height:6px;background:rgba(255,255,255,.05);border-radius:5px;overflow:hidden}
.flp-bar-fill{height:100%;border-radius:5px;transition:width .4s}
.flp-bar-low .flp-bar-fill{background:linear-gradient(90deg,var(--org),#cc8a30)}
.flp-bar-ok .flp-bar-fill{background:linear-gradient(90deg,var(--grn),#3da868)}
.flp-bar-high .flp-bar-fill{background:linear-gradient(90deg,var(--red),#c93f44)}
.flp-totals-simple{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px;text-align:center;font-size:11px;color:var(--tx2)}
.flp-totals-simple b{display:block;font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--g2)}
.flp-hint{font-size:10.5px;color:var(--tx3);text-align:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed rgba(255,255,255,.06)}
.flp-entries{display:flex;flex-direction:column;gap:6px}
.flp-empty{text-align:center;padding:18px 8px;color:var(--tx3);font-size:11.5px;background:rgba(255,255,255,.02);border-radius:8px;border:1px dashed rgba(255,255,255,.06)}
.flp-empty b{color:var(--g2)}
.flp-entry{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--s1);border:1px solid rgba(255,255,255,.05);border-radius:9px;transition:.2s}
.flp-entry:hover{border-color:rgba(212,168,83,.2)}
.flp-entry-main{flex:1;min-width:0}
.flp-entry-name{font-size:12.5px;color:var(--tx);font-weight:600;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flp-entry-meta{font-size:10.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.flp-entry-del{background:rgba(255,90,95,.08);color:var(--red);border:1px solid rgba(255,90,95,.18);width:28px;height:28px;border-radius:7px;font-size:16px;cursor:pointer;flex-shrink:0;line-height:1;-webkit-tap-highlight-color:transparent;transition:.2s;display:flex;align-items:center;justify-content:center;padding:0}
.flp-entry-del:hover{background:var(--red);color:#fff}

/* Food Search Modal */
.food-search-content{max-width:580px;max-height:90vh;display:flex;flex-direction:column}
.food-search-wrap{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
#foodSearchInput{background:var(--s2);border:1px solid rgba(255,255,255,.08);color:var(--tx);font-family:'Rubik',sans-serif;font-size:14px;padding:12px 14px;border-radius:10px;width:100%;text-align:right;direction:rtl;-webkit-appearance:none;appearance:none;min-height:44px}
#foodSearchInput:focus{border-color:var(--g2);outline:none;background:var(--s3)}
.food-cat-filter{display:flex;gap:5px;overflow-x:auto;padding:4px 2px;scrollbar-width:none}
.food-cat-filter::-webkit-scrollbar{display:none}
.fc-chip{background:var(--s2);color:var(--tx3);border:1px solid rgba(255,255,255,.06);padding:5px 12px;border-radius:7px;font-family:'Rubik',sans-serif;font-size:11px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;transition:.2s;min-height:30px;white-space:nowrap}
.fc-chip:hover{color:var(--tx);border-color:rgba(212,168,83,.15)}
.fc-chip.active{background:rgba(212,168,83,.12);color:var(--g2);border-color:var(--g3)}
.food-search-results{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;max-height:55vh;padding-right:4px}
.food-empty{text-align:center;padding:30px 20px;color:var(--tx3);font-size:12px}
.food-result-card{display:flex;align-items:center;gap:10px;padding:11px 13px;background:var(--s1);border:1px solid rgba(255,255,255,.05);border-radius:10px;cursor:pointer;text-align:right;color:var(--tx);font-family:'Rubik',sans-serif;transition:.2s;-webkit-tap-highlight-color:transparent;width:100%}
.food-result-card:hover{border-color:var(--g2);background:var(--s2);transform:translateY(-1px)}
.frc-main{flex:1;min-width:0}
.frc-name{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:4px}
.frc-macros{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:3px}
.frc-macro{font-size:9.5px;font-family:'JetBrains Mono',monospace;padding:2px 6px;border-radius:4px;background:rgba(255,255,255,.03);color:var(--tx3)}
.frc-macro.frc-kcal{background:rgba(212,168,83,.1);color:var(--g2)}
.frc-macro.frc-p{background:rgba(255,90,95,.08);color:var(--red)}
.frc-macro.frc-c{background:rgba(90,180,255,.08);color:var(--blue)}
.frc-macro.frc-f{background:rgba(255,184,90,.08);color:var(--org)}
.frc-per{font-size:9px;color:var(--tx3);opacity:.7}
.frc-add{background:rgba(212,168,83,.15);color:var(--g2);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0;line-height:1}

/* Food Portion Picker */
.food-portion-picker{flex:1;overflow-y:auto;max-height:60vh;padding-right:4px}
.fpp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.05)}
.fpp-back{background:none;border:none;color:var(--g2);font-family:'Rubik',sans-serif;font-size:11.5px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:4px 8px}
.fpp-back:hover{color:#fff}
.fpp-name{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--tx)}
.fpp-servings{margin-bottom:14px}
.fpp-label{font-size:11px;color:var(--tx2);margin-bottom:6px;font-weight:600}
.fpp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.fpp-chip{background:var(--s2);color:var(--tx);border:1px solid rgba(255,255,255,.06);padding:7px 12px;border-radius:9px;font-family:'Rubik',sans-serif;font-size:12px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.2s;display:flex;flex-direction:column;gap:2px;min-height:50px;line-height:1.3}
.fpp-chip small{font-size:9.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.fpp-chip:hover{border-color:rgba(212,168,83,.2)}
.fpp-chip.active{background:linear-gradient(135deg,rgba(212,168,83,.18),rgba(212,168,83,.08));color:var(--g2);border-color:var(--g2)}
.fpp-chip.active small{color:var(--g3)}
.fpp-custom{display:flex;align-items:center;gap:8px}
.fpp-custom label{font-size:11px;color:var(--tx2);flex:1}
.fpp-custom input{width:100px;background:var(--s2);border:1px solid rgba(255,255,255,.08);color:var(--tx);font-family:'JetBrains Mono',monospace;font-size:13px;padding:8px 10px;border-radius:8px;text-align:center;-webkit-appearance:none;appearance:none}
.fpp-custom input:focus{border-color:var(--g2);outline:none}
.fpp-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.12);border-radius:10px;margin-bottom:14px}
.fpp-mac{text-align:center;display:flex;flex-direction:column;gap:2px}
.fpp-mac b{font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--g2);font-weight:700;line-height:1.1}
.fpp-mac span{font-size:9.5px;color:var(--tx3)}
.fpp-confirm{width:100%;background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:13px;border-radius:11px;font-family:'Outfit',sans-serif;font-weight:800;font-size:13px;letter-spacing:.4px;cursor:pointer;box-shadow:0 6px 16px rgba(212,168,83,.3);-webkit-tap-highlight-color:transparent;transition:.2s;min-height:48px}
.fpp-confirm:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(212,168,83,.4)}

/* V9.1 (A.3) — Dashboard Nutrition block */
.dash-nutrition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:6px}
@media(min-width:520px){.dash-nutrition-grid{grid-template-columns:repeat(4,1fr)}}
.dn-cell{padding:9px 10px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:9px;display:flex;flex-direction:column;gap:4px}
.dn-cell-lbl{font-size:10.5px;color:var(--tx3);font-weight:600}
.dn-cell-val{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--tx2)}
.dn-cell-val b{color:var(--g2);font-size:13px;font-weight:700;margin-left:2px}
.dn-cell-bar{height:4px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden;margin-top:2px}
.dn-cell-fill{height:100%;border-radius:3px;transition:width .3s}
.dn-cell-fill.low{background:linear-gradient(90deg,var(--org),#cc8a30)}
.dn-cell-fill.ok{background:linear-gradient(90deg,var(--grn),#3da868)}
.dn-cell-fill.over{background:linear-gradient(90deg,var(--red),#c93f44)}

/* ============================================================
 * V9.2 (C.12) — Body Composition Timeline (in metrics tab)
 * ============================================================ */
.bm-timeline{margin:18px 0 14px;padding:16px;background:linear-gradient(135deg,var(--s2),var(--s1));border:1px solid rgba(212,168,83,.18);border-radius:14px}
.bm-timeline-empty{padding:24px 14px;text-align:center;color:var(--tx3);font-size:12.5px;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.06);border-radius:10px}
.bmt-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;gap:10px;flex-wrap:wrap}
.bmt-head h3{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--g2);margin:0}
.bmt-head small{font-size:11px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.bmt-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}
@media(min-width:520px){.bmt-cards{grid-template-columns:repeat(3,1fr)}}
@media(min-width:720px){.bmt-cards{grid-template-columns:repeat(6,1fr)}}
.bmt-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;background:var(--s1);border:1px solid rgba(255,255,255,.05);border-radius:10px;text-align:center}
.bmt-card.bmt-card-up{border-color:rgba(90,230,138,.25);background:linear-gradient(180deg,rgba(90,230,138,.06),var(--s1))}
.bmt-card.bmt-card-down{border-color:rgba(255,90,95,.25);background:linear-gradient(180deg,rgba(255,90,95,.06),var(--s1))}
.bmt-card.bmt-card-empty{opacity:.45}
.bmt-icon{font-size:18px;line-height:1}
.bmt-lbl{font-size:10.5px;color:var(--tx3);font-weight:600}
.bmt-val{font-family:'JetBrains Mono',monospace;font-size:17px;color:var(--tx);font-weight:700;line-height:1.1}
.bmt-val small{font-size:9.5px;color:var(--tx3);font-weight:400;margin-right:2px}
.bmt-delta{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;background:rgba(255,255,255,.04);color:var(--tx3)}
.bmt-card-up .bmt-delta{color:var(--grn);background:rgba(90,230,138,.1)}
.bmt-card-down .bmt-delta{color:var(--red);background:rgba(255,90,95,.1)}
.bmt-chart-wrap{padding:12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:10px}
.bmt-chart-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.bmt-tab{background:transparent;color:var(--tx3);border:1px solid rgba(255,255,255,.06);padding:5px 9px;border-radius:7px;font-family:'Rubik',sans-serif;font-size:10.5px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.2s;min-height:30px}
.bmt-tab:hover:not(:disabled){color:var(--tx);border-color:rgba(212,168,83,.2)}
.bmt-tab.active{background:rgba(212,168,83,.12);color:var(--g2);border-color:var(--g3)}
.bmt-tab:disabled{opacity:.3;cursor:not-allowed}

/* ============================================================
 * V9.2 (C.10) — Streak Page (Duolingo-style large modal)
 * ============================================================ */
/* Dashboard streak button enhancement */
.dash-streak-btn{cursor:pointer;background:linear-gradient(135deg,rgba(255,184,90,.06),var(--s1));border:1px solid rgba(255,184,90,.18);border-radius:14px;padding:14px;font-family:'Rubik',sans-serif;color:var(--tx);text-align:right;width:100%;-webkit-tap-highlight-color:transparent;transition:.2s;display:flex;align-items:center;gap:12px}
.dash-streak-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(255,184,90,.15);border-color:rgba(255,184,90,.32)}
.dash-streak-btn .ds-best small{color:var(--org);opacity:.7;font-size:9.5px;margin-right:4px}
.dash-streak-btn:hover .ds-best small{opacity:1}

/* Streak Page modal content */
.streak-page-content{max-width:600px;max-height:92vh}
#streakPageBody{padding-top:8px}

/* Hero (شعلة كبيرة) */
.sp-hero{text-align:center;padding:18px 14px 22px;background:linear-gradient(180deg,rgba(255,184,90,.08),transparent);border:1px solid rgba(255,184,90,.2);border-radius:16px;margin-bottom:18px}
.sp-fire{font-size:54px;line-height:1.1;margin-bottom:8px;animation:float 2.5s ease-in-out infinite}
.sp-current-num{font-family:'Outfit',sans-serif;font-size:64px;font-weight:800;color:var(--org);line-height:1;letter-spacing:-2px}
.sp-current-lbl{font-size:13px;color:var(--tx2);margin-top:2px;font-weight:600}
.sp-motivation{margin-top:12px;padding:10px 14px;background:rgba(255,255,255,.03);border-radius:9px;font-size:12.5px;color:var(--tx);line-height:1.7}
.sp-motivation b{color:var(--org);font-family:'JetBrains Mono',monospace}

/* Stats row */
.sp-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:20px}
.sp-stat-cell{padding:12px 6px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:10px;text-align:center}
.sp-stat-num{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;color:var(--g2);line-height:1.1}
.sp-stat-lbl{font-size:10.5px;color:var(--tx3);margin-top:3px}

/* Sections */
.sp-section{margin-bottom:18px}
.sp-section-head{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--g2);letter-spacing:.3px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px dashed rgba(255,255,255,.06)}

/* Milestones grid */
.sp-milestones{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(min-width:520px){.sp-milestones{grid-template-columns:repeat(3,1fr)}}
.sp-milestone{padding:12px 8px;background:var(--s1);border:1px solid rgba(255,255,255,.05);border-radius:11px;text-align:center;position:relative;opacity:.5;transition:.25s;display:flex;flex-direction:column;align-items:center;gap:3px}
.sp-milestone.sp-ms-unlocked{opacity:1;background:linear-gradient(180deg,rgba(212,168,83,.06),var(--s1));border-color:rgba(212,168,83,.22)}
.sp-milestone.sp-ms-current{box-shadow:0 0 0 2px var(--g1), 0 0 18px rgba(212,168,83,.3)}
.sp-ms-icon{font-size:28px;line-height:1;filter:grayscale(100%)}
.sp-milestone.sp-ms-unlocked .sp-ms-icon{filter:none}
.sp-ms-days{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--tx)}
.sp-ms-subtitle{font-size:9.5px;color:var(--tx3)}
.sp-ms-badge{background:linear-gradient(135deg,var(--grn),#3da868);color:#000;font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;padding:2px 8px;border-radius:5px;margin-top:3px;letter-spacing:.3px}

/* Calendar grid (6 weeks × 7 days = 42) */
.sp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.sp-day{aspect-ratio:1;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.04);border-radius:5px;min-height:24px}
.sp-day-trained{background:linear-gradient(135deg,var(--org),#e69a3a);border-color:var(--org);box-shadow:0 2px 6px rgba(255,184,90,.2)}
.sp-day-today{outline:2px solid var(--g1);outline-offset:1px}
.sp-cal-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;justify-content:center;font-size:10.5px;color:var(--tx3)}
.sp-leg-item{display:flex;align-items:center;gap:5px}
.sp-leg-sw{width:11px;height:11px;border-radius:3px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
.sp-leg-sw.sp-day-trained{background:linear-gradient(135deg,var(--org),#e69a3a);border-color:var(--org)}
.sp-leg-sw.sp-day-today{background:transparent;outline:1.5px solid var(--g1)}

.sp-empty{text-align:center;padding:30px;color:var(--tx3);font-size:13px}

/* ============================================================
 * V9.2 (B.9) — Voice Input (mic button + listening overlay)
 * ============================================================ */
.voice-btn{background:rgba(176,138,255,.08);color:var(--purple);border:1px solid rgba(176,138,255,.22);width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:14px;line-height:1;-webkit-tap-highlight-color:transparent;transition:.2s;flex-shrink:0;padding:0;display:inline-flex;align-items:center;justify-content:center;margin-right:4px;position:relative}
.voice-btn::before{content:'';position:absolute;inset:-6px}
.voice-btn:hover{background:var(--purple);color:#fff;transform:scale(1.05)}
.voice-btn:active{transform:scale(.95)}

.voice-overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:var(--z-modal-overlay);display:none;align-items:center;justify-content:center;padding:24px;animation:fadeUp .25s both}
.voice-overlay.show{display:flex}
.vo-card{background:linear-gradient(160deg,var(--s2),var(--s1));border:1px solid rgba(176,138,255,.35);border-radius:18px;padding:30px 22px 22px;max-width:380px;width:100%;text-align:center;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.6)}
.vo-close{position:absolute;top:12px;left:12px;background:none;border:none;color:var(--tx3);font-size:22px;cursor:pointer;width:34px;height:34px;border-radius:50%;line-height:1;transition:.2s;-webkit-tap-highlight-color:transparent}
.vo-close:hover{background:rgba(255,255,255,.06);color:#fff}
.vo-mic{font-size:54px;margin-bottom:10px;animation:pulse 1.2s infinite;line-height:1.1}
.vo-status{font-family:'Outfit',sans-serif;font-size:16px;font-weight:700;color:var(--purple);margin-bottom:6px;line-height:1.4}
.vo-hint{font-size:11.5px;color:var(--tx3);margin-bottom:14px;line-height:1.7}
.vo-transcript{min-height:36px;padding:10px 12px;background:rgba(176,138,255,.06);border:1px dashed rgba(176,138,255,.2);border-radius:9px;font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--tx);margin-bottom:16px;text-align:center;word-break:break-word;line-height:1.6}
.vo-cancel{background:transparent;color:var(--tx2);border:1px solid rgba(255,255,255,.1);padding:10px 22px;border-radius:9px;font-family:'Rubik',sans-serif;font-size:12.5px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.2s;min-height:40px}
.vo-cancel:hover{background:rgba(255,255,255,.04);color:var(--tx)}

/* V9.2 (B.8) — Idle hint (يظهر إذا لم يُسجّل سيت لـ ٣ دقائق) */
.idle-hint{flex-basis:100%;margin-top:8px;padding:8px 12px;background:rgba(255,184,90,.06);border:1px dashed rgba(255,184,90,.3);border-radius:8px;font-size:11.5px;color:var(--org);text-align:center;animation:fadeUp .35s both}
.idle-hint b{font-family:'JetBrains Mono',monospace;font-weight:700}
.chart-empty .es-text b{color:var(--g2);font-size:13px}
.chart-empty .es-text small{color:var(--tx3);font-size:11px}

/* Charts loading */
.chart-loading{text-align:center;padding:60px 20px;color:var(--tx3);font-size:12px}
.chart-loading::before{content:'⏳';display:block;font-size:30px;margin-bottom:8px;animation:pulse 1.5s infinite}

/* ============ V6: EXERCISE ALTERNATIVES ============ */
/* V8.4 (P1-#3) — .alt-btn و .skip-btn نُقلت لـ step-body في الصف الموحّد أعلى الملف */
.step{position:relative}

/* Skipped step state */
.step.skipped{opacity:.45;background:rgba(136,144,160,.04);border-color:rgba(136,144,160,.15);filter:grayscale(.6)}
.step.skipped .step-name{text-decoration:line-through;color:var(--tx3)}
.step.skipped .step-info{color:var(--tx3)}
.step.skipped .track-input{display:none}
.step.skipped .skip-btn{background:linear-gradient(135deg,rgba(255,184,90,.18),rgba(255,184,90,.06));border-color:var(--org);color:var(--org);filter:none}
.step.skipped .alt-btn{opacity:.5}
.step.skipped::after{content:'↷ تم التخطّي';position:absolute;top:50%;left:14px;transform:translateY(-50%);background:rgba(255,184,90,.12);color:var(--org);padding:3px 10px;border-radius:6px;font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;border:1px solid rgba(255,184,90,.3);filter:none;pointer-events:none}

/* Substituted indicator (replaces step-name color) */
.exercise-substituted .step-name{color:var(--blue)}
.exercise-substituted .step-name .sub-badge{display:inline-block;background:rgba(90,180,255,.12);border:1px solid rgba(90,180,255,.25);color:var(--blue);font-family:'Outfit',sans-serif;font-size:8.5px;font-weight:800;padding:1px 6px;border-radius:5px;margin-right:5px;letter-spacing:.5px;vertical-align:middle}
.exercise-substituted .alt-btn{background:rgba(90,180,255,.08);border-color:rgba(90,180,255,.25);color:var(--blue)}
.restore-original-btn{background:transparent;border:none;color:var(--tx3);font-size:10px;cursor:pointer;margin-right:4px;padding:2px 6px;border-radius:5px;font-family:'Outfit',sans-serif;transition:.2s;-webkit-tap-highlight-color:transparent}
.restore-original-btn:hover{color:var(--blue);background:rgba(90,180,255,.06)}

/* Bottom sheet modal */
.alt-modal{position:fixed;inset:0;z-index:var(--z-modal-sheet);display:none;align-items:flex-end;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.alt-modal.open{display:flex;animation:fadeUp .25s both}
.alt-sheet{width:100%;max-height:88vh;background:linear-gradient(180deg,var(--s1),var(--s2));border-radius:22px 22px 0 0;padding:14px 20px 28px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-top:2px solid var(--g1);box-shadow:0 -16px 60px rgba(0,0,0,.5);direction:rtl;animation:slideUpSheet .35s cubic-bezier(.16,1,.3,1)}
@keyframes slideUpSheet{from{transform:translateY(100%)}to{transform:translateY(0)}}
.alt-grabber{width:42px;height:4px;background:rgba(255,255,255,.15);border-radius:3px;margin:0 auto 14px}
.alt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}
.alt-title{font-family:'Outfit',sans-serif;font-size:15px;font-weight:800;color:#fff;line-height:1.3;flex:1}
.alt-title b{color:var(--g2)}
.alt-close{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:var(--tx2);width:32px;height:32px;border-radius:50%;font-size:15px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.2s}
.alt-close:hover{background:rgba(255,90,95,.12);color:var(--red);border-color:rgba(255,90,95,.25)}
.alt-subtitle{font-size:11.5px;color:var(--tx2);margin-bottom:14px;line-height:1.5}
.alt-subtitle b{color:var(--g2)}

/* Peak hour warning */
.peak-warning{background:linear-gradient(90deg,rgba(255,184,90,.1),rgba(255,184,90,.03));border:1px solid rgba(255,184,90,.22);border-right:3px solid var(--org);border-radius:10px;padding:10px 14px;font-size:12px;color:var(--org);margin-bottom:14px;display:flex;gap:10px;align-items:flex-start}
.peak-warning b{color:#fff}

/* Smart suggestion banner */
.smart-suggest{background:linear-gradient(90deg,rgba(176,138,255,.1),rgba(176,138,255,.03));border:1px solid rgba(176,138,255,.22);border-right:3px solid var(--purple);border-radius:10px;padding:12px 14px;font-size:12px;color:var(--tx);margin-bottom:14px;line-height:1.6}
.smart-suggest .ss-head{color:var(--purple);font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.smart-suggest button{background:linear-gradient(135deg,var(--purple),#8866cc);color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;margin-top:8px;font-family:'Outfit',sans-serif;letter-spacing:.5px}

/* Alternative card */
.alt-card{background:linear-gradient(145deg,var(--s2),var(--s3));border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:14px;margin-bottom:10px;transition:.25s;position:relative;overflow:hidden}
.alt-card:hover{border-color:rgba(212,168,83,.2);transform:translateY(-1px)}
.alt-card.peak-friendly::before{content:'⚡ متاح';position:absolute;top:8px;left:10px;background:rgba(90,230,138,.1);color:var(--grn);border:1px solid rgba(90,230,138,.2);border-radius:5px;padding:2px 7px;font-size:9px;font-family:'Outfit',sans-serif;font-weight:700;letter-spacing:.5px}
.alt-card .alt-rank{position:absolute;top:10px;left:10px;background:rgba(212,168,83,.08);border:1px solid rgba(212,168,83,.18);color:var(--g2);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700}
.alt-card.peak-friendly .alt-rank{top:38px}
.alt-card .alt-name{font-weight:700;font-size:14.5px;color:#fff;line-height:1.3;padding-left:32px}
.alt-card .alt-reason{font-size:11.5px;color:var(--tx2);margin-top:5px;line-height:1.6}
.alt-match-bar{height:5px;background:rgba(255,255,255,.05);border-radius:3px;margin:10px 0 6px;overflow:hidden}
.alt-match-fill{height:100%;background:linear-gradient(90deg,var(--g3),var(--g1),var(--g2));border-radius:3px;transition:width .8s cubic-bezier(.16,1,.3,1);box-shadow:0 0 8px rgba(212,168,83,.3)}
.alt-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-top:6px;gap:8px;flex-wrap:wrap}
.alt-meta .alt-match-label{color:var(--g2);font-family:'JetBrains Mono',monospace;font-weight:700}
.alt-meta .alt-equipment{color:var(--tx3);font-family:'JetBrains Mono',monospace;text-align:left;flex:1}
.alt-use-btn{width:100%;background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border:none;padding:11px;border-radius:9px;font-weight:800;font-family:'Outfit',sans-serif;margin-top:12px;cursor:pointer;letter-spacing:1.5px;font-size:11.5px;transition:.2s;text-transform:uppercase}
.alt-use-btn:disabled{background:rgba(90,180,255,.15);color:var(--blue);cursor:default;text-transform:none;letter-spacing:.5px}

/* V7 — Scope choice buttons */
.alt-scope-label{font-size:10.5px;color:var(--tx3);margin-top:12px;margin-bottom:6px;font-family:'Outfit',sans-serif;letter-spacing:1px;text-transform:uppercase;text-align:center}
.alt-scope{display:flex;gap:6px;margin-top:4px}
.alt-scope-btn{flex:1;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);color:var(--tx);font-family:'Rubik',sans-serif;padding:9px 6px;border-radius:9px;cursor:pointer;transition:.2s;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}
.alt-scope-btn b{font-size:11.5px;font-weight:700;color:#fff;white-space:nowrap}
.alt-scope-btn span{font-size:9.5px;color:var(--tx3);text-align:center;line-height:1.3;font-family:'Outfit',sans-serif}
.alt-scope-btn:hover{background:rgba(212,168,83,.07);border-color:rgba(212,168,83,.25);transform:translateY(-1px)}
.alt-scope-btn:hover b{color:var(--g2)}
.alt-scope-btn.primary{background:linear-gradient(135deg,rgba(212,168,83,.18),rgba(212,168,83,.06));border-color:rgba(212,168,83,.35)}
.alt-scope-btn.primary b{color:var(--g2)}
.alt-scope-btn.primary:hover{background:linear-gradient(135deg,var(--g1),var(--g3));border-color:var(--g1)}
.alt-scope-btn.primary:hover b{color:#000}
.alt-scope-btn.primary:hover span{color:rgba(0,0,0,.65)}
.alt-scope-btn[data-scope="always"]:hover{background:linear-gradient(135deg,rgba(176,138,255,.18),rgba(176,138,255,.06));border-color:var(--purple)}
.alt-scope-btn[data-scope="always"]:hover b{color:var(--purple)}
.alt-use-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(212,168,83,.3)}
.alt-use-btn:active{transform:scale(.98)}
.alt-card.current{border-color:var(--blue);background:linear-gradient(145deg,rgba(90,180,255,.06),var(--s3))}
.alt-card.current .alt-use-btn{background:linear-gradient(135deg,#5AB4FF,#3A7FC0);color:#fff}

/* Outside-program link */
.alt-out{text-align:center;font-size:12px;color:var(--g2);text-decoration:underline;cursor:pointer;padding:14px 0;margin-top:6px;display:block;font-family:'Outfit',sans-serif;font-weight:600}
.alt-out:hover{color:var(--g1)}

/* All equipment grid (when "show all" clicked) */
.alt-all{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.alt-all-item{background:var(--s2);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px;cursor:pointer;font-size:12px;color:var(--tx);transition:.2s;text-align:center}
.alt-all-item:hover{border-color:var(--g1);background:rgba(212,168,83,.04);color:#fff}
.alt-all-item .ai-cat{font-size:9px;color:var(--tx3);display:block;margin-top:3px;font-family:'Outfit',sans-serif;letter-spacing:.3px}
/* V9.14.19 — اختيار من كل الأجهزة المتاحة + نطاق التطبيق */
.alt-more-equip{width:100%;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px;
  background:rgba(255,255,255,.04);border:1px dashed rgba(212,168,83,.32);color:var(--g2);
  border-radius:12px;padding:12px;font-family:'Rubik',sans-serif;font-size:12.5px;font-weight:700;
  cursor:pointer;min-height:48px;transition:.2s;-webkit-tap-highlight-color:transparent}
.alt-more-equip:hover{background:rgba(212,168,83,.08);border-color:var(--g1)}
.alt-more-equip .ic{width:16px;height:16px}
.alt-all-head{font-size:12px;color:var(--tx2);margin:12px 0 8px;font-weight:600;font-family:'Rubik',sans-serif}
.alt-all-scope{display:flex;gap:6px;margin-bottom:10px}
.alt-all-scope button{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  color:var(--tx2);border-radius:9px;padding:9px 4px;font-family:'Rubik',sans-serif;font-size:11.5px;
  font-weight:700;cursor:pointer;min-height:42px;transition:.2s;-webkit-tap-highlight-color:transparent}
.alt-all-scope button.active{background:linear-gradient(135deg,rgba(212,168,83,.2),rgba(212,168,83,.07));
  border-color:rgba(212,168,83,.4);color:var(--g2)}
.alt-all-item{display:flex !important;flex-direction:column;align-items:center;gap:2px;width:100%}
.alt-all-item.avail{border-color:rgba(34,197,94,.32);background:rgba(34,197,94,.05)}
.alt-all-item .aai-ok{color:var(--grn);font-weight:800;margin-left:4px}
.alt-all-item .aai-name{font-size:12px;color:var(--tx)}
.alt-nocat{font-size:12.5px;color:var(--tx2);font-family:'Rubik',sans-serif;line-height:1.6;
  background:rgba(56,189,248,.06);border:1px solid rgba(56,189,248,.18);border-radius:11px;padding:11px 13px}

/* Substitution stats in progress tab */
.sub-stats{display:flex;flex-direction:column;gap:8px}
.sub-stat-item{display:flex;align-items:center;gap:10px;background:var(--s2);border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:10px 12px}
.sub-stat-item .ss-arrow{color:var(--tx3);font-size:14px}
.sub-stat-item .ss-orig{color:var(--tx2);font-size:12.5px;flex:1;font-weight:600}
.sub-stat-item .ss-sub{color:var(--blue);font-size:12.5px;flex:1;font-weight:700}
.sub-stat-item .ss-count{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--g2);background:rgba(212,168,83,.08);padding:3px 8px;border-radius:6px;border:1px solid rgba(212,168,83,.12)}

/* V8.3 — Program Editor (3.3) */
.day-edit-btn{background:rgba(176,138,255,.08);border:1px solid rgba(176,138,255,.2);color:var(--purple);font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 10px;border-radius:8px;cursor:pointer;transition:.2s;margin-right:8px;white-space:nowrap}
.day-edit-btn:hover{background:rgba(176,138,255,.18);border-color:var(--purple);transform:translateY(-1px)}
.session-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#editorModal .stats-content{padding:20px}
#editorTitle{display:flex;align-items:center;gap:10px;font-size:15px}
.ed-custom-tag{font-family:'Outfit',sans-serif;font-size:9px;font-weight:800;color:var(--purple);background:rgba(176,138,255,.12);border:1px solid rgba(176,138,255,.25);padding:3px 7px;border-radius:5px;letter-spacing:1px}
.ed-hint{background:rgba(212,168,83,.05);border:1px dashed rgba(212,168,83,.2);border-radius:9px;padding:10px 14px;font-size:11.5px;color:var(--tx2);margin-bottom:14px;line-height:1.6}
.ed-hint b{color:var(--g2)}
.ed-day-meta{margin-bottom:12px}
.ed-field{margin-bottom:10px}
.ed-field label{display:block;font-size:11px;color:var(--tx3);margin-bottom:4px;font-family:'Outfit',sans-serif;letter-spacing:.5px;font-weight:600}
.ed-field label small{font-size:9px;color:var(--tx3);font-weight:400;margin-right:4px}
.ed-field input{width:100%;background:rgba(0,0,0,.3);border:1px solid rgba(212,168,83,.15);color:#fff;padding:8px 10px;border-radius:7px;font-size:12.5px;outline:none;font-family:'Rubik',sans-serif}
.ed-field input:focus{border-color:var(--g1);background:rgba(212,168,83,.05)}
.ed-phase{background:rgba(212,168,83,.03);border:1px solid rgba(212,168,83,.12);border-radius:11px;padding:12px;margin-bottom:12px}
.ed-phase-head{display:flex;gap:6px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.ed-phase-tag{font-family:'Outfit',sans-serif;font-size:9px;font-weight:800;letter-spacing:1px;color:var(--g1);background:rgba(212,168,83,.14);padding:4px 8px;border-radius:5px;white-space:nowrap}
.ed-phase-name{flex:1;min-width:120px;background:rgba(0,0,0,.3);border:1px solid rgba(212,168,83,.15);color:#fff;padding:6px 9px;border-radius:6px;font-size:12px;outline:none;font-weight:600}
.ed-phase-meta{flex:0 0 90px;background:rgba(0,0,0,.3);border:1px solid rgba(212,168,83,.15);color:var(--tx2);padding:6px 9px;border-radius:6px;font-size:11px;outline:none;font-family:'JetBrains Mono',monospace}
.ed-phase-name:focus,.ed-phase-meta:focus{border-color:var(--g1)}
.ed-steps{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.ed-step{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:5px}
.ed-step.ed-rest{background:rgba(90,180,255,.03);border-color:rgba(90,180,255,.08)}
.ed-step-head{display:flex;justify-content:space-between;align-items:center;gap:6px}
.ed-step-badge{font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;letter-spacing:.5px;color:var(--tx2);background:rgba(255,255,255,.04);padding:2px 7px;border-radius:4px;white-space:nowrap}
.ed-step.ed-rest .ed-step-badge{color:var(--blue);background:rgba(90,180,255,.08)}
.ed-step-del{background:rgba(255,90,95,.08);border:1px solid rgba(255,90,95,.18);color:var(--red);font-size:11px;padding:3px 8px;border-radius:5px;cursor:pointer;transition:.2s;line-height:1}
.ed-step-del:hover{background:rgba(255,90,95,.2);border-color:var(--red)}
.ed-step-name,.ed-step-info{width:100%;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.06);color:#fff;padding:6px 9px;border-radius:6px;font-size:12px;outline:none;font-family:'Rubik',sans-serif}
.ed-step-info{color:var(--g2);font-family:'JetBrains Mono',monospace;font-size:11px}
.ed-step-name:focus,.ed-step-info:focus{border-color:var(--g1);background:rgba(212,168,83,.04)}
.ed-phase-actions{display:flex;gap:8px;flex-wrap:wrap}
.ed-add-btn{background:rgba(90,230,138,.06);border:1px dashed rgba(90,230,138,.25);color:var(--grn);font-family:'Rubik',sans-serif;font-size:11px;font-weight:600;padding:6px 12px;border-radius:7px;cursor:pointer;transition:.2s}
.ed-add-btn:hover{background:rgba(90,230,138,.14);border-color:var(--grn);transform:translateY(-1px)}
.ed-add-btn.ed-add-rest{color:var(--blue);background:rgba(90,180,255,.06);border-color:rgba(90,180,255,.25)}
.ed-add-btn.ed-add-rest:hover{background:rgba(90,180,255,.16);border-color:var(--blue)}
.ed-footer{display:flex;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(212,168,83,.1);flex-wrap:wrap}
.ed-btn{padding:9px 14px;border-radius:8px;font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.5px;cursor:pointer;border:1px solid transparent;transition:.2s}
.ed-btn-save{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border-color:var(--g1);flex:1;min-width:90px}
.ed-btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,168,83,.3)}
.ed-btn-cancel{background:rgba(255,255,255,.04);color:var(--tx2);border-color:rgba(255,255,255,.08)}
.ed-btn-cancel:hover{background:rgba(255,255,255,.08);color:#fff}
.ed-btn-reset{background:rgba(176,138,255,.08);color:var(--purple);border-color:rgba(176,138,255,.25)}
.ed-btn-reset:hover{background:rgba(176,138,255,.18);border-color:var(--purple)}

/* V8.3 — Form Note Modal (3.2) */
.form-note-modal .alt-title{color:var(--blue)}
.form-note-modal .alt-title{background:none;-webkit-text-fill-color:initial}
.form-note-sheet{max-width:520px;margin:0 auto}
.form-note-gif-wrap{margin:8px 0 14px;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.05);max-height:280px;display:flex;align-items:center;justify-content:center}
.form-note-gif-wrap img{max-width:100%;max-height:280px;display:block}
.form-note-body{background:rgba(90,180,255,.04);border:1px solid rgba(90,180,255,.12);border-right:3px solid var(--blue);border-radius:0 10px 10px 0;padding:14px 16px;font-size:13px;line-height:1.85;color:var(--tx);font-family:'Rubik',sans-serif}
.form-note-body b{color:#fff;font-weight:700}
.form-note-hint{margin-top:14px;padding:10px 14px;background:rgba(212,168,83,.05);border:1px dashed rgba(212,168,83,.18);border-radius:9px;font-size:11.5px;color:var(--tx2);line-height:1.6;text-align:center}
.form-note-hint b{color:var(--g2)}

/* ============================================================
 * V9.4 — MOBILE OPTIMIZATION (Comprehensive)
 * ============================================================
 * يطبّق Best practices للموبايل:
 *  • iOS auto-zoom prevention (inputs >= 16px)
 *  • Safe-area-inset للـ floating elements (iPhone X+)
 *  • text-size-adjust لمنع iOS من تكبير عشوائي
 *  • touch-action: manipulation للأزرار (يلغي 300ms delay)
 *  • تحسين spacing للشاشات الصغيرة (32px → 16px → 12px)
 *  • Modals full-screen عند < 480px
 *  • track-input redesign للهاتف (priority للوزن/التكرار)
 *  • Equipment grid يتكيّف حتى 320px
 *  • Landscape mode للهواتف الأفقية
 * ============================================================ */

/* ---------- A. CSS variables للـ safe-area ---------- */
:root{
  --sai-top: env(safe-area-inset-top, 0px);
  --sai-bottom: env(safe-area-inset-bottom, 0px);
  --sai-left: env(safe-area-inset-left, 0px);
  --sai-right: env(safe-area-inset-right, 0px);
}

/* ---------- B. منع iOS auto-zoom + إصلاحات عامة ---------- */
html{
  -webkit-text-size-adjust:100%; /* منع iOS من تكبير النص في landscape */
  text-size-adjust:100%;
}
button, a, [role="button"]{
  touch-action:manipulation; /* يلغي 300ms tap delay */
  -webkit-tap-highlight-color:rgba(212,168,83,.12); /* فيدباك لمسي ذهبي خفيف */
}
input, select, textarea{
  font-size:16px !important; /* iOS لا يُكبّر inputs >= 16px */
  -webkit-appearance:none; appearance:none;
  -webkit-text-size-adjust:100%;
}
/* لكن نريد visual size أصغر — استخدم transform أو خفّف الـ font في desktop فقط */
@media (min-width:768px){
  input, select, textarea{font-size:14px !important}
}

/* ---------- C. Safe-area للعناصر العائمة ---------- */
.fab{
  bottom:calc(24px + var(--sai-bottom));
  left:calc(24px + var(--sai-left));
}
.fab-menu{
  bottom:calc(88px + var(--sai-bottom));
  left:calc(24px + var(--sai-left));
}
.btt{
  bottom:calc(90px + var(--sai-bottom));
  left:calc(20px + var(--sai-left));
}
.install-btn{
  bottom:calc(24px + var(--sai-bottom));
  right:calc(24px + var(--sai-right));
}
.sess-bar{
  padding-bottom:max(12px, var(--sai-bottom)) !important;
}
.tf, .ttrig{ /* rest timer floating */
  bottom:calc(var(--bottom-anchor, 24px) + var(--sai-bottom));
}

/* ---------- D. تحسينات track-input للموبايل (الأهم) ---------- */
/* الـ inputs أصبحت 16px (لمنع zoom) — نُكبّر width و padding ليبدو متناسقاً
   ونرتّب العناصر بحيث في الموبايل: [وزن] [تكرار] [حفظ] في صف، الباقي تحت */
@media (max-width:600px){
  .track-input{
    gap:6px;
    padding:10px 8px;
    align-items:stretch;
  }
  .track-input label{
    font-size:9.5px;
    align-self:center;
  }
  .track-input input{
    width:68px;          /* أوسع من 55px */
    padding:10px 8px;     /* أعلى — لمس أسهل */
    font-size:16px !important;  /* iOS no-zoom */
    min-height:42px;
  }
  .track-input .save-btn{
    padding:10px 16px;
    font-size:12px;
    min-height:42px;
    flex-shrink:0;
  }
  .track-input .last{
    flex-basis:100%;
    text-align:right;
    margin-top:4px;
    font-size:10.5px;
  }
}

/* ---------- E. تقليل padding للشاشات الصغيرة ---------- */
@media (max-width:600px){
  .sec{padding:18px 14px}
  .card{padding:16px 14px; margin-bottom:14px}
  .ch{gap:10px; margin-bottom:14px}
  .ci{width:38px; height:38px; font-size:17px; border-radius:11px}
  .ct{font-size:15.5px}
  .cs{font-size:11px}
  .tip{padding:9px 10px; gap:8px; font-size:11.5px}
  .tip .ti{font-size:14px}
}

/* ---------- F. Hero مضغوط على الموبايل ---------- */
@media (max-width:600px){
  .hero{padding:32px 16px 28px}
  .hero h1{font-size:clamp(26px,8vw,40px); margin-bottom:8px}
  .hero .hl{font-size:9px; letter-spacing:3px; padding:6px 16px; margin-bottom:14px}
  .hero .hsub{font-size:12.5px; margin-bottom:20px; line-height:1.65}
  .sbar{gap:5px}
  .sp{padding:7px 13px; font-size:11px}
  .sp .n{font-size:13px}
  .sp .l{font-size:10px}
}

/* ---------- G. Nav tabs ---------- */
@media (max-width:600px){
  .nav{padding:0 8px}
  .nav-brand{font-size:12px; padding:12px 6px 12px 0}
  .nb{padding:12px 10px; font-size:11px}
  .ni{padding:0 2px; gap:0}
}
@media (max-width:380px){
  .nav-brand{display:none} /* وفّر مساحة في الشاشات الضيقة */
  .nb{padding:12px 8px}
}

/* ---------- H. Equipment grid يتكيّف حتى 320px ---------- */
@media (max-width:600px){
  .eg{grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:7px}
  .ei{padding:10px 10px; font-size:11.5px; border-radius:10px}
  .ei .ec{font-size:8.5px; margin-top:2px}
}
@media (max-width:380px){
  .eg{grid-template-columns:repeat(2,1fr); gap:6px}
  .ei{padding:9px 8px; font-size:11px}
}

/* ---------- I. Tables (تحول لـ horizontal scroll بدل crush) ---------- */
.bm-table-wrap, .pt{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
@media (max-width:600px){
  .bm-table-wrap{overflow-x:auto; margin:0 -14px; padding:0 14px}
  .pt{font-size:11.5px}
  .pt th, .pt td{padding:8px 6px}
}

/* ---------- J. Day cards (الأهم: تمارين) ---------- */
@media (max-width:600px){
  .dy{margin-bottom:10px; border-radius:14px}
  .dh{padding:14px 12px; gap:10px}
  .db{width:44px; height:44px; font-size:11px}
  .dn{font-size:13px; line-height:1.4}
  .df{font-size:10.5px}
  .dt{font-size:9px; padding:3px 8px}
  .dbi{padding:14px 10px 16px}
  .phase-bar{padding:9px 12px; margin:12px 0 6px}
  .phase-bar .pn{font-size:12.5px}
  .phase-bar .pl{font-size:8.5px; padding:2px 7px}
  .phase-bar .pmeta{font-size:10px}
  .step{margin:4px 0}
  .step-num{width:34px; font-size:12px}
  .step-body{padding:8px 12px}
  .step-name{font-size:12.5px}
  .step-info .si-main{font-size:12px}
  .step-info .si-sub{font-size:10px}
  .step-body.has-form-note .step-name{padding-left:30px}
}

/* ---------- K. Modals full-screen على الموبايل ---------- */
@media (max-width:600px){
  .stats-modal{padding:0; align-items:stretch}
  .stats-modal.open{align-items:stretch}
  .stats-content{
    max-width:100%; width:100%; max-height:100vh; height:100vh;
    border-radius:0; padding:18px 16px;
    padding-top:calc(18px + var(--sai-top));
    padding-bottom:calc(18px + var(--sai-bottom));
    border:none;
  }
  .close-modal{
    top:calc(10px + var(--sai-top)); left:10px;
    width:38px; height:38px; font-size:22px;
    border-radius:50%; background:rgba(255,255,255,.06);
    display:flex; align-items:center; justify-content:center
  }
  .stats-content h2{font-size:18px; letter-spacing:1px; margin-bottom:14px; padding-top:30px}
}

/* Bottom sheet modals (alt, form-note, ex-history) — يبقى bottom-sheet لكن full-width */
@media (max-width:600px){
  .alt-sheet, .form-note-sheet, .exh-sheet{
    max-height:90vh;
    padding-bottom:calc(20px + var(--sai-bottom)) !important;
  }
}

/* ---------- L. FAB menu على الموبايل ---------- */
@media (max-width:600px){
  .fab{width:52px; height:52px; font-size:22px}
  .fab-menu button{padding:11px 14px; font-size:12.5px; min-height:44px}
}

/* ---------- M. Session bar mobile ---------- */
@media (max-width:600px){
  .sess-bar{padding:10px 12px !important; gap:8px}
  .sb-info{min-width:0}
  .sb-day{font-size:13px}
  .sb-meta{font-size:10.5px}
  .sb-end{padding:8px 14px !important; font-size:11.5px}
  .sb-min{width:32px; height:32px}
}

/* ---------- N. Dashboard mobile ---------- */
@media (max-width:600px){
  .dash-hero{padding:18px 16px 16px; border-radius:14px}
  .dash-hero .dh-title{font-size:22px}
  .dash-hero .dh-sub{font-size:12px; margin-bottom:14px}
  .dash-hero .dh-cta{padding:12px 22px; font-size:12.5px}
  .dash-card{padding:12px 14px; border-radius:12px}
  .dash-card-head{font-size:11.5px; margin-bottom:8px}
  .dash-stats-grid .dss-cell{padding:7px 4px}
  .dash-stats-grid .dss-cell b{font-size:14px}
  .dash-stats-grid .dss-cell span{font-size:9px}
}

/* ---------- O. Daily Log + Food Log mobile ---------- */
@media (max-width:600px){
  .dl-row{flex-wrap:wrap; gap:8px}
  .dl-label{flex-basis:100%; font-size:12px}
  .dl-counter{margin-right:0}
  .dl-step{min-width:38px; min-height:38px; font-size:14px}
  .dl-num-input{font-size:16px !important; min-height:38px; width:80px}
  .dl-chips{gap:5px}
  .dl-chip{font-size:11px; padding:6px 10px}
  .flp-entry{padding:9px 10px}
  .flp-entry-name{font-size:12px}
  .flp-entry-meta{font-size:10px}
  .flp-add{padding:8px 12px; font-size:11px; min-height:38px}
}

/* ---------- P. Plate Calculator + Profile mobile ---------- */
@media (max-width:600px){
  .bm-grid{gap:8px}
  .bm-field input, .bm-field select{font-size:16px !important; padding:11px 12px}
  .bm-field label{font-size:11px}
  .bm-save{padding:13px; font-size:13px; min-height:48px}
  .pc-plate-chips{gap:5px}
  .prof-program-card{padding:11px 12px; border-radius:10px}
  .ppc-name{font-size:13px}
  .ppc-desc{font-size:10.5px}
  .ppc-select-btn{padding:6px 11px; font-size:10.5px}
}

/* ---------- Q. Footer mobile ---------- */
@media (max-width:600px){
  .footer{padding:32px 16px 90px}
  .footer-brand{font-size:18px}
  .footer-text{font-size:11px}
  .footer-stats{gap:10px; margin-top:14px}
  .footer-stat{padding:5px 11px; font-size:10px}
}

/* ---------- R. Toast mobile (تجنب تداخل مع session bar) ---------- */
@media (max-width:600px){
  #toast{
    bottom:calc(80px + var(--sai-bottom)) !important;
    left:14px !important; right:14px !important;
    max-width:none !important; width:auto !important;
    font-size:12.5px;
  }
}

/* ---------- S. Onboarding mobile ---------- */
@media (max-width:600px){
  .onb-card{padding:24px 18px 18px; border-radius:18px; max-height:94vh}
  .onb-icon{font-size:42px}
  .onb-title{font-size:22px; line-height:1.25}
  .onb-sub{font-size:12.5px; line-height:1.6}
  .onb-nav{gap:8px; margin-top:14px}
  .onb-btn-prev, .onb-btn-next, .onb-btn-skip{padding:11px 16px; font-size:12px; min-height:44px}
}

/* ---------- T. شاشات صغيرة جداً (< 360px) ---------- */
@media (max-width:359px){
  .sec{padding:14px 10px}
  .card{padding:14px 10px}
  .hero{padding:24px 12px 22px}
  .hero h1{font-size:24px}
  .track-input{flex-direction:column; align-items:stretch; padding:10px 8px}
  .track-input input{width:100%; min-height:46px}
  .track-input .save-btn{width:100%; margin-right:0; min-height:46px}
  .track-input label{display:none} /* وفّر مساحة */
  .nav-brand{display:none}
  .nb{padding:12px 7px; font-size:10.5px}
  .dh-grid{gap:8px}
  .footer-stats{flex-direction:column; gap:6px}
}

/* ---------- U. Landscape phones (height < 500px) ---------- */
@media (max-height:500px) and (orientation:landscape){
  .hero{padding:18px 18px 14px}
  .hero h1{font-size:22px; margin-bottom:4px}
  .hero .hsub{margin-bottom:10px; font-size:11.5px}
  .sbar{margin-top:6px}
  .sec{padding:14px 18px}
  .card{margin-bottom:10px; padding:12px 16px}
  .ch{margin-bottom:10px}
  /* اخفِ floating progress bar في landscape ضيق */
  .progress-bar{display:none}
  /* hero-toggle position أيمن لتجنب التداخل */
  .hero-toggle{top:8px; left:8px}
  /* modals: أعلى الـ viewport للوصول السريع */
  .stats-content{max-height:96vh}
}

/* ---------- V. RTL fixes للموبايل (overscroll, momentum) ---------- */
body{
  overscroll-behavior-y:contain; /* يمنع pull-to-refresh accidental */
  -webkit-overflow-scrolling:touch;
}
.ni, .food-cat-filter, .prog-tabs, .bmt-chart-tabs{
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
.nb, .fc-chip, .prog-tab, .bmt-tab{
  scroll-snap-align:start;
}

/* ---------- W. Voice button positioning fix on mobile ---------- */
@media (max-width:600px){
  .voice-btn{width:38px; height:38px; font-size:15px; margin-right:2px}
}

/* ---------- X. منع select text accidental ---------- */
.hero, .nav, .sess-bar, .sess-pill, .fab, .fab-menu, .dh-tag, .dh-title, .dh-sub,
.day-summary, .phase-bar, .step-num, .dt, .badge, .today-badge, .week-pill,
.dash-stats-head, .ds-icon, .ds-current span, .ds-best, .sp-fire, .sp-current-lbl{
  user-select:none;
  -webkit-user-select:none;
}

/* ---------- Y. Status bar colour matching (iOS standalone PWA) ---------- */
@media (display-mode:standalone){
  body{padding-top:var(--sai-top)} /* تجنّب الـ status bar في PWA mode */
  .nav{top:0; padding-top:var(--sai-top)}
}

/* ---------- Z. تحسينات chart canvases على الموبايل ---------- */
@media (max-width:600px){
  .chart-wrap{padding:12px 10px}
  .chart-wrap h3{font-size:12.5px; margin-bottom:8px}
  .chart-wrap canvas{max-height:240px !important}
  .bmt-chart-wrap{padding:10px 8px}
  #bmtChart{max-height:220px !important}
}

/* ---------- AA. Tap feedback class (مكمّل لـ :active على iOS) ---------- */
.is-pressing{
  transform:scale(.96) !important;
  opacity:.85 !important;
  transition:transform .08s, opacity .08s !important;
}
.dash-action.is-pressing,
.guide-hub-card.is-pressing,
.fpp-chip.is-pressing{
  transform:scale(.97) !important;
}

/* ---------- BB. Real viewport height (iOS Safari) ---------- */
/* استخدم --real-vh عبر calc حيث 100vh لا يكفي.
   مثال: max-height: calc(var(--real-vh, 1vh) * 100); */
.stats-content, .alt-sheet, .vo-card{
  max-height: calc(var(--real-vh, 1vh) * 92);
}
@media (max-width:600px){
  .stats-content{
    max-height: calc(var(--real-vh, 1vh) * 100);
    height: calc(var(--real-vh, 1vh) * 100);
  }
}

/* ============================================================
 * V9.9 — UI/UX OVERHAUL (Sprint 1)
 * ============================================================
 * 1. Focus Mode: إخفاء الـ chrome أثناء الجلسة النشطة
 * 2. Weight Suggestion Chip بارز فوق track-input
 * 3. Hero collapse-by-default بعد 3+ جلسات
 * 4. Daily Log sub-tabs (3 أقسام)
 * 5. Guide tab — V4 content خلف collapsible
 * 6. Week grid status colors (done/today/missed/upcoming)
 * 7. Day filter strip أفقي sticky
 * ============================================================ */

/* ============ 1. FOCUS MODE ============ */
/* عند بدء جلسة، أخفِ كل اليوم غير النشط + كل بطاقات الشرح/التحذيرات
   ابقِ فقط: nav + sess-bar + اليوم النشط + program container body */
/* V9.14.17 (#5) — أثناء الجلسة أخفِ الشرح/الجداول/النصائح/تبويبات الأيام (نُقلت لـ .t1-disclosure/.tip) */
body.sess-active.focus-mode #t1 > .card,
body.sess-active.focus-mode #t1 > .t1-disclosure,
body.sess-active.focus-mode #t1 > .tip,
body.sess-active.focus-mode #t1 > .day-tabs{display:none !important}
body.sess-active.focus-mode #t1 #missedDayBanner,
body.sess-active.focus-mode #t1 #gymMismatchBanner{display:none !important}
body.sess-active.focus-mode #t0,
body.sess-active.focus-mode #t2,
body.sess-active.focus-mode #t3,
body.sess-active.focus-mode #t4,
body.sess-active.focus-mode #t5,
body.sess-active.focus-mode #t6,
body.sess-active.focus-mode #t7,
body.sess-active.focus-mode #t8{
  /* لا نلمس tabs الأخرى - المستخدم يقدر يتنقل، لكن في t1 نفصل */
}
/* في t1: أخفِ كل الأيام غير النشطة */
body.sess-active.focus-mode #t1 .dy:not(.last-session-day):not(.today-day):not(.session-active-day){
  display:none !important
}
/* أخفِ شريط الأيام الأفقي أيضاً أثناء Focus */
body.sess-active.focus-mode .day-strip{display:none !important}
/* footer + back-to-top + week-float + plate-calc-fab أثناء Focus */
body.sess-active.focus-mode .footer,
body.sess-active.focus-mode .btt,
body.sess-active.focus-mode .week-float{display:none !important}

/* Focus toggle button - يظهر داخل sess-bar */
.sess-bar .sb-focus{background:rgba(212,168,83,.12);color:var(--g2);border:1px solid rgba(212,168,83,.3);border-radius:7px;width:30px;height:30px;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0;transition:.2s;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}
.sess-bar .sb-focus:hover{background:rgba(212,168,83,.2);color:#fff}
.sess-bar .sb-focus.active{background:linear-gradient(135deg,var(--g1),var(--g2));color:#000;box-shadow:0 0 12px rgba(212,168,83,.4)}

/* Focus exit hint - شريط صغير يظهر فوق نسخة Focus */
.focus-exit-hint{display:none}
body.sess-active.focus-mode .focus-exit-hint{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:0 0 12px;padding:9px 14px;
  background:linear-gradient(135deg,rgba(212,168,83,.1),rgba(212,168,83,.04));
  border:1px solid rgba(212,168,83,.25);border-radius:10px;
  font-size:11.5px;color:var(--g2);font-family:'JetBrains Mono',monospace
}
.focus-exit-hint button{
  background:rgba(212,168,83,.12);color:var(--g2);
  border:1px solid rgba(212,168,83,.3);border-radius:6px;
  padding:4px 10px;font-size:10.5px;cursor:pointer;font-family:'Outfit',sans-serif;font-weight:700;letter-spacing:1px
}

/* ============ 2. WEIGHT SUGGESTION CHIP ============ */
/* chip ذهبي كبير بارز فوق track-input يعرض الوزن المقترح */
.weight-chip{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:8px 0 6px;padding:10px 14px;
  background:linear-gradient(135deg,rgba(212,168,83,.14),rgba(212,168,83,.06));
  border:1.5px solid rgba(212,168,83,.4);border-radius:12px;
  box-shadow:0 4px 14px rgba(212,168,83,.12);
  font-family:'JetBrains Mono',monospace
}
.weight-chip .wc-icon{
  width:32px;height:32px;border-radius:9px;
  background:linear-gradient(145deg,var(--g1),var(--g3));
  color:#000;display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:800;flex-shrink:0
}
.weight-chip .wc-body{flex:1;min-width:0}
.weight-chip .wc-label{font-size:9.5px;color:var(--tx3);letter-spacing:1.2px;text-transform:uppercase;font-family:'Outfit',sans-serif;font-weight:700}
.weight-chip .wc-val{font-size:18px;color:#fff;font-weight:800;line-height:1.2;margin-top:1px}
.weight-chip .wc-val b{color:var(--g2);font-size:22px}
.weight-chip .wc-val small{color:var(--tx3);font-size:11px;margin-right:4px}
.weight-chip .wc-reps{font-size:10.5px;color:var(--tx2);margin-top:2px}
.weight-chip .wc-reps b{color:var(--g2)}
.weight-chip .wc-apply{
  background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;
  border:none;padding:9px 14px;border-radius:8px;
  font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:800;letter-spacing:1px;
  cursor:pointer;flex-shrink:0;transition:.2s;text-transform:uppercase
}
.weight-chip .wc-apply:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(212,168,83,.4)}
.weight-chip.deload-mode{background:linear-gradient(135deg,rgba(90,180,255,.12),rgba(90,180,255,.04));border-color:rgba(90,180,255,.35)}
.weight-chip.deload-mode .wc-icon{background:linear-gradient(145deg,var(--blue),#7BC8FF)}
.weight-chip.deload-mode .wc-val b{color:var(--blue)}
.weight-chip.deload-mode .wc-apply{background:linear-gradient(135deg,var(--blue),#7BC8FF)}
.weight-chip.first-time{background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border-color:rgba(255,255,255,.08)}
.weight-chip.first-time .wc-icon{background:linear-gradient(145deg,#444,#222);color:var(--tx2)}
.weight-chip.first-time .wc-val b{color:var(--tx2)}
.weight-chip.first-time .wc-apply{display:none}

@media (max-width:600px){
  .weight-chip{padding:9px 12px;gap:10px}
  .weight-chip .wc-icon{width:28px;height:28px;font-size:14px}
  .weight-chip .wc-val{font-size:16px}
  .weight-chip .wc-val b{font-size:20px}
  .weight-chip .wc-apply{padding:8px 11px;font-size:10px}
}

/* ============ 3. HERO COLLAPSE ============ */
/* الهيدر الكبير في Dashboard يصبح compact بعد 3+ جلسات */
.dash-hero.compact-mode{
  padding:10px 14px !important;min-height:auto !important
}
.dash-hero.compact-mode .dh-greeting,
.dash-hero.compact-mode .dh-sub,
.dash-hero.compact-mode .dh-reco,
.dash-hero.compact-mode .dh-time,
.dash-hero.compact-mode .dh-deload{display:none !important}
.dash-hero.compact-mode .dh-mini{display:flex !important}
.dash-hero .dh-mini{display:none;align-items:center;gap:10px;font-family:'Outfit',sans-serif;font-size:12.5px;color:#fff;font-weight:700}
.dash-hero .dh-mini b{color:var(--g2)}
.dash-hero .dh-mini .dh-mini-dot{color:var(--tx3)}
.dash-hero .dh-mini .dh-mini-badge{
  margin-right:auto;background:rgba(212,168,83,.12);color:var(--g2);
  border:1px solid rgba(212,168,83,.25);border-radius:14px;
  padding:3px 10px;font-size:10px;letter-spacing:.5px
}
.dash-hero-expand-btn{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  color:var(--tx2);border-radius:7px;width:28px;height:28px;
  font-size:13px;font-weight:700;cursor:pointer;transition:.2s;
  display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent
}
.dash-hero-expand-btn:hover{background:rgba(212,168,83,.1);color:var(--g2)}

/* ============ 4. DAILY LOG SUB-TABS ============ */
.dl-subtabs{
  display:flex;gap:6px;margin:0 0 14px;padding:5px;
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);
  border-radius:11px;overflow-x:auto;-webkit-overflow-scrolling:touch
}
.dl-subtab{
  flex:1;min-width:0;background:transparent;border:none;
  color:var(--tx2);font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;
  padding:9px 10px;border-radius:8px;cursor:pointer;transition:.25s;
  letter-spacing:.5px;white-space:nowrap;-webkit-tap-highlight-color:transparent
}
.dl-subtab:hover{color:#fff;background:rgba(255,255,255,.03)}
.dl-subtab.a{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;box-shadow:0 2px 10px rgba(212,168,83,.2)}
.dl-subpane{display:none}
.dl-subpane.a{display:block;animation:fadeUp .35s cubic-bezier(.16,1,.3,1)}

/* ============ 5. GUIDE COLLAPSIBLE V4 CONTENT ============ */
.guide-v4-collapsible{margin-top:16px}
.guide-v4-collapsible summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;
  padding:14px 16px;background:linear-gradient(135deg,rgba(212,168,83,.06),rgba(212,168,83,.02));
  border:1px solid rgba(212,168,83,.15);border-radius:12px;
  font-family:'Outfit',sans-serif;font-weight:700;font-size:12.5px;color:var(--g2);
  letter-spacing:.5px;transition:.25s
}
.guide-v4-collapsible summary::-webkit-details-marker{display:none}
.guide-v4-collapsible summary:hover{border-color:rgba(212,168,83,.3);background:linear-gradient(135deg,rgba(212,168,83,.1),rgba(212,168,83,.04))}
.guide-v4-collapsible summary::before{content:'▶';color:var(--g2);font-size:9px;transition:.3s}
.guide-v4-collapsible[open] summary::before{transform:rotate(90deg)}
.guide-v4-collapsible summary small{margin-right:auto;color:var(--tx3);font-size:10.5px;font-weight:500;letter-spacing:0}
.guide-v4-body{margin-top:14px;animation:fadeUp .35s cubic-bezier(.16,1,.3,1)}

/* ============ 6. WEEK GRID STATUS ============ */
/* status icons in dashboard week split card */
.wc[data-week-status]{position:relative}
.wc[data-week-status="done"]{background:linear-gradient(145deg,rgba(90,230,138,.1),rgba(90,230,138,.02));border-color:rgba(90,230,138,.25)}
.wc[data-week-status="done"]::after{content:'✓';position:absolute;top:-7px;right:-5px;width:18px;height:18px;border-radius:50%;background:var(--grn);color:#000;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(90,230,138,.4)}
.wc[data-week-status="missed"]{background:linear-gradient(145deg,rgba(255,90,95,.08),rgba(255,90,95,.02));border-color:rgba(255,90,95,.25);opacity:.85}
.wc[data-week-status="missed"]::after{content:'⚠';position:absolute;top:-7px;right:-5px;width:18px;height:18px;border-radius:50%;background:var(--red);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(255,90,95,.4)}
.wc[data-week-status="upcoming"]{opacity:.65}
.wc[data-week-status="upcoming"]::after{content:'';position:absolute;top:-6px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--tx3);opacity:.5}
.wc[data-week-status="today"]{transform:scale(1.08);box-shadow:0 0 0 2px var(--g1),0 8px 22px rgba(212,168,83,.25);background:linear-gradient(145deg,rgba(212,168,83,.18),rgba(212,168,83,.04));border-color:var(--g1);z-index:2}
.wc[data-week-status="today"]::after{content:'⭐';position:absolute;top:-9px;right:-5px;font-size:14px;animation:pulse 1.6s infinite}
.wc[data-week-status]{cursor:pointer;transition:transform .2s}
.wc[data-week-status]:hover{transform:scale(1.04)}
.wc[data-week-status="today"]:hover{transform:scale(1.12)}

/* ============ 7. DAY FILTER STRIP ============ */
.day-strip{
  position:sticky;top:50px;z-index:55;
  display:flex;gap:5px;margin:0 -22px 12px;padding:8px 22px;
  background:linear-gradient(180deg,rgba(5,6,8,.95),rgba(5,6,8,.88));
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.04);
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity
}
body.sess-active .day-strip{top:100px}
body:has(#deloadHeaderBanner.show) .day-strip{top:142px}
.day-strip::-webkit-scrollbar{display:none}
.ds-chip{
  flex-shrink:0;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  color:var(--tx2);border-radius:10px;padding:7px 12px;cursor:pointer;
  font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.5px;transition:.2s;scroll-snap-align:start;
  -webkit-tap-highlight-color:transparent;min-width:62px;text-align:center
}
.ds-chip:hover{background:rgba(212,168,83,.06);color:var(--g2);border-color:rgba(212,168,83,.15)}
.ds-chip.a{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border-color:transparent;box-shadow:0 4px 14px rgba(212,168,83,.25)}
.ds-chip.today-chip::before{content:'⭐';font-size:10px;margin-left:3px}
.ds-chip.last-session-chip::before{content:'✓';font-size:11px;margin-left:3px;color:var(--blue)}
.ds-chip.last-session-chip.a::before{color:#000}
.ds-chip.rest-chip{opacity:.7}
.ds-chip-day{font-size:10px;color:var(--tx3);display:block;font-weight:500;margin-bottom:1px;letter-spacing:0}
.ds-chip.a .ds-chip-day{color:rgba(0,0,0,.6)}
.ds-chip-type{font-size:11.5px}

@media (max-width:600px){
  .day-strip{margin:0 -16px 10px;padding:7px 16px;gap:4px}
  .ds-chip{padding:6px 9px;font-size:10.5px;min-width:54px}
  .ds-chip-type{font-size:10.5px}
}

/* ============================================================
 * V9.10 — UI/UX Sprint 2 (#8-#15)
 * ============================================================
 * #8 FAB simplify + "more" details
 * #9 Set row redesign (2-row layout, smaller icons)
 * #10 Workout Progress Bar in Session Bar
 * #11 Tips collapsible (single-line + expand)
 * #12 Modals already full-screen mobile (V9.4) — extra polish
 * #13 Last-sets pulse animation
 * #14 Unified day type colors (Push=gold, Pull=blue, Legs=green, Arms=purple, Rest=gray)
 * #15 Bilingual exercise names (Arabic translation below English)
 * ============================================================ */

/* ============ #8 FAB SIMPLIFY ============ */
.fab-more{margin-top:6px;border-top:1px dashed rgba(255,255,255,.06);padding-top:6px}
.fab-more summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;
  padding:9px 14px;color:var(--tx3);font-family:'Outfit',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:1px;
  border-radius:8px;transition:.2s;-webkit-tap-highlight-color:transparent
}
.fab-more summary::-webkit-details-marker{display:none}
.fab-more summary:hover{background:rgba(255,255,255,.03);color:var(--tx2)}
.fab-more summary::after{content:'▾';font-size:10px;margin-right:auto;transition:.25s}
.fab-more[open] summary::after{transform:rotate(180deg)}
.fab-more button{margin-top:4px}

/* ============ #9 SET ROW REDESIGN — صفّان ============ */
/* الصف الأول: weight + plate + reps + save + 📝 + 🎤
   الصف الثاني: RPE chips (full-width تحت) + last */
.track-input{flex-wrap:wrap;align-items:center;gap:6px}
.track-input .rpe-chips{
  order:10;flex-basis:100%;justify-content:center;
  margin-top:4px;padding:4px 6px;gap:4px
}
.track-input .last{order:11;flex-basis:100%;text-align:center;margin-top:2px}
.track-input .set-note-btn,
.track-input .voice-btn{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  width:30px;height:30px;border-radius:7px;font-size:13px;
  padding:0;line-height:1;cursor:pointer;color:var(--tx2);
  display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;flex-shrink:0;transition:.2s
}
.track-input .set-note-btn:hover,
.track-input .voice-btn:hover{background:rgba(212,168,83,.1);color:var(--g2);border-color:rgba(212,168,83,.2)}
.track-input .set-note-btn.has-note{background:rgba(212,168,83,.14);color:var(--g2);border-color:rgba(212,168,83,.3)}
.track-input .save-btn{margin-right:0;flex-shrink:0}
.track-input .plate-calc-btn{width:30px;height:30px;padding:0;margin-right:0;display:flex;align-items:center;justify-content:center;font-size:14px}
.track-input label{font-size:10px;flex-shrink:0}
.track-input input{width:62px}
@media (max-width:600px){
  .track-input{gap:5px;padding:6px}
  .track-input input{width:58px;font-size:14px;padding:7px 8px}
  .track-input .set-note-btn,.track-input .voice-btn,.track-input .plate-calc-btn{width:32px;height:32px;font-size:14px}
  .track-input .save-btn{padding:8px 14px;font-size:11.5px}
  .track-input .rpe-chips{padding:5px 8px;gap:5px}
  .track-input .rpe-chip{width:30px;height:30px;font-size:12px}
}

/* ============ #10 WORKOUT PROGRESS BAR (in sess-bar) ============ */
.sess-bar .sb-progress{
  margin-top:5px;display:flex;align-items:center;gap:9px;
  font-family:'JetBrains Mono',monospace
}
.sess-bar .sbp-track{
  flex:1;height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden
}
.sess-bar .sbp-fill{
  height:100%;background:linear-gradient(90deg,var(--g1),var(--g3));
  border-radius:3px;transition:width .35s cubic-bezier(.16,1,.3,1);
  box-shadow:0 0 6px rgba(212,168,83,.4)
}
.sess-bar .sb-progress.almost-done .sbp-fill{
  background:linear-gradient(90deg,var(--grn),#3da868);
  box-shadow:0 0 8px rgba(90,230,138,.5);
  animation:pulse 2s infinite
}
.sess-bar .sb-progress.done .sbp-fill{
  background:linear-gradient(90deg,var(--g1),#fff,var(--g1));
  background-size:200% 100%;animation:shine 2s linear infinite
}
@keyframes shine{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sess-bar .sbp-meta{
  font-size:10px;color:var(--tx2);white-space:nowrap;flex-shrink:0
}
.sess-bar .sbp-meta b{color:var(--g2)}

/* ============ #11 TIPS COLLAPSIBLE ============ */
/* tips تطول → اخفِ ما بعد السطر الأول مع "اقرأ المزيد ›" */
.tip.collapsible:not(.expanded) .tt{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;line-height:1.6;max-height:3.2em
}
.tip.collapsible .tt::after{
  content:none /* override */
}
.tip-more-btn{
  background:none;border:none;color:var(--g2);font-family:'Outfit',sans-serif;
  font-size:10.5px;font-weight:700;letter-spacing:.3px;cursor:pointer;
  padding:4px 0;margin-top:4px;display:inline-flex;align-items:center;gap:3px;
  -webkit-tap-highlight-color:transparent;transition:.2s
}
.tip-more-btn:hover{color:#fff}
.tip-more-btn::after{content:'›';font-size:14px;transition:.25s;display:inline-block}
.tip.expanded .tip-more-btn::after{transform:rotate(90deg)}
.tip.expanded .tt{max-height:none;-webkit-line-clamp:none;display:block}

/* ============ #12 MODALS EXTRA POLISH (Profile + Food Search) ============ */
@media (max-width:600px){
  #profileModal .stats-content,
  #foodSearchModal .stats-content,
  #gymManagerModal .stats-content,
  #plateCalcModal .stats-content{
    padding:14px 14px;
    padding-top:calc(58px + var(--sai-top));
    padding-bottom:calc(20px + var(--sai-bottom))
  }
  #foodSearchModal #foodSearchInput{
    font-size:16px;padding:12px 14px;border-radius:10px
  }
  #foodSearchModal #foodSearchResults{
    max-height:calc(var(--real-vh,1vh)*55)
  }
  #profileModal .bm-grid{grid-template-columns:1fr 1fr;gap:8px}
  #profileModal .bm-field input,
  #profileModal .bm-field select{font-size:16px;padding:11px 12px}
}

/* ============ #13 LAST-SETS PULSE ============ */
.step.last-sets-pulse{
  animation:lastSetsPulse 2.2s ease-in-out infinite;
  border-radius:10px
}
.step.last-set-final{
  position:relative;
  animation:lastSetFinal 1.6s ease-in-out infinite;
  border-radius:10px
}
.step.last-set-final::before{
  content:'🔥';position:absolute;top:-8px;right:-4px;font-size:18px;
  animation:bounce 1s ease-in-out infinite;
  filter:drop-shadow(0 0 4px var(--red))
}
@keyframes lastSetsPulse{
  0%,100%{background:transparent}
  50%{background:rgba(212,168,83,.06)}
}
@keyframes lastSetFinal{
  0%,100%{background:transparent;box-shadow:none}
  50%{background:rgba(255,90,95,.08);box-shadow:0 0 0 2px rgba(255,90,95,.18)}
}
@keyframes bounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}

/* ============ #14 UNIFIED DAY TYPE COLORS ============ */
/* نظام لوني موحّد لكل ألوان dayType في كل أماكن العرض:
   Push=ذهبي (g1)، Pull=أزرق (blue)، Legs=أخضر (grn)، Arms=بنفسجي (purple)، Rest=رمادي ذهبي خفيف */
:root{
  --dt-push:var(--g1);    --dt-push-bg:rgba(212,168,83,.08);    --dt-push-border:rgba(212,168,83,.25);
  --dt-pull:var(--blue);  --dt-pull-bg:rgba(90,180,255,.08);   --dt-pull-border:rgba(90,180,255,.25);
  --dt-legs:var(--grn);   --dt-legs-bg:rgba(90,230,138,.08);   --dt-legs-border:rgba(90,230,138,.25);
  --dt-arms:var(--purple);--dt-arms-bg:rgba(176,138,255,.08);  --dt-arms-border:rgba(176,138,255,.25);
  --dt-rest:var(--tx3);   --dt-rest-bg:rgba(255,255,255,.025); --dt-rest-border:rgba(255,255,255,.06)
}
/* Week grid (.wg في Dashboard) — استخدم data-day-type لتحديد الفئة */
.wc.cp[data-day-type="push"],
.wc.cp:not([data-day-type]){background:var(--dt-push-bg);border-color:var(--dt-push-border)}
.wc.cp[data-day-type="push"] .wt,
.wc.cp:not([data-day-type]) .wt{color:var(--dt-push)}
/* cpl = Arms (بنفسجي) — تغيير من الأزرق إلى البنفسجي للتفريق بين Pull و Arms */
.wc.cpl{background:var(--dt-arms-bg);border-color:var(--dt-arms-border)}
.wc.cpl .wt{color:var(--dt-arms)}
.wc.cl{background:var(--dt-legs-bg);border-color:var(--dt-legs-border)}
.wc.cl .wt{color:var(--dt-legs)}
.wc.cr{background:var(--dt-rest-bg);border-color:var(--dt-rest-border)}
.wc.cr .wt{color:var(--g1)}
/* Day badge in t1 (.dt: tp/tpl/tl) */
.dt.tp{background:var(--dt-push-bg);color:var(--dt-push);border:1px solid var(--dt-push-border)}
.dt.tpl{background:var(--dt-arms-bg);color:var(--dt-arms);border:1px solid var(--dt-arms-border)}
.dt.tl{background:var(--dt-legs-bg);color:var(--dt-legs);border:1px solid var(--dt-legs-border)}
/* .db (day box في t1): استخدم نفس الـ palette */
.db.push{background:linear-gradient(145deg,var(--dt-push-bg),rgba(212,168,83,.02));color:var(--dt-push);border:1px solid var(--dt-push-border);box-shadow:0 4px 12px rgba(212,168,83,.06)}
.db.pull{background:linear-gradient(145deg,var(--dt-arms-bg),rgba(176,138,255,.02));color:var(--dt-arms);border:1px solid var(--dt-arms-border);box-shadow:0 4px 12px rgba(176,138,255,.06)}
.db.legs{background:linear-gradient(145deg,var(--dt-legs-bg),rgba(90,230,138,.02));color:var(--dt-legs);border:1px solid var(--dt-legs-border);box-shadow:0 4px 12px rgba(90,230,138,.06)}
/* Day strip chips */
.ds-chip[data-day-type="push"].a{background:linear-gradient(135deg,var(--dt-push),#E5BF6A);color:#000}
.ds-chip[data-day-type="pull"].a{background:linear-gradient(135deg,var(--dt-pull),#7BC8FF);color:#000}
.ds-chip[data-day-type="legs"].a{background:linear-gradient(135deg,var(--dt-legs),#7BE8A0);color:#000}
.ds-chip[data-day-type="arms"].a{background:linear-gradient(135deg,var(--dt-arms),#C5A0FF);color:#000}
.ds-chip[data-day-type="rest"].a{background:linear-gradient(135deg,var(--dt-rest),#888);color:#fff}

/* ============================================================
 * V9.11 — Homepage Redesign (Tab 0 / Dashboard)
 * ============================================================
 * Status Strip → Primary Hero → Quick Stats → Week Grid →
 * Next Ach → PRs Carousel → Nutrition Bars → Quick Actions
 * ============================================================ */

/* ============ STATUS STRIP ============ */
.dash-status-strip{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  margin:0 0 14px;padding:0;
  font-family:'Outfit',sans-serif
}
.dss-pill{
  display:inline-flex;align-items:center;gap:4px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.06);
  color:var(--tx2);
  border-radius:18px;padding:6px 12px;
  font-size:11.5px;font-weight:700;letter-spacing:.3px;
  white-space:nowrap;transition:.2s
}
.dss-pill b{color:#fff;font-family:'JetBrains Mono',monospace;font-weight:800}
.dss-pill small{font-family:'JetBrains Mono',monospace;color:var(--tx3);font-size:10px;font-weight:600}
.dss-streak{background:rgba(255,90,95,.06);border-color:rgba(255,90,95,.18);color:var(--red)}
.dss-streak b{color:var(--red)}
.dss-day{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.22);color:var(--g2)}
.dss-day.rest{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.06);color:var(--tx2)}
.dss-profile-missing{
  background:linear-gradient(135deg,rgba(255,184,90,.12),rgba(255,184,90,.04));
  border-color:rgba(255,184,90,.3);color:var(--org);cursor:pointer;
  font-family:'Outfit',sans-serif;animation:pulse 2.4s infinite
}
.dss-profile-missing:hover{background:rgba(255,184,90,.18);color:#fff}
@media (max-width:600px){
  .dss-pill{padding:5px 10px;font-size:11px}
}

/* ============ PRIMARY ACTION HERO ============ */
.dash-primary{
  position:relative;background:linear-gradient(135deg,rgba(212,168,83,.1),rgba(212,168,83,.02));
  border:1.5px solid rgba(212,168,83,.3);border-radius:20px;
  padding:24px 22px 22px;margin-bottom:18px;overflow:hidden;
  box-shadow:0 12px 36px rgba(212,168,83,.12);
  animation:fadeUp .5s both
}
.dash-primary::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 500px 250px at 70% -20%,rgba(212,168,83,.15),transparent 60%);
  pointer-events:none
}
.dash-primary.dash-primary-active{
  background:linear-gradient(135deg,rgba(255,90,95,.12),rgba(255,90,95,.02));
  border-color:rgba(255,90,95,.4);box-shadow:0 12px 36px rgba(255,90,95,.18)
}
.dash-primary.dash-primary-rest{
  background:linear-gradient(135deg,rgba(90,180,255,.08),var(--s1));
  border-color:rgba(90,180,255,.25);box-shadow:0 8px 28px rgba(90,180,255,.08)
}
.dpr-tag{
  display:inline-flex;align-items:center;gap:5px;
  font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:800;letter-spacing:1.3px;
  text-transform:uppercase;color:var(--g2);
  background:rgba(212,168,83,.12);border:1px solid rgba(212,168,83,.25);
  padding:5px 12px;border-radius:14px;margin-bottom:14px;position:relative;z-index:1
}
.dash-primary-active .dpr-tag{color:var(--red);background:rgba(255,90,95,.14);border-color:rgba(255,90,95,.3);animation:pulse 1.8s infinite}
.dash-primary-rest .dpr-tag{color:var(--blue);background:rgba(90,180,255,.1);border-color:rgba(90,180,255,.25)}
.dpr-title{
  font-family:'Outfit',sans-serif;font-size:32px;font-weight:800;
  color:#fff;line-height:1.1;margin-bottom:10px;
  letter-spacing:-.5px;position:relative;z-index:1
}
[data-theme="light"] .dpr-title{color:#1A1D24}
.dpr-meta{
  font-size:13px;color:var(--tx2);line-height:1.7;
  margin-bottom:18px;font-family:'JetBrains Mono',monospace;
  position:relative;z-index:1
}
.dpr-meta b{color:#fff;font-weight:700}
[data-theme="light"] .dpr-meta b{color:#1A1D24}
.dpr-extra{
  margin-bottom:14px;padding:9px 12px;
  background:rgba(255,184,90,.08);border:1px solid rgba(255,184,90,.22);
  border-radius:9px;font-size:11.5px;color:var(--org);
  position:relative;z-index:1
}
.dpr-cta{
  display:block;width:100%;
  background:linear-gradient(135deg,var(--g1),var(--g3));
  color:#000;border:none;padding:16px 20px;border-radius:14px;
  font-family:'Outfit',sans-serif;font-size:14px;font-weight:800;
  letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;
  transition:.25s;-webkit-tap-highlight-color:transparent;
  box-shadow:0 6px 18px rgba(212,168,83,.3);
  position:relative;z-index:1
}
.dpr-cta:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(212,168,83,.45)}
.dpr-cta:active{transform:scale(.98)}
.dpr-cta-active{background:linear-gradient(135deg,#FF5A5F,#C04347);color:#fff;box-shadow:0 6px 18px rgba(255,90,95,.35);animation:pulse 2s infinite}
.dpr-cta-secondary{
  background:rgba(255,255,255,.04);color:var(--tx2);
  border:1px solid rgba(255,255,255,.08);
  font-size:12px;padding:13px 18px;box-shadow:none
}
.dpr-cta-secondary:hover{background:rgba(255,255,255,.08);color:#fff;box-shadow:none}
.dpr-motivation{
  margin-top:14px;font-size:11.5px;color:var(--tx2);
  text-align:center;font-family:'Rubik',sans-serif;
  font-style:italic;letter-spacing:.2px;
  position:relative;z-index:1
}
@media (max-width:600px){
  .dash-primary{padding:20px 16px;border-radius:18px;margin-bottom:14px}
  .dpr-title{font-size:26px}
  .dpr-meta{font-size:12px}
  .dpr-cta{font-size:13px;padding:14px 18px}
}

/* ============ QUICK STATS (3 CARDS) ============ */
.dash-quick-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  margin-bottom:14px
}
.dqs-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(145deg,var(--s2),var(--s1));
  border:1px solid rgba(255,255,255,.04);
  border-radius:14px;padding:14px 8px 12px;
  text-align:center;cursor:default;font-family:'Outfit',sans-serif;
  transition:.25s
}
button.dqs-card{cursor:pointer;-webkit-tap-highlight-color:transparent}
button.dqs-card:hover{border-color:rgba(212,168,83,.2);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.15)}
.dqs-icon{font-size:18px;margin-bottom:4px;opacity:.95}
.dqs-num{
  font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:800;
  color:#fff;line-height:1;margin-bottom:3px;letter-spacing:-.5px
}
[data-theme="light"] .dqs-num{color:#1A1D24}
.dqs-lbl{font-size:10px;color:var(--tx3);letter-spacing:.5px;text-transform:uppercase;font-weight:600;margin-bottom:4px}
.dqs-sub{font-size:9.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.dqs-sub b{color:var(--g2);font-weight:800}
.dqs-streak .dqs-num{color:var(--red)}
.dqs-prs .dqs-num{color:var(--g2)}
.dqs-volume .dqs-num{font-size:18px}
@media (max-width:600px){
  .dash-quick-stats{gap:6px}
  .dqs-card{padding:12px 6px 10px}
  .dqs-num{font-size:20px}
  .dqs-volume .dqs-num{font-size:15px}
  .dqs-lbl{font-size:9px}
  .dqs-sub{font-size:9px}
}

/* ============ WEEK GRID INSIDE DASHBOARD ============ */
.dash-week-card{padding:14px 14px 12px}
.dash-week-card .wg{margin:0}
.dash-card-head-mini{
  font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:700;
  color:var(--tx2);letter-spacing:.5px;margin-bottom:12px;
  display:flex;align-items:center;gap:5px
}

/* ============ NEXT ACHIEVEMENT (already styled, only minor tweaks) ============ */
.dash-next-ach{padding:14px 14px 12px}

/* ============ PRs CAROUSEL ============ */
.dash-prs-card{padding:14px 0 8px;overflow:hidden}
.dash-prs-card .dash-card-head-mini{padding:0 14px;margin-bottom:10px}
.dash-prs-carousel{
  display:flex;gap:9px;padding:4px 14px 10px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory
}
.dash-prs-carousel::-webkit-scrollbar{display:none}
.dprc-card{
  flex:0 0 calc(33.333% - 6px);min-width:135px;
  background:linear-gradient(135deg,rgba(212,168,83,.06),rgba(212,168,83,.01));
  border:1px solid rgba(212,168,83,.18);border-radius:12px;
  padding:11px 12px;scroll-snap-align:start;
  font-family:'Outfit',sans-serif
}
.dprc-type{
  font-size:9px;color:var(--g2);text-transform:uppercase;
  letter-spacing:1px;font-weight:800;margin-bottom:5px
}
.dprc-ex{font-size:11.5px;color:#fff;font-weight:700;line-height:1.3;margin-bottom:6px;min-height:30px;overflow:hidden}
.dprc-val{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:800;color:var(--g2);margin-bottom:3px}
.dprc-ago{font-size:9.5px;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.dash-prs-card .dash-card-more{margin:0 14px}
@media (max-width:600px){
  .dprc-card{flex-basis:48%;min-width:140px}
}

/* ============ NUTRITION BARS (3) ============ */
.dash-nutrition-card{padding:14px 14px 12px}
.dash-nut-bars{display:flex;flex-direction:column;gap:11px;margin-bottom:10px}
.dnb-row{}
.dnb-head{
  display:flex;align-items:center;gap:7px;margin-bottom:5px;
  font-family:'Outfit',sans-serif;font-size:11.5px
}
.dnb-ic{font-size:14px;flex-shrink:0}
.dnb-lbl{color:var(--tx2);font-weight:700;letter-spacing:.3px;flex:1}
.dnb-val{font-family:'JetBrains Mono',monospace;color:var(--tx2);font-size:11px;font-weight:700}
.dnb-val b{color:#fff;font-size:13.5px;font-weight:800}
[data-theme="light"] .dnb-val b{color:#1A1D24}
.dnb-val small{color:var(--tx3);font-size:10px;margin-right:3px}
.dnb-track{
  height:7px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden;
  border:1px solid rgba(255,255,255,.04)
}
.dnb-fill{
  height:100%;border-radius:4px;
  transition:width .4s cubic-bezier(.16,1,.3,1)
}
.dnb-fill.dnb-kcal{background:linear-gradient(90deg,var(--org),#FFB85A)}
.dnb-fill.dnb-protein{background:linear-gradient(90deg,var(--red),#FF7A7E)}
.dnb-fill.dnb-water{background:linear-gradient(90deg,var(--blue),#7BC8FF)}
.dnb-fill.low{opacity:.6}
.dnb-fill.full{box-shadow:0 0 8px currentColor}

/* ============ QUICK ACTIONS (3 BUTTONS) ============ */
.dash-actions.dash-actions-3{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px
}

/* ============================================================
 * V9.12 — Daily Start + Disclosure + Step Ops Row
 * ============================================================ */

/* ============ #1 Primary Hero — First Exercise + Plan B button ============ */
.dpr-first-ex{
  display:flex;align-items:center;gap:8px;
  margin:0 0 14px;padding:10px 13px;
  background:rgba(255,255,255,.03);border:1px dashed rgba(212,168,83,.22);
  border-radius:10px;font-family:'JetBrains Mono',monospace;
  position:relative;z-index:1
}
.dpr-fe-lbl{font-size:10px;color:var(--g2);font-weight:700;letter-spacing:.8px;text-transform:uppercase;font-family:'Outfit',sans-serif;flex-shrink:0}
.dpr-first-ex b{color:#fff;font-size:13px;font-weight:800;letter-spacing:.2px}
[data-theme="light"] .dpr-first-ex b{color:#1A1D24}

.dpr-actions-row{margin-top:10px;position:relative;z-index:1}
.dpr-cta-row{
  display:block;width:100%;
  background:rgba(90,180,255,.08);color:var(--blue);
  border:1px solid rgba(90,180,255,.25);
  padding:11px 16px;border-radius:11px;
  font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:800;
  letter-spacing:1px;text-transform:uppercase;cursor:pointer;
  transition:.2s;-webkit-tap-highlight-color:transparent
}
.dpr-cta-row:hover{background:rgba(90,180,255,.14);color:#7BC8FF;border-color:rgba(90,180,255,.45)}

@media (max-width:600px){
  .dpr-first-ex{padding:9px 11px;gap:7px}
  .dpr-first-ex b{font-size:12px}
}

/* ============ Alt button flash (when Plan B hint fires) ============ */
@keyframes altBtnFlash{
  0%,100%{transform:scale(1);box-shadow:none}
  50%{transform:scale(1.18);box-shadow:0 0 0 4px rgba(90,180,255,.25),0 0 16px rgba(90,180,255,.5)}
}
.alt-btn.alt-btn-flash{
  animation:altBtnFlash 1s ease-in-out 3;
  background:rgba(90,180,255,.18);border-color:var(--blue);color:var(--blue)
}

/* ============ #2 t1 Progressive Disclosure ============ */
.t1-disclosure{
  margin:0 0 12px;border-radius:12px;
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);
  overflow:hidden;transition:.25s
}
.t1-disclosure[open]{background:transparent;border-color:rgba(212,168,83,.12)}
.t1-disclosure summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:9px;
  padding:12px 14px;
  font-family:'Outfit',sans-serif;font-weight:700;font-size:12px;
  color:var(--tx2);letter-spacing:.3px;
  transition:.2s;-webkit-tap-highlight-color:transparent
}
.t1-disclosure summary::-webkit-details-marker{display:none}
.t1-disclosure summary:hover{color:#fff;background:rgba(255,255,255,.02)}
.t1-disclosure[open] summary{color:var(--g2);background:rgba(212,168,83,.04)}
.t1-disclosure summary::before{
  content:'▶';font-size:9px;color:var(--g2);transition:.3s;
  flex-shrink:0
}
.t1-disclosure[open] summary::before{transform:rotate(90deg)}
.t1d-icon{font-size:15px;flex-shrink:0;opacity:.9}
.t1d-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t1d-hint{
  font-size:9.5px;color:var(--tx3);font-weight:600;
  letter-spacing:.5px;flex-shrink:0;
  font-family:'Outfit',sans-serif
}
.t1-disclosure[open] .t1d-hint{display:none}
.t1-disclosure > .card{
  border-radius:0;border-top:1px dashed rgba(255,255,255,.05);
  margin-bottom:0 !important
}

/* ============================================================
 * V9.13 — Gym Mode + Bottom Nav + Inline Plan B + Weight +/- + Progress Card
 * ============================================================ */

/* ============================================================
 * V9.14 — Homepage Redesign (Hero + Today's Workout + Program Summary)
 * ============================================================ */

/* ============ 1. HERO SECTION (Explainer) ============ */
.hero-v14{
  background:linear-gradient(160deg,rgba(212,168,83,.08),rgba(212,168,83,.02) 50%,var(--s1));
  border:1px solid rgba(212,168,83,.18);
  border-radius:16px;margin-bottom:14px;overflow:hidden;
  animation:fadeUp .45s both;position:relative
}
.hero-v14::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 500px 300px at 80% -30%,rgba(212,168,83,.1),transparent 60%);
  pointer-events:none
}
.hero-v14 .hv-summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:11px;
  padding:13px 18px;font-family:'Outfit',sans-serif;
  -webkit-tap-highlight-color:transparent;
  position:relative;z-index:1
}
.hero-v14 .hv-summary::-webkit-details-marker{display:none}
.hv-brand{
  font-family:'Outfit',sans-serif;font-weight:800;font-size:14px;
  color:var(--g2);letter-spacing:.5px;flex-shrink:0
}
.hv-tag{
  font-size:11px;color:var(--tx2);font-weight:600;
  letter-spacing:.3px;flex:1;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.hv-toggle{
  color:var(--g2);font-size:14px;transition:.3s;
  flex-shrink:0
}
.hero-v14[open] .hv-toggle{transform:rotate(180deg)}
.hv-body{
  padding:4px 22px 22px;position:relative;z-index:1
}
.hv-title{
  font-family:'Outfit',sans-serif;font-size:22px;font-weight:800;
  color:#fff;line-height:1.25;margin:6px 0 10px;letter-spacing:-.4px
}
[data-theme="light"] .hv-title{color:#1A1D24}
.hv-desc{
  font-family:'Rubik',sans-serif;font-size:13px;
  color:var(--tx2);line-height:1.75;margin:0 0 18px
}
.hv-desc b{color:var(--g2);font-weight:700}
.hv-actions{display:flex;flex-direction:column;gap:8px}
.hv-cta{
  width:100%;padding:14px 16px;border:none;border-radius:11px;
  font-family:'Outfit',sans-serif;font-size:12.5px;font-weight:800;
  letter-spacing:1px;text-transform:uppercase;cursor:pointer;
  transition:.22s;-webkit-tap-highlight-color:transparent
}
.hv-cta-primary{
  background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;
  box-shadow:0 6px 18px rgba(212,168,83,.25)
}
.hv-cta-primary:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(212,168,83,.4)}
.hv-cta-secondary{
  background:rgba(255,255,255,.04);color:var(--tx);
  border:1px solid rgba(212,168,83,.2)
}
.hv-cta-secondary:hover{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.35);color:var(--g2)}
.hv-cta-tertiary{
  background:transparent;color:var(--tx2);
  border:1px dashed rgba(255,255,255,.1);font-size:11.5px
}
.hv-cta-tertiary:hover{color:var(--g2);border-color:rgba(212,168,83,.25);background:rgba(212,168,83,.04)}

@media (max-width:600px){
  .hero-v14 .hv-summary{padding:12px 14px;gap:9px}
  .hv-brand{font-size:13px}
  .hv-tag{font-size:10.5px}
  .hv-body{padding:0 16px 18px}
  .hv-title{font-size:19px;margin-top:4px}
  .hv-desc{font-size:12px;line-height:1.7;margin-bottom:14px}
  .hv-cta{padding:13px 14px;font-size:11.5px}
}

/* ============ Profile missing strip ============ */
.profile-missing-strip{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin-bottom:14px;padding:9px 14px;
  background:rgba(255,184,90,.08);border:1px dashed rgba(255,184,90,.3);
  border-radius:10px;
  font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;
  color:var(--org);cursor:pointer;letter-spacing:.3px;
  transition:.2s
}
.profile-missing-strip:hover{background:rgba(255,184,90,.14);color:#FFC97A}

/* ============ 2. TODAY'S WORKOUT CARD (the BIG one) ============ */
.today-card{
  position:relative;background:linear-gradient(140deg,rgba(212,168,83,.1),rgba(212,168,83,.02) 60%,var(--s1));
  border:1.5px solid rgba(212,168,83,.32);
  border-radius:20px;padding:20px 20px 22px;margin-bottom:16px;
  overflow:hidden;
  box-shadow:0 14px 38px rgba(212,168,83,.14);
  animation:fadeUp .5s both
}
.today-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 500px 250px at 80% -20%,rgba(212,168,83,.18),transparent 60%);
  pointer-events:none
}
.today-card.today-rest{
  background:linear-gradient(140deg,rgba(90,180,255,.08),var(--s1) 60%,var(--s1));
  border-color:rgba(90,180,255,.3);box-shadow:0 12px 32px rgba(90,180,255,.1)
}
.today-card.today-active{
  background:linear-gradient(140deg,rgba(255,90,95,.12),var(--s1) 60%,var(--s1));
  border-color:rgba(255,90,95,.4);box-shadow:0 14px 38px rgba(255,90,95,.16)
}
.tc-ribbon{
  display:inline-flex;align-items:center;
  font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:800;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--g2);
  background:rgba(212,168,83,.14);border:1px solid rgba(212,168,83,.3);
  padding:5px 13px;border-radius:14px;margin-bottom:14px;
  position:relative;z-index:1
}
.today-active .tc-ribbon,
.today-active .tc-header{position:relative;z-index:1}
.tc-header{display:flex;align-items:center;gap:14px;margin-bottom:18px;position:relative;z-index:1}
.tc-pulse{
  width:14px;height:14px;border-radius:50%;background:var(--red);
  flex-shrink:0;animation:pulse 1.6s infinite;
  box-shadow:0 0 12px rgba(255,90,95,.5)
}
.tc-htext{flex:1;min-width:0}
.tc-day{
  font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;
  letter-spacing:1.2px;color:var(--red);text-transform:uppercase;margin-bottom:3px
}
.tc-day-rest{
  font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;
  letter-spacing:1.2px;color:var(--blue);text-transform:uppercase;margin:8px 0 4px;
  position:relative;z-index:1
}
.tc-rest-badge{
  display:inline-flex;
  font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:800;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--blue);
  background:rgba(90,180,255,.12);border:1px solid rgba(90,180,255,.3);
  padding:5px 13px;border-radius:14px;
  position:relative;z-index:1
}
.tc-title{
  font-family:'Outfit',sans-serif;font-size:30px;font-weight:800;
  color:#fff;line-height:1.05;letter-spacing:-.6px;margin:0 0 16px;
  position:relative;z-index:1
}
[data-theme="light"] .tc-title{color:#1A1D24}
.tc-rest-desc{
  font-family:'Rubik',sans-serif;font-size:13px;color:var(--tx2);
  line-height:1.7;margin:0 0 14px;position:relative;z-index:1
}

/* Grid of info rows: اليوم/الجلسة/الهدف */
.tc-grid{
  display:flex;flex-direction:column;gap:8px;margin-bottom:16px;
  padding:14px 16px;border-radius:13px;
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.04);
  position:relative;z-index:1
}
[data-theme="light"] .tc-grid{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.06)}
.tc-info-row{
  display:flex;align-items:center;gap:10px;
  font-family:'Outfit',sans-serif
}
.tc-info-lbl{
  font-size:10.5px;font-weight:700;color:var(--tx3);
  letter-spacing:.5px;min-width:55px;flex-shrink:0
}
.tc-info-val{
  font-family:'Rubik',sans-serif;font-size:13.5px;color:#fff;font-weight:700
}
[data-theme="light"] .tc-info-val{color:#1A1D24}
.tc-info-session-name{
  font-family:'Outfit',sans-serif;font-weight:800;color:var(--g2);
  letter-spacing:.3px
}

/* Stats row: مدة/تمارين/راحة */
.tc-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  margin-bottom:14px;position:relative;z-index:1
}
.today-active .tc-stats{grid-template-columns:repeat(2,1fr)}
.tc-stat{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:12px 6px;border-radius:11px;
  background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.04);
  font-family:'Outfit',sans-serif
}
.tcs-ic{font-size:16px;margin-bottom:4px;opacity:.95}
.tcs-val{
  font-family:'JetBrains Mono',monospace;font-weight:800;
  font-size:18px;color:#fff;line-height:1
}
[data-theme="light"] .tcs-val{color:#1A1D24}
.tcs-lbl{font-size:9px;color:var(--tx3);letter-spacing:.5px;text-transform:uppercase;font-weight:600;margin-bottom:3px}
.tcs-unit{font-size:9.5px;color:var(--tx3);margin-top:3px;letter-spacing:.3px}

/* Progress line */
.tc-prog{
  display:flex;align-items:center;justify-content:center;gap:7px;
  padding:10px;background:rgba(255,255,255,.025);
  border:1px dashed rgba(255,255,255,.06);border-radius:10px;
  font-family:'Outfit',sans-serif;font-size:11.5px;color:var(--tx2);
  margin-bottom:14px;position:relative;z-index:1
}
.tc-prog b{font-family:'JetBrains Mono',monospace;font-weight:800;color:#fff;font-size:13.5px}
[data-theme="light"] .tc-prog b{color:#1A1D24}
.tc-prog.tc-prog-done{
  background:rgba(90,230,138,.06);border:1px solid rgba(90,230,138,.25);
  border-style:solid;color:var(--grn)
}
.tc-prog.tc-prog-done b{color:var(--grn)}

/* First exercise */
.tc-first-ex{
  display:flex;align-items:center;gap:9px;
  padding:11px 14px;
  background:linear-gradient(135deg,rgba(212,168,83,.06),rgba(212,168,83,.01));
  border:1px dashed rgba(212,168,83,.3);
  border-radius:11px;margin-bottom:16px;
  font-family:'JetBrains Mono',monospace;
  position:relative;z-index:1
}
.tc-fe-lbl{
  font-family:'Outfit',sans-serif;font-size:10px;font-weight:800;
  letter-spacing:.7px;text-transform:uppercase;color:var(--g2);flex-shrink:0
}
.tc-fe-name{color:#fff;font-size:14px;font-weight:800;letter-spacing:.2px}
[data-theme="light"] .tc-fe-name{color:#1A1D24}

/* Actions: 3 buttons stacked */
.tc-actions{
  display:flex;flex-direction:column;gap:8px;
  position:relative;z-index:1
}
.tc-actions-3 .tc-cta:first-child{
  margin-bottom:2px
}
.tc-cta{
  width:100%;padding:15px 16px;border:none;border-radius:13px;
  font-family:'Outfit',sans-serif;font-size:13px;font-weight:800;
  letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;
  transition:.22s;-webkit-tap-highlight-color:transparent
}
.tc-cta-primary{
  background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;
  box-shadow:0 6px 20px rgba(212,168,83,.3);
  font-size:14px;padding:17px 18px
}
.tc-cta-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(212,168,83,.45)}
.tc-cta-active{
  background:linear-gradient(135deg,#FF5A5F,#C04347);color:#fff;
  box-shadow:0 6px 20px rgba(255,90,95,.35);animation:pulse 2s infinite;
  font-size:14px;padding:17px 18px
}
.tc-cta-secondary{
  background:rgba(255,255,255,.04);color:var(--tx);
  border:1px solid rgba(212,168,83,.18)
}
.tc-cta-secondary:hover{background:rgba(212,168,83,.08);color:var(--g2);border-color:rgba(212,168,83,.35)}
.tc-cta-tertiary{
  background:rgba(90,180,255,.06);color:var(--blue);
  border:1px solid rgba(90,180,255,.22);font-size:11.5px;letter-spacing:.8px
}
.tc-cta-tertiary:hover{background:rgba(90,180,255,.12);color:#7BC8FF;border-color:rgba(90,180,255,.35)}

.tc-hint{
  margin-top:10px;padding:9px 12px;border-radius:9px;
  font-size:11px;font-family:'Rubik',sans-serif;
  position:relative;z-index:1
}
.tc-hint-warn{background:rgba(255,184,90,.08);border:1px solid rgba(255,184,90,.22);color:var(--org)}
.tc-hint-info{background:rgba(176,138,255,.06);border:1px solid rgba(176,138,255,.22);color:var(--purple)}

@media (max-width:600px){
  .today-card{padding:16px 16px 18px;border-radius:18px}
  .tc-title{font-size:26px}
  .tc-stats{gap:6px}
  .tc-stat{padding:10px 4px}
  .tcs-val{font-size:16px}
  .tc-cta{padding:14px 14px;font-size:12px}
  .tc-cta-primary,.tc-cta-active{padding:15px 16px;font-size:13px}
  .tc-info-lbl{font-size:10px;min-width:50px}
  .tc-info-val{font-size:12.5px}
  .tc-fe-name{font-size:13px}
}

/* ============ 3. PROGRAM QUICK SUMMARY (6 mini badges) ============ */
.program-summary-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  margin-bottom:16px
}
.psg-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:12px 8px;border-radius:11px;
  background:linear-gradient(145deg,var(--s2),var(--s1));
  border:1px solid rgba(255,255,255,.04);
  font-family:'Outfit',sans-serif;text-align:center;
  transition:.22s
}
.psg-card:hover{border-color:rgba(212,168,83,.18);transform:translateY(-1px)}
.psg-ic{font-size:18px;margin-bottom:4px;opacity:.92}
.psg-val{
  font-family:'JetBrains Mono',monospace;font-weight:800;
  font-size:14px;color:var(--g2);letter-spacing:-.2px;margin-bottom:2px;line-height:1
}
.psg-lbl{
  font-size:9.5px;color:var(--tx3);font-weight:600;
  letter-spacing:.3px;line-height:1.3
}
@media (max-width:600px){
  .program-summary-grid{gap:6px}
  .psg-card{padding:11px 4px}
  .psg-val{font-size:13px}
  .psg-lbl{font-size:9px}
  .psg-ic{font-size:16px}
}

/* ============ #4 Inline Plan B ============ */
.inline-planb{
  display:flex;align-items:center;gap:8px;
  margin-top:6px;padding:7px 10px;
  background:rgba(90,180,255,.05);
  border:1px dashed rgba(90,180,255,.28);
  border-radius:9px;
  font-family:'Outfit',sans-serif;font-size:11px
}
.ipb-icon{font-size:14px;flex-shrink:0}
.ipb-body{flex:1;min-width:0;line-height:1.4}
.ipb-q{color:var(--tx3);font-size:10.5px;letter-spacing:.2px;display:block;font-weight:600;margin-bottom:1px}
.ipb-name{color:var(--blue);font-size:12.5px;font-weight:800;letter-spacing:.2px;font-family:'Rubik',sans-serif}
.ipb-swap{
  background:rgba(90,180,255,.15);color:var(--blue);
  border:1px solid rgba(90,180,255,.35);
  border-radius:7px;padding:6px 11px;
  font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:800;
  letter-spacing:.6px;cursor:pointer;
  transition:.2s;-webkit-tap-highlight-color:transparent;flex-shrink:0
}
.ipb-swap:hover{background:rgba(90,180,255,.28);color:#7BC8FF}
.ipb-swap:active{transform:scale(.96)}
@media (max-width:600px){
  .inline-planb{padding:6px 9px;gap:7px}
  .ipb-name{font-size:11.5px}
}

/* ============ #7 Weight Chip +/- buttons ============ */
.weight-chip .wc-val-row{display:flex;align-items:center;gap:10px;margin-top:2px}
.weight-chip .wc-step{
  background:rgba(212,168,83,.12);color:var(--g2);
  border:1px solid rgba(212,168,83,.3);
  width:34px;height:34px;border-radius:9px;
  font-size:20px;font-weight:800;line-height:1;
  cursor:pointer;flex-shrink:0;padding:0;
  display:flex;align-items:center;justify-content:center;
  transition:.18s;-webkit-tap-highlight-color:transparent;
  font-family:'JetBrains Mono',monospace
}
.weight-chip .wc-step:hover{background:rgba(212,168,83,.22);color:#fff}
.weight-chip .wc-step:active{transform:scale(.92)}
.weight-chip .wc-last{
  font-size:10px;color:var(--tx3);margin-top:3px;
  font-family:'JetBrains Mono',monospace
}
.weight-chip .wc-last b{color:var(--tx2);font-weight:800}
.weight-chip.deload-mode .wc-step{background:rgba(90,180,255,.12);border-color:rgba(90,180,255,.3);color:var(--blue)}
.weight-chip.deload-mode .wc-step:hover{background:rgba(90,180,255,.22);color:#7BC8FF}

@media (max-width:600px){
  .weight-chip .wc-step{width:32px;height:32px;font-size:18px}
}

/* ============ #9 Top Progress Card ============ */
.dash-top-progress{
  background:linear-gradient(145deg,var(--s2),var(--s1));
  border:1px solid rgba(255,255,255,.05);border-radius:14px;
  padding:13px 15px;margin-bottom:14px;
  display:flex;flex-direction:column;gap:10px;
  font-family:'Outfit',sans-serif
}
.dtp-row{}
.dtp-head{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.dtp-ic{font-size:14px;flex-shrink:0}
.dtp-lbl{font-size:11px;color:var(--tx2);font-weight:700;letter-spacing:.4px;flex:1}
.dtp-val{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#fff;font-weight:800;letter-spacing:-.2px}
[data-theme="light"] .dtp-val{color:#1A1D24}
.dtp-track{height:6px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.04)}
.dtp-fill{height:100%;border-radius:4px;transition:width .4s cubic-bezier(.16,1,.3,1)}
.dtp-fill-sessions{background:linear-gradient(90deg,var(--g1),var(--g3));box-shadow:0 0 6px rgba(212,168,83,.3)}
.dtp-fill-good{background:linear-gradient(90deg,var(--grn),#7BE8A0)}
.dtp-fill-ok{background:linear-gradient(90deg,var(--org),#FFB85A)}
.dtp-fill-low{background:linear-gradient(90deg,var(--red),#FF7A7E);opacity:.7}
.dtp-pr{display:flex;align-items:center;gap:7px;padding:6px 0;border-top:1px dashed rgba(255,255,255,.04);border-bottom:1px dashed rgba(255,255,255,.04)}
.dtp-pr .dtp-val{color:var(--g2)}

/* ============ #8 Next Meal in Nutrition Card ============ */
.dash-next-meal{
  display:flex;align-items:center;gap:8px;
  margin-top:10px;padding:9px 11px;
  background:rgba(255,184,90,.06);border:1px dashed rgba(255,184,90,.22);
  border-radius:9px;font-family:'Outfit',sans-serif;
  font-size:11px;color:var(--tx2)
}
.dnm-ic{font-size:16px;flex-shrink:0}
.dash-next-meal b{color:var(--org);font-weight:800;font-size:12.5px}
.dnm-btn{
  background:rgba(255,184,90,.18);color:var(--org);
  border:1px solid rgba(255,184,90,.4);border-radius:7px;
  padding:5px 11px;font-family:'Outfit',sans-serif;font-size:10.5px;
  font-weight:800;letter-spacing:.5px;cursor:pointer;
  margin-right:auto;transition:.2s;-webkit-tap-highlight-color:transparent
}
.dnm-btn:hover{background:rgba(255,184,90,.3);color:#FFC97A}
.dash-next-meal.dnm-done{
  background:rgba(90,230,138,.05);border-color:rgba(90,230,138,.22);
  color:var(--grn);justify-content:center;font-weight:700
}

/* ============================================================
 * #6 BOTTOM NAV (Mobile only)
 * ============================================================ */
.bottom-nav{display:none}

@media (max-width:600px){
  /* أخفِ التنقل العلوي على الموبايل */
  .nav{display:none !important}
  body{padding-bottom:calc(60px + var(--sai-bottom))}

  .bottom-nav{
    position:fixed;bottom:0;left:0;right:0;z-index:var(--z-nav);
    display:flex;align-items:stretch;justify-content:space-around;
    background:rgba(5,6,8,.96);
    -webkit-backdrop-filter:blur(24px) saturate(1.2);
    backdrop-filter:blur(24px) saturate(1.2);
    border-top:1px solid rgba(212,168,83,.12);
    padding:5px 4px;padding-bottom:calc(5px + var(--sai-bottom));
    box-shadow:0 -8px 24px rgba(0,0,0,.35)
  }
  [data-theme="light"] .bottom-nav{
    background:rgba(245,244,238,.96);
    border-top-color:rgba(0,0,0,.08)
  }
  body.sess-active .bottom-nav{padding-top:7px}

  .bn{
    flex:1;min-width:0;background:transparent;border:none;
    color:var(--tx3);cursor:pointer;padding:6px 4px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:2px;border-radius:10px;
    font-family:'Outfit',sans-serif;
    transition:.2s;-webkit-tap-highlight-color:transparent;
    min-height:48px
  }
  .bn-ic{font-size:18px;line-height:1}
  .bn-lbl{font-size:9.5px;font-weight:700;letter-spacing:.3px}
  .bn.a{color:var(--g2)}
  .bn.a .bn-ic{transform:scale(1.12);filter:drop-shadow(0 0 6px rgba(212,168,83,.4))}
  .bn:active{background:rgba(212,168,83,.08)}

  /* Drawer */
  .bn-drawer-backdrop{
    position:fixed;inset:0;background:rgba(0,0,0,.5);
    z-index:calc(var(--z-nav) - 1);
    opacity:0;pointer-events:none;transition:.25s
  }
  .bn-drawer-backdrop.open{opacity:1;pointer-events:auto}
  .bn-drawer{
    position:fixed;left:0;right:0;bottom:0;
    z-index:var(--z-nav);
    background:linear-gradient(180deg,var(--s1),var(--bg));
    border-top:1px solid rgba(212,168,83,.18);
    border-radius:18px 18px 0 0;
    padding:14px 16px;
    padding-bottom:calc(80px + var(--sai-bottom));
    max-height:70vh;overflow-y:auto;
    transform:translateY(100%);transition:.32s cubic-bezier(.16,1,.3,1);
    box-shadow:0 -12px 40px rgba(0,0,0,.5)
  }
  .bn-drawer.open{transform:translateY(0)}
  .bn-drawer-handle{
    width:36px;height:4px;background:rgba(255,255,255,.15);
    border-radius:3px;margin:0 auto 12px
  }
  .bn-drawer-title{
    font-family:'Outfit',sans-serif;font-size:13px;font-weight:800;
    color:var(--g2);letter-spacing:1px;text-align:center;margin-bottom:14px
  }
  .bn-drawer-items{
    display:grid;grid-template-columns:repeat(2,1fr);gap:8px
  }
  .bn-d-item{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:6px;padding:14px 10px;
    background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
    color:var(--tx);border-radius:11px;
    font-family:'Rubik',sans-serif;cursor:pointer;
    transition:.2s;-webkit-tap-highlight-color:transparent
  }
  .bn-d-item:hover{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.25)}
  .bn-d-item span{font-size:22px}
  .bn-d-item b{font-size:11px;font-weight:700;letter-spacing:.3px}

  /* لا تخفِ FAB لكن قرّبه أعلى */
  .fab{bottom:calc(76px + var(--sai-bottom)) !important}
  .fab-menu{bottom:calc(140px + var(--sai-bottom)) !important}
  /* btt + sess-pill انتقل أعلى */
  .btt{bottom:calc(76px + var(--sai-bottom)) !important}
  /* V9.14.9 — على الموبايل المؤقت في الشريط السفلي، فأخفِ نسخة شريط الجلسة */
  .sb-timer{display:none !important}
  /* Timer trigger أعلى */
  .ttrig{bottom:calc(76px + var(--sai-bottom)) !important}
}

/* ============================================================
 * #5 + #10 GYM MODE OVERLAY (calmer visual design)
 * ============================================================ */
.gym-mode-overlay{
  position:fixed;inset:0;
  background:#0A0B0E;
  z-index:calc(var(--z-modal) + 5);
  display:none;flex-direction:column;
  overflow:hidden
}
[data-theme="light"] .gym-mode-overlay{background:#F5F4EE}
.gym-mode-overlay.open{display:flex;animation:fadeUp .35s cubic-bezier(.16,1,.3,1)}

/* Header */
.gmo-header{
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;
  padding-top:calc(14px + var(--sai-top));
  background:rgba(0,0,0,.2);border-bottom:1px solid rgba(255,255,255,.05);
  font-family:'Outfit',sans-serif
}
[data-theme="light"] .gmo-header{background:rgba(0,0,0,.04);border-bottom-color:rgba(0,0,0,.06)}
.gmo-exit{
  background:rgba(255,255,255,.06);color:var(--tx2);
  border:1px solid rgba(255,255,255,.08);border-radius:9px;
  padding:8px 14px;font-size:11.5px;font-weight:700;letter-spacing:.5px;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  font-family:'Outfit',sans-serif
}
.gmo-exit:hover{background:rgba(255,255,255,.1);color:#fff}
.gmo-progress{
  font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:800;
  color:var(--g2);margin-right:auto
}
.gmo-timer{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--tx2)}

/* Body */
.gmo-body{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:20px;overflow-y:auto
}
.gmo-empty{color:var(--tx3);font-size:13px;text-align:center}

.gmo-step{
  width:100%;max-width:440px;
  opacity:0;transform:translateY(15px);
  transition:.35s cubic-bezier(.16,1,.3,1)
}
.gmo-step.show{opacity:1;transform:translateY(0)}

/* Exercise name (large, calm) */
.gmo-ex{text-align:center;margin-bottom:28px}
.gmo-ex-en{
  font-family:'Outfit',sans-serif;font-weight:800;
  font-size:36px;line-height:1.1;color:#fff;letter-spacing:-.8px
}
[data-theme="light"] .gmo-ex-en{color:#1A1D24}
.gmo-ex-ar{
  font-family:'Rubik',sans-serif;font-size:16px;
  color:var(--tx3);margin-top:4px;font-weight:500
}

/* Weight card */
.gmo-weight-card,.gmo-reps-card{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
  border-radius:18px;padding:20px 18px;
  margin-bottom:16px
}
[data-theme="light"] .gmo-weight-card,
[data-theme="light"] .gmo-reps-card{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.05)}
.gmo-w-lbl,.gmo-r-lbl{
  font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--tx3);
  text-align:center;margin-bottom:14px
}
.gmo-w-controls,.gmo-r-controls{
  display:flex;align-items:center;justify-content:center;gap:18px
}
.gmo-w-btn,.gmo-r-btn{
  background:rgba(212,168,83,.1);color:var(--g2);
  border:1.5px solid rgba(212,168,83,.3);
  width:56px;height:56px;border-radius:14px;
  font-size:30px;font-weight:800;line-height:1;
  cursor:pointer;flex-shrink:0;padding:0;
  display:flex;align-items:center;justify-content:center;
  transition:.18s;-webkit-tap-highlight-color:transparent;
  font-family:'JetBrains Mono',monospace
}
.gmo-w-btn:hover,.gmo-r-btn:hover{background:rgba(212,168,83,.22);color:#fff}
.gmo-w-btn:active,.gmo-r-btn:active{transform:scale(.9)}

.gmo-w-val,.gmo-r-val{
  display:flex;flex-direction:column;align-items:center;
  min-width:120px
}
.gmo-w-input,.gmo-r-input{
  background:transparent;border:none;color:#fff;
  font-family:'JetBrains Mono',monospace;font-weight:800;
  font-size:48px;text-align:center;width:100%;
  padding:0;line-height:1;
  outline:none;-moz-appearance:textfield
}
[data-theme="light"] .gmo-w-input,
[data-theme="light"] .gmo-r-input{color:#1A1D24}
.gmo-w-input::-webkit-outer-spin-button,
.gmo-w-input::-webkit-inner-spin-button,
.gmo-r-input::-webkit-outer-spin-button,
.gmo-r-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.gmo-w-unit{
  font-family:'Outfit',sans-serif;font-size:11px;
  color:var(--tx3);letter-spacing:1.5px;
  margin-top:2px;text-transform:uppercase;font-weight:700
}
.gmo-r-target{
  text-align:center;margin-top:8px;font-size:10.5px;color:var(--tx3);
  font-family:'JetBrains Mono',monospace
}

.gmo-last-line{
  text-align:center;font-size:11.5px;color:var(--tx3);
  font-family:'JetBrains Mono',monospace;margin-bottom:18px
}
.gmo-last-line b{color:var(--tx2);font-weight:800}

/* Save button */
.gmo-save-btn{
  display:block;width:100%;
  background:linear-gradient(135deg,var(--grn),#3da868);color:#000;
  border:none;padding:18px 20px;border-radius:14px;
  font-family:'Outfit',sans-serif;font-size:15px;font-weight:800;
  letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;
  transition:.22s;-webkit-tap-highlight-color:transparent;
  box-shadow:0 6px 20px rgba(90,230,138,.25);margin-bottom:12px
}
.gmo-save-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(90,230,138,.35)}
.gmo-save-btn:active{transform:scale(.98)}
.gmo-save-btn:disabled{opacity:.6;cursor:not-allowed}

.gmo-secondary{display:flex;gap:10px}
.gmo-skip,.gmo-alt{
  flex:1;background:rgba(255,255,255,.04);color:var(--tx2);
  border:1px solid rgba(255,255,255,.08);border-radius:11px;
  padding:13px 12px;
  font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:.6px;cursor:pointer;
  transition:.2s;-webkit-tap-highlight-color:transparent
}
.gmo-skip:hover{background:rgba(255,184,90,.1);color:var(--org);border-color:rgba(255,184,90,.3)}
.gmo-alt:hover{background:rgba(90,180,255,.1);color:var(--blue);border-color:rgba(90,180,255,.3)}

/* Done screen */
.gmo-done{text-align:center;padding:40px 20px}
.gmo-done-icon{font-size:60px;margin-bottom:14px}
.gmo-done-title{font-family:'Outfit',sans-serif;font-size:24px;font-weight:800;color:var(--g2);margin-bottom:8px}
.gmo-done-sub{font-size:13px;color:var(--tx2);line-height:1.6;margin-bottom:24px}
.gmo-done-btn{
  background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;
  border:none;padding:14px 30px;border-radius:11px;
  font-family:'Outfit',sans-serif;font-size:13px;font-weight:800;
  letter-spacing:1.5px;cursor:pointer;
  transition:.2s
}
.gmo-done-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(212,168,83,.35)}

/* Rest timer overlay */
.gmo-rest-overlay{
  position:absolute;inset:0;
  background:rgba(10,11,14,.96);
  display:none;align-items:center;justify-content:center;
  padding:30px;z-index:5
}
[data-theme="light"] .gmo-rest-overlay{background:rgba(245,244,238,.97)}
.gmo-rest-card{
  text-align:center;width:100%;max-width:340px
}
.gmo-rest-lbl{
  font-family:'Outfit',sans-serif;font-size:11px;font-weight:800;
  letter-spacing:2px;color:var(--blue);margin-bottom:12px;text-transform:uppercase
}
.gmo-rest-time{
  font-family:'JetBrains Mono',monospace;font-weight:800;
  font-size:128px;line-height:1;color:#fff;
  letter-spacing:-3px;margin-bottom:24px
}
[data-theme="light"] .gmo-rest-time{color:#1A1D24}
.gmo-rest-time.gmo-rt-finish{color:var(--red);animation:pulse 1s infinite}

.gmo-rest-actions{display:flex;gap:10px;justify-content:center;margin-bottom:18px}
.gmo-rest-skip{
  flex:1;background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;
  border:none;padding:14px 18px;border-radius:11px;
  font-family:'Outfit',sans-serif;font-size:12px;font-weight:800;
  letter-spacing:1px;cursor:pointer;
  transition:.2s
}
.gmo-rest-skip:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(212,168,83,.35)}
.gmo-rest-add{
  background:rgba(255,255,255,.06);color:var(--tx2);
  border:1px solid rgba(255,255,255,.1);border-radius:11px;
  padding:14px 18px;font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:700;
  cursor:pointer;transition:.2s
}
.gmo-rest-add:hover{background:rgba(255,255,255,.1);color:#fff}
.gmo-next-preview{
  font-size:12px;color:var(--tx2);font-family:'Outfit',sans-serif
}
.gmo-next-preview b{color:#fff;font-weight:800}
[data-theme="light"] .gmo-next-preview b{color:#1A1D24}

@media (max-width:600px){
  .gmo-ex-en{font-size:30px}
  .gmo-ex-ar{font-size:14px}
  .gmo-w-btn,.gmo-r-btn{width:52px;height:52px;font-size:26px}
  .gmo-w-input,.gmo-r-input{font-size:42px}
  .gmo-rest-time{font-size:108px;letter-spacing:-2px}
  .gmo-save-btn{padding:16px 18px;font-size:14px}
}

/* sb-gym button in session bar */
.sess-bar .sb-gym{
  background:rgba(90,230,138,.12);color:var(--grn);
  border:1px solid rgba(90,230,138,.3);border-radius:7px;
  width:30px;height:30px;font-size:13px;font-weight:700;
  cursor:pointer;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;transition:.2s
}
.sess-bar .sb-gym:hover{background:rgba(90,230,138,.22);color:#fff}
body.gym-mode-active .sess-bar .sb-gym{background:linear-gradient(135deg,var(--grn),#3da868);color:#000;box-shadow:0 0 12px rgba(90,230,138,.4)}

/* ============ #3 Step Ops Row — badges عملية ============ */
.step-ops-row{
  display:flex;flex-wrap:wrap;gap:5px;
  margin-top:5px;font-family:'Outfit',sans-serif
}
.sor-badge{
  display:inline-flex;align-items:center;gap:3px;
  font-size:9.5px;font-weight:700;letter-spacing:.3px;
  padding:3px 8px;border-radius:10px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02);
  color:var(--tx2);
  white-space:nowrap
}
.sor-badge b{color:#fff;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:800}
[data-theme="light"] .sor-badge b{color:#1A1D24}
.sor-rest{
  background:rgba(90,180,255,.05);
  border-color:rgba(90,180,255,.2);
  color:var(--blue)
}
.sor-rest b{color:var(--blue)}
.sor-zone{
  background:rgba(90,230,138,.04);
  border-color:rgba(90,230,138,.18);
  color:var(--grn)
}
@media (max-width:600px){
  .step-ops-row{gap:4px;margin-top:4px}
  .sor-badge{font-size:9px;padding:3px 7px}
  .sor-badge b{font-size:10px}
}



.step-name{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.step-name .sn-en{font-size:13.5px;color:#fff;font-family:'Outfit',sans-serif;font-weight:700;letter-spacing:.2px;line-height:1.25}
.step-name .sn-ar{font-size:11px;color:var(--tx3);font-family:'Rubik',sans-serif;font-weight:400;line-height:1.2;margin-top:1px}
.step-name .sn-ar::before{content:'';display:inline-block;width:3px;height:3px;background:var(--tx3);border-radius:50%;vertical-align:middle;margin-left:5px;opacity:.5}
/* لو العنصر يحوي نص بدون split، احتفظ بالمظهر الأصلي */
.step-name:not(:has(.sn-en)){font-family:'Outfit',sans-serif;font-weight:700}
@media (max-width:600px){
  .step-name .sn-en{font-size:13px}
  .step-name .sn-ar{font-size:10.5px}
}


/* ============================================================
 * V9.14.2 — جدول الأسبوع (بطاقات أيام) + تبويبات التمارين + بطاقات التمرين
 * ============================================================ */

/* ----- جدول الأسبوع كبطاقات أيام (Dashboard) ----- */
.wday-list{display:flex;flex-direction:column;gap:8px}
.wday-card{display:flex;align-items:center;gap:12px;width:100%;text-align:right;background:var(--s2);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1);-webkit-tap-highlight-color:transparent;font-family:'Rubik',sans-serif;border-right-width:3px}
.wday-card:hover{transform:translateX(-3px);border-color:rgba(255,255,255,.14)}
.wday-card:active{transform:scale(.99)}
.wday-name{font-weight:700;font-size:13px;color:var(--tx2);flex:0 0 62px}
.wday-type{font-family:'Outfit',sans-serif;font-weight:800;font-size:13px;color:#fff;flex:1;letter-spacing:.3px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-theme="light"] .wday-type{color:#1A1D24}
.wday-status{font-size:10.5px;font-weight:800;padding:5px 11px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font-family:'Outfit',sans-serif;letter-spacing:.3px}
.wday-check{font-weight:900;font-size:11px}
/* تلوين الحافة حسب نوع اليوم */
.wday-card.cat-push{border-right-color:rgba(255,90,95,.5)}
.wday-card.cat-pull{border-right-color:rgba(90,180,255,.5)}
.wday-card.cat-legs{border-right-color:rgba(90,230,138,.5)}
.wday-card.cat-arms{border-right-color:rgba(176,138,255,.5)}
.wday-card.cat-rest{border-right-color:rgba(90,180,255,.35)}
/* الحالات */
.wday-upcoming .wday-status{background:rgba(255,255,255,.05);color:var(--tx3)}
.wday-done{background:linear-gradient(135deg,rgba(90,230,138,.06),var(--s2))}
.wday-done .wday-type{color:var(--grn)}
.wday-done .wday-status{background:rgba(90,230,138,.14);color:var(--grn)}
.wday-rest{background:rgba(90,180,255,.04)}
.wday-rest .wday-type{color:var(--blue);font-weight:700}
.wday-rest .wday-status{background:rgba(90,180,255,.1);color:var(--blue)}
.wday-today{border-color:var(--g1);background:linear-gradient(135deg,rgba(212,168,83,.13),var(--s2));box-shadow:0 0 0 1px rgba(212,168,83,.28),0 8px 22px rgba(212,168,83,.12);border-right-color:var(--g1)}
.wday-today .wday-type{color:var(--g2)}
.wday-today .wday-status{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000}

/* ----- تبويبات التمارين حسب اليوم ----- */
.day-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 14px;margin-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.day-tabs::-webkit-scrollbar{display:none}
.day-tab{flex:0 0 auto;background:var(--s2);color:var(--tx2);border:1px solid rgba(255,255,255,.06);padding:9px 16px;border-radius:999px;font-family:'Rubik',sans-serif;font-weight:700;font-size:12.5px;cursor:pointer;white-space:nowrap;transition:.2s;-webkit-tap-highlight-color:transparent;min-height:40px}
.day-tab:hover{border-color:rgba(212,168,83,.3);color:var(--tx)}
.day-tab.active{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;border-color:var(--g1);box-shadow:0 6px 16px rgba(212,168,83,.28)}
.dt-hidden{display:none !important}

/* ----- بطاقة التمرين (Exercise Card) ----- */
.ex-card{background:linear-gradient(150deg,rgba(255,255,255,.022),rgba(255,255,255,.008));border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px;margin:14px 0}
.ex-card .ex-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.ex-kind,.ss-tag{font-family:'Outfit',sans-serif;font-size:9px;font-weight:800;letter-spacing:2px;color:var(--g1);background:rgba(212,168,83,.12);padding:3px 8px;border-radius:6px;text-transform:uppercase;flex:0 0 auto}
.ex-title{font-family:'Rubik',sans-serif;font-weight:700;font-size:15px;color:#fff}
[data-theme="light"] .ex-title{color:#1A1D24}
.ex-title-sm{font-size:12.5px;color:var(--tx2)}
.ex-chips{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-top:3px}
.ex-chip{font-size:11px;color:var(--tx2);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05);padding:3px 9px;border-radius:8px;white-space:nowrap;font-family:'Rubik',sans-serif}
.ex-chip.ex-muscle{color:var(--g2);background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.16)}
.ex-chip.ex-machine{color:var(--tx)}
.ex-chip.ex-rest{color:var(--blue);background:rgba(90,180,255,.07);border-color:rgba(90,180,255,.14)}
.ex-warmup{border-color:rgba(255,184,90,.18);background:linear-gradient(150deg,rgba(255,184,90,.04),rgba(255,255,255,.006))}
.ex-warmup .ex-kind{color:var(--org);background:rgba(255,184,90,.12)}

/* ----- بطاقة الزوج (Superset) ----- */
.ex-superset{border-color:rgba(212,168,83,.16)}
.ss-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ss-name{font-family:'Rubik',sans-serif;font-weight:700;font-size:13.5px;color:#fff}
[data-theme="light"] .ss-name{color:#1A1D24}
.ss-meta{font-size:11px;color:var(--tx2);margin-right:auto;font-family:'JetBrains Mono',monospace}
.ss-exercises{display:flex;align-items:stretch;gap:8px;margin-bottom:10px}
.ss-ex{flex:1;min-width:0;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px}
.ss-ex-name{font-family:'Outfit',sans-serif;font-weight:800;font-size:13px;color:#fff;margin-bottom:4px}
[data-theme="light"] .ss-ex-name{color:#1A1D24}
.ss-ex-meta{font-size:10.5px;color:var(--tx2);line-height:1.7}
.ss-vs{display:flex;align-items:center;justify-content:center;color:var(--g1);font-weight:800;font-size:16px;flex:0 0 auto}
.ss-rest-note{font-size:11px;color:var(--blue);background:rgba(90,180,255,.05);border:1px dashed rgba(90,180,255,.18);border-radius:8px;padding:7px 11px;margin-bottom:8px}

@media (max-width:600px){
  .ex-card{padding:12px}
  .wday-name{flex-basis:54px;font-size:12px}
  .ss-exercises{flex-direction:column}
  .ss-vs{transform:rotate(90deg);padding:2px 0}
}

/* ============================================================
 * V9.14.4 — الأجهزة حسب العضلة · أوزان اليوم · تغذية مختصرة · ملخص تقدّم · بطاقات نصائح
 * ============================================================ */

/* ----- (#6) قسم الأجهزة مقسّم حسب العضلة ----- */
.eg.eq-by-muscle{display:block}
.eq-group{margin-bottom:16px}
.eq-group-head{display:flex;align-items:center;gap:8px;font-family:'Outfit',sans-serif;font-weight:800;font-size:14px;color:var(--mc,#8890A0);margin-bottom:8px}
.eq-group-head small{color:var(--tx3);font-weight:600;font-size:11px;font-family:'Rubik',sans-serif}
.eq-dot{width:10px;height:10px;border-radius:50%;background:var(--mc,#8890A0);box-shadow:0 0 8px var(--mc,#8890A0);flex:0 0 auto}
.eq-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.eq-card{background:linear-gradient(150deg,var(--s2),var(--s3));border:1px solid rgba(255,255,255,.05);border-right:3px solid var(--mc,#8890A0);border-radius:12px;padding:12px}
.eq-card-name{font-family:'Outfit',sans-serif;font-weight:800;font-size:13.5px;color:#fff;margin-bottom:8px}
[data-theme="light"] .eq-card-name{color:#1A1D24}
.eq-card-rows{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.eq-card-row{display:flex;justify-content:space-between;gap:8px;font-size:11px}
.eq-card-row span{color:var(--tx3)}
.eq-card-row b{color:var(--tx);font-weight:600;text-align:left}
.eq-how{width:100%;background:rgba(212,168,83,.1);color:var(--g2);border:1px solid rgba(212,168,83,.2);border-radius:8px;padding:7px;font-family:'Rubik',sans-serif;font-weight:700;font-size:11.5px;cursor:pointer;transition:.2s;-webkit-tap-highlight-color:transparent}
.eq-how:hover{background:rgba(212,168,83,.18)}

/* ----- (#7) بطاقة أوزان اليوم ----- */
.rw-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.rw-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.04);border-radius:9px;padding:9px 12px}
.rw-ex{font-size:12.5px;color:var(--tx);font-weight:600}
.rw-w{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--g2);font-weight:700;white-space:nowrap}

/* ============================================================
 * V9.14.10 — تحسينات UX: الفعل أولاً · أوزان قابلة للبحث · Plan B بارز · مستويان
 * ============================================================ */
/* بطاقة تمرين اليوم: ٤ إحصاءات + زر بدء مهيمن */
.tc-stats-4{grid-template-columns:repeat(4,1fr) !important;gap:6px}
.tc-stats-4 .tcs-val{font-size:15px}
.tc-stats-4 .tc-stat{padding:10px 3px}
.tc-cta-hero{font-size:15px !important;padding:18px 18px !important;margin-bottom:10px;
  box-shadow:0 8px 26px rgba(212,168,83,.4) !important;letter-spacing:1.4px}
.tc-actions-2{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;z-index:1}

/* أوزان اليوم — بطاقات قابلة للبحث */
.rw-search{width:100%;box-sizing:border-box;margin-bottom:10px;padding:10px 12px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--tx);
  font-family:'Rubik',sans-serif;font-size:13px;-webkit-appearance:none;outline:none;direction:rtl}
.rw-search:focus{border-color:rgba(212,168,83,.4);background:rgba(212,168,83,.05)}
.rw-search::placeholder{color:var(--tx3)}
.rw-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:11px;
  padding:11px 13px;display:flex;flex-direction:column;gap:5px}
.rw-card-main{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.rw-card-main .rw-ex{font-size:14px}
.rw-card-main .rw-w{font-size:20px}
.rw-unit{font-size:11px;color:var(--tx3);margin-right:2px;font-weight:600}
.rw-card-sub{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;
  font-family:'Rubik',sans-serif;font-size:11px;color:var(--tx3)}
.rw-card-sub b{font-family:'JetBrains Mono',monospace;color:var(--tx2);font-weight:700}
.rw-sug{font-weight:700;white-space:nowrap}
.rw-sug b{font-family:'JetBrains Mono',monospace}
.rw-sug-increase{color:var(--grn)} .rw-sug-increase b{color:var(--grn)}
.rw-sug-decrease,.rw-sug-deload{color:var(--org)} .rw-sug-decrease b,.rw-sug-deload b{color:var(--org)}
.rw-sug-maintain{color:var(--blue)} .rw-sug-maintain b{color:var(--blue)}

/* Plan B — زر "الجهاز مشغول؟" كصف مستقل بارز أسفل كل تمرين */
/* V9.14.18 — شريحة صغيرة مدمجة (لا صف كامل) محاذاة للبداية */
.alt-btn.alt-busy-btn{position:static;width:auto;height:auto;min-width:0;
  display:inline-flex;align-items:center;gap:4px;vertical-align:middle;
  margin:0 0 8px;padding:4px 9px;font-size:10.5px;font-weight:700;line-height:1.4;border-radius:7px;
  font-family:'Rubik',sans-serif;letter-spacing:0;cursor:pointer;
  background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.26);color:var(--blue)}
.alt-btn.alt-busy-btn .ic{width:12px;height:12px}
.alt-btn.alt-busy-btn:hover{background:rgba(56,189,248,.16);border-color:rgba(56,189,248,.5);transform:none}
.step.skipped .alt-busy-btn{opacity:.5}
.exercise-substituted .alt-busy-btn{background:rgba(90,230,138,.08);border-color:rgba(90,230,138,.3);color:var(--grn)}

/* درج «المزيد» — عناوين مستويين */
.bn-drawer-section{font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:800;letter-spacing:1px;
  text-transform:uppercase;color:var(--tx3);margin:14px 4px 7px;padding-bottom:5px;
  border-bottom:1px solid rgba(255,255,255,.06)}
.bn-drawer-section:first-of-type{margin-top:4px}

/* ============================================================
 * V9.14.11 — أنواع بطاقات متمايزة (#6) + مؤقت يربط بالتالي (#8) + تغذية مختصرة (#9)
 * ============================================================ */
/* #6 — هوية بصرية لكل نوع بطاقة عبر شريط حافة + لون عنوان */
.today-card.card-action{border-inline-start:4px solid var(--g1)}
.dash-card.card-stat{border-inline-start:4px solid var(--blue)}
.dash-card.card-stat .dash-card-head{color:var(--blue)}
.dash-card.card-exercise{border-inline-start:4px solid var(--grn)}
.dash-card.card-exercise .dash-card-head{color:var(--grn)}
.dash-card.card-warn{border-inline-start:4px solid var(--org)}
.dash-card.card-warn .dash-card-head{color:var(--org)}
/* بطاقة الشرح (الدليل) — مكتومة لتنحسر خلف بطاقات الفعل */
.hero-v14{border-inline-start:4px solid rgba(136,144,160,.4);opacity:.92}
.hero-v14 .hv-brand{color:var(--tx2)}

/* #8 — التمرين التالي داخل لوحة المؤقت */
.t-next{margin-top:12px;padding:11px 13px;border-radius:12px;text-align:center;
  background:rgba(212,168,83,.07);border:1px solid rgba(212,168,83,.22)}
.t-next .tn-lbl{font-family:'Outfit',sans-serif;font-size:9.5px;font-weight:800;letter-spacing:1px;
  text-transform:uppercase;color:var(--tx3);margin-bottom:3px}
.t-next .tn-name{font-family:'Rubik',sans-serif;font-size:14.5px;font-weight:800;color:var(--g2);line-height:1.3}
.t-next .tn-meta{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--tx2);margin-top:3px}
.t-next .tn-alt{margin-top:9px;background:rgba(90,180,255,.1);border:1px solid rgba(90,180,255,.3);
  color:var(--blue);border-radius:9px;padding:7px 14px;font-family:'Rubik',sans-serif;font-size:11.5px;
  font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.18s}
.t-next .tn-alt:hover{background:rgba(90,180,255,.2)}
.t-next .tn-done{font-family:'Rubik',sans-serif;font-size:12px;color:var(--grn);font-weight:700}

/* ============================================================
 * V9.14.20 — لوحة الراحة على اليسار كبطاقة مدمجة بكل مشتملاتها
 *   (العدّاد · ابدأ/إيقاف · إعدادات مسبقة · +30/تخطي · التمرين التالي)
 * ============================================================ */
.tf{left:14px;right:auto;transform:none}
.tf.show{transform:none;flex-direction:column;align-items:flex-start}
.tf > div{width:min(230px,76vw);
  background:linear-gradient(180deg,rgba(16,20,29,.98),rgba(11,14,21,.99));
  border:1px solid rgba(212,168,83,.3);border-radius:18px;padding:14px 14px 12px;
  box-shadow:0 18px 48px rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
/* العدّاد + أزرار التشغيل كصف علوي بعرض كامل (بدل الـ pill المنفصل) */
.tf .tfl{background:none;border:none;box-shadow:none;animation:none;border-radius:0;
  padding:0;gap:10px;justify-content:space-between;width:100%}
.tf .td{font-size:30px;min-width:0;text-align:right}
.tf .tla{font-size:9.5px;color:var(--tx3);letter-spacing:1px;text-transform:uppercase;text-align:right}
/* الإعدادات المسبقة محاذاة لليسار وتلتف */
.tf .tps{justify-content:flex-start;flex-wrap:wrap;gap:6px;margin-top:12px}
/* التمرين التالي يملأ عرض البطاقة */
.tf .t-next{margin-top:12px;width:100%;box-sizing:border-box;text-align:right;
  background:rgba(56,189,248,.06);border:1px solid rgba(56,189,248,.2)}
.tf .t-next .tn-alt{width:100%}
/* فوق الأشرطة السفلية على الموبايل */
@media (max-width:600px){
  .tf{left:12px;bottom:calc(70px + var(--sai-bottom)) !important}
  body.sess-active .tf{bottom:calc(122px + var(--sai-bottom)) !important}
  .tf > div{width:min(220px,72vw)}
}

/* #9 — تغذية الرئيسية المختصرة */
.nut-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.nut-mini-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.nut-mini-lbl{font-family:'Rubik',sans-serif;font-size:12px;color:var(--tx2);font-weight:600}
.nut-mini-val{font-family:'JetBrains Mono',monospace;font-size:14px;color:#fff;font-weight:800}
[data-theme="light"] .nut-mini-val{color:#1A1D24}
.nut-mini-val small{font-size:10px;color:var(--tx3);font-weight:600}
.nut-mini-track{height:7px;border-radius:4px;background:rgba(255,255,255,.06);overflow:hidden}
.nut-mini-fill{height:100%;border-radius:4px;transition:width .4s}
.nut-mini-fill.low{background:linear-gradient(90deg,#C0564B,#E0884B)}
.nut-mini-fill.ok{background:linear-gradient(90deg,#E0884B,#D4A853)}
.nut-mini-fill.full{background:linear-gradient(90deg,#5AE68A,#3FD16F)}
.nut-mini-fill.nut-water{background:linear-gradient(90deg,#5AB4FF,#7BC8FF)}
.nut-timing{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.nut-time-chip{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;
  background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05)}
.nut-time-chip .ntc-ic{font-size:20px;flex-shrink:0}
.nut-time-chip b{display:block;font-family:'Rubik',sans-serif;font-size:12.5px;color:var(--tx);font-weight:700}
.nut-time-chip span span,.nut-time-chip div span{font-family:'Rubik',sans-serif;font-size:11px;color:var(--tx3);line-height:1.4}

/* ============================================================
 * V9.14.12 — تخطيط الرئيسية الجديد: شريط حالة + Hero مختصر + «التالي عليك»
 * ============================================================ */
/* #1 — شريط الحالة العلوي */
.dash-statusbar{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:14px}
.sb-chip{font-family:'Rubik',sans-serif;font-size:11.5px;color:var(--tx2);font-weight:600;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:5px 11px;white-space:nowrap}
.sb-chip b{color:var(--tx);font-family:'JetBrains Mono',monospace}
.sb-chip.sb-week{background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.22);color:var(--g2)}
.sb-chip.sb-week b{color:var(--g2)}
.sb-chip.sbc-ready{background:rgba(90,230,138,.1);border-color:rgba(90,230,138,.28);color:var(--grn)}
.sb-chip.sbc-active{background:rgba(255,90,95,.12);border-color:rgba(255,90,95,.3);color:var(--red);animation:pulse 2s infinite}
.sb-chip.sbc-rest{background:rgba(90,180,255,.1);border-color:rgba(90,180,255,.28);color:var(--blue)}
.sb-chip.sbc-deload{background:rgba(90,180,255,.14);border-color:rgba(90,180,255,.4);color:var(--blue)}

/* #2 — Hero مختصر */
.dash-hero{background:linear-gradient(150deg,rgba(212,168,83,.1),rgba(212,168,83,.02));
  border:1px solid rgba(212,168,83,.2);border-radius:16px;padding:18px 16px;margin-bottom:16px}
.dash-hero .dh-title{font-family:'Outfit',sans-serif;font-size:19px;font-weight:800;color:#fff;line-height:1.35}
[data-theme="light"] .dash-hero .dh-title{color:#1A1D24}
.dash-hero .dh-title span{color:var(--g2);display:inline}
.dash-hero .dh-desc{font-family:'Rubik',sans-serif;font-size:12.5px;color:var(--tx2);line-height:1.7;margin:8px 0 14px}
.dash-hero .dh-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.dash-hero .dh-cta{padding:13px 14px;border-radius:12px;border:none;cursor:pointer;font-family:'Outfit',sans-serif;
  font-size:12.5px;font-weight:800;letter-spacing:.5px;transition:.2s;-webkit-tap-highlight-color:transparent}
.dash-hero .dh-cta-primary{background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;box-shadow:0 5px 16px rgba(212,168,83,.3)}
.dash-hero .dh-cta-primary:hover{transform:translateY(-1px)}
.dash-hero .dh-cta-secondary{background:rgba(255,255,255,.05);color:var(--tx);border:1px solid rgba(212,168,83,.2)}
.dash-hero .dh-cta-secondary:hover{background:rgba(212,168,83,.1);color:var(--g2)}

/* #5 — قسم «التالي عليك» */
.dash-nextup{text-align:center}
.dash-nextup .nu-lbl{font-family:'Outfit',sans-serif;font-size:10px;font-weight:800;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--tx3);margin-bottom:9px}
.dash-nextup .nu-start{width:100%;padding:16px;border:none;border-radius:13px;cursor:pointer;
  background:linear-gradient(135deg,var(--g1),var(--g3));color:#000;font-family:'Outfit',sans-serif;
  font-size:14.5px;font-weight:800;letter-spacing:.6px;box-shadow:0 6px 20px rgba(212,168,83,.32);transition:.2s;
  -webkit-tap-highlight-color:transparent}
.dash-nextup .nu-start:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(212,168,83,.45)}
.dash-nextup .nu-next-name{font-family:'Rubik',sans-serif;font-size:18px;font-weight:800;color:var(--g2);line-height:1.3}
.dash-nextup .nu-next-meta{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--tx);margin-top:4px}
.dash-nextup .nu-rest{font-family:'Rubik',sans-serif;font-size:12.5px;color:var(--blue);line-height:1.6}
.dash-nextup .nu-done{font-family:'Rubik',sans-serif;font-size:14px;color:var(--grn);font-weight:700;margin-bottom:10px}
.dash-nextup .nu-back{margin-top:11px;background:rgba(255,255,255,.05);border:1px solid rgba(212,168,83,.22);
  color:var(--g2);border-radius:10px;padding:9px 18px;font-family:'Rubik',sans-serif;font-size:12px;font-weight:700;
  cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.2s}
.dash-nextup .nu-back:hover{background:rgba(212,168,83,.1)}

/* ============================================================
 * V9.14.13 — ملخص 4 بطاقات (#6) + أدوات سريعة (#7) + تغذية بوجبات (#8) + مواضيع الدليل (#10)
 * ============================================================ */
/* #6 — ٤ بطاقات بارزة */
.program-summary-grid{grid-template-columns:repeat(4,1fr) !important}
.program-summary-grid .psg-val{font-size:16px;color:#fff}
[data-theme="light"] .program-summary-grid .psg-val{color:#1A1D24}
.program-summary-grid .psg-card{border-color:rgba(212,168,83,.14);background:linear-gradient(145deg,rgba(212,168,83,.05),rgba(212,168,83,.01))}
@media (max-width:600px){.program-summary-grid .psg-val{font-size:15px}}

/* #7 — أدوات سريعة */
.qt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.qt-btn{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.035);
  border:1px solid rgba(212,168,83,.16);border-radius:11px;padding:13px 12px;cursor:pointer;
  color:var(--tx);font-family:'Rubik',sans-serif;font-size:12.5px;font-weight:700;transition:.2s;
  -webkit-tap-highlight-color:transparent;text-align:right}
.qt-btn:hover{background:rgba(212,168,83,.09);border-color:rgba(212,168,83,.32);transform:translateY(-1px)}
.qt-btn .qt-ic{font-size:18px;flex-shrink:0}
.qt-btn.qt-end{background:rgba(255,90,95,.08);border-color:rgba(255,90,95,.28);color:var(--red);grid-column:1/-1;justify-content:center}
.qt-btn.qt-end:hover{background:rgba(255,90,95,.16)}

/* #8 — صفوف وجبتي قبل/بعد التمرين */
.nut-meals{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.nut-meal-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;
  background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05)}
.nut-meal-row .nmr-ic{font-size:17px;flex-shrink:0}
.nut-meal-row .nmr-lbl{flex:1;font-family:'Rubik',sans-serif;font-size:12.5px;color:var(--tx);font-weight:600}
.nut-meal-row .nmr-st{font-family:'Rubik',sans-serif;font-size:11px;font-weight:700;color:var(--tx3);white-space:nowrap}
.nut-meal-row.done{background:rgba(90,230,138,.06);border-color:rgba(90,230,138,.25)}
.nut-meal-row.done .nmr-st{color:var(--grn)}
.dash-actions.dash-actions-2{grid-template-columns:1fr 1fr}

/* #10 — قائمة مواضيع الدليل */
.hv-topics{list-style:none;margin:4px 0 14px;padding:0;display:flex;flex-direction:column;gap:7px}
.hv-topics li{position:relative;padding:8px 28px 8px 10px;border-radius:9px;
  background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);
  font-family:'Rubik',sans-serif;font-size:12.5px;color:var(--tx2);line-height:1.5}
.hv-topics li::before{content:'›';position:absolute;right:11px;top:50%;transform:translateY(-50%);
  color:var(--g2);font-weight:800;font-size:15px}
.hv-topics li b{color:var(--g2)}

/* ============================================================
 * V9.14.14 — Style Guide: خطوط · نصف قطر · أزرار · هرم بصري
 * ============================================================ */
/* العناوين: IBM Plex Sans Arabic (قراءة عربية أوضح) — الواجهة تبقى Rubik، الأرقام JetBrains Mono */
h1,h2,h3,.ct,.dash-card-head,.tc-title,.dh-title,.nu-next-name,.bn-drawer-title,.onb-title,
.sh-title,.dn,.tc-info-session-name,.es-text b{font-family:var(--font-head)}
/* النصوص الطويلة (شرح/نصائح/أوصاف) — IBM Plex للقراءة المريحة */
.hv-desc,.dh-desc,.tt,.tc-rest-desc,.es-text,.onb-sub{font-family:'IBM Plex Sans Arabic','Rubik',sans-serif}

/* نصف قطر البطاقات ~18px + Padding (موبايل ١٦ · ديسكتوب أكبر) */
.dash-card{border-radius:18px;padding:16px}
.card{border-radius:18px}
@media (min-width:601px){.dash-card{padding:22px}.card{padding:24px}}

/* أحجام العناوين (Hero) — موبايل ثم ديسكتوب */
.dash-hero .dh-title{font-size:23px;line-height:1.3}
@media (min-width:601px){.dash-hero .dh-title{font-size:32px}}

/* الأزرار: ارتفاع لا يقل عن 48px + حواف 14px */
.tc-cta,.dh-cta,.nu-start,.nu-back,.dash-action,.qt-btn,.dash-card-more{min-height:48px;border-radius:14px}
.dash-card-more{display:flex;align-items:center;justify-content:center}

/* CTA قوي (#F59E0B): أهم أزرار البدء — ذهبي→برتقالي بنص أسود */
.tc-cta-hero,.dh-cta-primary,.nu-start{
  background:linear-gradient(135deg,var(--g2),var(--cta)) !important;color:#0A0A0A !important;
  box-shadow:0 8px 24px rgba(245,158,11,.32) !important}
.tc-cta-hero:hover,.dh-cta-primary:hover,.nu-start:hover{box-shadow:0 12px 30px rgba(245,158,11,.45) !important}

/* هرم بصري: بطاقة تمرين اليوم الأقوى (ظل وحدّ أبرز) */
.today-card{box-shadow:0 12px 36px rgba(0,0,0,.45)}
.today-card.card-action{border-inline-start-width:5px}
/* أدوات سريعة أخف وأصغر */
.dash-quicktools{background:var(--s1)}
.dash-quicktools .qt-btn{min-height:46px}

/* ============================================================
 * V9.14.15 — أيقونات outline موحّدة + مسافات + صفوف بطاقة التمرين
 * ============================================================ */
.ic{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.16em;
  fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ic-lg{width:1.5em;height:1.5em}
.ic-sm{width:1em;height:1em}
.bn-ic .ic{width:21px;height:21px;vertical-align:0}
.psg-ic .ic{width:20px;height:20px}
.tcs-ic .ic,.qt-ic .ic{width:18px;height:18px}

/* مسافات موحّدة: بين البطاقات ١٤px · مسافة قسم قبل العناصر الرئيسية */
.dash-card,.program-summary-grid,.dash-statusbar,.dash-hero,.today-card{margin-bottom:14px}
.dash-nutrition-card,.hero-v14{margin-top:26px} /* فاصل قسم أوضح قبل التغذية/الدليل */

/* صفوف واضحة داخل بطاقة الأوزان: تكرار · راحة · Plan B */
.rw-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.rw-tag{display:inline-flex;align-items:center;gap:5px;font-family:'Rubik',sans-serif;font-size:10.5px;
  font-weight:700;color:var(--tx2);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:8px;padding:4px 9px}
.rw-tag .ic{width:13px;height:13px}
.rw-tag-rest{color:var(--blue);background:rgba(56,189,248,.08);border-color:rgba(56,189,248,.22)}
.rw-tag-planb{color:var(--g2);background:rgba(212,168,83,.08);border-color:rgba(212,168,83,.22)}

/* ============================================================
 * V9.14.16 — Workout Mode: أزرار +/- + شريط جلسة سفلي ثابت
 * ============================================================ */
/* #1 — steppers للوزن/التكرار */
.set-stepper{display:inline-flex;align-items:center;gap:5px}
.set-stepper .ss-btn{width:36px;height:36px;min-width:36px;border-radius:9px;
  border:1px solid rgba(212,168,83,.28);background:rgba(212,168,83,.07);color:var(--g2);
  font-size:20px;font-weight:800;line-height:1;cursor:pointer;display:flex;align-items:center;
  justify-content:center;-webkit-tap-highlight-color:transparent;transition:.15s;font-family:'Rubik',sans-serif}
.set-stepper .ss-btn:active{background:rgba(212,168,83,.2);transform:scale(.94)}
.set-stepper input.weight-input,.set-stepper input.reps-input{width:52px}

/* #4 — شريط جلسة سفلي ثابت (إحساس دائم بالتقدّم) */
.sess-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:97;display:none;
  align-items:center;gap:12px;padding:10px 16px;
  background:linear-gradient(180deg,rgba(16,20,29,.97),rgba(11,14,21,.99));
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  border-top:1px solid rgba(212,168,83,.28);box-shadow:0 -8px 24px rgba(0,0,0,.45)}
body.sess-active .sess-bottom-bar{display:flex}
.sess-bottom-bar .sbb-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sess-bottom-bar .sbb-day{font-family:var(--font-head);font-weight:800;font-size:13px;color:var(--g2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.sess-bottom-bar .sbb-meta{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--tx2)}
.sess-bottom-bar .sbb-meta b{color:var(--tx)}
.sess-bottom-bar .sbb-end{flex-shrink:0;background:rgba(239,68,68,.14);color:var(--red);
  border:1px solid rgba(239,68,68,.35);border-radius:10px;padding:9px 18px;min-height:42px;
  font-family:'Rubik',sans-serif;font-size:12.5px;font-weight:800;cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:.18s}
.sess-bottom-bar .sbb-end:active{background:rgba(239,68,68,.26)}
/* على الموبايل: فوق التنقّل السفلي · ادفع المحتوى لئلا يُحجب */
@media (max-width:600px){
  .sess-bottom-bar{bottom:calc(57px + var(--sai-bottom))}
  body.sess-active{padding-bottom:calc(118px + var(--sai-bottom))}
}
.sess-bottom-bar.complete{border-top-color:rgba(34,197,94,.55)}
.sess-bottom-bar.complete .sbb-day,.sess-bottom-bar.complete .sbb-meta b{color:var(--grn)}

/* #6 — ✓ واضح لكل سيت مكتمل */
.step.completed .step-num{position:relative;color:transparent !important}
.step.completed .step-num::after{content:'✓';position:absolute;inset:0;display:flex;
  align-items:center;justify-content:center;background:var(--grn);color:#06080D;
  border-radius:inherit;font-weight:900;font-size:13px;font-family:'Rubik',sans-serif}

/* #7 — عرض «آخر مرة / المقترح» أوضح */
.track-input .last{font-size:11px;color:var(--tx2)}
.track-input .last b{color:var(--tx);font-weight:800}
.prog-hint{font-size:11.5px}
.prog-hint b{color:var(--cta);font-size:13px}

/* #8 — شارة الثقة (أوفلاين · بيانات محلية) */
.sb-chip.sbc-offline{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.24);color:var(--grn)}
.sb-chip.sbc-offline .ic{width:13px;height:13px}

/* ----- (#8) تغذية مختصرة ----- */
.nut-target{margin-bottom:12px}
.nut-target-main{font-family:'Outfit',sans-serif;text-align:center;margin-bottom:6px}
.nut-cal-cur{font-size:26px;font-weight:800;color:#fff}
[data-theme="light"] .nut-cal-cur{color:#1A1D24}
.nut-cal-sep{color:var(--tx3);font-size:18px}
.nut-cal-tgt{font-size:18px;color:var(--g2);font-weight:700}
.nut-target-main small{color:var(--tx3);font-size:12px;font-family:'Rubik',sans-serif}
.nut-cal-track{height:8px;background:rgba(255,255,255,.05);border-radius:99px;overflow:hidden}
.nut-cal-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--g3),var(--g1));transition:width .5s cubic-bezier(.16,1,.3,1)}
.nut-cal-fill.full{background:linear-gradient(90deg,var(--grn),#3FCF72)}
.nut-cal-fill.low{background:linear-gradient(90deg,var(--org),var(--g1))}
.nut-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.nut-macro{text-align:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:9px 6px}
.nut-macro .nm-lbl{font-size:10.5px;color:var(--tx3);margin-bottom:3px;font-family:'Outfit',sans-serif;font-weight:700;letter-spacing:.3px}
.nut-macro .nm-val b{font-size:16px;color:#fff;font-weight:800}
[data-theme="light"] .nut-macro .nm-val b{color:#1A1D24}
.nut-macro .nm-val small{font-size:10px;color:var(--tx3)}
.nut-protein{border-bottom:2px solid var(--red)}
.nut-carb{border-bottom:2px solid var(--org)}
.nut-fat{border-bottom:2px solid var(--purple)}
.nut-actions{margin-top:10px}

/* ----- (#9) ملخص التقدّم ----- */
.dash-progress-summary .dps-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.dps-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px}
.dps-lbl{display:block;font-size:10.5px;color:var(--tx3);margin-bottom:3px}
.dps-val{font-size:13.5px;color:#fff;font-weight:700;font-family:'Outfit',sans-serif}
[data-theme="light"] .dps-val{color:#1A1D24}
.dps-compliance{margin-bottom:12px}
.dps-compliance .dtp-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;color:var(--tx2)}
.dps-compliance .dtp-val{margin-right:auto;color:#fff;font-weight:800}
[data-theme="light"] .dps-compliance .dtp-val{color:#1A1D24}
.dps-compliance .dtp-track{height:7px;background:rgba(255,255,255,.05);border-radius:99px;overflow:hidden}
.dps-compliance .dtp-fill{height:100%;border-radius:99px;transition:width .5s}
.dps-compliance .dtp-fill-good{background:linear-gradient(90deg,var(--grn),#3FCF72)}
.dps-compliance .dtp-fill-ok{background:linear-gradient(90deg,var(--org),var(--g1))}
.dps-compliance .dtp-fill-low{background:linear-gradient(90deg,var(--red),var(--org))}

/* ----- (#10) بطاقات النصائح القصيرة + modal ----- */
.tips-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.tip-card{background:linear-gradient(150deg,var(--s1),var(--s2));border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:14px;display:flex;flex-direction:column}
.tip-card h3{font-family:'Outfit',sans-serif;font-weight:800;font-size:14px;margin:0 0 6px;color:#fff}
[data-theme="light"] .tip-card h3{color:#1A1D24}
.tip-card p{font-size:11.5px;color:var(--tx2);line-height:1.7;margin:0 0 10px;flex:1}
.tip-card button{background:rgba(212,168,83,.1);color:var(--g2);border:1px solid rgba(212,168,83,.2);border-radius:8px;padding:7px;font-family:'Rubik',sans-serif;font-weight:700;font-size:11.5px;cursor:pointer;transition:.2s;-webkit-tap-highlight-color:transparent}
.tip-card button:hover{background:rgba(212,168,83,.18)}
.tip-card.tc-redflags{border-color:rgba(255,90,95,.2)}
.tip-card.tc-redflags button{background:rgba(255,90,95,.1);color:var(--red);border-color:rgba(255,90,95,.25)}
.tip-modal-body{padding:4px 2px 8px;color:var(--tx2);font-size:13.5px;line-height:1.9}
.tip-modal-body p{margin:0 0 12px;color:var(--tx)}
.tip-modal-body ul{margin:0;padding-right:20px;display:flex;flex-direction:column;gap:7px}
.tip-modal-body li{font-size:12.5px}
.tip-modal-body b{color:var(--g2)}

@media (max-width:600px){
  .eq-cards{grid-template-columns:1fr}
  .tips-cards-grid{grid-template-columns:1fr}
  .nut-macros{gap:6px}
}
