:root{
  --red:#E03030;--rd:rgba(224,48,48,.1);--rb:rgba(224,48,48,.25);
  --bg:#0D1B2A;--bg2:#121F2E;--bg3:#0A1520;
  --sv:#9BAFC4;--tx:rgba(255,255,255,.9);--mu:rgba(255,255,255,.42);
  --fn:rgba(255,255,255,.07);--ln:rgba(255,255,255,.07);--gr:#5BC45B;
  --gold:#F5A623;--gd:rgba(245,166,35,.12);--gb:rgba(245,166,35,.3);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font-family:'DM Sans',sans-serif;overflow-x:hidden}
.view{display:none}.view.active{display:block}

/* ── SHARED ── */
.field{margin-bottom:12px}
.field label{display:block;font-size:11px;color:rgba(255,255,255,.4);margin-bottom:4px;text-transform:uppercase;letter-spacing:.4px}
.field input,.field select{width:100%;background:var(--bg3);border:0.5px solid rgba(255,255,255,.12);color:#fff;padding:10px 12px;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:border-color .2s;appearance:none}
.field input:focus,.field select:focus{border-color:var(--rb)}
.field input::placeholder{color:rgba(255,255,255,.2)}
.field select option{background:var(--bg2)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.fsep{height:0.5px;background:var(--ln);margin:14px 0}
.fslbl{font-size:11px;color:var(--red);text-transform:uppercase;letter-spacing:1px;font-weight:500;margin-bottom:10px}
.btn-full{width:100%;background:var(--red);color:#fff;border:none;padding:12px;border-radius:9px;font-family:'DM Sans',sans-serif;font-weight:500;font-size:14px;cursor:pointer;margin-top:4px;transition:opacity .2s,transform .1s}
.btn-full:hover{opacity:.87;transform:translateY(-1px)}
.btn-full-gold{width:100%;background:var(--gold);color:#0D1B2A;border:none;padding:12px;border-radius:9px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:14px;cursor:pointer;transition:opacity .2s}
.btn-full-gold:hover{opacity:.87}
.ferr{font-size:12px;color:#ff6b6b;margin-top:7px;display:none;padding:9px 12px;background:rgba(255,80,80,.08);border-radius:7px;border:0.5px solid rgba(255,80,80,.2)}
.ferr.show{display:block}
.fsuc{font-size:12px;color:var(--gr);margin-top:7px;display:none;padding:9px 12px;background:rgba(91,196,91,.08);border-radius:7px;border:0.5px solid rgba(91,196,91,.2)}
.fsuc.show{display:block}

/* ══ LANDING ══ */
.l-nav{display:flex;justify-content:space-between;align-items:center;padding:0 40px;height:64px;border-bottom:0.5px solid var(--ln);position:sticky;top:0;background:rgba(13,27,42,.95);backdrop-filter:blur(16px);z-index:200}
.l-logo{height:40px;width:auto}
.l-logo-txt{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:#fff;display:none}
.l-logo-txt span{color:var(--red)}
.l-nav-r{display:flex;gap:8px;align-items:center}
.l-nav-links{display:flex;gap:24px;list-style:none;font-size:13px;color:var(--mu)}
.l-nav-links a{color:inherit;text-decoration:none;transition:color .2s}
.l-nav-links a:hover{color:var(--red)}
.bng{background:transparent;color:rgba(255,255,255,.7);border:0.5px solid rgba(255,255,255,.2);padding:8px 17px;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;cursor:pointer;transition:all .2s}
.bng:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.bnr{background:var(--red);color:#fff;border:none;padding:8px 18px;border-radius:8px;font-family:'DM Sans',sans-serif;font-weight:500;font-size:13px;cursor:pointer;transition:opacity .2s}
.bnr:hover{opacity:.85}
.l-hero{padding:96px 40px 72px;text-align:center;position:relative;overflow:hidden}
.l-hero::before{content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(224,48,48,.07) 0%,transparent 70%);pointer-events:none}
.l-hero h1{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(40px,7vw,68px);line-height:1.03;letter-spacing:-2.5px;color:#fff;margin-bottom:20px;animation:fadeUp .7s ease both}
.l-hero h1 em{font-style:normal;color:var(--red)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.l-hero p{font-size:16px;color:var(--mu);line-height:1.7;max-width:520px;margin:0 auto 40px;font-weight:300;animation:fadeUp .7s .15s ease both}
.l-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;animation:fadeUp .7s .3s ease both}
.bp{background:var(--red);color:#fff;border:none;padding:13px 28px;border-radius:10px;font-family:'DM Sans',sans-serif;font-weight:500;font-size:14px;cursor:pointer;transition:opacity .2s,transform .1s}
.bp:hover{opacity:.87;transform:translateY(-1px)}
.bo{background:transparent;color:#fff;border:0.5px solid rgba(255,255,255,.22);padding:13px 28px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:14px;cursor:pointer;transition:border-color .2s,color .2s}
.bo:hover{border-color:var(--rb);color:var(--red)}
.l-stats{display:flex;justify-content:center;gap:56px;padding:40px;border-top:0.5px solid var(--ln);border-bottom:0.5px solid var(--ln)}
.lsn{font-family:'Syne',sans-serif;font-size:28px;font-weight:700;color:#fff;text-align:center}
.lsn span{color:var(--red)}
.lsl{font-size:11px;color:rgba(255,255,255,.3);text-align:center;margin-top:3px;text-transform:uppercase;letter-spacing:.8px}
.l-sec{padding:80px 40px}
.lc{max-width:1000px;margin:0 auto}
.sl{font-size:11px;color:var(--red);text-transform:uppercase;letter-spacing:1.5px;font-weight:500;margin-bottom:10px}
.st{font-family:'Syne',sans-serif;font-size:clamp(24px,4vw,38px);font-weight:800;color:#fff;letter-spacing:-1px;line-height:1.08;margin-bottom:10px}
.ss{font-size:14px;color:var(--mu);font-weight:300;line-height:1.6}
.fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:40px}
.fc{background:var(--bg2);border:0.5px solid var(--ln);border-radius:14px;padding:24px;transition:border-color .2s}
.fc:hover{border-color:rgba(224,48,48,.28)}
.fi{width:40px;height:40px;background:var(--rd);border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.fi svg{width:18px;height:18px;stroke:var(--red);fill:none;stroke-width:1.8}
.fc h3{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:5px}
.fc p{font-size:13px;color:var(--mu);line-height:1.6;font-weight:300}
.badge-free{font-size:10px;background:rgba(91,196,91,.12);color:var(--gr);border:0.5px solid rgba(91,196,91,.25);padding:2px 7px;border-radius:4px;margin-left:5px}
.badge-pro{font-size:10px;background:var(--gd);color:var(--gold);border:0.5px solid var(--gb);padding:2px 7px;border-radius:4px;margin-left:5px}
.badge-soon{font-size:10px;background:var(--fn);color:var(--mu);border:0.5px solid rgba(255,255,255,.1);padding:2px 7px;border-radius:4px;margin-left:5px}

/* PRICING */
.pgrid{display:grid;grid-template-columns:1fr 1.06fr 1fr;gap:14px;margin-top:36px;max-width:860px}
@media(max-width:680px){.pgrid{grid-template-columns:1fr}}
.pcard{background:var(--bg2);border:0.5px solid var(--ln);border-radius:16px;padding:28px;position:relative}
.pcard.feat{border:1.5px solid var(--gold);transform:scale(1.03);background:var(--bg2)}
.pbadge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:#0D1B2A;font-size:11px;font-weight:700;padding:3px 14px;border-radius:20px;white-space:nowrap}
.pname{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;color:#fff;margin-bottom:4px}
.pprice{font-family:'Syne',sans-serif;font-size:30px;font-weight:800;color:#fff;margin:12px 0 4px}
.pprice span{font-size:13px;color:var(--mu);font-weight:300}
.psub{font-size:12px;color:var(--mu);margin-bottom:18px}
.plist{list-style:none;margin-bottom:18px}
.plist li{font-size:13px;color:var(--mu);padding:5px 0;display:flex;align-items:center;gap:8px}
.plist li svg{width:14px;height:14px;stroke:var(--gr);fill:none;stroke-width:2.5;flex-shrink:0}
.plist li.no svg{stroke:rgba(255,255,255,.2)}
.plist li.no{color:rgba(255,255,255,.2)}
.pannote{font-size:11px;color:var(--gold);margin-top:8px;text-align:center}

/* TOOLS */
.tt{display:flex;background:var(--bg2);border:0.5px solid var(--ln);border-radius:11px;overflow:hidden;margin-bottom:22px;max-width:360px}
.ttb{flex:1;padding:10px;text-align:center;font-size:13px;color:var(--mu);cursor:pointer;border:none;background:transparent;font-family:'DM Sans',sans-serif;transition:all .2s}
.ttb.active{background:var(--red);color:#fff;font-weight:500}
.tp{display:none}.tp.active{display:block}
.cbox{background:var(--bg2);border:0.5px solid var(--rb);border-radius:14px;padding:30px;max-width:520px}
.gbox{background:var(--bg2);border:0.5px solid var(--ln);border-radius:12px;padding:20px;max-width:560px}
.cres{background:var(--rd);border:0.5px solid var(--rb);border-radius:9px;padding:16px;margin-top:12px;display:none}
.cres.show{display:block}
.cres-lbl{font-size:11px;color:var(--red);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px}
.cres-num{font-family:'Syne',sans-serif;font-size:28px;font-weight:700;color:#fff}
.cres-num span{font-size:13px;color:var(--mu);font-weight:300}
.cres-info{margin-top:8px;font-size:13px;color:var(--mu);line-height:1.65}
.gres{margin-top:18px;display:none;max-width:560px}.gres.show{display:block}
.grh{text-align:center;margin-bottom:14px}
.grt{font-family:'Syne',sans-serif;font-size:17px;font-weight:800;color:#fff;letter-spacing:-.5px;margin-bottom:2px}
.grm{font-size:12px;color:rgba(255,255,255,.3)}
.gday{background:var(--bg2);border:0.5px solid var(--ln);border-radius:11px;overflow:hidden;margin-bottom:7px}
.gdh{padding:10px 14px;border-bottom:0.5px solid var(--ln)}
.gdn{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:#fff;margin-bottom:2px}
.gdm{font-size:11px;color:var(--red);font-weight:500;letter-spacing:.4px;text-transform:uppercase}
.gel{padding:8px 14px;display:grid;gap:5px}
.gex{background:var(--bg3);border-radius:7px;border:0.5px solid var(--ln);padding:8px 10px}
.get{display:flex;justify-content:space-between;gap:8px}
.gen-t{font-size:13px;color:#fff;flex:1}
.ges{font-size:12px;color:var(--mu);white-space:nowrap;font-weight:500}
.geb{display:flex;gap:5px;margin-top:4px;flex-wrap:wrap}
.tag{font-size:10px;padding:2px 7px;border-radius:4px;letter-spacing:.3px;white-space:nowrap}
.tagc{background:var(--rd);color:var(--red)}.tagi{background:rgba(155,175,196,.1);color:var(--sv)}.tagr{background:rgba(91,196,91,.1);color:var(--gr);font-weight:500}
.gtip{background:var(--rd);border:0.5px solid var(--rb);border-radius:9px;padding:11px 14px;margin-top:6px;font-size:13px;color:var(--mu);line-height:1.65}
.gtip strong{color:var(--red);font-weight:500}
.guse{width:100%;background:transparent;border:0.5px solid var(--rb);color:var(--red);padding:11px;border-radius:9px;font-family:'DM Sans',sans-serif;font-weight:500;font-size:13px;cursor:pointer;margin-top:8px;transition:all .2s}
.guse:hover{background:var(--red);color:#fff}
.glw{background:rgba(245,166,35,.08);border:0.5px solid var(--gb);border-radius:9px;padding:12px;margin-top:10px;font-size:13px;color:var(--gold);display:none}
.glw.show{display:block}
.grd{background:var(--bg3);border-radius:9px;padding:8px 12px;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.grdd{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.15);flex-shrink:0}
.grdt{font-size:12px;color:rgba(255,255,255,.28)}
.l-ft{border-top:0.5px solid var(--ln);padding:24px 40px;display:flex;justify-content:space-between;align-items:center}
.l-ftl{height:28px;width:auto}
.l-ftt{font-size:12px;color:rgba(255,255,255,.22)}

/* ══ AUTH ══ */
.aw{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;position:relative}
.aw::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(224,48,48,.05) 0%,transparent 60%);pointer-events:none}
.abox{background:var(--bg2);border:0.5px solid var(--ln);border-radius:18px;padding:36px;width:100%;max-width:400px;position:relative;z-index:1}
.alo{text-align:center;margin-bottom:22px}
.alo img{height:42px;width:auto}
.alo-t{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;color:#fff}
.alo-t span{color:var(--red)}
.at{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;color:#fff;letter-spacing:-.5px;margin-bottom:3px;text-align:center}
.as{font-size:13px;color:var(--mu);text-align:center;margin-bottom:22px;font-weight:300}
.abk{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--mu);cursor:pointer;margin-bottom:18px;transition:color .2s;width:fit-content}
.abk:hover{color:#fff}
.abk svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.asw{text-align:center;margin-top:16px;font-size:13px;color:var(--mu)}
.asw a{color:var(--red);cursor:pointer;font-weight:500}
.sbar{display:flex;gap:4px;margin-top:5px}
.sseg{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.1);transition:background .3s}

/* ══ APP ══ */
.al{display:flex;min-height:100vh}
.asb{width:220px;flex-shrink:0;background:var(--bg2);border-right:0.5px solid var(--ln);display:flex;flex-direction:column;padding:20px 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.slw{padding:0 18px 18px;border-bottom:0.5px solid var(--ln);margin-bottom:12px}
.sbl{font-family:'Syne',sans-serif;font-size:16px;font-weight:800;color:#fff}
.sbl span{color:var(--red)}
.sbu{font-size:11px;color:var(--mu);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbp{font-size:10px;margin-top:4px;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px}
.sbp.free{background:var(--fn);color:var(--mu)}
.sbp.pro{background:var(--gd);color:var(--gold);border:0.5px solid var(--gb)}
.ni{display:flex;align-items:center;gap:9px;padding:9px 18px;font-size:13px;color:var(--mu);cursor:pointer;transition:all .15s;border-left:2px solid transparent}
.ni:hover{color:#fff;background:rgba(255,255,255,.04)}
.ni.active{color:#fff;border-left-color:var(--red);background:var(--rd)}
.ni svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}
.nsep{height:0.5px;background:var(--ln);margin:8px 18px}
.ni-d{color:rgba(255,80,80,.55)}
.ni-d:hover{color:#ff6b6b;background:rgba(255,80,80,.06)}
.am{flex:1;padding:32px 28px;overflow-x:hidden}
.ap{display:none}.ap.active{display:block}
.pt{font-family:'Syne',sans-serif;font-size:21px;font-weight:800;color:#fff;letter-spacing:-.5px;margin-bottom:3px}
.ps{font-size:13px;color:var(--mu);margin-bottom:22px}
.sgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:20px}
.sc{background:var(--bg2);border:0.5px solid var(--ln);border-radius:11px;padding:16px}
.scl{font-size:11px;color:var(--mu);text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px}
.scv{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;color:#fff}
.scv span{font-size:12px;color:var(--mu);font-weight:300}
.card{background:var(--bg2);border:0.5px solid var(--ln);border-radius:11px;padding:18px;margin-bottom:12px}
.ct{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:#fff;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.btn{padding:6px 12px;border-radius:7px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .2s;border:none}
.btn:hover{opacity:.85}
.btr{background:var(--red);color:#fff}
.btg{background:transparent;color:var(--mu);border:0.5px solid var(--ln)}
.btg:hover{color:#fff}
.btgold{background:var(--gd);color:var(--gold);border:0.5px solid var(--gb)}

/* PAYWALL */
.pw{background:var(--bg2);border:0.5px solid var(--gb);border-radius:16px;padding:32px;text-align:center;max-width:520px;margin:32px auto}
.pwi{width:48px;height:48px;background:var(--gd);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.pwi svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.8}
.pwt{font-family:'Syne',sans-serif;font-size:19px;font-weight:800;color:#fff;margin-bottom:7px;letter-spacing:-.5px}
.pws{font-size:13px;color:var(--mu);margin-bottom:20px;line-height:1.6;font-weight:300}
.pwpl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}
.pwp{background:var(--bg3);border:0.5px solid var(--ln);border-radius:9px;padding:13px;cursor:pointer;transition:all .2s;text-align:left}
.pwp:hover,.pwp.sel{border-color:var(--gb);background:var(--gd)}
.pwpn{font-size:11px;color:var(--mu);margin-bottom:3px}
.pwpp{font-family:'Syne',sans-serif;font-size:17px;font-weight:700;color:#fff}
.pwpp span{font-size:11px;color:var(--mu);font-weight:300}
.pwps{font-size:10px;color:var(--gold);margin-top:2px}

/* REGISTRAR */
/* Aba de seleção de modo */
.reg-tabs{display:flex;gap:0;background:var(--bg3);border-radius:10px;overflow:hidden;margin-bottom:16px;border:0.5px solid var(--ln)}
.rtab{flex:1;padding:10px;text-align:center;font-size:13px;color:var(--mu);cursor:pointer;border:none;background:transparent;font-family:'DM Sans',sans-serif;transition:all .2s}
.rtab.active{background:var(--bg2);color:#fff;font-weight:500;border-bottom:2px solid var(--red)}
.rpanel{display:none}.rpanel.active{display:block}

/* Cartão de treino anterior */
.prev-treino{background:var(--bg3);border:0.5px solid rgba(77,180,180,.25);border-radius:11px;padding:14px 16px;margin-bottom:12px;cursor:pointer;transition:border-color .2s}
.prev-treino:hover{border-color:rgba(77,200,200,.5)}
.prev-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.prev-nome{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;color:#fff}
.prev-data{font-size:11px;color:var(--mu);margin-top:2px}
.prev-exs{display:grid;gap:5px}
.prev-ex{background:var(--bg2);border-radius:7px;padding:8px 11px;display:flex;justify-content:space-between;align-items:center}
.prev-ex-name{font-size:12px;color:rgba(255,255,255,.7)}
.prev-ex-sets{font-size:11px;color:var(--mu)}
.prev-hint{font-size:11px;color:rgba(77,200,200,.7);margin-top:8px;text-align:center}

/* Exercício block */
.exb{background:var(--bg3);border:0.5px solid var(--ln);border-radius:9px;margin-bottom:8px;overflow:hidden}
.exb-head{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:0.5px solid var(--ln);cursor:pointer;user-select:none}
.exb-head:hover{background:rgba(255,255,255,.03)}
.exb-nome{font-size:13px;color:#fff;font-weight:500}
.exb-meta{font-size:11px;color:var(--mu);margin-top:2px}
.exb-body{padding:10px 14px}
.exb-collapsed .exb-body{display:none}
.shdr{display:grid;grid-template-columns:26px 1fr 1fr 30px;gap:6px;margin-bottom:5px}
.shdr span{font-size:10px;color:rgba(255,255,255,.28);text-transform:uppercase;letter-spacing:.5px;text-align:center}
.srow{display:grid;grid-template-columns:26px 1fr 1fr 30px;gap:6px;align-items:center;margin-bottom:5px}
.snum{font-size:11px;color:var(--mu);text-align:center}
.sinp{background:var(--bg2);border:0.5px solid rgba(255,255,255,.1);color:#fff;padding:6px 7px;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:13px;outline:none;transition:border-color .2s;width:100%;text-align:center}
.sinp:focus{border-color:var(--rb)}
.sinp::placeholder{color:rgba(255,255,255,.18)}
.sinp.changed{border-color:rgba(77,200,180,.4);background:rgba(77,200,180,.05)}
.schk{width:25px;height:25px;border-radius:6px;background:var(--fn);border:0.5px solid var(--ln);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.schk.done{background:rgba(91,196,91,.15);border-color:rgba(91,196,91,.4)}
.schk svg{width:12px;height:12px;stroke:var(--gr);fill:none;stroke-width:2.5;opacity:0;transition:opacity .15s}
.schk.done svg{opacity:1}
.asb-btn{font-size:11px;color:var(--mu);background:transparent;border:0.5px dashed rgba(255,255,255,.15);border-radius:6px;padding:5px;width:100%;cursor:pointer;transition:all .15s;margin-top:3px;font-family:'DM Sans',sans-serif}
.asb-btn:hover{color:#fff;border-color:rgba(255,255,255,.3)}
.gti{background:var(--bg3);border:0.5px solid var(--ln);border-radius:9px;padding:10px 13px;cursor:pointer;transition:border-color .15s;display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.gti:hover{border-color:var(--rb)}
.gtin{font-size:13px;color:#fff;font-weight:500}
.gtim{font-size:11px;color:var(--mu);margin-top:2px}

/* HISTÓRICO */
.hi{background:var(--bg3);border:0.5px solid var(--ln);border-radius:9px;padding:11px 13px;margin-bottom:7px;display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer;transition:border-color .15s}
.hi:hover{border-color:var(--rb)}
.hid{font-size:11px;color:var(--mu);margin-bottom:2px}
.hin{font-size:13px;color:#fff;font-weight:500}
.him{font-size:11px;color:var(--mu);margin-top:2px}
.hiv{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;color:#fff;text-align:right;white-space:nowrap}
.hiv span{font-size:10px;color:var(--mu);font-weight:300}
.prb{font-size:10px;background:rgba(224,48,48,.15);color:var(--red);padding:2px 7px;border-radius:4px;margin-top:3px;display:inline-block}

/* EVO */
.cw{position:relative;height:190px;margin-top:8px}
.exps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.exp{padding:4px 10px;border-radius:20px;font-size:12px;cursor:pointer;border:0.5px solid var(--ln);color:var(--mu);background:transparent;font-family:'DM Sans',sans-serif;transition:all .15s}
.exp.active{background:var(--rd);border-color:var(--rb);color:var(--red)}
.empty{text-align:center;padding:32px 16px;color:var(--mu)}
.empty svg{width:32px;height:32px;stroke:rgba(255,255,255,.15);fill:none;stroke-width:1.5;margin-bottom:8px}
.empty p{font-size:13px;margin-bottom:12px}

/* PERFIL */
.tmb-res{background:var(--rd);border:0.5px solid var(--rb);border-radius:10px;padding:15px;margin-top:12px}
.tmb-big{font-family:'Syne',sans-serif;font-size:26px;font-weight:700;color:#fff}
.tmb-big span{font-size:13px;color:var(--mu);font-weight:300}
.cal-bar{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}
.cal-it{background:var(--bg2);border-radius:8px;padding:9px;text-align:center}
.cal-l{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.cal-v{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:#fff}
.cal-v span{font-size:11px;color:var(--mu);font-weight:300}
.obj-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:5px;font-size:12px;font-weight:500}
.ob-h{background:rgba(224,48,48,.12);color:var(--red)}
.ob-e{background:rgba(91,196,91,.12);color:var(--gr)}
.ob-f{background:rgba(245,166,35,.12);color:var(--gold)}
.ob-r{background:rgba(155,175,196,.1);color:var(--sv)}

/* MODAL */
.mo{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:500;display:none;align-items:center;justify-content:center;padding:20px}
.mo.open{display:flex}
.mb{background:var(--bg2);border:0.5px solid var(--ln);border-radius:15px;padding:24px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto}
.mt{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
.mc{background:transparent;border:none;color:var(--mu);cursor:pointer;font-size:20px;line-height:1}
.mc:hover{color:#fff}

/* TIMER */
.tbar{background:var(--bg2);border-top:0.5px solid var(--ln);padding:11px 28px;display:flex;align-items:center;gap:14px;position:fixed;bottom:0;left:220px;right:0;z-index:100;transition:transform .3s}
.tbar.hidden{transform:translateY(100%)}
.tlbl{font-size:11px;color:var(--mu)}
.tval{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;color:#fff;min-width:50px}
.tprog{flex:1;height:3px;background:var(--fn);border-radius:2px;overflow:hidden}
.tfill{height:100%;background:var(--red);border-radius:2px;transition:width .5s linear}
.tbtn{background:transparent;border:0.5px solid var(--ln);color:var(--mu);padding:4px 10px;border-radius:6px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px}
.tbtn:hover{color:#fff}

/* TOAST */
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--bg2);border:0.5px solid var(--ln);border-radius:9px;padding:10px 18px;font-size:13px;color:#fff;opacity:0;transition:all .3s;z-index:300;pointer-events:none;white-space:nowrap}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media(max-width:640px){
  .l-nav{padding:0 20px}.l-nav-links{display:none}
  .l-hero,.l-sec{padding-left:20px;padding-right:20px}
  .l-stats{gap:20px;flex-wrap:wrap}
  .asb{display:none}.am{padding:20px 14px}
  .tbar{left:0}
  .l-ft{padding:18px 20px;flex-direction:column;gap:8px;text-align:center}
  .pwpl{grid-template-columns:1fr}
}

/* ══ PLANO DE CHOQUE ══ */
.pc-sem-pills { display: flex; gap: 8px; margin-bottom: 18px; flex-wrap: wrap; }
.pc-sem-pill { background: var(--bg3); border: 0.5px solid var(--ln); border-radius: 9px; padding: 10px 12px; cursor: pointer; min-width: 80px; transition: all .2s; flex: 1; }
.pc-sem-pill.active { border-color: var(--rb); background: var(--rd); }
.pc-sem-pill.deload { border-color: var(--gb); }
.pc-sem-pill.active.deload { border-color: var(--gb); background: var(--gd); }
.pc-sp-label { font-family: 'Syne', sans-serif; font-size: 11px; font-weight: 700; color: #fff; margin-bottom: 5px; letter-spacing: .5px; }
.pc-sem-pill.active .pc-sp-label { color: var(--red); }
.pc-sem-pill.deload .pc-sp-label, .pc-sem-pill.active.deload .pc-sp-label { color: var(--gold); }
.pc-sp-bar { height: 3px; background: rgba(255,255,255,.08); border-radius: 2px; overflow: hidden; margin-bottom: 4px; }
.pc-sp-fill { height: 100%; background: var(--red); border-radius: 2px; transition: width .4s; }
.pc-sem-pill.deload .pc-sp-fill { background: var(--gold); }
.pc-sp-pct { font-size: 10px; color: var(--mu); }

/* Header do ciclo */
.pc-sem-tag { display: inline-flex; align-items: center; background: var(--rd); color: var(--red); font-family: 'Syne', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1px; padding: 3px 9px; border-radius: 4px; margin-bottom: 6px; }
.pc-deload-tag { display: inline-flex; align-items: center; background: var(--gd); color: var(--gold); font-family: 'Syne', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1px; padding: 3px 9px; border-radius: 4px; margin-bottom: 6px; }
.pc-fase { font-family: 'Syne', sans-serif; font-size: 17px; font-weight: 800; color: #fff; letter-spacing: -.4px; margin-bottom: 6px; }
.pc-instrucao { font-size: 12px; color: var(--mu); line-height: 1.65; background: var(--bg3); border-left: 2px solid var(--red); padding: 9px 12px; border-radius: 0 7px 7px 0; }

/* Treino do dia */
.pc-day-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; flex-wrap: wrap; gap: 8px; }
.pc-day-label { font-family: 'Syne', sans-serif; font-size: 15px; font-weight: 800; color: #fff; letter-spacing: -.3px; }
.pc-day-meta { font-size: 11px; color: var(--mu); margin-top: 2px; }
.pc-day-done-badge { background: rgba(91,196,91,.12); color: var(--gr); border: 0.5px solid rgba(91,196,91,.3); font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 5px; }

/* Técnicas de choque */
.pc-tec { font-size: 9px; font-weight: 700; letter-spacing: .6px; padding: 2px 6px; border-radius: 4px; vertical-align: middle; margin-left: 5px; }
.pc-tec.dropset { background: rgba(224,48,48,.15); color: var(--red); border: 0.5px solid var(--rb); }
.pc-tec.restpause { background: rgba(245,166,35,.12); color: var(--gold); border: 0.5px solid var(--gb); }
.pc-tec.falha { background: rgba(224,48,48,.2); color: #ff6b6b; border: 0.5px solid rgba(255,80,80,.4); }

/* Exercício block */
.pc-exb { background: var(--bg3); border: 0.5px solid var(--ln); border-radius: 9px; margin-bottom: 8px; overflow: hidden; transition: border-color .2s; }
.pc-exb.ex-done { border-color: rgba(91,196,91,.25); }
.pc-exb-head { padding: 11px 13px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; border-bottom: 0.5px solid var(--ln); }
.pc-exb-head:hover { background: rgba(255,255,255,.02); }
.pc-ex-nome { font-size: 13px; color: #fff; font-weight: 500; }
.pc-ex-meta { font-size: 11px; color: var(--mu); margin-top: 2px; }
.pc-done-check { width: 20px; height: 20px; background: rgba(91,196,91,.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pc-done-check svg { width: 10px; height: 10px; stroke: var(--gr); fill: none; stroke-width: 3; }
.pc-exb-body { padding: 10px 13px; }
.pc-obs { font-size: 11px; color: var(--mu); background: var(--bg2); border-left: 2px solid var(--rb); padding: 7px 10px; border-radius: 0 6px 6px 0; margin-bottom: 9px; line-height: 1.5; }
.pc-shdr { display: grid; grid-template-columns: 26px 1fr 1fr 30px; gap: 6px; margin-bottom: 5px; }
.pc-shdr span { font-size: 10px; color: rgba(255,255,255,.28); text-transform: uppercase; letter-spacing: .5px; text-align: center; }
.pc-serie-row { display: grid; grid-template-columns: 26px 1fr 1fr 30px; gap: 6px; align-items: center; margin-bottom: 5px; }
.pc-serie-row.last-serie { background: rgba(224,48,48,.04); border-radius: 6px; padding: 3px 0; }
.pc-snum { font-size: 11px; color: var(--mu); text-align: center; position: relative; }
.pc-shock-dot { position: absolute; top: -3px; right: -1px; width: 5px; height: 5px; background: var(--red); border-radius: 50%; }
.pc-sinp { background: var(--bg2); border: 0.5px solid rgba(255,255,255,.1); color: #fff; padding: 6px 7px; border-radius: 6px; font-family: 'DM Sans', sans-serif; font-size: 13px; outline: none; width: 100%; text-align: center; transition: border-color .2s; }
.pc-sinp:focus { border-color: var(--rb); }
.pc-sinp::placeholder { color: rgba(255,255,255,.18); }
.pc-chk { width: 25px; height: 25px; border-radius: 6px; background: var(--fn); border: 0.5px solid var(--ln); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .15s; }
.pc-chk.done { background: rgba(91,196,91,.15); border-color: rgba(91,196,91,.4); }
.pc-chk svg { width: 12px; height: 12px; stroke: var(--gr); fill: none; stroke-width: 2.5; opacity: 0; transition: opacity .15s; }
.pc-chk.done svg { opacity: 1; }
.pc-exb.exb-collapsed .pc-exb-body { display: none; }

/* Rest card */
.pc-rest-card { text-align: center; padding: 40px 20px; }
.pc-rest-icon { width: 52px; height: 52px; background: rgba(155,175,196,.08); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.pc-rest-icon svg { width: 24px; height: 24px; stroke: var(--sv); fill: none; stroke-width: 1.8; }
.pc-rest-title { font-family: 'Syne', sans-serif; font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.pc-rest-obs { font-size: 13px; color: var(--mu); }

/* ══ MISSÃO DO DIA — DASHBOARD ══ */
.dash-missao-card { border-color: var(--rb) !important; background: linear-gradient(135deg, rgba(224,48,48,.05) 0%, var(--bg3) 100%) !important; }
.dm-label { font-family: 'Syne', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; color: var(--red); margin-bottom: 5px; }
.dm-title { font-family: 'Syne', sans-serif; font-size: 20px; font-weight: 800; color: #fff; letter-spacing: -.5px; line-height: 1.15; margin-bottom: 4px; }
.dm-sub { font-size: 12px; color: var(--mu); line-height: 1.5; }

/* ══ NAV ITEM CHOQUE ══ */
#ni-choque svg { fill: none; stroke: currentColor; stroke-width: 2; }
#ni-choque.act { color: var(--red); }

/* ══ TRIAL BADGE NA SIDEBAR ══ */
.sbp.trial { background: rgba(224,48,48,.12); color: var(--red); border: 0.5px solid var(--rb); }
.sbp.trial::before { content: '⏳ '; font-size: 9px; }

/* ══ BANNER TRIAL (discreto, só aparece nos últimos 7 dias) ══ */
.trial-banner {
  background: rgba(224,48,48,.06);
  border: 0.5px solid var(--rb);
  border-radius: 9px;
  padding: 11px 14px;
  margin-bottom: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  color: var(--mu);
}
.trial-banner strong { color: var(--red); }

/* ══ PROTEÍNA CALCULADORA (nova) ══ */
.prot-res {
  background: var(--rd);
  border: 0.5px solid var(--rb);
  border-radius: 9px;
  padding: 14px;
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}
.prot-item { text-align: center; }
.prot-label { font-size: 10px; color: var(--mu); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 3px; }
.prot-val { font-family: 'Syne', sans-serif; font-size: 18px; font-weight: 700; color: #fff; }
.prot-val span { font-size: 11px; color: var(--mu); font-weight: 300; }

/* ══ PLANO DE CHOQUE — melhorias visuais ══ */
.pc-week-progress {
  display: flex;
  gap: 5px;
  margin: 12px 0;
}
.pc-week-dot {
  flex: 1;
  height: 4px;
  border-radius: 2px;
  background: rgba(255,255,255,.08);
  transition: background .3s;
}
.pc-week-dot.done { background: var(--gr); }
.pc-week-dot.current { background: var(--red); }
.pc-week-dot.deload { background: var(--gold); }

/* ══ RESPONSIVE MELHORIAS ══ */
@media(max-width:640px) {
  .row3 { grid-template-columns: 1fr 1fr; }
  .cal-bar { grid-template-columns: 1fr 1fr; }
  .prot-res { grid-template-columns: 1fr 1fr; }
  .trial-banner { flex-direction: column; align-items: flex-start; }
}
