@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;1,700;1,800&family=Montserrat:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#0B0F16;
  --panel:#131A24;
  --panel2:#1A2330;
  --orange:#F5821F;
  --orange-light:#FDB44B;
  --green:#8FD400;
  --green-light:#B6EE4A;
  --green-dark:#5FA300;
  --white:#F5F7F2;
  --grey:#8C96A5;
  --line:rgba(255,255,255,0.08);
  --red:#E8432F;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;}
body{
  background:#000;
  color:var(--white);
  font-family:'Montserrat',sans-serif;
  display:flex;justify-content:center;
  min-height:100vh;
}
h1,h2,h3,.display{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;font-style:italic;
  text-transform:uppercase;letter-spacing:0.01em;line-height:0.95;
}
button{font-family:inherit;}
.grad{color:var(--green);}

/* PHONE SHELL */
.phone{
  width:100%;max-width:430px;min-height:100vh;
  background:var(--bg);
  position:relative;overflow-x:hidden;
  border-left:1px solid #111;border-right:1px solid #111;
}
@media(min-width:480px){.phone{min-height:100vh;box-shadow:0 0 60px rgba(0,0,0,0.6);}}

.screen{display:none;min-height:100vh;padding-bottom:90px;animation:fade .35s ease;}
.screen.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

/* SPLASH */
#screen-splash{
  flex-direction:column;align-items:center;justify-content:flex-end;
  min-height:100vh;padding:0;text-align:center;position:relative;overflow:hidden;
  background:var(--bg);
}
#screen-splash.active{display:flex;}
.splash-bgphoto{position:absolute;inset:0;z-index:0;overflow:hidden;}
.splash-bgphoto img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.splash-bgphoto::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 0%, transparent 46%, rgba(11,15,22,0.55) 66%, var(--bg) 92%);
}

.splash-content{
  position:relative;z-index:2;width:100%;padding:0 26px 40px;
}
.logo-mark{display:flex;align-items:baseline;gap:4px;justify-content:center;}
.logo-mark .s{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:38px;color:var(--green);letter-spacing:-1px;}
.logo-mark .fit{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:38px;color:var(--white);letter-spacing:-1px;}
.splash-title{margin-bottom:14px;}
.splash-title .num{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:74px;color:var(--green);line-height:0.8;letter-spacing:-2px;}
.splash-title .rest{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:38px;color:var(--white);letter-spacing:0.01em;display:block;margin-top:-6px;}
.splash-title .rest2{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:52px;color:var(--white);-webkit-text-stroke:1.5px var(--green);letter-spacing:0.01em;display:block;margin-top:-4px;}
.splash-badges{display:flex;gap:8px;justify-content:center;margin:14px 0 18px;flex-wrap:wrap;}
.splash-badges span{border:1px solid var(--line);color:var(--grey);font-size:10.5px;font-weight:700;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,0.03);}
#screen-splash p.lead{font-size:14px;color:#C9D2C2;max-width:320px;margin:0 auto 30px;line-height:1.55;font-weight:500;}
#screen-splash p.lead b{color:var(--green-light);}
.splash-foot{margin-top:14px;font-size:10px;color:#555;letter-spacing:0.1em;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 30px;border-radius:14px;font-weight:800;font-size:14px;letter-spacing:0.02em;
  cursor:pointer;border:none;width:100%;transition:transform .12s ease;
}
.btn:active{transform:scale(0.97);}
.btn-primary{background:linear-gradient(90deg,var(--green),var(--green-light));color:var(--bg);}
.btn-outline{border:1.5px solid var(--line);color:var(--white);background:transparent;}
.btn-ghost{background:var(--panel);color:var(--white);}
.splash-foot{bottom:26px;font-size:10px;color:#555;letter-spacing:0.1em;}

/* TOPBAR (inner screens) */
.topbar{
  display:flex;align-items:center;gap:12px;padding:20px 22px 10px;
  position:sticky;top:0;background:var(--bg);z-index:10;
}
.topbar .step{font-size:11px;color:var(--green-light);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}
.topbar h2{font-size:26px;margin-top:2px;}
.progress-dots{display:flex;gap:6px;margin-left:auto;}
.progress-dots i{width:7px;height:7px;border-radius:50%;background:var(--line);display:block;}
.progress-dots i.on{background:var(--green);}

.content{padding:16px 22px 30px;}

/* FORM */
.field{margin-bottom:16px;}
.field label{display:block;font-size:11px;color:var(--grey);text-transform:uppercase;letter-spacing:0.06em;font-weight:700;margin-bottom:7px;}
.field input, .field select{
  width:100%;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 15px;
  color:var(--white);font-family:'Montserrat';font-size:14.5px;outline:none;
}
.field input:focus,.field select:focus{border-color:var(--green);}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.chip-group{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);
  font-size:12.5px;font-weight:600;color:var(--grey);cursor:pointer;
}
.chip.selected{border-color:var(--green);color:var(--green-light);background:rgba(143,212,0,0.10);}
.hint{font-size:11.5px;color:var(--grey);margin-top:8px;line-height:1.5;}

/* CATEGORY CARDS */
.cat-card{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:14px;cursor:pointer;
}
.cat-card.selected{border-color:var(--green);}
.cat-card h3{font-size:22px;margin-bottom:2px;}
.cat-card .sub{font-size:11px;color:var(--grey);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:12px;}
.level-row{display:flex;gap:8px;}
.level-pill{flex:1;text-align:center;padding:10px 4px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);cursor:pointer;}
.level-pill b{display:block;font-family:'Barlow Condensed';font-style:italic;font-weight:800;font-size:19px;color:var(--green-light);}
.level-pill span{font-size:10.5px;color:var(--grey);}
.level-pill.selected{border-color:var(--green);background:rgba(143,212,0,0.12);}

/* AUTH SCREEN */
#screen-auth{min-height:100vh;}
.auth-hero{position:relative;height:280px;overflow:hidden;}
.auth-hero img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;}
.auth-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,15,22,0.15) 0%, rgba(11,15,22,0.55) 60%, var(--bg) 100%);
}
.auth-hero-brand{position:absolute;top:18px;left:22px;z-index:2;}
.auth-tabs{display:flex;gap:6px;padding:18px 22px 6px;margin-top:-30px;position:relative;z-index:2;}
.auth-tab{flex:1;text-align:center;padding:12px 6px;border-radius:12px;font-size:13px;font-weight:800;cursor:pointer;
  background:var(--panel);border:1px solid var(--line);color:var(--grey);}
.auth-tab.active{background:linear-gradient(90deg,var(--green),var(--green-light));color:var(--bg);border-color:transparent;}
.auth-form{padding:16px 22px 10px;}
.auth-form .field{margin-bottom:14px;}
.auth-error{background:rgba(232,67,47,0.12);border:1px solid rgba(232,67,47,0.4);color:#FFB4A8;font-size:12px;
  border-radius:10px;padding:10px 13px;margin-bottom:14px;display:none;}
.auth-error.show{display:block;}
.auth-note{font-size:11px;color:var(--grey);line-height:1.5;margin-top:10px;}
.pw-toggle-row{display:flex;align-items:center;gap:8px;margin-bottom:16px;}
.pw-toggle-row input{width:auto;}
.pw-toggle-row label{font-size:12px;color:var(--grey);}

/* ACCOUNT ROW (Stats tab) */
.account-row{
  display:flex;align-items:center;justify-content:space-between;background:var(--panel);
  border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:18px;
}
.account-row .who{font-size:12px;color:var(--grey);}
.account-row .who b{display:block;color:var(--white);font-size:13.5px;margin-top:2px;word-break:break-all;}
.account-row button{flex:0 0 auto;background:none;border:1px solid var(--line);color:var(--grey);
  font-size:11px;font-weight:700;padding:8px 12px;border-radius:9px;cursor:pointer;}

/* MAIN APP */
#screen-app{padding-bottom:96px;}
.app-header{padding:20px 22px 6px;}
.greet{font-size:12px;color:var(--grey);}
.greet b{color:var(--white);}
.app-header h1{font-size:30px;margin-top:2px;}
.summary-card{
  margin:16px 22px 6px;padding:18px;border-radius:16px;
  background:linear-gradient(135deg, rgba(143,212,0,0.16), rgba(143,212,0,0.02));
  border:1px solid rgba(143,212,0,0.35);display:flex;justify-content:space-between;align-items:center;
}
.summary-card .l{font-size:11px;color:var(--grey);text-transform:uppercase;letter-spacing:0.05em;}
.summary-card .v{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:28px;color:var(--green-light);}

.tabpanels{padding:10px 22px 20px;}
.tabpanel{display:none;}
.tabpanel.active{display:block;}

/* PROGRAMME TAB */
.day-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 14px;}
.day-tab{flex:0 0 auto;padding:9px 15px;border-radius:10px;border:1px solid var(--line);font-size:12.5px;font-weight:700;cursor:pointer;color:var(--grey);background:var(--panel);white-space:nowrap;}
.day-tab.active{background:linear-gradient(90deg,var(--green),var(--green-light));color:var(--bg);border-color:transparent;}
.day-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;}
.day-card .eyebrow{color:var(--green-light);font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}
.day-card h3{font-size:26px;margin:4px 0 4px;}
.day-card .theme{font-size:13px;color:var(--grey);margin-bottom:14px;}
.challenge-strip{
  display:flex;justify-content:space-between;align-items:center;background:#000;border:1px solid rgba(143,212,0,0.45);
  border-radius:12px;padding:12px 16px;margin-bottom:16px;
}
.challenge-strip .l{font-size:11px;color:var(--grey);text-transform:uppercase;}
.challenge-strip .v{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:24px;color:var(--green-light);}

.ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.ex-card{background:var(--panel2);border:1px solid var(--line);border-radius:14px;overflow:hidden;position:relative;}
.ex-visual{height:100px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%, rgba(143,212,0,0.18), transparent 65%), #101208;color:var(--green);}
.ex-visual svg{width:56px;height:56px;}
.sets-badge{
  position:absolute;top:8px;right:8px;background:var(--red);color:#fff;font-size:10.5px;font-weight:800;
  padding:3px 8px;border-radius:6px;
}
.ex-info{padding:9px 12px 12px;}
.ex-info .name{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:16.5px;line-height:1.05;margin-bottom:3px;}
.ex-info .muscle{font-size:10px;color:var(--grey);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:6px;}
.ex-info .demo-link{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:var(--green);}

.script-toggle{font-size:12.5px;color:var(--green-light);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;}
.script-box{display:none;background:#000;border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:13.5px;line-height:1.9;white-space:pre-wrap;color:#D8DED1;}
.script-box.show{display:block;}

.mini-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
.mini-box{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:13px 14px;}
.mini-box .t{font-family:'Barlow Condensed';font-style:italic;font-weight:800;font-size:15.5px;color:var(--green-light);margin-bottom:4px;}
.mini-box p{font-size:12px;color:var(--grey);}

.validate-row{margin-top:18px;}
.streak-line{font-size:12px;color:var(--grey);text-align:center;margin-top:10px;}
.streak-line b{color:var(--green);}

.motiv-card{margin-top:14px;background:linear-gradient(135deg,var(--panel2),var(--panel));border:1px solid rgba(143,212,0,0.3);border-radius:14px;padding:18px;display:none;}
.motiv-card.show{display:block;}
.motiv-card .who{font-size:11px;color:var(--grey);margin-bottom:6px;}
.motiv-card p{font-family:'Barlow Condensed';font-style:italic;font-weight:700;font-size:18px;}

.validation-card{
  margin-top:14px;display:none;
}
.validation-card.show{display:block;}
.cert-card{
  position:relative;border-radius:26px;padding:28px 22px;overflow:hidden;
  background:linear-gradient(160deg, #0A0A0A 0%, #0E2418 55%, #0A0A0A 100%);
  border:1px solid rgba(143,212,0,0.28);
  box-shadow:0 20px 45px rgba(0,0,0,0.5);
}
.cert-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(45deg, rgba(143,212,0,0.04) 0 2px, transparent 2px 42px);
}
.cert-probadge{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,#FFD86B,#C9950B);color:#2b1c00;font-size:9px;font-weight:800;padding:4px 10px;border-radius:999px;letter-spacing:0.05em;display:none;}
.cert-logo{position:relative;text-align:center;margin-bottom:16px;font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:24px;}
.cert-logo .s{color:var(--green);} .cert-logo .fit{color:#fff;}
.cert-title{position:relative;text-align:center;font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:28px;color:#fff;margin-bottom:2px;}
.cert-sub{position:relative;text-align:center;font-size:12.5px;font-weight:800;letter-spacing:0.1em;color:var(--green-light);margin-bottom:20px;}
.cert-check-wrap{position:relative;display:flex;justify-content:center;margin-bottom:18px;}
.cert-check{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#3FDC7C,#16833E);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px rgba(34,197,94,0.15);}
.cert-info{position:relative;background:rgba(255,255,255,0.045);border:1px solid rgba(255,255,255,0.09);border-radius:14px;padding:14px 16px;margin-bottom:16px;}
.cert-row{display:flex;justify-content:space-between;font-size:12px;padding:4px 0;color:#CFD6C7;}
.cert-row b{color:#fff;font-weight:700;}
.cert-progress{position:relative;margin-bottom:16px;}
.cert-progress .lab{display:flex;justify-content:space-between;font-size:10.5px;color:var(--grey);margin-bottom:5px;}
.cert-progress .track{height:7px;border-radius:99px;background:rgba(255,255,255,0.09);overflow:hidden;}
.cert-progress .fill{height:100%;background:linear-gradient(90deg,var(--green-dark),var(--green));border-radius:99px;}
.cert-quote{position:relative;background:rgba(143,212,0,0.08);border-left:3px solid var(--green);border-radius:10px;padding:11px 13px;font-family:'Barlow Condensed';font-style:italic;font-weight:700;font-size:14px;color:#EAF0E2;margin-bottom:16px;line-height:1.25;}
.cert-footer{position:relative;text-align:center;}
.cert-footer .next{font-size:12.5px;font-weight:800;color:var(--green-light);margin-bottom:5px;}
.cert-footer .sig{font-size:9.5px;color:var(--grey);letter-spacing:0.08em;}
.v-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px;}

/* NUTRITION TAB */
.nut-summary{display:flex;gap:10px;margin-bottom:16px;}
.nut-stat{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;}
.nut-stat .num{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:22px;color:var(--green-light);}
.nut-stat .lab{font-size:9.5px;color:var(--grey);text-transform:uppercase;}
.day-accordion{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden;}
.day-accordion .head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;}
.day-accordion .head b{font-family:'Barlow Condensed';font-style:italic;font-weight:800;font-size:17px;}
.day-accordion .body{display:none;padding:0 16px 16px;}
.day-accordion .body.show{display:block;}
.meal-row{border-top:1px solid var(--line);padding:10px 0;}
.meal-row .t{font-size:11px;font-weight:800;color:var(--green-light);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:3px;}
.meal-row p{font-size:13px;color:#D6DDE5;}
.chev{transition:transform .2s;color:var(--grey);}
.chev.rot{transform:rotate(90deg);}

/* SUIVI TAB */
.progress-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:20px;}
.pgi{aspect-ratio:1;border-radius:10px;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:16px;color:var(--grey);}
.pgi.done{background:var(--green);color:var(--bg);border-color:transparent;}

/* BOTTOM NAV */
.bottomnav{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;
  background:rgba(10,11,8,0.92);backdrop-filter:blur(10px);border-top:1px solid var(--line);
  display:none;justify-content:space-around;padding:10px 6px 16px;z-index:40;
}
.bottomnav.show{display:flex;}
.navbtn{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--grey);font-size:10px;font-weight:600;background:none;border:none;cursor:pointer;padding:4px 8px;}
.navbtn svg{width:20px;height:20px;}
.navbtn.active{color:var(--green);}

.contact-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;align-items:center;gap:12px;margin-top:10px;}
.contact-card .ic{font-size:22px;}
.contact-card .t{font-size:13.5px;font-weight:700;}
.contact-card .s{font-size:11.5px;color:var(--grey);}

/* ---- RESUME BAR (splash) ---- */
.resume-bar{position:relative;z-index:2;width:100%;max-width:320px;margin:0 auto 14px;background:rgba(143,212,0,0.1);border:1px solid rgba(143,212,0,0.35);border-radius:14px;padding:12px 14px;text-align:left;display:none;}
.resume-bar.show{display:block;}
.resume-bar .l{font-size:10px;color:var(--grey);text-transform:uppercase;letter-spacing:0.06em;}
.resume-bar .v{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:18px;color:var(--green-light);}

/* ---- LOCKED DAYS ---- */
.day-tab{position:relative;}
.day-tab.locked{opacity:0.45;cursor:not-allowed;}
.day-tab .lockicon{margin-left:4px;font-size:10px;}
.day-card.locked-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:44px 22px;gap:10px;}
.day-card.locked-panel .lockbig{font-size:38px;}
.day-card.locked-panel h3{font-size:20px;}
.day-card.locked-panel p{font-size:13px;color:var(--grey);line-height:1.5;}
.day-accordion.locked .head{opacity:0.45;cursor:not-allowed;}
.day-accordion.locked .body{display:none !important;}

/* ---- APP HEADER / NOTIF BELL ---- */
.app-header{display:flex;justify-content:space-between;align-items:flex-start;}
.notif-bell{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:12px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;margin-top:2px;}
.notif-bell svg{width:19px;height:19px;color:var(--grey);}
.notif-dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--red);display:none;}
.notif-dot.show{display:block;}
.notif-panel{position:fixed;top:0;right:0;height:100%;width:100%;max-width:340px;background:var(--panel);border-left:1px solid var(--line);z-index:80;transform:translateX(100%);transition:transform .25s ease;padding:20px;overflow-y:auto;}
.notif-panel.show{transform:translateX(0);}
.notif-panel h3{font-size:20px;margin-bottom:14px;}
.notif-item{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:8px;font-size:13px;line-height:1.4;}
.notif-item .time{font-size:10px;color:var(--grey);margin-top:4px;}
.notif-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--white);font-size:20px;cursor:pointer;}
.notif-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:70;display:none;}
.notif-overlay.show{display:block;}
.notif-empty{font-size:12.5px;color:var(--grey);text-align:center;margin-top:30px;}

/* ---- EXERCISE MODAL ---- */
.ex-card{cursor:pointer;}
.ex-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:90;display:none;align-items:flex-end;justify-content:center;}
.ex-modal-overlay.show{display:flex;}
.ex-modal{width:100%;max-width:430px;background:var(--panel);border-radius:22px 22px 0 0;padding:24px 22px 30px;max-height:85vh;overflow-y:auto;animation:fade .25s ease;}
.ex-modal .diff-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:0.06em;padding:4px 10px;border-radius:999px;margin-bottom:8px;text-transform:uppercase;}
.diff-facile{background:rgba(143,212,0,0.18);color:var(--green-light);}
.diff-moyen{background:rgba(245,130,31,0.18);color:var(--orange-light);}
.diff-difficile{background:rgba(232,67,47,0.18);color:#ff8b7a;}
.ex-modal h3{font-size:26px;margin-bottom:4px;}
.ex-modal .muscle-tag{font-size:11.5px;color:var(--grey);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:14px;}
.ex-modal .sec{margin-bottom:14px;}
.ex-modal .sec .t{font-family:'Barlow Condensed';font-style:italic;font-weight:800;font-size:15px;color:var(--green-light);margin-bottom:5px;}
.ex-modal .sec p, .ex-modal .sec li{font-size:13px;color:#D6DDE5;line-height:1.5;}
.ex-modal .sec ul{padding-left:18px;}
.ex-modal .statsrow{display:flex;gap:10px;margin-bottom:16px;}
.ex-modal .statsrow .box{flex:1;background:var(--panel2);border-radius:12px;padding:10px;text-align:center;}
.ex-modal .statsrow .box b{display:block;font-family:'Barlow Condensed';font-style:italic;font-weight:800;font-size:17px;color:var(--white);}
.ex-modal .statsrow .box span{font-size:9.5px;color:var(--grey);text-transform:uppercase;}
.ex-modal .btn-demo{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  background:linear-gradient(90deg,#1a1a1a,#111);border:1.5px solid var(--green);color:var(--green-light);
  padding:14px;border-radius:14px;font-weight:800;font-size:13.5px;margin-bottom:14px;text-decoration:none;
}
.ex-modal .btn-demo svg{width:18px;height:18px;flex:0 0 auto;}

/* ---- DASHBOARD ---- */
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
.dash-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;}
.dash-card .num{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:26px;color:var(--green-light);}
.dash-card .lab{font-size:10px;color:var(--grey);text-transform:uppercase;letter-spacing:0.05em;margin-top:2px;}
.dash-bigcard{background:linear-gradient(135deg, rgba(143,212,0,0.16), rgba(143,212,0,0.02));border:1px solid rgba(143,212,0,0.35);border-radius:16px;padding:18px;margin-bottom:16px;}
.dash-bigcard .toplab{font-size:11px;color:var(--grey);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:8px;}
.dash-bigcard .pctnum{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:42px;color:var(--green-light);line-height:1;}
.dash-track{height:10px;border-radius:99px;background:rgba(255,255,255,0.08);overflow:hidden;margin-top:12px;}
.dash-fill{height:100%;background:linear-gradient(90deg,var(--green-dark),var(--green));border-radius:99px;transition:width .4s ease;}
.dash-chart{display:flex;align-items:flex-end;gap:6px;height:90px;margin-top:6px;}
.dash-chart .bar{flex:1;background:var(--panel2);border-radius:6px 6px 0 0;position:relative;min-height:4px;}
.dash-chart .bar.on{background:linear-gradient(180deg,var(--green-light),var(--green));}
.dash-chart .bar span{position:absolute;bottom:-16px;left:0;right:0;text-align:center;font-size:9px;color:var(--grey);}
.section-title{font-family:'Barlow Condensed';font-style:italic;font-weight:800;font-size:19px;margin:22px 0 12px;}
.section-title:first-child{margin-top:0;}

/* ---- BADGES ---- */
.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:6px;}
.badge-item{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 6px;text-align:center;opacity:0.35;}
.badge-item.unlocked{opacity:1;border-color:rgba(143,212,0,0.4);background:linear-gradient(160deg,var(--panel2),var(--panel));}
.badge-item .ic{font-size:26px;margin-bottom:6px;}
.badge-item .n{font-size:10px;font-weight:700;color:var(--white);line-height:1.25;}

/* ---- CLASSEMENT ---- */
.lb-note{font-size:11px;color:var(--grey);margin-bottom:12px;line-height:1.5;}
.lb-row{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin-bottom:8px;}
.lb-row.me{border-color:rgba(143,212,0,0.5);background:rgba(143,212,0,0.08);}
.lb-rank{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:18px;color:var(--grey);width:26px;}
.lb-row:nth-child(1) .lb-rank{color:#FFD86B;}
.lb-row:nth-child(2) .lb-rank{color:#D9D9D9;}
.lb-row:nth-child(3) .lb-rank{color:#C9950B;}
.lb-name{flex:1;font-size:13.5px;font-weight:700;}
.lb-name .s{display:block;font-size:10.5px;color:var(--grey);font-weight:500;}
.lb-days{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-size:15px;color:var(--green-light);}

/* ---- SUB-TABS (Stats) ---- */
.subtabs{display:flex;gap:6px;margin-bottom:16px;}
.subtab{flex:1;text-align:center;padding:9px 6px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font-size:12px;font-weight:700;color:var(--grey);cursor:pointer;}
.subtab.active{background:linear-gradient(90deg,var(--green),var(--green-light));color:var(--bg);border-color:transparent;}
.subpanel{display:none;}
.subpanel.active{display:block;}

@media print{
  .phone{max-width:100%;}
  body *{visibility:hidden;}
  #printArea, #printArea *{visibility:visible;}
  #printArea{position:absolute;top:0;left:0;width:100%;background:#fff;color:#111;padding:24px;}
  #printArea .meal-row .t{color:#5FA300;}
  .day-accordion[data-hidden-print="1"]{display:none !important;}
}

.exercise-icon {
    width: 100px;
    height: 100px;
    object-fit: contain;
}
