
/* Layout: barra superior da marca fixa + (treinador) lista de alunos à esquerda e editor à direita; (aluno) coluna única mobile-first */
/* Identidade: verde-petróleo (saúde, seriedade) + neutros frios; faixa de marca com ondas suaves no topo do app do aluno */
:root{
  --bg:#F2F4F4; --surface:#FFFFFF; --surface-2:#F6F8F8; --ink:#142024; --muted:#56636A; --line:#D9E0E0;
  --brand:#0F3D38; --brand-2:#17564E; --on-brand:#F2FAF7;
  --accent:#137A68; --accent-ink:#FFFFFF; --accent-soft:#DCEFE9;
  --good:#1D7F47; --good-soft:#E2F3E8; --warn:#A8520B; --danger:#BF3030; --danger-soft:#FBE7E7;
  --f-display:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:12px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0B1214; --surface:#121C1F; --surface-2:#172327; --ink:#E3ECEE; --muted:#94A5AA; --line:#243337;
  --brand:#0B2C28; --brand-2:#114039; --on-brand:#E6F4EF;
  --accent:#4FC4AA; --accent-ink:#04201A; --accent-soft:#143530;
  --good:#52C585; --good-soft:#15291F; --warn:#F0A257; --danger:#F27575; --danger-soft:#3A1A1D; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0B1214; --surface:#121C1F; --surface-2:#172327; --ink:#E3ECEE; --muted:#94A5AA; --line:#243337;
  --brand:#0B2C28; --brand-2:#114039; --on-brand:#E6F4EF;
  --accent:#4FC4AA; --accent-ink:#04201A; --accent-soft:#143530;
  --good:#52C585; --good-soft:#15291F; --warn:#F0A257; --danger:#F27575; --danger-soft:#3A1A1D; color-scheme:dark}
/* paletas alternativas (Ajustes > Aparência) */
body[data-pal="azul"]{--brand:#12304F;--brand-2:#1B4672;--accent:#1F62B5;--accent-ink:#FFFFFF;--accent-soft:#E1EBF8}
body[data-pal="grafite"]{--brand:#1E2326;--brand-2:#2E3539;--accent:#8A6A2C;--accent-ink:#FFFFFF;--accent-soft:#F2EBDD}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) body[data-pal="azul"]{--brand:#0C1E33;--brand-2:#13304F;--accent:#7FB0F0;--accent-ink:#071427;--accent-soft:#15263D}
  :root:not([data-theme="light"]) body[data-pal="grafite"]{--brand:#141719;--brand-2:#20262A;--accent:#D6B26E;--accent-ink:#1A1408;--accent-soft:#2C261A}}
:root[data-theme="dark"] body[data-pal="azul"]{--brand:#0C1E33;--brand-2:#13304F;--accent:#7FB0F0;--accent-ink:#071427;--accent-soft:#15263D}
:root[data-theme="dark"] body[data-pal="grafite"]{--brand:#141719;--brand-2:#20262A;--accent:#D6B26E;--accent-ink:#1A1408;--accent-soft:#2C261A}
html,body{background:var(--bg);color:var(--ink)}
body{font-family:var(--f-body);font-size:15px;line-height:1.45}
*,*::before,*::after{box-sizing:border-box}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{font-family:var(--f-display);font-weight:600;letter-spacing:-.01em;margin:0;text-wrap:balance;line-height:1.1}
.num{font-variant-numeric:tabular-nums}
.label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.muted{color:var(--muted)}
.wrap{max-width:1180px;margin:0 auto;padding-inline:16px}
body:not(.st-mode) .wrap{max-width:1880px}
@media (min-width:1000px){body:not(.st-mode) .wrap{padding-inline:24px}}

/* top bar */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--brand);color:var(--on-brand)}
.top .wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-block:10px}
.brand{margin-right:auto;display:flex;align-items:center;gap:10px;min-width:0}
.brand b{font-family:var(--f-display);font-weight:600;font-size:16px;display:block}
.brand small{display:block;font-size:12px;opacity:.75}
.tabs{display:flex;gap:4px;flex-wrap:wrap}
.tab{border:0;background:transparent;padding:7px 12px;border-radius:999px;cursor:pointer;font-weight:600;color:var(--on-brand);opacity:.75}
.tab:hover{opacity:1}
.tab[aria-current="true"]{background:rgba(255,255,255,.14);opacity:1}
.top .status{color:var(--on-brand);opacity:.8}
.top .status.dirty{color:#FFD39A;opacity:1}
.top .btn.primary{background:var(--on-brand);border-color:var(--on-brand);color:var(--brand)}
.savebox{display:flex;align-items:center;gap:10px}
.status{font-size:13px;color:var(--muted)}
.status.dirty{color:var(--warn);font-weight:600}

/* buttons & fields */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--surface);padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:disabled{opacity:.45;cursor:default}
.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}
.btn.ghost:hover{color:var(--ink)}
.btn.danger{color:var(--danger)}
.btn.danger.armed{background:var(--danger);border-color:var(--danger);color:#fff}
.btn.sm{padding:5px 10px;font-size:13px}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
input[type=text],input[type=number],input[type=url],input[type=tel],input[type=email],input[type=search],input[type=password],input[type=date],select,textarea{width:100%;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:8px 10px;min-width:0}
textarea{resize:vertical;min-height:64px}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;background:var(--surface)}

/* coach layout */
.coach{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;padding-block:18px;align-items:start}
@media (max-width:820px){.coach{grid-template-columns:minmax(0,1fr)}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.side{padding:12px;display:flex;flex-direction:column;gap:10px;align-self:start}
.slist{display:flex;flex-direction:column;gap:2px}
.sitem{display:flex;justify-content:space-between;align-items:center;gap:8px;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:8px;cursor:pointer;width:100%}
.sitem:hover{background:var(--surface-2)}
.sitem[aria-current="true"]{background:var(--accent-soft);color:var(--accent);font-weight:600}
.sitem small{color:var(--muted);font-weight:400}
.main{display:flex;flex-direction:column;gap:16px;min-width:0}
.head{padding:16px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.head .full{grid-column:1/-1}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.spread{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.linkbox{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--surface-2);border:1px dashed var(--line);border-radius:8px;padding:10px}
.linkbox code{font-size:13px;word-break:break-all;flex:1 1 220px;min-width:0}

.wcard{overflow:hidden}
.whead{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}
@media (max-width:560px){.whead{grid-template-columns:minmax(0,1fr)}}
.whead .wtitle input{font-family:var(--f-display);font-size:18px;font-weight:600}
.items{display:flex;flex-direction:column}
.item{display:grid;grid-template-columns:28px minmax(170px,2fr) minmax(60px,.55fr) minmax(132px,.9fr) minmax(140px,1.1fr) minmax(80px,.8fr) minmax(90px,.8fr);gap:8px 10px;align-items:end;padding:10px 16px;border-bottom:1px solid var(--line)}
.item .f-obs{grid-column:2/6}
.item .ctl{grid-column:6/-1;flex-wrap:wrap}
.dur{display:flex;gap:4px}.dur input{flex:1 1 60px}.dur select{flex:0 0 auto;width:auto}
.nopause{padding:8px 0;color:var(--muted);font-size:13px;font-style:italic}
.setgrp{display:grid;grid-template-columns:36px minmax(0,1fr);border-bottom:1px solid var(--line)}
.setbar{background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center}
.setbar span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--f-display);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.setbody{min-width:0;background:var(--accent-soft)}
.setbody .item{background:var(--surface)}
.setadd{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 16px}
.setbox{border:2px solid var(--accent);border-radius:var(--r);overflow:hidden;background:var(--surface);display:flex;flex-direction:column}
.sethead{background:var(--accent);color:var(--accent-ink);padding:12px 16px}
.sethead b{font-family:var(--f-display);font-weight:600;font-size:17px;display:block}
.sethead small{display:block;font-size:13px;opacity:.92;margin-top:2px}
.setbox>.panel.ex{border:0;border-radius:0;border-bottom:1px solid var(--line)}
.setbox>.panel.ex:last-child{border-bottom:0}
.linkhint{font-size:13px;font-weight:700;color:var(--accent)}
.item .idx{font-family:var(--f-display);font-size:18px;color:var(--muted);align-self:center}
@media (max-width:1180px){
  .item{grid-template-columns:28px repeat(4,minmax(0,1fr))}
  .item .f-ex{grid-column:2/-1}
  .item .f-obs{grid-column:2/-1}
  .item .f-ex{grid-column:2/-1}
  .item .ctl{grid-column:2/-1;justify-content:flex-start}
  .item .idx{align-self:start;padding-top:22px}
}
.ctl{display:flex;gap:2px;justify-content:flex-end}
.wfoot{padding:12px 16px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.empty{padding:28px 16px;text-align:center;color:var(--muted)}

.lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
@media (max-width:400px){.lib{grid-template-columns:minmax(0,1fr)}}
.excard{padding:14px;display:flex;flex-direction:column;gap:10px}
.pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}
.pill.ok{background:var(--good-soft);border-color:transparent;color:var(--good)}
.pill.no{background:var(--danger-soft);border-color:transparent;color:var(--danger)}
.note{font-size:13px;color:var(--muted)}
.banner{background:var(--accent-soft);color:var(--accent);padding:10px 16px;font-weight:600}
.banner .wrap{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;padding-inline:0}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-weight:600;z-index:50;max-width:calc(100% - 32px)}

/* student */
.st{max-width:620px;margin:0 auto;padding:16px 16px 40px;display:flex;flex-direction:column;gap:14px}
.hello h1{font-size:30px}
.hello p{margin:4px 0 0}
.wlist{display:flex;flex-direction:column;gap:10px}
.wbtn{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;padding:14px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);cursor:pointer;width:100%}
.wbtn:hover{border-color:var(--accent)}
.wletter{width:56px;height:56px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-family:var(--f-display);font-size:26px;font-weight:600}
.wbtn h2{font-size:19px}
.back{align-self:flex-start}
.ex{padding:16px;display:flex;flex-direction:column;gap:12px}
.ex h3{font-size:21px}
.exnum{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.rx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.rx div{background:var(--surface-2);padding:8px 10px;min-width:0}
.rx b{display:block;font-family:var(--f-display);font-weight:600;font-size:19px;line-height:1.1;overflow-wrap:anywhere}
.rx span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
@media (max-width:440px){.rx{grid-template-columns:repeat(2,minmax(0,1fr))}}
.video{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:var(--brand);color:var(--on-brand);text-decoration:none;font-weight:600}
.video .play{width:40px;height:40px;border-radius:50%;background:#E5322D;display:grid;place-items:center;flex:none}
.video .play::before{content:"";border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.video small{display:block;font-weight:400;opacity:.75}
.how{white-space:pre-line}
.vbox{display:flex;flex-direction:column;gap:8px}
button.video{border:0;width:100%;text-align:left;cursor:pointer;font:inherit;font-weight:600}
.player{position:relative;width:100%;max-width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vlink{font-weight:600;color:var(--accent)}
.nxform{margin:0 16px 12px;padding:14px;border:1px solid var(--accent);background:var(--accent-soft);border-radius:var(--r);display:flex;flex-direction:column;gap:12px}
.nxgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.nxgrid .nxfull{grid-column:1/-1}
.obs{border-left:3px solid var(--warn);padding:6px 10px;background:var(--surface-2);border-radius:0 6px 6px 0}
.sets{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.set{width:42px;height:42px;border-radius:50%;border:2px solid var(--line);background:var(--surface);cursor:pointer;font-family:var(--f-display);font-size:16px;font-weight:600;color:var(--muted)}
.set[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.timer.running{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden}
.progress i{display:block;height:100%;background:var(--accent);transition:width .25s}
.scale{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px}
.scale button{padding:8px 0;border:1px solid var(--line);background:var(--surface);border-radius:6px;cursor:pointer;font-family:var(--f-display);font-size:16px;font-weight:600}
.scale button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--surface);padding:7px 12px;border-radius:999px;cursor:pointer;font-weight:600}
.chip[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.preview{white-space:pre-wrap;font-size:13px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px;margin:0;overflow-x:auto}
.codein{display:flex;gap:8px}
/* marca: monograma, faixa do aluno, assinatura */
.mono{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;font-family:var(--f-display);font-weight:600;font-size:15px;letter-spacing:.02em;background:rgba(255,255,255,.12);color:var(--on-brand);border:1px solid rgba(255,255,255,.28)}
.hero{background:var(--brand);color:var(--on-brand);padding-inline:16px;padding-block:20px 56px}
.hero.bg-ondas{background-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='260' viewBox='0 0 640 260' fill='none' stroke='white' stroke-opacity='.09' stroke-width='1.4'%3E%3Cpath d='M-10 70 C120 20 240 120 380 70 S560 20 660 60'/%3E%3Cpath d='M-10 100 C120 50 240 150 380 100 S560 50 660 90'/%3E%3Cpath d='M-10 130 C120 80 240 180 380 130 S560 80 660 120'/%3E%3Cpath d='M-10 160 C120 110 240 210 380 160 S560 110 660 150'/%3E%3Cpath d='M-10 190 C120 140 240 240 380 190 S560 140 660 180'/%3E%3Cpath d='M-10 220 C120 170 240 270 380 220 S560 170 660 210'/%3E%3C/svg%3E"),linear-gradient(160deg,var(--brand) 0%,var(--brand-2) 100%);background-size:640px 260px,100% 100%;background-position:right top,0 0;background-repeat:repeat-x,no-repeat}
.hero.bg-liso{background:linear-gradient(160deg,var(--brand) 0%,var(--brand-2) 100%)}
.hero-in{max-width:620px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.pro{display:flex;align-items:center;gap:10px;min-width:0}
.pro b{display:block;font-family:var(--f-display);font-weight:600;font-size:15px}
.pro small{display:block;font-size:12px;opacity:.78}
.hero h1{font-size:30px;color:var(--on-brand)}
.hero p{margin:0;opacity:.85}
.hero .label{color:var(--on-brand);opacity:.75}
.hero .btn.ghost{color:var(--on-brand);opacity:.85;padding-inline:0;align-self:flex-start}
.hero .btn.ghost:hover{opacity:1;color:var(--on-brand)}
.st.lift{margin-top:-40px}
.avatar{border-radius:50%;overflow:hidden;display:grid;place-items:center;flex:none;padding:0;cursor:pointer;border:2px solid rgba(255,255,255,.55);background:rgba(255,255,255,.12);color:var(--on-brand);font-family:var(--f-display);font-weight:600}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.avatar.lg{width:76px;height:76px;font-size:24px}
.avatar.sm{width:38px;height:38px;font-size:14px}
.avatar.xs{width:28px;height:28px;font-size:11px;cursor:default}
.avatar.md{width:64px;height:64px;font-size:20px}
.avatar.light{border:2px solid var(--line);background:var(--accent-soft);color:var(--accent)}
.avatar .ph{display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--f-body);font-size:10px;font-weight:700;line-height:1.1;text-align:center}
.avatar .ph svg{width:22px;height:22px}
.who{display:flex;align-items:center;gap:14px;min-width:0}
.who>div{min-width:0}
.proline{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.proline span:last-child:not(:first-child){font-weight:600;opacity:.85}
.herorow{display:flex;justify-content:space-between;align-items:center;gap:10px}
.linkish{background:none;border:0;padding:0;color:inherit;opacity:.8;font-size:12px;text-decoration:underline;cursor:pointer}
.sitem .sname{display:flex;align-items:center;gap:8px;min-width:0}
.photo-edit{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sig{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:28px 16px 12px;margin-top:12px;border-top:1px solid var(--line)}
.sig-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sig-name{font-family:var(--f-display);font-weight:600;font-size:21px;line-height:1.2;color:var(--ink);letter-spacing:-.01em;margin-top:4px}
.sig-role{font-size:14px;color:var(--muted)}
.sig-cref{margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:4px 14px;font-variant-numeric:tabular-nums}
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
details summary{cursor:pointer}
.libbar{display:flex;flex-direction:column;gap:10px}
.libbar input[type=search]{max-width:420px}
.exlist{display:flex;flex-direction:column;gap:8px}
.exrow{padding:12px 14px}
.exrow.editing{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.exrow-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.exrow-t{display:flex;flex-direction:column;gap:6px;min-width:0}
.exrow-t b{font-family:var(--f-display);font-weight:600;font-size:16px}
.pill.cat{background:var(--accent-soft);border-color:transparent;color:var(--accent)}
.exedit{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.exedit .exfull{grid-column:1/-1}
.looks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.look{border:2px solid var(--line);background:var(--surface);border-radius:10px;padding:10px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:8px;font-weight:600}
.look[aria-pressed="true"]{border-color:var(--accent)}
.sw{display:flex;gap:4px}.sw i{width:22px;height:22px;border-radius:50%;display:block;border:1px solid rgba(0,0,0,.08)}
.mini{border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.mini .hero{padding-block:16px 20px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* plano de fundo do app do aluno */
body.st-mode{background:#1A1E14}
html:has(body.st-mode){background:#1A1E14}
body.st-mode::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:#1A1E14 url("bg-aluno.jpg") right top/cover no-repeat}
@media (min-width:700px){body.st-mode::before{background-size:auto 100%;background-position:right center}}
body.st-mode #app{position:relative;z-index:1}
body.st-mode .hero,body.st-mode .hero.bg-ondas,body.st-mode .hero.bg-liso{background:transparent;padding-block:24px 52px}
body.st-mode .sig{border-top-color:rgba(255,255,255,.14)}
body.st-mode .sig-label,body.st-mode .sig-role{color:rgba(236,246,242,.72)}
body.st-mode .sig-name{color:#F2FAF7}
body.st-mode .sig-cref{color:#8FDCC7;border-color:rgba(143,220,199,.35);background:rgba(6,21,15,.35)}
body.st-mode .st>.note,body.st-mode .st>p.note{color:rgba(236,246,242,.8)}
body.st-mode .panel{box-shadow:0 8px 24px rgba(0,0,0,.25)}

/* carga do aluno */
.rx .rxload{display:flex;flex-direction:column}
.rxload input{width:100%;border:1px dashed var(--accent);background:var(--surface);border-radius:6px;padding:2px 6px;font-family:var(--f-display);font-weight:600;font-size:18px;color:var(--ink);min-width:0}
.rxload input:focus{border-style:solid;outline:none}
.stload{grid-column:2/-1;font-size:12px;color:var(--accent);margin-top:-2px}
/* agenda */
.agbox{display:flex;flex-direction:column;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:12px}
.agrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.agt{display:flex;flex-direction:column;flex:1 1 180px;min-width:0}
.agt small{color:var(--muted);font-size:12px}
.agic{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--accent-soft);color:var(--accent);flex:none}
.agic.big{width:48px;height:48px;border-radius:12px}
.agic.big svg{width:24px;height:24px}
.agnew{display:flex;gap:8px;flex-wrap:wrap}
.agnew input{flex:1 1 220px}
.agchk{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:14px}
.btn svg{flex:none}
.agcard{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;padding:14px;border:2px solid var(--accent);background:var(--surface);border-radius:var(--r);cursor:pointer;width:100%;color:var(--ink)}
.agcard b{font-family:var(--f-display);font-weight:600;font-size:19px;display:block}
.agcard small{color:var(--muted);font-size:14px}
.agview{padding:10px;display:flex;flex-direction:column;gap:8px}
.agview img{width:100%;height:auto;border-radius:8px;cursor:zoom-in;display:block}
.zoom{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.92);overflow:auto;padding:calc(56px + env(safe-area-inset-top,0px)) 0 20px}
.zoom .zin{width:max-content;min-width:100%}
.zoom img{display:block;width:auto;max-width:none;height:auto;min-width:100vw}
@media (min-width:900px){.zoom img{max-width:100%;min-width:0;margin:0 auto}}
.zoom .zclose{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:12px;z-index:61}
/* acesso do aluno */
.accbox{display:flex;flex-direction:column;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:12px}
.code{font-family:var(--f-display);font-size:18px;letter-spacing:.12em;padding:2px 10px;border-radius:6px;background:var(--surface);border:1px dashed var(--accent);color:var(--ink)}
.sitem .sname .pill{font-size:10px;padding:1px 6px}
/* login */
.lgtabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:4px}
.lgtab{border:0;background:transparent;border-radius:7px;padding:9px 6px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer;line-height:1.2}
.lgtab[aria-pressed="true"]{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.lgmsg{background:var(--danger-soft);color:var(--danger);border-radius:8px;padding:10px 12px;font-weight:600}
.lgmsg.ok{background:var(--good-soft);color:var(--good)}
body.st-mode .st>p.lgmsg{color:var(--danger)}
body.st-mode .st>p.lgmsg.ok{color:var(--good)}
/* controle de acesso e relatório */
.acctop{margin-bottom:2px}
.acctl{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:var(--good-soft);border:1px solid transparent}
.acctl.off{background:var(--danger-soft)}
.lockic{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface);color:var(--good);flex:none}
.acctl.off .lockic{color:var(--danger)}
.lockic svg{width:18px;height:18px}
.acctxt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.acctxt b{font-size:15px}
.acctxt small{color:var(--muted);font-size:12px}
.switch{position:relative;width:52px;height:30px;border-radius:999px;border:0;background:var(--danger);cursor:pointer;flex:none;transition:background .2s}
.switch.on{background:var(--good)}
.switch.armed{background:var(--warn)}
.switch .knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .2s}
.switch.on .knob{left:25px}
.linkbtn{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.lockpill{display:inline-flex;align-items:center;gap:3px}
.lockpill svg{width:11px;height:11px}
.tblwrap{overflow-x:auto;padding:0}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tr.sel td{background:var(--accent-soft)}
/* ===== Atualização 6 ===== */
/* cronômetro do treino */
.sessbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.sessbar>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.sessbar.on{position:sticky;top:8px;z-index:20;background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.sb-l{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.75}
.sessbar .note{margin:0}
.clock{font-family:var(--f-display);font-size:30px;font-weight:600;line-height:1;letter-spacing:.02em}
.sessbar.on .btn.primary{background:var(--on-brand);color:var(--brand);border-color:var(--on-brand)}
/* abas do aluno */
.sttabs{display:flex;gap:4px;background:rgba(6,21,15,.55);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:4px;backdrop-filter:blur(6px)}
.sttab{flex:1;border:0;background:transparent;border-radius:9px;padding:10px 6px;font-weight:700;font-size:14px;color:rgba(236,246,242,.78);cursor:pointer}
.sttab[aria-selected="true"]{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.agcard.going{border-color:var(--warn)}
.agtitle{color:#F2FAF7;margin:4px 0 0}
/* o que o aluno fez */
.perf{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:6px}
.perfrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.perfrow label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted);font-weight:600}
.perfrow input{width:100%;min-width:0;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:7px 8px;font-family:var(--f-display);font-weight:600;font-size:17px;color:var(--ink)}
.perfrow input:focus{border-color:var(--accent);outline:none;background:var(--surface)}
/* indicadores */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:8px}
.kpis>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;background:var(--surface-2)}
.kpis b{font-family:var(--f-display);font-size:22px;font-weight:600;line-height:1.1}
.kpis span{font-size:12px;color:var(--muted)}
.kpis.big{margin:0 0 12px}
.kpis.big .panel{padding:14px 16px;background:var(--surface)}
.kpis.big b{font-size:26px}
/* corrida (aluno) */
.runpresc{display:flex;flex-direction:column;gap:10px}
.rp-sec{display:flex;flex-direction:column;gap:6px}
.rp-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;background:var(--surface-2);font-size:15px}
.rp-row .heart{flex:none}
.rp-rep{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:10px;border:2px dashed var(--accent)}
.rp-reph{color:var(--accent);font-size:14px}
.rp-obs{white-space:pre-wrap;padding:10px 12px;border-radius:8px;background:var(--accent-soft);border-left:3px solid var(--accent)}
.heart{display:inline-block;vertical-align:middle}
.runbtn .rdate{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.runbtn .rdate b{font-size:18px}
.runbtn .rdate small{font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.runbtn.old{opacity:.75}
.pastruns{margin-top:4px}
.pastruns summary{cursor:pointer;font-weight:700;padding:8px 2px;color:rgba(236,246,242,.85)}
.pastruns .wlist{margin-top:6px}
/* corrida (treinador) */
.ctabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px;flex-wrap:wrap}
.ctab{border:0;background:transparent;padding:10px 14px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}
.ctab[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent)}
.ctab .num{font-size:11px;background:var(--surface-2);border-radius:999px;padding:1px 7px;margin-left:4px}
.runcard .rbody{display:flex;flex-direction:column;gap:12px;padding:0 14px 14px}
.rsec{display:flex;flex-direction:column;gap:6px}
.rblock{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line)}
.rblock.rep{border:2px dashed var(--accent);background:var(--accent-soft)}
.rstep{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rstep select{max-width:100%}
.rstep .note{margin:0}
.mins,.reps{width:72px;text-align:center}
.rwhat{flex:1 1 140px;min-width:0}
.hz{display:inline-grid;place-items:center;width:28px;height:28px;flex:none}
.zgrid{display:flex;flex-direction:column;gap:8px}
.zrow{display:grid;grid-template-columns:24px 40px repeat(3,minmax(0,1fr));gap:8px;align-items:end}
.zrow>.heart,.zrow>b{align-self:center}
@media (max-width:600px){.zrow{grid-template-columns:24px 1fr 1fr}.zrow .field:last-child{grid-column:1/-1}}
/* gráficos */
.chartcard{padding:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.chart{position:relative}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .grid{stroke:var(--line);stroke-width:1}
.chart .base{stroke:var(--muted);stroke-width:1}
.chart .ax,.chart .lbl{fill:var(--muted);font-size:11px;font-family:var(--f-body)}
.chart .lbl{fill:var(--ink);font-weight:700}
.chart .bar{fill:var(--accent)}
.chart .hit{fill:transparent;cursor:pointer}
.chart .hit:hover+.bar,.chart g:hover .bar{opacity:.85}
.chart .line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .dot{fill:var(--accent);stroke:var(--surface);stroke-width:2}
.chart-empty{padding:28px 12px;text-align:center;color:var(--muted);background:var(--surface-2);border-radius:8px}
.ctip{position:fixed;z-index:80;pointer-events:none;background:var(--ink);color:var(--bg);padding:6px 9px;border-radius:6px;font-size:12px;line-height:1.35;box-shadow:0 4px 14px rgba(0,0,0,.25);max-width:220px}
.ctip[hidden]{display:none}
.ctip b{display:block}
/* relatório de treinos */
.sessrow{margin-bottom:8px}
.sessrow summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;cursor:pointer;list-style:none}
.sessrow summary::-webkit-details-marker{display:none}
.sessrow summary b{flex:1 1 140px}
.sessdet{padding:0 14px 14px;display:flex;flex-direction:column;gap:8px}
.tbl.sm{font-size:13px}
.tbl.sm th,.tbl.sm td{padding:6px 10px}
/* caixa */
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:4px}
.segb{border:0;background:transparent;border-radius:7px;padding:8px;font-weight:700;color:var(--muted);cursor:pointer}
.segb.in[aria-pressed="true"]{background:var(--good-soft);color:var(--good)}
.segb.out[aria-pressed="true"]{background:var(--danger-soft);color:var(--danger)}
.pos{color:var(--good);font-weight:700}
.neg{color:var(--danger);font-weight:700}
.rstep input.mins{width:76px;flex:none}
.rstep select{width:auto;flex:0 1 190px}
.rblock label.row{display:flex;align-items:center;gap:8px}
.rblock input.reps{width:70px;flex:none}
.runcard .rbody{padding-top:12px}
/* tabela de zonas de FC */
.hrbox{padding:16px;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.hrbox h3{font-size:17px}
.hrmax{margin:0;font-size:15px}
.hrmax b{font-family:var(--f-display);font-size:18px;color:var(--accent)}
.hrbox .tblwrap{border:1px solid var(--line);border-radius:8px}
.hrtbl td{white-space:nowrap}
.hrtbl td:last-child{white-space:normal;color:var(--muted)}
.zn{display:inline-flex;align-items:center;gap:6px}
.wlist+.hrbox,.pastruns+.hrbox{margin-top:12px}
@media (max-width:520px){.hrtbl th:last-child,.hrtbl td:last-child{display:none}}
/* Strava */
.strava{padding:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.sv-head{display:flex;align-items:center;gap:10px}
.sv-head h3{font-size:17px}
.svtag{display:inline-block;background:#FC4C02;color:#fff;font-weight:800;font-size:11px;letter-spacing:.04em;padding:2px 8px;border-radius:4px;text-transform:uppercase}
.svbtn{background:#FC4C02;border-color:#FC4C02;color:#fff;padding:12px 16px;font-weight:700;align-self:flex-start}
.svbtn:hover{background:#E34402}
.sv-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.svfoot{margin:0;font-size:11px;color:var(--muted);text-align:right}
.svlink{align-self:flex-start;color:#FC4C02;font-weight:700;text-decoration:none;padding:4px 2px}
body.st-mode .svlink{color:#FF8A57}
.svdate{background:#FFE9DF;color:#C43A00}
.svrow{margin:0}
.svrow summary{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;list-style:none}
.svrow summary::-webkit-details-marker{display:none}
.svrow .svdate{width:44px;height:44px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;flex:none}
.svrow .svdate b{font-size:16px}.svrow .svdate small{font-size:10px;text-transform:uppercase}
.svsum{display:flex;flex-direction:column;gap:2px;min-width:0}
.svsum .muted{font-size:13px}
.svbody{padding:0 12px 12px;display:flex;flex-direction:column;gap:10px}
.svbody .panel{box-shadow:none}
.svk{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.svk b{font-size:20px}
.hrchart .zband{fill-opacity:.13}
.hrchart .zlbl{font-size:11px;font-weight:800;font-family:var(--f-body)}
.hrchart .hrline{fill:none;stroke:var(--ink);stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round}
.zt td{white-space:nowrap}
.ztbar{display:flex;align-items:center;gap:8px;min-width:120px}
.ztbar span{flex:1;height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden;display:block}
.ztbar i{display:block;height:100%;border-radius:4px}
.ztbar b{font-size:12px;min-width:34px;text-align:right}
@media (max-width:520px){.zt th:nth-child(2),.zt td:nth-child(2){display:none}}
/* ===== Calendário de atividades ===== */
.k-academia{--ck:#9BCB3B;--ck-ink:#C8E68A;--ck-bg1:#1F3313;--ck-bg2:#0C130A;--ck-line:#3E5E1E}
.k-corrida{--ck:#F7931E;--ck-ink:#FFC07A;--ck-bg1:#3D1F09;--ck-bg2:#130B05;--ck-line:#6E3A12}
.k-descanso{--ck:#45B0F2;--ck-ink:#A9DBFA;--ck-bg1:#123259;--ck-bg2:#08111F;--ck-line:#21507F}
.calgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-bottom:12px}
.calweek{margin-bottom:6px}
.calwh{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:#ECF6F2;margin:6px 0 10px;font-family:var(--f-body);font-weight:800}
.calwh small{font-weight:600;letter-spacing:.02em;color:rgba(236,246,242,.65);text-transform:none;margin-left:6px}
body:not(.st-mode) .calwh{color:var(--ink)}
.calcard{position:relative;display:flex;flex-direction:column;gap:4px;text-align:left;width:100%;padding:16px 16px 18px;border-radius:14px;
  border:1px solid var(--ck-line);color:#F4F1EA;font:inherit;overflow:hidden;
  background:radial-gradient(120% 90% at 100% 0%,var(--ck-bg1) 0%,transparent 60%),linear-gradient(160deg,var(--ck-bg1) 0%,var(--ck-bg2) 75%);
  box-shadow:0 10px 26px rgba(0,0,0,.35)}
.calcard::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ck);opacity:.85}
button.calcard{cursor:pointer}
button.calcard:hover{border-color:var(--ck)}
.calcard.today{border:2px solid var(--ck);box-shadow:0 0 0 3px rgba(255,255,255,.06),0 12px 30px rgba(0,0,0,.45)}
.calcard.past{opacity:.6}
.cc-top{display:flex;align-items:center;gap:10px}
.cc-ic{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1.5px solid var(--ck);color:var(--ck);flex:none}
.cc-plan{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ck-ink);font-weight:700}
.cc-hoje{margin-left:auto;background:var(--ck);color:#111;font-weight:800;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.cc-day{margin-top:8px;font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--ck)}
.cc-kind{font-family:var(--f-display);font-weight:800;font-size:32px;letter-spacing:.01em;text-transform:uppercase;color:#F4F1EA;line-height:1}
.cc-title{margin:6px 0 0;font-size:16px;font-weight:700;color:#F4F1EA;line-height:1.3}
.cc-notes{margin:2px 0 0;font-size:14px;color:rgba(244,241,234,.75);white-space:pre-wrap}
.cc-go{margin-top:8px;font-weight:800;font-size:13px;color:var(--ck);letter-spacing:.04em}
/* editor */
.calgrid.ed{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.caled{padding:14px;display:flex;flex-direction:column;gap:10px;border-top:4px solid var(--ck)}
.calkinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px}
.calkb{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-weight:700;font-size:13px;cursor:pointer}
.calkb svg{width:16px;height:16px}
.calkb[aria-pressed="true"]{background:linear-gradient(160deg,var(--ck-bg1),var(--ck-bg2));border-color:var(--ck);color:var(--ck)}
.calrow{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px}
@media (max-width:520px){.calrow{grid-template-columns:1fr}}
.calrow .note{font-size:12px;text-transform:capitalize}
.calbtn{display:inline-flex;align-items:center;gap:4px;border-color:var(--ck-line);background:linear-gradient(160deg,var(--ck-bg1),var(--ck-bg2));color:var(--ck-ink)}
.calbtn svg{width:16px;height:16px;color:var(--ck)}
.coachpast summary{color:var(--muted)}
.calpromo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border-radius:10px;margin-bottom:10px;color:#F4F1EA;
  background:linear-gradient(110deg,#1F3313 0%,#3D1F09 50%,#123259 100%);border:1px solid #2a2a2a}
.calpromo .agt small{color:rgba(244,241,234,.75)}
.calpromo-k{display:flex;gap:4px}
.calpromo-k svg{width:20px;height:20px}
.calpromo-k svg:nth-child(1){color:#9BCB3B}.calpromo-k svg:nth-child(2){color:#F7931E}.calpromo-k svg:nth-child(3){color:#45B0F2}
.ctabs{scroll-margin-top:130px}
.brandlogo{width:52px;height:52px;border-radius:50%;flex:none;display:block;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 2px 8px rgba(0,0,0,.35)}
/* ===== v15: visual escuro do app do aluno ===== */
body.st-mode{--bg:#0A0D0C;--surface:#141A19;--surface-2:#1B2321;--ink:#EBF1EE;--muted:#93A29D;--line:#26302E;
  --accent:#5CBF78;--accent-ink:#06150C;--accent-soft:#17301F;--good:#5CBF78;--good-soft:#16301F;--warn:#F0A257;--danger:#F27A7A;--danger-soft:#3A1A1D;color-scheme:dark;color:var(--ink)}
body.st-mode::before{background:linear-gradient(180deg,rgba(7,10,9,.55) 0%,rgba(7,10,9,.88) 55%,#070A09 100%),#1A1E14 url("bg-aluno.jpg") right top/cover no-repeat}
body.st-mode .panel{border-color:var(--line);box-shadow:0 10px 28px rgba(0,0,0,.35)}
body.st-mode .sttabs{background:rgba(20,26,25,.75)}
body.st-mode .sttab[aria-selected="true"]{background:var(--accent);color:var(--accent-ink)}
body.st-mode .svdate{background:rgba(252,76,2,.16);color:#FF8A57}
body.st-mode .toast{background:#EBF1EE;color:#0A0D0C}
body.st-mode .rx>div{background:var(--surface-2)}
/* botão principal verde (Modo Treino) */
.gbtn{width:100%;background:var(--accent);border-color:var(--accent);color:var(--accent-ink);padding:15px 18px;border-radius:999px;font-size:16px;font-weight:800;gap:8px}
.gbtn:hover{filter:brightness(1.06);border-color:var(--accent)}
.gbtn.warn{background:var(--warn);border-color:var(--warn)}
.gbtn.ghostg{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
/* visão geral */
.over{padding:16px;display:flex;flex-direction:column;gap:14px}
.okpis{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.okpi{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;text-align:center;color:var(--muted)}
.okpi+.okpi{border-left:1px solid var(--line)}
.okpi svg{color:var(--accent)}
.okpi b{font-family:var(--f-display);font-size:20px;color:var(--ink)}
.okpi span{font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.olist{display:flex;flex-direction:column;gap:2px}
.orow{display:flex;align-items:center;gap:12px;width:100%;padding:10px 8px;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font:inherit}
.orow:hover{background:var(--surface-2)}
.orow.cur{background:var(--accent-soft)}
.onum{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;flex:none;border:1.5px solid var(--accent);color:var(--accent);font-weight:800;font-size:13px}
.orow.ok .onum{background:var(--accent);color:var(--accent-ink)}
.ot{display:flex;flex-direction:column;min-width:0}
.ot b{font-size:15px}
.ot small{color:var(--muted);font-size:13px}
.ogrp{border-left:3px solid var(--accent);border-radius:4px;padding-left:6px;margin:4px 0}
.ogl{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:2px 8px}
.octa{display:flex;flex-direction:column;gap:10px}
.orow2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between}
.ofic{align-self:center}
/* tela do exercício */
.guide{position:relative;z-index:1;max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:12px;padding:calc(8px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));background:#0A0D0C;color:var(--ink)}
.gtop{display:flex;align-items:center;gap:8px}
.gico{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;border:0;background:var(--surface);color:var(--ink);cursor:pointer;flex:none;font-size:18px}
.gtt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.15}
.gtt span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gtt b{font-family:var(--f-display);font-size:17px}
.gtt em{font-style:normal;font-size:11px;color:var(--warn);font-weight:700;text-transform:uppercase}
.gcount{font-weight:800;color:var(--muted);font-size:14px}
.gprog{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.gprog i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s}
.ghead h1{font-size:26px;margin-top:2px}
.gkick{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.04em;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gtag{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800}
.gpresc{margin:2px 0 0;font-size:18px;color:var(--ink);opacity:.9}
.gmedia{position:relative;border-radius:16px;overflow:hidden;background:#111716;aspect-ratio:16/10;touch-action:pan-y}
.gthumb{position:absolute;inset:0;border:0;padding:0;background:#111716 center/cover no-repeat;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff}
.gthumb::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.55))}
.gplay{position:relative;display:inline-grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 24px rgba(0,0,0,.45)}
.gplay svg{width:26px;height:26px;margin-left:3px}
.gpl{position:relative;font-weight:800;font-size:14px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.gplayer{position:absolute;inset:0;background:#000}
.gplayer iframe{width:100%;height:100%;border:0}
.gclose{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;z-index:2}
.gnovid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);background:radial-gradient(80% 80% at 50% 40%,#1B2523,#0E1312)}
.gnovid svg{width:56px;height:56px;color:var(--accent);opacity:.8}
.garr{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:56px;border:0;background:rgba(0,0,0,.35);color:#fff;cursor:pointer;display:grid;place-items:center;z-index:1}
.garr.l{left:0;border-radius:0 12px 12px 0}.garr.r{right:0;border-radius:12px 0 0 12px}
.gcard{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:8px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.gset{display:flex;flex-direction:column;gap:4px}
.gset span,.grest span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.gset b{font-family:var(--f-display);font-size:24px}
.gdots{display:flex;gap:4px;flex-wrap:wrap}
.gdots i{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--line);background:transparent}
.gdots i.done{background:var(--accent);border-color:var(--accent)}
.gdots i.cur{border-color:var(--accent);box-shadow:0 0 0 3px rgba(92,191,120,.25)}
.gbig{display:flex;flex-direction:column;align-items:center;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:4px}
.gbig b{font-family:var(--f-display);font-size:48px;line-height:1}
.gbig span{font-size:13px;color:var(--muted)}
.grest{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted)}
.grest b{font-family:var(--f-display);font-size:20px;color:var(--ink)}
.gtime{display:flex;flex-direction:column;align-items:center;gap:6px}
.gtc{display:flex;gap:8px}
.gmini{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.gmini.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.gring{position:relative;width:120px;height:120px}
.gring svg{width:100%;height:100%;transform:rotate(-90deg)}
.rg-bg{fill:none;stroke:var(--surface-2);stroke-width:9}
.rg-fg{fill:none;stroke:var(--accent);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .25s linear}
.gring.fin .rg-fg{stroke:var(--accent)}
.rg-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.rg-txt b{font-family:var(--f-display);font-size:28px;line-height:1}
.rg-txt b svg{width:40px;height:40px;color:var(--accent)}
.rg-txt span{font-size:11px;color:var(--muted);margin-top:3px}
.ghint{margin:0;font-size:14px;color:var(--accent);background:var(--accent-soft);padding:8px 12px;border-radius:10px}
.gperf{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gperf label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);font-weight:700}
.gperf input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px;font-family:var(--f-display);font-weight:600;font-size:18px;color:var(--ink)}
.gperf input:focus{outline:none;border-color:var(--accent)}
.gobs{font-size:14px;padding:10px 12px;border-radius:10px;background:var(--surface);border-left:3px solid var(--warn)}
.ghow{background:var(--surface);border-radius:10px;padding:10px 12px}
.ghow summary{cursor:pointer;font-weight:700}
.ghow p{margin:8px 0 0;white-space:pre-wrap;color:var(--muted)}
.gfoot{margin-top:auto;display:flex;flex-direction:column;gap:10px;position:sticky;bottom:0;padding-top:10px;padding-bottom:4px;background:linear-gradient(180deg,rgba(10,13,12,0),#0A0D0C 30%)}
.gsub{display:flex;justify-content:space-between;gap:10px}
.gsub .linkbtn{color:var(--muted);font-size:13px}
.gsub .linkbtn:disabled{opacity:.35}
.gwarn{margin:0;font-size:13px;color:var(--warn);text-align:center}
/* descanso */
.gover{position:fixed;inset:0;z-index:40;background:rgba(5,8,7,.94);display:flex;align-items:center;justify-content:center;padding:24px}
.gov-in{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:380px;text-align:center}
.gov-l{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:800}
.gover .gring{width:220px;height:220px}
.gover .rg-txt b{font-size:56px}
.gov-n{margin:0;color:var(--muted)}
.gov-n b{color:var(--ink)}
.gov-b{display:grid;grid-template-columns:auto 1fr;gap:10px;width:100%}
.gov-b .btn:not(.gbtn){border-radius:999px;padding:14px 18px}
/* lista */
.gsheet{position:fixed;inset:0;z-index:45;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center}
.gsh-in{width:100%;max-width:560px;max-height:80vh;overflow:auto;background:var(--surface);border-radius:18px 18px 0 0;padding:14px 12px calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:4px}
/* corrida guiada */
.rgmain{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0}
.guide.run .gring{width:230px;height:230px}
.guide.run .rg-txt b{font-size:56px}
.rgzone{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--zc);font-size:18px}
.rgzone b{color:var(--zc)}
.rgzone .heart{width:22px;height:22px}
.rgcard{grid-template-columns:repeat(3,1fr);text-align:center}
.rgcard>div{display:flex;flex-direction:column;gap:3px}
.rgcard span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.rgcard b{font-family:var(--f-display);font-size:18px}
.gdone{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:30px 0}
/* tela final */
.dview{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:40px 4px 10px}
.dcheck{display:grid;place-items:center;width:112px;height:112px;border-radius:50%;border:5px solid var(--accent);color:var(--accent)}
.dcheck svg{width:58px;height:58px}
.dview h1{font-size:30px;color:var(--ink)}
.dview .note{margin:0;max-width:340px}
.dvbox{width:100%;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:left}
.dvrow{display:flex;align-items:center;gap:12px;padding:14px 16px;color:var(--muted)}
.dvrow+.dvrow{border-top:1px solid var(--line)}
.dvrow svg{color:var(--ink)}
.dvrow span{flex:1}
.dvrow b{font-family:var(--f-display);font-size:17px;color:var(--ink)}
.dview .btn{width:100%}
/* ===== v16: agenda semanal ===== */
.week{display:flex;flex-direction:column;gap:12px}
.wnav{display:flex;align-items:center;gap:10px}
.wnav .gico:disabled{opacity:.3;cursor:default}
.wttl{flex:1;display:flex;flex-direction:column;align-items:center;line-height:1.15}
.wttl span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800}
.wttl b{font-family:var(--f-display);font-size:20px;color:var(--ink)}
.wlegend{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.wlg{display:inline-flex;align-items:center;gap:6px}
.wlg i{width:10px;height:10px;border-radius:3px;background:var(--ck)}
.wlg b{color:var(--ink)}
.wstrip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:6px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.wday{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 7px;border:0;border-radius:10px;background:transparent;color:var(--ink);cursor:pointer;font:inherit}
.wday:hover{background:var(--surface-2)}
.wdn{font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--muted)}
.wday b{font-family:var(--f-display);font-size:17px}
.wday.today{background:var(--accent);color:var(--accent-ink)}
.wday.today .wdn{color:var(--accent-ink);opacity:.8}
.wday.past{opacity:.55}
.wbars{display:flex;gap:2px;height:5px;width:70%;justify-content:center}
.wbars i{flex:1;max-width:14px;border-radius:3px;background:var(--ck)}
.wbars i.none{background:var(--line);max-width:6px}
.wday.today .wbars i{box-shadow:0 0 0 1.5px var(--accent-ink)}
.wlist2{display:flex;flex-direction:column;border-radius:14px;background:var(--surface);border:1px solid var(--line);overflow:hidden}
.wrow{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;padding:10px 12px;scroll-margin-top:90px;transition:background .4s}
.wrow+.wrow{border-top:1px solid var(--line)}
.wrow.past{opacity:.55}
.wrow.today{background:var(--accent-soft)}
.wrow.flash{animation:wflash 1s}
@keyframes wflash{0%{background:rgba(92,191,120,.35)}100%{background:transparent}}
.wdl{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.wdl span{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--muted)}
.wdl b{font-family:var(--f-display);font-size:22px;color:var(--ink)}
.wdl em{font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:1px 6px;margin-top:3px}
.wcol{display:flex;flex-direction:column;gap:6px;min-width:0}
.wact{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--ck-line);border-left:4px solid var(--ck);
  background:linear-gradient(110deg,var(--ck-bg1) 0%,var(--ck-bg2) 100%);color:#F4F1EA;font:inherit}
button.wact{cursor:pointer}
button.wact:hover{border-color:var(--ck)}
.wact.none{border:1px dashed var(--line);background:transparent;color:var(--muted);padding:12px}
.wic{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1.5px solid var(--ck);color:var(--ck);flex:none}
.wic svg{width:18px;height:18px}
.wtx{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}
.wk{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ck)}
.wtx b{font-size:15px;line-height:1.25}
.wtx small{font-size:12.5px;color:rgba(244,241,234,.7);white-space:pre-wrap}
.wact.none small{color:var(--muted)}
.wgo{font-size:12px;font-weight:800;color:var(--ck);white-space:nowrap}
/* ===== v17: bi-set / tri-set na mesma tela ===== */
.gghead{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.gghead h1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gghead .gtag{font-size:12px;padding:2px 9px}
.gnav{display:flex;gap:6px}
.gground{grid-template-columns:auto 1fr;gap:14px}
.gginfo{margin:0;font-size:14px;color:var(--muted);line-height:1.4}
.gginfo b{color:var(--ink)}
.gcxs{display:flex;flex-direction:column;gap:0;position:relative}
.gcx{position:relative;display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.gcx+.gcx{margin-top:18px}
.gcx+.gcx::before{content:"";position:absolute;left:27px;top:-19px;height:18px;border-left:2px dashed var(--accent);opacity:.7}
.gcx.ok{border-color:var(--accent)}
.gcx.skip{opacity:.5}
.gcx-top{display:flex;align-items:center;gap:10px}
.gcl{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:900;flex:none}
.gcthumb{position:relative;width:76px;height:52px;border-radius:9px;border:0;padding:0;background:#111716 center/cover no-repeat;cursor:pointer;flex:none;display:grid;place-items:center;overflow:hidden}
.gcthumb::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3)}
.gcthumb .gplay{width:30px;height:30px;box-shadow:none}
.gcthumb .gplay svg{width:14px;height:14px;margin-left:2px}
.gcthumb.none{cursor:default;color:var(--accent);background:var(--surface-2)}
.gcthumb.none::before{display:none}
.gcthumb.none svg{width:26px;height:26px}
.gcx-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.gcx-t b{font-size:16px}
.gcx-t span{font-size:14px;color:var(--ink);opacity:.85}
.gcx-t small{font-size:12px;color:var(--muted)}
.gck{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;flex:none}
.gck.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.gcvid{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000}
.gcvid iframe{width:100%;height:100%;border:0}
.gctime{display:flex;align-items:center;gap:10px}
.gctime .gring{width:84px;height:84px}
.gctime .rg-txt b{font-size:20px}
.gctime>b{font-family:var(--f-display);font-size:22px;min-width:60px}
.gperf.sm input{padding:8px;font-size:16px}
/* ===== v18: painel do treinador em tela larga ===== */
.coach>.side{grid-column:1;grid-row:1/span 2;position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto}
.coach>.prof{grid-column:2;min-width:0}
.coach>.main{grid-column:2;min-width:0;container-type:inline-size}
.prof>.head{margin:0}
@media (min-width:1600px){
  .coach{grid-template-columns:240px minmax(360px,410px) minmax(0,1fr)}
  .coach>.prof{grid-column:2;grid-row:1/span 2;position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto;scrollbar-width:thin}
  .coach>.main{grid-column:3;grid-row:1/span 2}
  .prof .head{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .prof .head>.field:not(.full){grid-column:auto}
}
@media (max-width:820px){
  .coach{grid-template-columns:minmax(0,1fr)}
  .coach>.side,.coach>.prof,.coach>.main{grid-column:1;grid-row:auto;position:static;max-height:none;overflow:visible}
}
/* editor de treino responde à largura da coluna, não da tela */
@container (max-width:1020px){
  .item{grid-template-columns:28px repeat(4,minmax(0,1fr))}
  .item .f-ex,.item .f-obs{grid-column:2/-1}
  .item .ctl{grid-column:2/-1;justify-content:flex-start}
  .item .idx{align-self:start;padding-top:22px}
}
@container (max-width:560px){
  .item{grid-template-columns:28px repeat(2,minmax(0,1fr))}
  .whead{grid-template-columns:minmax(0,1fr)}
}
@container (min-width:1500px){
  .calgrid.ed{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* outras abas */
.fbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:14px;align-items:start}
.fbgrid .excard{margin:0}
.setgrid{column-width:440px;column-gap:16px}
.setgrid>*{break-inside:avoid;margin:0 0 16px;width:100%}
.repgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,600px),1fr));gap:14px;align-items:start}
.repgrid .chartcard{margin:0}
.sessgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,560px),1fr));gap:8px;align-items:start}
.sessgrid .sessrow{margin:0}
.cashgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
.cashcol{display:flex;flex-direction:column;gap:10px;min-width:0}
@media (max-width:1100px){.cashgrid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){.fbgrid{grid-template-columns:minmax(0,1fr)}}
@media (min-width:1300px){.lib{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}
@media (min-width:1300px){.exlist{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(560px,1fr));gap:8px;align-items:start}.exlist>.exrow{margin:0}.exlist>.exrow.editing{grid-column:1/-1}}
@media (max-width:820px){
  body:not(.st-mode) .top{position:static}
  .top .wrap{row-gap:8px}
  .top .tabs{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-inline:-4px}
  .top .tabs::-webkit-scrollbar{display:none}
  .top .tab{white-space:nowrap;flex:none}
  .savebox{order:2;margin-left:auto}
  .brand{min-width:0;flex:1}
  body:not(.st-mode) .savebox{position:fixed;left:0;right:0;bottom:0;z-index:30;justify-content:space-between;background:var(--brand);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 18px rgba(0,0,0,.25)}
  body:not(.st-mode) #app{padding-bottom:70px}
}
@media (max-width:820px){body:not(.st-mode) .toast{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
/* ===== v20: avaliação física ===== */
.sideav{border-top:1px solid var(--line);padding-top:12px;margin-top:4px;display:flex;flex-direction:column;gap:8px}
.sideav .label{display:inline-flex;align-items:center;gap:6px}
.sideav .label svg{width:15px;height:15px;color:var(--accent)}
.aved{padding:16px;display:flex;flex-direction:column;gap:14px}
.avedh{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.avedh .field{width:180px}
.avgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;align-items:start}
.avgedit{padding:12px 14px;display:flex;flex-direction:column;gap:6px;border-top:3px solid var(--avc);background:var(--surface-2);box-shadow:none}
.avgedit h4{margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--avc)}
.avrow{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:8px;align-items:center;font-size:14px}
.avrow>span:first-child{display:flex;flex-direction:column;line-height:1.2}
.avrow small{font-size:11px;color:var(--muted)}
.avin{display:flex;align-items:center;gap:6px}
.avin input{width:100%;min-width:0;text-align:right;padding:6px 8px}
.avin input[readonly]{opacity:.75;border-style:dashed}
.avin em{font-style:normal;font-size:12px;color:var(--muted);width:44px;flex:none}
.avcust{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) minmax(0,.7fr) auto;gap:6px;align-items:center}
.avcust input{padding:6px 8px;min-width:0}
.avgedit>.btn{align-self:flex-start;margin-top:4px}
/* relatório */
.avwrap{padding:16px}
.avrep{display:flex;flex-direction:column;gap:14px}
.avhead{display:flex;align-items:center;gap:12px}
.avhead h3{font-size:19px}
.avbadge{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent);flex:none}
.avhls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.avhl{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border-left:4px solid var(--avc)}
.avn{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.avhl b{font-family:var(--f-display);font-size:26px;line-height:1.1}
.avhl b small,.avct b small,.avsingle small{font-size:13px;font-weight:600;color:var(--muted);margin-left:3px}
.avdelta{font-size:12px;color:var(--ink);opacity:.85}
.avdelta small{color:var(--muted)}
.avnotes{padding:12px 14px;border-radius:10px;background:var(--accent-soft);border-left:3px solid var(--accent)}
.avnotes p{margin:4px 0 0;white-space:pre-wrap}
.avsec{margin:6px 0 0;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.avgrp h4{margin:0 0 8px;font-size:15px}
.avcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px}
.avcard{padding:12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:4px;border-top:3px solid var(--avc)}
.avct{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.avct span{font-size:13px;font-weight:700}
.avct b{font-family:var(--f-display);font-size:18px;white-space:nowrap}
.avchart svg{width:100%;height:auto;display:block;overflow:visible}
.avline{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.avdot{stroke:var(--surface-2);stroke-width:2}
.avv{fill:var(--ink);font-size:11px;font-weight:700;font-family:var(--f-body)}
.avchart .ax{fill:var(--muted);font-size:10px}
.avsingle{font-family:var(--f-display);font-size:15px;color:var(--muted);padding:8px 0}
.avdotk{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:middle}
.avtbl td:first-child{white-space:nowrap}
.avgedit.wide{grid-column:1/-1}
.avgedit.wide .avrow{max-width:520px}
.avgedit select{width:100%;padding:6px 8px}
.avstage{color:var(--avc)!important;font-weight:700}
.avproto{margin-top:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.avproto summary{cursor:pointer;font-weight:700;color:var(--avc)}
.avproto ol{margin:10px 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.45}
.avproto table{max-width:520px;margin-top:6px}
.avgedit.wide .avrow{grid-template-columns:minmax(0,1fr) 200px}
/* ===== v22: PAR-Q, Cooper e Rockport ===== */
.avsex{width:240px}
.czt td:first-child{white-space:nowrap}
#av-czones{margin-top:6px}
.pqcard{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;width:100%;padding:14px;border-radius:var(--r);border:2px solid var(--warn);background:var(--surface);color:var(--ink);cursor:pointer;font:inherit}
.pqcard b{font-family:var(--f-display);font-size:18px;display:block}
.pqcard small{color:var(--muted);font-size:14px}
.pqic{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:12px;background:rgba(240,162,87,.15);color:var(--warn)}
.pqlink{display:inline-flex;align-items:center;gap:6px;align-self:center;color:var(--muted)}
.pqlink svg{width:16px;height:16px}
.pqform{gap:14px}
.pqq{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.pqq p{margin:0;line-height:1.45}
.pqseg{max-width:260px}
.pqok-l{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4}
.pqok-l input{margin-top:3px;width:18px;height:18px;flex:none}
.pqdoc h3{font-size:18px;margin-bottom:4px}
.pqlist{padding-left:20px;display:flex;flex-direction:column;gap:10px;margin:12px 0}
.pqlist li{line-height:1.4}
.pqlist li span{display:block}
.pqlist li b{font-size:13px}
.pqy{color:var(--danger)}.pqn{color:var(--good)}
.pqdecl{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
.pqwarn{color:var(--danger);font-weight:700}.pqok{color:var(--good);font-weight:700}
.pqm-in{max-width:720px;border-radius:16px;margin:auto;max-height:90vh}
.pqmodal{align-items:center;padding:16px}
@media (max-width:520px){.czt th:nth-child(2),.czt td:nth-child(2){display:none}}
/* v24: quilometragem junto do Strava na aba Corrida */
.rungrid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;margin-bottom:12px}
.rungrid>.chartcard,.rungrid>.strava{margin:0}
@container (min-width:1050px){.rungrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
/* ===== v25: animação em loop ===== */
.gmedia.hasloop{aspect-ratio:auto;height:min(48vh,520px);background:#000}
.gloopv{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.gyt{position:absolute;right:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:7px 12px;background:rgba(0,0,0,.6);color:#fff;font-weight:700;font-size:13px;cursor:pointer}
.gyt svg{width:14px;height:14px}
.gyt.sm{position:static;align-self:flex-start;background:var(--surface-2);color:var(--ink);border:1px solid var(--line)}
.gcloop{width:112px;height:140px;object-fit:cover;background:#000;border-radius:10px;display:block;flex:none}
.floopw{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.floop{width:100%;max-height:420px;object-fit:contain;background:#000;border-radius:10px;display:block}
.lpbox{display:flex;flex-direction:column;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:12px}
.lpcur{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.lpprev{width:150px;aspect-ratio:4/5;object-fit:contain;background:#000;border-radius:8px}
.lpbtns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.lpm-in{max-width:620px;border-radius:16px;margin:auto;max-height:92vh;gap:12px}
.lpmodal{align-items:center;padding:16px;z-index:70}
.lpchoose{align-self:flex-start;cursor:pointer}
.lpwork{display:flex;flex-direction:column;gap:12px}
.lpstage{background:#000;border-radius:10px;overflow:hidden;display:flex;justify-content:center}
.lpstage video{max-height:46vh;max-width:100%;display:block}
.lprange{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.lprange label{display:flex;align-items:center;gap:6px;font-weight:600}
.lprange input{width:84px}
/* ===== v26: importação em lote ===== */
.bkm-in{max-width:860px}
.bklist{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto;padding-right:4px}
.bkrow{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.bkprev{width:72px;height:90px;object-fit:cover;border-radius:8px;background:#000}
.bkinfo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 10px;align-items:center;min-width:0}
.bkinfo b{grid-column:1/-1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.bkinfo small{grid-column:1/-1;color:var(--muted);font-size:12px;margin-top:-4px}
.bkinfo select{padding:6px 8px;font-size:13px}
.bkstatus{grid-column:1/-1}
.bkwork{position:fixed;left:-9999px;top:0;width:2px;height:2px;opacity:0}
@media (max-width:560px){.bkinfo{grid-template-columns:minmax(0,1fr)}}
/* v29 · FC de repouso */
.hrcard{border-color:var(--danger,#D7342B)}
.hrcard .pqic{background:rgba(215,52,43,.12);color:var(--danger,#D7342B)}
.hrform{display:flex;flex-direction:column;gap:14px}
.hrsteps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;line-height:1.45}
.hrtimer{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.hrtm{font-family:var(--f-display);font-size:28px;font-weight:700}
.hrtm:not(:empty)[id]{min-width:70px}
.hrdone{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--r);background:rgba(46,158,91,.14);border:1px solid rgba(46,158,91,.4)}
.hrdone b{font-family:var(--f-display);font-size:18px}
.hrlist{display:flex;flex-direction:column;gap:8px}
.hrcbox .row{flex-wrap:wrap}
.hrmore{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:var(--muted)}
.hrmore svg{width:16px;height:16px}
/* v31 · Fontes de energia */
.encard{gap:10px}
.enmeta{margin:0;color:var(--muted);font-size:14px}
.enkcal{margin:0;font-size:15px;color:var(--muted)}
.enkcal b{font-family:var(--f-display);font-size:40px;line-height:1;color:var(--ink);margin-right:6px}
.ensum{margin:0}
.enbar{display:flex;gap:2px;height:22px;border-radius:6px;overflow:hidden;margin-top:4px}
.enbar span{display:block;min-width:3px;height:100%;cursor:pointer}
.enbar span:first-child{border-radius:6px 0 0 6px}.enbar span:last-child{border-radius:0 6px 6px 0}
.enlist{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.enlist div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:14px}
.enlist i{width:12px;height:12px;border-radius:3px}
.enleg{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted)}
.enleg span{display:inline-flex;align-items:center;gap:6px}
.enleg .ln{display:inline-block;width:18px;height:0;border-top:2px solid}
.enleg .tot{border-color:#9b9a95}.enleg .car{border-color:#2a78d6}.enleg .gor{border-color:#1baf7a;border-top-style:dashed}
.enchart .enl{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.enchart .en-tot{stroke:#9b9a95}.enchart .en-car{stroke:#2a78d6}.enchart .en-gor{stroke:#1baf7a;stroke-dasharray:6 4}
.enfoot{margin:4px 0 0;font-size:12px;color:var(--muted)}
@media (max-width:380px){.enlist{grid-template-columns:1fr}}
/* v33 · Protocolo de bioimpedância */
.avproto{padding:0;margin-bottom:14px}
.avproto>summary{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;cursor:pointer;list-style:none}
.avproto>summary::-webkit-details-marker{display:none}
.avproto>summary b{display:block;font-family:var(--f-display);font-size:17px}
.avproto>summary small{color:var(--muted);font-size:13px}
.avpic{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(76,154,255,.13);color:#4C9AFF}
.avpgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px;padding:0 14px 14px}
.avpsec{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--r)}
.avpsec h4{margin:0;font-size:15px}
.avpmsg{white-space:pre-wrap;font:inherit;font-size:14px;line-height:1.5;margin:0;padding:12px;border-radius:10px;background:var(--bg2,rgba(127,127,127,.08));max-height:280px;overflow:auto}
.avplist{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;line-height:1.45}
.avpchk{display:flex;flex-direction:column;gap:8px}
.avpchk label{display:flex;gap:10px;align-items:flex-start;line-height:1.45;cursor:pointer}
.avpchk input{margin-top:3px;width:18px;height:18px;flex:none}
.avpchk input:checked+span{color:var(--muted);text-decoration:line-through}
.avpcontra td{vertical-align:top}
.pill.warnp{background:rgba(240,162,87,.16);color:var(--warn)}
.avpcard{border-color:#4C9AFF}.avpcard .pqic{background:rgba(76,154,255,.13);color:#4C9AFF}
/* v34 · fontes de energia no painel de FC */
.enhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.enhead .enfl{align-self:center;display:inline-flex}
.enhead .enkcal b{font-size:36px}
.enhead .enmeta{flex-basis:100%}
/* v35 · quilometragem estilo Strava */
.kmcard{gap:14px}
.kmsel-h h4{margin:0 0 8px;font-family:var(--f-display);font-size:22px}
.kmstats{display:flex;flex-wrap:wrap;gap:10px 28px}
.kmstats div{display:flex;flex-direction:column;gap:2px}
.kmstats span{font-size:13px;color:var(--muted)}
.kmstats b{font-family:var(--f-display);font-size:24px;line-height:1.1}
.kmtot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}
.kmtot>div{display:flex;flex-direction:column;gap:2px}
.kmtot>div b{font-family:var(--f-display);font-size:40px;line-height:1.05}
.kmtot small,.kmcmp small{font-size:13px;color:var(--muted)}
.kmcmp{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:2px}
.kmcmp b{font-size:20px}.kmcmp.up b{color:#6CC24A}.kmcmp.down b{color:#E5604D}
.kmchart .kmline{fill:none;stroke:#F26B21;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.kmchart .kmdot{fill:var(--surface);stroke:#F26B21;stroke-width:3}
.kmchart .kmdot.on{fill:#F26B21}
.kmchart .kmhalo{fill:#F26B21;opacity:.25}
.kmchart .kmsel{stroke:var(--ink);stroke-width:2}
.kmchart .kmax{font-size:13px}
.kmchart .kmx{font-size:13px;letter-spacing:.04em}
.kmchart .kmpre{font-size:11px;fill:var(--muted);opacity:.8}
.kmchart .hit{cursor:pointer}
/* v38 · tempo, pace e elevação */
.kmmet{display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:1px solid var(--line)}
.kmmh{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.kmmh>div{display:flex;flex-direction:column;gap:2px}
.kmmh h4{margin:0 0 2px;font-size:15px;color:var(--muted);font-weight:600}
.kmmh>div:first-child b{font-family:var(--f-display);font-size:30px;line-height:1.05}
.kmmh small{font-size:13px;color:var(--muted)}
.kmside{align-items:flex-end;text-align:right}
.kmside b{font-family:var(--f-display);font-size:20px}
.kmchart .kmsel.dim{opacity:.35;stroke-dasharray:3 4}
/* v39 · Aulas tabata */
.tbgrid{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:820px){.tbgrid{grid-template-columns:1fr}}
.tblist{padding:14px;display:flex;flex-direction:column;gap:8px}
.tbitem{display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font:inherit}
.tbitem[aria-current="true"]{border-color:var(--accent);background:var(--accent-soft)}
.tbitem small{color:var(--muted);font-size:12px}
.tbedit{gap:16px}
.tbnums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.tbblocks{display:flex;flex-direction:column;gap:10px}
.tbblk{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px}
.tbexrow{display:flex;align-items:center;gap:10px;min-width:0}
.tbexrow select{flex:1;min-width:0}
.tbexrow b{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tbtag{flex:none;width:26px;height:26px;border-radius:7px;background:var(--surface-2);display:grid;place-items:center;font-family:var(--f-display);font-weight:800}
.tbth{flex:none;width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--surface-2)}
.tbletter{display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:22px;color:var(--muted)}
.tbsum{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tbsum b{font-family:var(--f-display);font-size:34px}
.tbstu{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:6px}
.tbstu label{display:flex;align-items:center;gap:6px;cursor:pointer}
.wletter.tbw{font-size:15px;letter-spacing:-.02em}
.tbsound{margin:0;text-align:center;color:var(--muted);font-size:14px}
.tbgo{padding:16px;font-size:18px}
/* player em tela cheia */
body.tbp-on{overflow:hidden}
.tbp{position:fixed;inset:0;z-index:1000;overflow:auto;
  --b:#f2f5f1;--s:#fff;--i:#14201a;--m:#5b6b62;--l:#dbe3db;--c:#e8eee7;
  --work:#0b8f63;--on-work:#fff;--rest:#2a64c9;--on-rest:#fff;--prep:#e3a019;--on-prep:#2a1d02;--block:#6e47c9;--on-block:#fff;
  background:var(--b);color:var(--i);padding:env(safe-area-inset-top,0) max(14px,env(safe-area-inset-right,0)) env(safe-area-inset-bottom,0) max(14px,env(safe-area-inset-left,0))}
@media (prefers-color-scheme:dark){.tbp{--b:#0d1310;--s:#161f1a;--i:#e7efe9;--m:#93a39a;--l:#26332c;--c:#1f2a24;--work:#18b67f;--on-work:#04170f;--rest:#5a8ef0;--on-rest:#06132b;--prep:#f0b43c;--block:#9a7bf0;--on-block:#140a2e}}
body.st-mode .tbp{--b:#0d1310;--s:#161f1a;--i:#e7efe9;--m:#93a39a;--l:#26332c;--c:#1f2a24;--work:#18b67f;--on-work:#04170f;--rest:#5a8ef0;--on-rest:#06132b;--prep:#f0b43c;--block:#9a7bf0;--on-block:#140a2e}
.tbp .label{color:var(--m)}
.tbp-play{height:100%;min-height:100%;display:flex;flex-direction:column;gap:10px;padding-block:10px 12px;max-width:520px;margin:0 auto}
.tbp-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tbp-top button{border:1px solid var(--l);background:var(--s);color:var(--i);border-radius:999px;padding:10px 14px;min-height:44px;font:inherit;font-size:14px;cursor:pointer}
.tbp-t{flex:1;text-align:center;font-size:13px;color:var(--m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbp-prog{height:4px;background:var(--l);border-radius:2px;overflow:hidden}
.tbp-prog i{display:block;height:100%;width:0;background:var(--i);transition:width .2s linear}
.tbp-media{flex:1;min-height:140px;position:relative;border-radius:16px;overflow:hidden;background:var(--s);border:1px solid var(--l)}
.tbp-media video,.tbp-media img{width:100%;height:100%;object-fit:cover;display:block;transition:filter .3s}
.tbp-media.dim video,.tbp-media.dim img{filter:saturate(.4) brightness(.75)}
.tbp-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--m);text-align:center;padding:16px}
.tbp-ring{width:104px;height:104px;border-radius:50%;border:3px solid currentColor;display:grid;place-items:center;font:800 44px/1 var(--f-display)}
[data-phase="work"] .tbp-ring{color:var(--work);animation:tbpulse 1s ease-in-out infinite}
.paused .tbp-ring{animation:none!important}
@keyframes tbpulse{50%{transform:scale(1.08)}}
.tbp-up{position:absolute;left:10px;top:10px;background:var(--i);color:var(--b);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;border-radius:6px}
.tbp-band{border-radius:16px;padding:14px 16px 12px;background:var(--work);color:var(--on-work);display:flex;flex-direction:column;gap:2px;transition:background .25s,color .25s}
[data-phase="rest"] .tbp-band{background:var(--rest);color:var(--on-rest)}
[data-phase="prep"] .tbp-band{background:var(--prep);color:var(--on-prep)}
[data-phase="blockrest"] .tbp-band{background:var(--block);color:var(--on-block)}
.tbp-btop{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.tbp-phase{font:800 20px/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.tbp-rnd{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;opacity:.9}
.tbp-timer{font:800 clamp(76px,24vw,116px)/.95 var(--f-display);font-variant-numeric:tabular-nums}
.tbp-ex{font-size:17px;font-weight:600;line-height:1.25;min-height:1.25em}
.tbp-dots{display:flex;gap:4px;margin-top:6px}
.tbp-dots span{flex:1;height:6px;border-radius:3px;background:currentColor;opacity:.25}
.tbp-dots span.on{opacity:1}.tbp-dots span.cur{opacity:.6}
.tbp-next{display:flex;align-items:center;gap:10px;font-size:13px;border:1px solid var(--l);background:var(--s);border-radius:12px;padding:8px 12px;min-width:0}
.tbp-next b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbp-ctl{display:flex;justify-content:center;align-items:center;gap:28px}
.tbp-c{width:52px;height:52px;border-radius:50%;border:1px solid var(--l);background:var(--s);display:grid;place-items:center;cursor:pointer}
.tbp-c svg{width:22px;height:22px;fill:var(--i)}
.tbp-c.main{width:68px;height:68px;background:var(--i);border-color:var(--i)}
.tbp-c.main svg{fill:var(--b);width:26px;height:26px}
.tbp-done{max-width:520px;margin:0 auto;padding-block:28px 32px;display:flex;flex-direction:column;gap:18px}
.tbp-done h2{font:800 46px/1 var(--f-display);text-transform:uppercase;margin:4px 0 0}
.tbp-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tbp-stats>div{background:var(--s);border:1px solid var(--l);border-radius:12px;padding:12px}
.tbp-stats b{display:block;font:800 30px/1.1 var(--f-display)}
.tbp-fb{background:var(--s);border:1px solid var(--l);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}
.tbp-pse{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.tbp-pse button{border:1px solid var(--l);background:var(--c);color:var(--i);border-radius:8px;min-height:48px;font:800 20px/1 var(--f-display);cursor:pointer}
.tbp-pse button[aria-pressed="true"]{background:var(--i);color:var(--b);border-color:var(--i)}
.tbp-leg{display:flex;justify-content:space-between;font-size:12px;color:var(--m)}
.tbp textarea{border:1px solid var(--l);background:var(--b);color:var(--i);border-radius:8px;padding:10px;width:100%;font:inherit}
.tbp-err{color:#e5604d;font-size:13px;margin:0}
.tbp-ok{background:var(--c);border-radius:10px;padding:12px;margin:0;font-size:14px}
.tbp-row{display:flex;gap:10px}
.tbp-row button{flex:1;border:1px solid var(--l);background:var(--s);color:var(--i);border-radius:10px;min-height:48px;font:inherit;font-weight:600;cursor:pointer}
@media (prefers-reduced-motion:reduce){.tbp *{animation:none!important;transition:none!important}}
.tbblk .linkbtn{align-self:flex-start}
/* v41 · Trilha do Desempenho */
.trl{--lime:#C6F26B;--lime-deep:#5f8a1c;--lime-ink:#0f1a03;--lock:#2a2f30;--lock-deep:#1a1d1e;--s2:#202425;--ln:#2c3132;--gold:#f2c14e;
  display:flex;flex-direction:column;gap:6px;color:var(--ink)}
.trtop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 2px}
.trtop h1{margin:0;font-family:var(--f-display);font-style:italic;font-weight:900;font-size:40px;line-height:.92;text-transform:uppercase}
.trtop h1 em{display:block;color:var(--lime);font-style:italic}
.trtop p{margin:8px 0 0;color:var(--muted);max-width:34ch;font-size:14px}
.trstats{display:flex;gap:12px;flex:none}
.trstat{display:flex;align-items:center;gap:4px;font-family:var(--f-display);font-weight:700;font-size:20px}
.trstat svg{width:22px;height:22px}.trstat.off{opacity:.5}
.trdone{background:var(--s2);border:2px solid var(--gold);border-radius:14px;padding:12px 14px;font-weight:600}
.trunit{margin-top:18px;border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:12px;background:var(--lime);color:var(--lime-ink);box-shadow:0 5px 0 var(--lime-deep)}
.trunit.locked{background:var(--s2);color:var(--muted);box-shadow:0 5px 0 var(--lock-deep)}
.trunit .t{flex:1;min-width:0}
.trunit small{font-family:var(--f-display);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.trunit h2{margin:2px 0 0;font-family:var(--f-display);font-weight:800;font-style:italic;font-size:24px;line-height:1.05;text-transform:uppercase}
.trunit .meter{font-family:var(--f-display);font-weight:700;font-size:18px;text-align:right}
.trunit .meter span{display:block;font-size:11px;letter-spacing:.1em;opacity:.7}
.trdiv{display:flex;align-items:center;gap:10px;color:var(--muted);font-family:var(--f-display);font-weight:600;font-size:16px;margin-top:16px}
.trdiv::before,.trdiv::after{content:"";flex:1;height:2px;background:var(--ln);border-radius:2px}
.trtip{display:flex;gap:10px;align-items:center;margin-top:12px;background:var(--surface);border:2px solid var(--ln);border-radius:14px;padding:10px 12px;font-size:13px;color:var(--muted);line-height:1.35}
.trtip b{display:block;color:var(--ink);font-family:var(--f-display);font-size:15px}
.trgc{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--s2);border:2px solid var(--lime);font-family:var(--f-display);font-weight:900;font-style:italic;color:var(--lime)}
.trpath{display:flex;flex-direction:column;align-items:center;gap:26px;padding-block:34px 14px}
.trslot{position:relative;width:84px;height:80px}
.trnode{position:absolute;inset:0 0 6px 0;border-radius:50%;display:grid;place-items:center;background:var(--lock);box-shadow:0 7px 0 var(--lock-deep);border:0;cursor:pointer;color:var(--muted);transition:transform .08s,box-shadow .08s}
.trnode svg{width:36px;height:36px}
.trnode:active{transform:translateY(5px);box-shadow:0 2px 0 var(--lock-deep)}
.trnode.done,.trnode.current{background:var(--lime);box-shadow:0 7px 0 var(--lime-deep);color:var(--lime-ink)}
.trnode.chest{background:transparent;box-shadow:none}
.trnode.chest svg{width:64px;height:64px}
.trnode:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.trring{position:absolute;inset:-12px -12px -6px -12px;border-radius:50%;border:4px solid var(--s2);pointer-events:none}
.trring::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:4px solid transparent;border-top-color:var(--lime);border-right-color:var(--lime)}
.trstars{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);display:flex;gap:2px}
.trstars svg{width:14px;height:14px}
.trbub{position:absolute;left:50%;bottom:calc(100% + 18px);transform:translateX(-50%);white-space:nowrap;background:var(--s2);border:2px solid var(--ln);color:var(--lime);font-family:var(--f-display);font-weight:800;font-size:15px;letter-spacing:.08em;padding:5px 12px;border-radius:12px;animation:trbob 1.6s ease-in-out infinite}
.trbub::after{content:"";position:absolute;left:50%;top:100%;width:12px;height:12px;background:var(--s2);border-right:2px solid var(--ln);border-bottom:2px solid var(--ln);transform:translate(-50%,-6px) rotate(45deg)}
@keyframes trbob{50%{transform:translate(-50%,-5px)}}
.trextra{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.trscrim{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:900;display:flex;align-items:flex-end;justify-content:center}
.trsheet{width:100%;max-width:480px;background:#16191a;color:#f1f3ee;border-radius:22px 22px 0 0;border-top:2px solid #2c3132;padding:20px max(18px,env(safe-area-inset-right,0)) calc(20px + env(safe-area-inset-bottom,0)) max(18px,env(safe-area-inset-left,0));animation:trup .22s ease-out}
@keyframes trup{from{transform:translateY(40px);opacity:.4}}
.treye{font-family:var(--f-display);font-weight:700;letter-spacing:.16em;font-size:13px;text-transform:uppercase;color:#C6F26B}
.trsheet h3{margin:4px 0 6px;font-family:var(--f-display);font-weight:900;font-style:italic;font-size:30px;line-height:1;text-transform:uppercase}
.trsheet p{margin:0 0 14px;color:#8d958f}
.trspecs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.trspecs div{background:#202425;border-radius:12px;padding:10px;text-align:center}
.trspecs b{display:block;font-family:var(--f-display);font-size:24px;font-weight:800}
.trspecs span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8d958f}
.trmoves{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.trmoves span{border:1.5px solid #2c3132;border-radius:999px;padding:4px 10px;font-size:13px}
.trbtn{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;padding:14px;border:0;border-radius:14px;font-family:var(--f-display);font-weight:800;font-size:20px;letter-spacing:.06em;text-transform:uppercase;background:#C6F26B;color:#0f1a03;box-shadow:0 5px 0 #5f8a1c;cursor:pointer}
.trbtn svg{width:18px;height:18px}
.trbtn:active{transform:translateY(4px);box-shadow:0 1px 0 #5f8a1c}
.trbig{display:flex;gap:6px;justify-content:center}
.trbig svg{width:56px;height:56px}.trbig svg:nth-child(2){transform:translateY(-12px)}
.trgain{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-family:var(--f-display);font-weight:800;font-size:22px;color:#f2c14e}
.trgain svg{width:22px;height:22px}
.treditor{display:flex;flex-direction:column;gap:14px}
.trued{gap:12px}
.trufields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.trsteps{display:flex;flex-direction:column;gap:8px}
.trsrow{display:grid;grid-template-columns:auto 120px minmax(110px,1fr) minmax(150px,1.3fr) 150px auto auto;gap:8px;align-items:center}
.trxp{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--muted)}.trxp input{width:70px}
@media (max-width:820px){.trsrow{grid-template-columns:auto 1fr 1fr;}.trsrow>input[type=text],.trsrow>select[data-tr-s=tabata]{grid-column:2 / -1}}
@media (prefers-reduced-motion:reduce){.trbub,.trsheet{animation:none}}
.tracc{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600}.tracc input{width:18px;height:18px}.troff td{color:var(--muted)}
/* v45 · exercícios respiratórios */
.brdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
.brfic{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:6px}
.brrec{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:6px 0 12px;font-variant-numeric:tabular-nums}
.brrec span{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid rgba(127,127,127,.35);color:inherit;opacity:.9}
.brrec i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
.brsheet{display:flex;flex-direction:column;gap:10px;max-height:38vh;overflow:auto;margin-bottom:14px}
.brinfo b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8d958f}
.brinfo p{margin:2px 0 0;color:inherit;line-height:1.45;font-size:14px}
.trsheet .brinfo p{color:#f1f3ee}
.brinfo.care{border-left:3px solid #d4892a;background:rgba(212,137,42,.12);padding:8px 10px;border-radius:0 10px 10px 0}
.brp{--brc:#c6f26b;position:fixed;inset:0;z-index:1000;overflow:auto;color:#f1f5ec;background:radial-gradient(120% 70% at 50% 48%,#15200f 0%,#0a0f08 55%,#050705 100%);padding:env(safe-area-inset-top,0) max(16px,env(safe-area-inset-right,0)) env(safe-area-inset-bottom,0) max(16px,env(safe-area-inset-left,0))}
.brp-waves{position:fixed;left:0;right:0;bottom:0;width:100%;height:30vh;color:var(--brc);pointer-events:none;transition:color 1.2s;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--brc) 40%,transparent))}
.brp-in{position:relative;max-width:520px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;gap:8px;padding-block:16px 22px}
.brp-top{display:flex;align-items:center;gap:14px}
.brp-x{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#cfd8c8;font-size:16px;cursor:pointer}
.brp-bar{flex:1;height:8px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.brp-bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#9ed84a,var(--brc));box-shadow:0 0 10px color-mix(in srgb,var(--brc) 60%,transparent)}
.brp-cnt{flex:none;font-family:var(--f-display);font-size:17px;color:#c9d1c2;font-variant-numeric:tabular-nums;min-width:3.2em;text-align:right}
.brp-name{margin:2px 0 0;text-align:center;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#8e9a87}
.brp-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.brp-ico{width:56px;height:46px;color:var(--brc);filter:drop-shadow(0 0 10px var(--brc));transition:color 1.2s}
.brp-ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}
.brp-ico.k-inhale svg{animation:brup 1.6s ease-in-out infinite}.brp-ico.k-exhale svg{animation:brdn 1.6s ease-in-out infinite}
@keyframes brup{0%,100%{transform:translateY(4px);opacity:.75}50%{transform:translateY(-4px);opacity:1}}
@keyframes brdn{0%,100%{transform:translateY(-4px);opacity:.75}50%{transform:translateY(4px);opacity:1}}
.brp-ph{font-family:var(--f-display);font-weight:600;font-size:clamp(52px,16vw,84px);line-height:1;letter-spacing:-.02em;color:#fff;text-shadow:0 0 30px rgba(255,255,255,.12)}
.brp-hint{color:#a9b4a2;max-width:32ch;min-height:2.8em;font-size:15px}
.brp-orbw{position:relative;width:min(76vw,330px);aspect-ratio:1;margin-top:8px;color:var(--brc);transition:color 1.2s}
.brp-orbw::before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brc) 14%,transparent) 0%,transparent 70%)}
.brp-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.brp-glow{filter:drop-shadow(0 0 3px var(--brc)) drop-shadow(0 0 8px color-mix(in srgb,var(--brc) 60%,transparent))}
.brp-lungs{position:absolute;inset:11%;color:var(--brc);will-change:transform;transform:scale(.8);transition:color 1.2s}
.brp-lungs svg{width:100%;height:100%;overflow:visible}
.brp-lungs.sm{position:static;width:120px;height:120px;transform:none}
.brp-n{font-family:var(--f-display);font-size:20px;color:#d7dfd0;font-variant-numeric:tabular-nums;min-height:1.4em;margin-top:4px}
.brp.paused .brp-orbw,.brp.paused .brp-ico{opacity:.45}
.brp-ctl{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}
.brp-pp{min-width:200px;min-height:50px;padding:12px 26px;border-radius:99px;border:0;background:var(--brc);color:#0d1408;font:700 16px var(--f-display);cursor:pointer;box-shadow:0 0 24px color-mix(in srgb,var(--brc) 35%,transparent);transition:background 1.2s}
.brp-ghost{min-height:46px;padding:10px 22px;border-radius:99px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25);color:#e8eee2;font:600 15px var(--f-body);cursor:pointer}
.brp-amb{width:100%;display:flex;flex-direction:column;gap:8px;align-items:center;background:rgba(5,8,4,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:10px}
.brp-chips{display:flex;gap:6px;overflow-x:auto;max-width:100%;scrollbar-width:none;padding:2px}
.brp-chips::-webkit-scrollbar{display:none}
.brp-chip{flex:none;min-height:38px;padding:8px 13px;border-radius:99px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#c9d2c2;font:600 13px var(--f-body);cursor:pointer;white-space:nowrap}
.brp-chip[aria-pressed=true]{background:color-mix(in srgb,var(--brc) 22%,transparent);border-color:var(--brc);color:#fff}
.brp-vol{display:flex;align-items:center;gap:10px;font-size:12px;color:#93a08c;width:min(100%,300px)}
.brp-vol input{flex:1;accent-color:var(--brc)}
.brp-done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}
.brp-done h2{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(34px,10vw,46px);color:#fff}
.brp-done p{margin:0;color:#a9b4a2}
.brp-lab{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--brc)}
.brp-done .brp-pp{min-width:240px}
@media (max-height:700px){.brp-orbw{width:min(64vw,260px)}.brp-ph{font-size:clamp(44px,13vw,64px)}}
@media (prefers-reduced-motion:reduce){.brp-ico svg{animation:none!important}.brp-lungs,.brp-waves,.brp-ico,.brp-orbw{transition:none}}
.trpct{margin:6px 0 0;color:var(--m,#93a39a);font-size:15px}.trpct b{color:var(--i,#e7efe9)}.trgain small{font-family:var(--f-body);font-size:13px;font-weight:500;color:#93a39a}
/* v47 · histórico da trilha */
.trunit.comp .t small{opacity:1}
.trcomp{display:block;font-size:12px;font-weight:600;opacity:.8;margin-top:2px}
.trst{color:#f2c14e;letter-spacing:1px}
.trhist{margin-top:22px;display:flex;flex-direction:column;gap:8px}
.trhrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.trhd{font-family:var(--f-display);font-weight:700;font-size:15px;color:var(--muted)}
.trhm b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trhm small,.trhs small{display:block;color:var(--muted);font-size:12px}
.trhs{text-align:right}
/* v48 · comandos com a voz do treinador */
.voxlist{display:flex;flex-direction:column;gap:8px}
.voxrow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.voxrow.rec{border-color:#d7342b;box-shadow:0 0 0 3px rgba(215,52,43,.15)}
.voxt{display:flex;flex-direction:column;gap:3px;min-width:0}
.voxt small{color:var(--muted)}
.voxt .pill{align-self:flex-start}
.voxb{flex-wrap:wrap}
/* v49 · marca GCS Training */
.brandlogo{border-radius:12px!important}
.gcsname{font-family:"Archivo Black",var(--f-display);font-weight:400;letter-spacing:.04em;text-transform:uppercase}
.gcsbrand{display:flex;align-items:center;gap:10px}
.gcsbrand img{width:44px;height:44px;border-radius:10px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.gcsbrand b{display:block;font-family:"Archivo Black",var(--f-display);font-weight:400;font-size:17px;letter-spacing:.14em;line-height:1.1}
.gcsbrand small{display:block;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#B3B996}
/* v49 · Trilha (opção 1: mapa de treino) */
.t1{--lime:#C6F26B;--lime2:#5f8a1c;--ink2:#0f1a03;--card:#121614;--ln2:#2a302e;display:flex;flex-direction:column;gap:14px;color:var(--ink)}
.t1hero{position:relative;border-radius:20px;overflow:hidden;padding:22px 18px 20px;background:linear-gradient(90deg,#0b0d0c 35%,rgba(11,13,12,.35)),url(bg-aluno.jpg) right 38%/62% auto no-repeat,#0b0d0c;color:#f1f3ee}
.t1hero h1{margin:0;font-family:"Archivo Black",var(--f-display);font-weight:400;font-style:italic;font-size:44px;line-height:.95;text-transform:uppercase;letter-spacing:.01em}
.t1hero h1 em{display:block;color:var(--lime);font-style:italic}
.t1hero p{display:flex;align-items:center;gap:10px;margin:14px 0 0;font-size:14px;color:#d6dcd7;max-width:30ch}
.t1hero p .t1ic{flex:none;width:30px;height:30px;color:var(--lime)}
.t1ic{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.t1prog{border:1px solid var(--ln2);border-radius:18px;background:var(--card);padding:14px 16px;color:#f1f3ee;display:flex;flex-direction:column;gap:8px}
.t1prog .r{display:flex;justify-content:space-between;align-items:center;gap:14px;font-weight:600}
.t1prog .r b{font-family:var(--f-display);font-size:24px;color:var(--lime);white-space:nowrap}
.t1bar{flex:1;height:10px;border-radius:99px;background:#2b302e;overflow:hidden}.t1bar i{display:block;height:100%;background:var(--lime);border-radius:99px}
.t1stats{display:flex;gap:16px;font-size:13px;color:#aab3ad}.t1stats span{display:inline-flex;align-items:center;gap:5px}.t1stats svg{width:16px;height:16px}.t1stats .off{opacity:.55}
.t1unit{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:6px;padding:12px 4px 0;border-top:2px solid var(--ln2)}
.t1unit small{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.t1unit h2{margin:2px 0 0;font-family:"Archivo Black",var(--f-display);font-weight:400;font-size:26px;text-transform:uppercase;letter-spacing:.02em}
.t1unit p{margin:2px 0 0;color:var(--muted);font-size:13px}.t1unit .t1comp{color:var(--lime);font-weight:600}
.t1unit>span{font-family:var(--f-display);font-weight:700;font-size:20px;color:var(--muted)}
.t1unit.locked h2,.t1unit.locked small{opacity:.55}
.t1tip{display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--ln2);border-radius:14px;padding:10px 12px;font-size:13px;color:#aab3ad;line-height:1.35}
.t1tip img{width:38px;height:38px;border-radius:9px;flex:none}.t1tip b{display:block;color:#f1f3ee;font-size:14px}
.t1map{position:relative;margin:4px 0 0}
.t1route{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.t1r{fill:none;stroke:#d8ddd9;stroke-opacity:.55;stroke-width:2.2;stroke-dasharray:7 7;vector-effect:non-scaling-stroke}
.t1r.on{stroke:var(--lime);stroke-opacity:1;stroke-width:3}
.t1node{position:absolute;transform:translateX(-50%);width:156px;display:flex;flex-direction:column;align-items:center;background:none;border:0;padding:0;cursor:pointer;color:#f1f3ee;font:inherit}
.t1med{position:relative;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#2c3230,#0e1110);border:3px solid #3a403e;color:#c9d0cc;box-shadow:0 8px 18px rgba(0,0,0,.5);transition:transform .1s}
.t1med .t1ic{width:36px;height:36px}
.t1node:active .t1med{transform:scale(.95)}
.t1node:focus-visible{outline:none}.t1node:focus-visible .t1med{outline:3px solid var(--lime);outline-offset:4px}
.t1node.done .t1med{border-color:var(--lime);color:var(--lime);box-shadow:0 0 0 6px rgba(198,242,107,.14),0 0 26px rgba(198,242,107,.42)}
.t1node.cur .t1med{border-color:var(--lime);color:#fff;box-shadow:0 0 0 6px rgba(198,242,107,.25);animation:t1pulse 1.8s ease-in-out infinite}
@keyframes t1pulse{50%{box-shadow:0 0 0 12px rgba(198,242,107,.08)}}
.t1node.lock .t1med{opacity:.72}
.t1bdg{position:absolute;top:-4px;right:-4px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#2d3331;color:#c9d0cc;border:2px solid #0b0d0c}
.t1bdg.ok{background:var(--lime);color:var(--ink2)}.t1bdg svg{width:13px;height:13px}
.t1cap{margin-top:-8px;background:#121614;border:1px solid var(--ln2);border-radius:12px;padding:8px 10px 6px;text-align:center;min-width:120px;max-width:156px;position:relative}
.t1cap b{display:block;font-family:var(--f-display);font-weight:700;font-size:17px;line-height:1}
.t1node.done .t1cap b,.t1node.cur .t1cap b{color:var(--lime)}
.t1cap span{display:block;font-size:12px;color:#d4d9d5;line-height:1.25;margin-top:2px}
.t1cap i{display:block;font-style:normal;font-size:12px;margin-top:2px}
.t1now{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--ln2);border-radius:18px;background:rgba(18,22,20,.96);backdrop-filter:blur(6px);color:#f1f3ee;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.t1th{width:60px;height:60px;border-radius:12px;object-fit:cover;flex:none;background:#1c2120}
.t1thbg{display:grid;place-items:center;color:var(--lime)}.t1thbg .t1ic{width:30px;height:30px}
.t1nt{flex:1;min-width:0}.t1nt em{display:inline-block;background:var(--lime);color:var(--ink2);font-size:11px;font-weight:700;border-radius:6px;padding:2px 8px;font-style:normal}
.t1nt b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--f-display);font-weight:700;font-size:19px;line-height:1.1;margin-top:4px}
.t1nt small{color:#aab3ad;font-size:12px}
.t1go{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;background:var(--lime);color:var(--ink2);font-family:var(--f-display);font-weight:800;font-size:17px;letter-spacing:.04em;text-transform:uppercase;padding:12px 18px;cursor:pointer;flex:none}
.t1go svg{width:14px;height:14px;fill:currentColor}
.t1fin{font-size:28px}
.tricsel{font-size:13px}
@media (max-width:380px){.t1node{width:140px}.t1med{width:70px;height:70px}}
@media (prefers-reduced-motion:reduce){.t1node.cur .t1med{animation:none}}
.trexn{margin:0 0 16px!important;color:#8d958f;font-size:14px}
.goingctl{margin-top:-4px;flex-wrap:wrap}.sessbar .row{flex-wrap:wrap;justify-content:flex-end}
/* v51 · marca (Muscle Lab) */
.gcsname,.gcsbrand b{font-family:"Archivo Black",var(--f-display)!important;font-weight:400!important;letter-spacing:.08em!important;text-transform:uppercase}
.gcsname i,.gcsbrand b i{font-style:normal;font-size:.62em;letter-spacing:.22em;border:1.5px solid currentColor;padding:1px 4px 0 6px;margin-left:4px;vertical-align:middle;position:relative;top:-1px}
.gcsbrand small{color:#B3B996}
.svhide{margin-top:10px;flex-wrap:wrap;gap:8px;align-items:center}.svhid{margin-top:10px}.svhrow{justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}

/* avaliação em tela cheia (v54) */
.avfsbtn{margin-left:auto;gap:6px;white-space:nowrap}
.avwrap.avfull{position:fixed;inset:0;z-index:300;margin:0;border-radius:0;border:0;overflow:auto;background:var(--bg);padding:clamp(16px,3vw,40px);-webkit-overflow-scrolling:touch}
.avwrap.avfull .avrep{max-width:1400px;margin:0 auto}
.avwrap.avfull .avfsbtn{position:sticky;top:0;z-index:2;background:var(--surface)}
.avwrap:fullscreen{background:var(--bg)}
.avwrap::backdrop{background:var(--bg)}
html.avfull-on,html.avfull-on body{overflow:hidden}
@media print{.avfsbtn{display:none}}
@media (max-width:520px){.avfsbtn span{display:none}.avfsbtn{min-width:40px;justify-content:center}}

/* trilha de progressão: navegação e várias trilhas (v56) */
.tbnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tbnavb{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;min-height:64px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}
.tbnavb b{display:block;font-family:var(--f-display);font-size:15px}.tbnavb small{display:block;color:var(--muted);font-size:12px}
.tbnavb[aria-pressed=true]{border-color:var(--accent,#2f9c8f);box-shadow:inset 0 0 0 1px var(--accent,#2f9c8f);background:color-mix(in srgb,var(--accent,#2f9c8f) 9%,var(--surface))}
.tbnavi{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent,#2f9c8f)}
.tbnavi svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:820px){.tbnav{grid-template-columns:repeat(2,minmax(0,1fr))}}
.trh{margin:4px 0 0;font-size:18px}
.trhelp summary{cursor:pointer}
.t1pick{display:flex;gap:6px;overflow-x:auto;padding:2px;scrollbar-width:none}
.t1pick button{flex:none;min-height:40px;padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 14px var(--f-body);cursor:pointer}
.t1pick button[aria-selected=true]{background:var(--accent,#2f9c8f);border-color:transparent;color:#fff}
.t1desc{margin:4px 0 0;opacity:.85}

/* v57: tela fixa (sem zoom) */
html{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:hidden;overscroll-behavior-x:none}
@media (max-width:820px){input,select,textarea{font-size:16px!important}}
/* v57: pulmões que respiram */
.brp-lungs{inset:7%!important;transform:none!important;--air:0;--b0:1;--b1:.55;--b2:0;--b3:0;--b4:0;--b5:0}
.brp-lungs.sm{--air:1;--b1:1;--b2:1;--b3:1;--b4:1;--b5:1}
.brl-lobe{transform:scale(calc(.72 + .38*var(--air)),calc(.78 + .3*var(--air)))}
.brl-fill{fill:url(#brlg);fill-opacity:calc(.1 + .34*var(--air))}
.brl-edge{fill:none;stroke:currentColor;stroke-width:1.6;stroke-opacity:calc(.55 + .4*var(--air))}
.brl-v{stroke-dasharray:1 1}
.brl-d0 .brl-v{stroke-dashoffset:calc(1 - var(--b0))}.brl-d1 .brl-v{stroke-dashoffset:calc(1 - var(--b1))}.brl-d2 .brl-v{stroke-dashoffset:calc(1 - var(--b2))}
.brl-d3 .brl-v{stroke-dashoffset:calc(1 - var(--b3))}.brl-d4 .brl-v{stroke-dashoffset:calc(1 - var(--b4))}.brl-d5 .brl-v{stroke-dashoffset:calc(1 - var(--b5))}
/* v60: baú de recompensa neon */
.chx{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;overflow:hidden;color:#fff;background:radial-gradient(90% 60% at 50% 45%,#1c1a0b 0%,#0b0a05 60%,#030302 100%);padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
.chx-x{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#ddd;font-size:16px;cursor:pointer;z-index:3}
.chx-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;max-width:420px;width:100%}
.chx-eye{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#c6f26b;text-shadow:0 0 10px rgba(198,242,107,.6)}
.chx-h{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(30px,9vw,42px);text-shadow:0 0 18px rgba(255,210,74,.45)}
.chx-box{position:relative;margin-top:44px;width:min(66vw,260px);aspect-ratio:200/180;border:0;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.chx-svg{position:relative;width:100%;height:100%;overflow:visible;z-index:1}
.chx-halo{position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(circle,rgba(255,210,74,.32) 0%,rgba(198,242,107,.12) 40%,transparent 70%);animation:chxhalo 2.2s ease-in-out infinite}
.chx-lid{transform-box:view-box;transform-origin:36px 92px;transition:transform .55s cubic-bezier(.2,1.6,.4,1)}
.chx-mouth{opacity:0;transition:opacity .3s}
.chx-key{animation:chxkey 1.4s ease-in-out infinite}
.chx-hint{margin:4px 0 0;color:#e8e3c4;font-size:15px;animation:chxblink 1.6s ease-in-out infinite}
.chx-rays{position:absolute;left:50%;top:46%;width:180vmax;height:180vmax;margin:-90vmax 0 0 -90vmax;opacity:0;pointer-events:none;background:repeating-conic-gradient(from 0deg,rgba(255,210,74,.22) 0deg 7deg,transparent 7deg 22deg);-webkit-mask:radial-gradient(circle,#000 0%,transparent 45%);mask:radial-gradient(circle,#000 0%,transparent 45%);transition:opacity .5s}
.chx-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,#fff8d6 0%,rgba(255,210,74,.6) 20%,transparent 55%);opacity:0;pointer-events:none}
.chx-parts{position:absolute;left:50%;top:48%;width:0;height:0;z-index:2;pointer-events:none}
.chx-parts i{position:absolute;left:0;top:0;font-style:normal;font-size:calc(18px*var(--s));color:var(--c);text-shadow:0 0 8px var(--c),0 0 16px var(--c);transform:translate(-50%,-50%);animation:chxpart var(--t) cubic-bezier(.15,.7,.3,1) forwards}
.chx-res{display:flex;flex-direction:column;align-items:center;gap:10px;animation:chxup .5s ease-out both}
.chx-res[hidden]{display:none}
.chx-pts{display:flex;align-items:baseline;gap:8px}
.chx-pts .num{font-family:var(--f-display);font-weight:800;font-size:clamp(48px,15vw,68px);color:#ffd24a;text-shadow:0 0 14px rgba(255,210,74,.8),0 0 34px rgba(255,210,74,.45)}
.chx-pts small{font-size:16px;color:#f2e8b8}
.chx-msg{margin:0;color:#cfc9a8;max-width:30ch}
.chx-go{min-width:240px;min-height:52px;margin-top:6px;border-radius:99px;border:0;background:linear-gradient(90deg,#ffd24a,#c6f26b);color:#1a1606;font:800 16px var(--f-display);cursor:pointer;box-shadow:0 0 26px rgba(255,210,74,.45)}
.chx.in .chx-box{animation:chxin .7s cubic-bezier(.2,1.4,.4,1) both}
.chx.idle .chx-box{animation:chxidle 2.4s ease-in-out infinite}
.chx.shake .chx-box{animation:chxshake 1s linear both}
.chx.shake .chx-halo{animation:chxcharge 1s ease-in both}
.chx.open .chx-lid{transform:translate(-2px,-8px) rotate(-24deg)}
.chx.open .chx-mouth{opacity:1}
.chx.open .chx-rays{opacity:1;animation:chxspin 14s linear infinite}
.chx.open .chx-flash{animation:chxflash .9s ease-out both}
.chx.open .chx-box{animation:chxpop .5s ease-out both}
.chx.open .chx-halo{background:radial-gradient(circle,rgba(255,236,150,.55) 0%,rgba(255,210,74,.2) 40%,transparent 70%)}
@keyframes chxin{0%{transform:translateY(-60px) scale(.4);opacity:0}100%{transform:none;opacity:1}}
@keyframes chxidle{0%,70%,100%{transform:translateY(0) rotate(0)}10%{transform:translateY(-6px) rotate(-3deg)}20%{transform:translateY(-6px) rotate(3deg)}30%{transform:translateY(0) rotate(0)}}
@keyframes chxshake{0%{transform:rotate(0)}10%{transform:rotate(-4deg)}20%{transform:rotate(4deg)}30%{transform:rotate(-6deg) scale(1.02)}40%{transform:rotate(6deg) scale(1.03)}50%{transform:rotate(-8deg) scale(1.04)}60%{transform:rotate(8deg) scale(1.05)}70%{transform:rotate(-9deg) scale(1.06)}80%{transform:rotate(9deg) scale(1.07)}90%{transform:rotate(-4deg) scale(1.08)}100%{transform:rotate(0) scale(1.08)}}
@keyframes chxcharge{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.35);opacity:1}}
@keyframes chxpop{0%{transform:scale(1.08)}40%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes chxflash{0%{opacity:0}15%{opacity:1}100%{opacity:0}}
@keyframes chxspin{to{transform:rotate(360deg)}}
@keyframes chxhalo{0%,100%{transform:scale(.95);opacity:.8}50%{transform:scale(1.05);opacity:1}}
@keyframes chxkey{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes chxblink{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes chxpart{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}70%{opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy) + 40px)) rotate(var(--r)) scale(var(--s));opacity:0}}
@keyframes chxup{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.chx *{animation:none!important;transition:none!important}}
/* v60: eventos do aluno na agenda */
.k-evento{--ck:#C48BF2;--ck-ink:#E3C9FA;--ck-bg1:#2E1A45;--ck-bg2:#110A1A;--ck-line:#553578}
.evadd{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.evadd .btn{align-self:flex-start}
.evform{display:flex;flex-direction:column;gap:12px;margin-bottom:14px;border-color:var(--ck,var(--line))}
.evup{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.evcd{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid var(--ck-line);background:linear-gradient(135deg,var(--ck-bg1),var(--ck-bg2));color:#fff;font:inherit;cursor:pointer}
.evcd>svg{flex:none;color:var(--ck)}
.evn{flex:none;min-width:58px;display:flex;flex-direction:column;align-items:center;line-height:1}
.evn b{font-family:var(--f-display);font-size:28px;color:var(--ck-ink)}
.evn small{font-size:11px;color:var(--ck-ink);opacity:.8;margin-top:2px}
.evt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.evt b{font-size:16px}.evt small{color:#cfc7dc;font-size:13px}
.wact.mine{border:1px dashed var(--ck-line);cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}
.evmine{align-self:flex-start;background:#2E1A45;color:#E3C9FA}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* v62: categorias personalizadas */
.chip.catadd{border-style:dashed}
.catbox{display:flex;flex-direction:column;gap:12px;padding:14px 16px}
.catlist{display:flex;flex-direction:column;gap:6px}
.catit{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.catit small{margin-right:auto}

/* v63: anotações privadas do exercício */
.exprivate textarea{border-style:dashed}
.exprivate span small{font-weight:400;text-transform:none;letter-spacing:0;margin-left:6px}

/* v64: ícones animados nas etapas da trilha */
.t1med.anim{background:#0b0d0c}
.t1gif{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.t1med.anim .t1bdg{z-index:2}
.t1node.lock .t1med.anim .t1gif{filter:grayscale(1) brightness(.6)}
@media (prefers-reduced-motion:reduce){.t1gif{animation:none}}
/* v65: música de treino */
.tbp-tr{display:flex;gap:6px}
#tbp-mus[aria-pressed=true]{border-color:var(--lime,#C6F26B);color:var(--lime,#C6F26B)}
.tbm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:20;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(0,0,0,.6) 20%)}
.tbp-play{position:relative}
.tbm-in{max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:12px;background:#121816;border:1px solid #2a3330;border-radius:18px;padding:14px;color:#e8eee9;box-shadow:0 -10px 40px rgba(0,0,0,.5)}
.tbm-x{width:40px;height:40px;border-radius:50%;border:1px solid #2a3330;background:transparent;color:#cfd8d2;cursor:pointer}
.tbm-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tbm-tr{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;min-height:54px;border-radius:12px;border:1px solid #2a3330;background:#0c100e;color:#e8eee9;font:inherit;cursor:pointer}
.tbm-tr small{color:#93a39b;font-size:12px}
.tbm-tr[aria-pressed=true]{border-color:#C6F26B;background:rgba(198,242,107,.12)}
.tbm-vol{display:flex;align-items:center;gap:10px;font-size:13px;color:#93a39b}.tbm-vol input{flex:1;accent-color:#C6F26B}
.tbm-al{display:flex;align-items:center;gap:8px;font-size:14px}
.tbm-note{margin:0;font-size:12px;color:#93a39b}
/* v66: aquecimento + aula, lados, voz eletrônica */
.trparts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.trparts div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.trparts span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--lime,#C6F26B);color:#0b0d0c;font-size:12px;font-weight:800}
.trparts b{font-size:14px}.trparts small{font-size:12px;opacity:.75}
.trskip{display:block;width:100%;margin-top:8px;padding:10px;border:0;background:none;color:inherit;opacity:.75;text-decoration:underline;font:inherit;font-size:14px;cursor:pointer}
.tbexrow .tbside{flex:0 0 auto;max-width:150px}
.tbwarn{margin:4px 0 0;color:#d4892a}
.tbp-ex.swap{color:#ffd24a}
.trwsel{max-width:240px}
/* v67: fundo em vídeo no app do aluno */
body.st-mode{background:transparent}
.stbg{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none;background:#1A1E14}
body.st-mode::before{background:linear-gradient(180deg,rgba(6,10,8,.35) 0%,rgba(6,10,8,.55) 45%,rgba(6,10,8,.82) 100%)!important}
@media (min-width:700px){.stbg{object-fit:cover}}
/* v67: ofensiva semanal */
.t1wk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);font-size:13px;color:#aab3ad}
.t1wk b{color:#f1f3ee}.t1wk em{font-style:normal;margin-left:auto;color:#ffb347}
.t1wkd{display:inline-flex;gap:4px}.t1wkd i{width:14px;height:14px;border-radius:50%;border:2px solid #4a524e}.t1wkd i.on{background:#ff8a2a;border-color:#ff8a2a;box-shadow:0 0 8px rgba(255,138,42,.6)}
/* v67: abas e ranking */
.t1tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.t1tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;border-radius:11px;background:transparent;color:#cfd6d1;font:700 15px var(--f-display);cursor:pointer}
.t1tabs button[aria-selected=true]{background:var(--lime,#C6F26B);color:#0b0d0c}
.t1tabi{width:18px;height:18px}
.t1rank{display:flex;flex-direction:column;gap:12px}
.t1rk-load{margin:8px 0;text-align:center;color:#aab3ad}
.t1rk-join{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:24px 18px;border-radius:20px;background:rgba(11,13,12,.75);border:1px solid rgba(255,255,255,.08)}
.t1rk-join h2{margin:0;font-family:var(--f-display);font-size:24px;color:#fff}.t1rk-join p{margin:0;color:#c6cdc8;max-width:36ch}
.t1rk-ico{font-size:44px}
.t1rk-btn{min-width:220px;min-height:50px;border:0;border-radius:99px;background:var(--lime,#C6F26B);color:#0b0d0c;font:800 16px var(--f-display);cursor:pointer}
.t1rk-me{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,rgba(198,242,107,.22),rgba(198,242,107,.05));border:1px solid rgba(198,242,107,.4);color:#e9f2dc}
.t1rk-me b{font-family:var(--f-display);font-size:34px;color:#fff}.t1rk-me small{color:#c6cdc8}
.t1rk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.t1rk-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(11,13,12,.78);border:1px solid rgba(255,255,255,.07);color:#eef2ec}
.t1rk-list li.me{border-color:var(--lime,#C6F26B);background:rgba(198,242,107,.12)}
.t1rk-pos{width:34px;text-align:center;font-size:18px;font-weight:800}
.t1rk-av{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#2a312d;color:#d9e6cf;font:700 14px var(--f-display)}
.t1rk-nm{flex:1;min-width:0;display:flex;flex-direction:column}.t1rk-nm b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t1rk-nm small{color:#aab3ad;font-size:12px}
.t1rk-xp{font-family:var(--f-display);font-size:18px;color:#ffd24a}.t1rk-xp small{font-size:11px;margin-left:3px;color:#c9c19a}
.t1rk-foot{display:flex;justify-content:space-between;gap:10px}
.t1rk-ref,.t1rk-out{min-height:44px;padding:8px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.3);color:#cfd6d1;font:600 14px var(--f-body);cursor:pointer}
.t1rk-out.armed{border-color:#e5484d;color:#ff8a8d}
.t1hero{background:linear-gradient(135deg,rgba(11,13,12,.82),rgba(11,13,12,.45))!important;border:1px solid rgba(255,255,255,.07)}
/* v69: etapa com duas partes (mobilidade + treino) */
.t1two{position:absolute;inset:-11px;width:calc(100% + 22px);height:calc(100% + 22px);overflow:visible;pointer-events:none;z-index:1}
.t1two path{fill:none;stroke:#4a524e;stroke-width:4.5;stroke-linecap:round}
.t1two path.on{stroke:var(--lime,#C6F26B);filter:drop-shadow(0 0 3px rgba(198,242,107,.7))}
.t1node.lock .t1two path{stroke:#3a403e}
.trparts div.ok span{background:var(--lime,#C6F26B)}
.trparts div.lock{opacity:.55}.trparts div.lock span{background:#4a524e;color:#cfd6d1}
/* v70: treinos feitos na agenda + relatório mensal */
.k-trilha{--ck:#E9C04A;--ck-ink:#F6DE94;--ck-bg1:#3A2E0C;--ck-bg2:#141005;--ck-line:#6B5617}
.wact.done{border-style:solid;background:linear-gradient(90deg,color-mix(in srgb,var(--ck) 16%,transparent),transparent 70%)}
.wact.done .wic{color:var(--ck)}
.wact.done .wk{color:var(--ck-ink)}
.wact.done+.wact,.wact+.wact.done{margin-top:6px}
.wday{position:relative}
.wdid{position:absolute;top:2px;right:4px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900;background:#C6F26B;color:#0b0d0c}
.wlg.wdone i{background:#C6F26B}
.rep{display:flex;flex-direction:column;gap:12px;margin-top:18px;padding:14px;border-radius:18px;background:rgba(11,13,12,.72);border:1px solid rgba(255,255,255,.08);color:#eef2ec}
.rep .wttl b{text-transform:capitalize}
.rpfr{margin:0;color:#c6cdc8;font-size:14px;line-height:1.45}.rpfr b{color:#fff}
.rpkpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:520px){.rpkpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rpk{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05)}
.rpk b{font-family:var(--f-display);font-size:24px;color:#fff;line-height:1.1}.rpk span{font-size:12px;color:#aab3ad}.rpk small{font-size:11px;color:#C6F26B}
.rpgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:620px){.rpgrid{grid-template-columns:1fr}}
.rpcard{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:rgba(255,255,255,.04)}
.rpcard .label{color:#aab3ad}
.rpbars{position:relative;display:flex;align-items:flex-end;gap:8px;height:150px;padding-top:6px}
.rpb{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.rpb i{display:block;width:70%;max-width:34px;min-height:3px;border-radius:6px 6px 2px 2px;background:#5d665f;max-height:78%}
.rpb.ok i{background:#C6F26B}
.rpb.fut i{background:transparent;border:1px dashed #4a524e}
.rpbv{font-size:13px;font-weight:700;color:#eef2ec}.rpbl{font-size:11px;color:#8d978f}
.rpgoal{position:absolute;left:0;right:0;border-top:1px dashed rgba(255,179,71,.7);pointer-events:none}
.rpgoal em{position:absolute;right:0;top:-16px;font-style:normal;font-size:10px;color:#ffb347}
.rpcal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.rpcal>span{font-size:10px;color:#8d978f}
.rpc{aspect-ratio:1;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.04);font-style:normal;font-size:12px;color:#8d978f}
.rpc.empty{background:transparent}
.rpc.on{background:var(--ck);color:#0b0d0c;font-weight:800}
.rpc.today{outline:2px solid #fff;outline-offset:-2px}
.rptypes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rptypes li{display:grid;grid-template-columns:12px 1fr auto;column-gap:10px;align-items:center}
.rptypes li i{width:12px;height:12px;border-radius:4px;background:var(--ck);grid-row:span 2}
.rptypes li b{font-size:14px}.rptypes li span{font-weight:800}.rptypes li small{grid-column:2/4;color:#aab3ad;font-size:12px}
.rep{min-width:0;overflow:hidden}
.rpgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:620px){.rpgrid{grid-template-columns:minmax(0,1fr)}}
.rpcard{min-width:0}
.rpcal{max-width:320px;width:100%;margin:0 auto;gap:3px}
.rpc{font-size:11px;border-radius:6px}
.rpgoal em{right:2px}
.rpcal{grid-template-columns:repeat(7,minmax(0,1fr))}
.rpc{aspect-ratio:auto;height:34px;min-width:0}
.rpc.empty{height:34px}
.rpcal{grid-template-rows:18px;grid-auto-rows:34px;align-content:start}
/* v71: vídeo do exercício inteiro e centralizado (sem cortar o corpo) */
.tbp-media{background:#0b0e0d}
.tbp-media video,.tbp-media img{object-fit:contain;object-position:center center;background:#0b0e0d}
/* v72: enquadramento dos vídeos */
.floopw{overflow:hidden}
.frgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.frt{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.frt.done{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.frt b{font-size:13px;line-height:1.25;min-height:2.5em}
.frbox{position:relative;aspect-ratio:9/10;border-radius:12px;overflow:hidden;background:#0b0e0d;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.frbox.drag{cursor:grabbing}
.frbox:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.frbox video,.frbox img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.frcx,.frcy{position:absolute;pointer-events:none;background:rgba(255,255,255,.18)}
.frcx{left:50%;top:0;bottom:0;width:1px}.frcy{top:50%;left:0;right:0;height:1px}
.frctl{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.frctl .num{min-width:42px;text-align:center;font-size:13px}
.frctl small{flex-basis:100%}
/* v73: histórico das fontes de energia */
.enbtn{display:inline-flex;align-items:center;gap:6px}.enbtn svg{width:16px;height:16px}
.enh{position:fixed;inset:0;z-index:1200;overflow:auto;background:rgba(3,5,4,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom))}
.enh-in{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px;background:#101513;border:1px solid #232b28;color:#eef2ec}
.enh-in h2{margin:2px 0 0;font-family:var(--f-display);font-size:22px;color:#fff}
.enh-eye{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#f0a070}.enh-eye svg{width:16px;height:16px}
.enh-x{width:42px;height:42px;border-radius:50%;border:1px solid #2a3330;background:transparent;color:#cfd8d2;cursor:pointer;font-size:16px}
.enh-chips,.enh-mode{display:flex;gap:6px}
.enh-chips button,.enh-mode button{min-height:36px;padding:6px 12px;border-radius:99px;border:1px solid #2a3330;background:transparent;color:#cfd6d1;font:600 13px var(--f-body);cursor:pointer}
.enh-chips button[aria-pressed=true],.enh-mode button[aria-pressed=true]{background:#eef2ec;color:#0b0d0c;border-color:#eef2ec}
.enh-empty{margin:0;color:#aab3ad}
.enh-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.enh-kpis div{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05)}
.enh-kpis b{font-family:var(--f-display);font-size:22px;color:#fff}.enh-kpis span{font-size:12px;color:#aab3ad}
.enh-tr{margin:0;font-size:14px;color:#c6cdc8}.enh-tr b{color:#fff}
.enh-card{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:rgba(255,255,255,.04)}
.enh-card .label{color:#aab3ad}
.enh-chart{display:flex;align-items:flex-end;gap:3px;height:170px;padding-top:4px;border-bottom:1px solid #2a3330}
.enh-col{flex:1;min-width:4px;max-width:34px;height:100%;display:flex;align-items:flex-end;justify-content:center;padding:0;border:0;background:none;cursor:pointer}
.enh-stk{width:100%;display:flex;flex-direction:column-reverse;gap:2px;border-radius:4px 4px 0 0;overflow:hidden}
.enh-stk i{display:block;width:100%;flex:none}
.enh-col.on .enh-stk{outline:2px solid #fff;outline-offset:1px}
.enh-col:focus-visible{outline:2px solid #fff}
.enh-ax{display:flex;justify-content:space-between;font-size:11px;color:#8d978f;margin-top:-4px}
.enh-leg{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:#c6cdc8}.enh-leg span{display:inline-flex;align-items:center;gap:5px}.enh-leg i{width:10px;height:10px;border-radius:3px}
.enh-hint{margin:0;font-size:11px;color:#8d978f}
.enh-det{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:#0b0f0d;border:1px solid #232b28}
.enh-det small{color:#aab3ad}
.enh-det ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px}
.enh-det li{display:flex;align-items:center;gap:6px}.enh-det li i{width:10px;height:10px;border-radius:3px;flex:none}.enh-det li b{margin-left:auto}.enh-det li small{font-size:11px}
.enh-tot{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.enh-tot li{display:grid;grid-template-columns:minmax(0,150px) 1fr auto;column-gap:10px;align-items:center}
.enh-tot li small{grid-column:3;text-align:right;color:#aab3ad;font-size:11px}
.enh-tot .zn{display:flex;align-items:center;gap:6px;font-size:13px}.enh-tot .zn svg{width:16px;height:16px;flex:none}
.enh-bar{height:8px;border-radius:99px;background:#232b28;overflow:hidden}.enh-bar i{display:block;height:100%;border-radius:99px}
@media (max-width:420px){.enh-tot li{grid-template-columns:minmax(0,120px) 1fr auto}.enh-det ul{grid-template-columns:1fr}}
.enh-chart{height:auto;border-bottom:0;align-items:stretch}
.enh-col{flex-direction:column;align-items:stretch;height:auto;max-width:none}
.enh-sw{height:150px;display:flex;align-items:flex-end;border-bottom:1px solid #2a3330}
.enh-dl{height:16px;margin-top:4px;font-size:10px;color:#8d978f;text-align:center;white-space:nowrap;overflow:visible}
.enh-chart{height:auto;border-bottom:0;align-items:stretch}
.enh-col{flex-direction:column;align-items:stretch;height:auto;max-width:none}
.enh-sw{height:150px;display:flex;align-items:flex-end;border-bottom:1px solid #2a3330}
.enh-dl{height:16px;margin-top:4px;font-size:10px;color:#8d978f;text-align:center;white-space:nowrap;overflow:visible}
/* v75 ranking characters */
.t1rk-av.img{background:#1d2420;overflow:hidden;padding:0}.t1rk-av.img img{width:100%;height:100%;object-fit:cover;display:block}
.t1rk-av.sm{width:44px;height:44px}
.t1rk-lead{position:relative;display:flex;flex-direction:column;align-items:center;border-radius:20px;overflow:hidden;background:#0d1410;border:1px solid rgba(214,180,74,.45);box-shadow:0 10px 40px rgba(214,180,74,.15)}
.t1rk-ld-med{width:100%;aspect-ratio:1/1;max-height:340px;display:grid;place-items:center;overflow:hidden}
.t1rk-ld-med video,.t1rk-ld-med img{width:100%;height:100%;object-fit:cover;display:block}
.t1rk-ld-none{width:100%;height:100%;min-height:180px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(214,180,74,.35),transparent 60%)}.t1rk-ld-none span{font-size:80px}
.t1rk-ld-txt{width:100%;padding:10px 16px 14px;background:#0a110d;display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff}
.t1rk-ld-txt small{color:#e7cf7d;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.t1rk-ld-txt b{font-family:var(--f-display);font-size:24px;line-height:1.15}.t1rk-ld-txt span{color:#d6e8c3;font-weight:700}
.t1rk-meedit{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border-radius:14px;background:rgba(11,13,12,.78);border:1px solid rgba(198,242,107,.3);color:#eef2ec;text-align:left;cursor:pointer;font:inherit}
.t1rk-meedit span:not(.t1rk-av){flex:1;display:flex;flex-direction:column;min-width:0}.t1rk-meedit small{color:#aab4ad}.t1rk-meedit i{font-style:normal;font-size:22px;color:var(--lime,#C6F26B)}
.t1rk-ed{padding:16px;border-radius:18px;background:rgba(11,13,12,.88);border:1px solid rgba(198,242,107,.35);color:#eef2ec;display:flex;flex-direction:column;gap:12px}
.t1rk-ed h3{margin:0;font-family:var(--f-display)}.t1rk-ed p{margin:0;color:#c6cdc8;font-size:14px}
.t1rk-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.t1rk-pk{padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;background:#1d2420;cursor:pointer;aspect-ratio:1/1;transition:transform .15s}
.t1rk-pk img{width:100%;height:100%;object-fit:cover;display:block}.t1rk-pk.on{border-color:var(--lime,#C6F26B);transform:scale(1.04);box-shadow:0 0 0 3px rgba(198,242,107,.25)}
.t1rk-nk{display:flex;flex-direction:column;gap:6px}.t1rk-nk span{font-weight:600;font-size:14px}.t1rk-nk small{color:#9aa49d;font-size:12px}
.t1rk-nk input{font-size:16px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#141a16;color:#fff}
/* v77 aviso de liberar unidades */
.trul{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px auto 0;max-width:1200px;width:calc(100% - 32px);padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,rgba(214,180,74,.18),rgba(214,180,74,.05));border:1px solid rgba(214,180,74,.55)}
.trul-ico{font-size:28px}.trul-b{flex:1;min-width:220px;display:flex;flex-direction:column;gap:2px}.trul-b small{opacity:.8}
.trul-b ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px}
/* v78 EMOM / AMRAP / For Time */
.tbrep{margin-left:auto;padding:2px 8px;border-radius:999px;background:rgba(198,242,107,.18);color:inherit;font-weight:700;font-size:13px;white-space:nowrap}
.tbfm{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.tbfm .field{flex:1;min-width:120px}
.tbfmh{margin:2px 0 6px;font-size:13px}
.tbrepin{width:84px;flex:none}
.tbp-cx{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.tbp-cxl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;max-height:28vh;overflow:auto}
.tbp-cxl li{display:flex;justify-content:space-between;gap:10px;padding:5px 10px;border-radius:10px;font-size:15px;opacity:.75}
.tbp-cxl li.ok{opacity:.45;text-decoration:line-through}
.tbp-cxl li.cur{opacity:1;background:rgba(0,0,0,.18);font-weight:700}
.tbp-cxb{border:0;border-radius:14px;padding:14px;font:700 17px var(--f-display,inherit);background:rgba(0,0,0,.82);color:#fff;cursor:pointer}
.tbp-cxb:active{transform:scale(.98)}
[data-fm="amrap"] .tbp-timer,[data-fm="ft"] .tbp-timer{font-size:clamp(60px,18vw,92px)}
.tbexrow .tbrepin{flex:0 0 88px;width:88px;min-width:0;text-align:center}
/* v79 limite diário da trilha */
.trday,.t1day{margin:6px 0 0;padding:10px 12px;border-radius:12px;background:rgba(255,196,64,.14);border:1px solid rgba(255,196,64,.5);color:#ffe2a0;font-size:14px;line-height:1.35;font-weight:600}
.t1day{margin:0;max-width:220px;font-size:13px}
.t1today{display:block;margin-top:2px}
.tbp-hi{margin:8px 0 0;padding:10px 12px;border-radius:12px;background:#fff1e0;border:1px solid #f0a54a;color:#7a3d00;font-weight:600;font-size:14px}
.tbp-ok.err{color:#b3261e}
.t1now:has(.t1day){flex-wrap:wrap}.t1now .t1day{flex:1 1 100%;max-width:none}
/* v80 sticky "Agora na trilha" + espaço livre no rodapé */
@supports (overflow:clip){html,body{overflow-x:clip}}
.t1now{bottom:calc(64px + env(safe-area-inset-bottom,0px))}
.trsheet .trbtn{margin-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
/* v81 símbolo interativo no card "Agora na trilha" */
.t1nowic{position:relative;flex:none;width:58px;height:58px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;cursor:pointer;
  background:radial-gradient(circle at 35% 30%,#E2FFA8,#C6F26B 55%,#8EAE45);box-shadow:0 0 0 3px rgba(198,242,107,.25),0 6px 18px rgba(198,242,107,.35);color:#0b120d}
.t1nowic .t1ic{width:30px;height:30px;stroke:#0b120d;position:relative;z-index:1;animation:t1nowb 1.6s ease-in-out infinite}
.t1nowic .t1ic *{stroke:#0b120d}
.t1nowic .t1pulse{position:absolute;inset:0;border-radius:50%;border:2px solid #C6F26B;animation:t1nowp 2s ease-out infinite;pointer-events:none}
.t1nowic .t1pulse.d2{animation-delay:1s}
.t1nowic:active{transform:scale(.94)}
.t1nowic.chest{background:radial-gradient(circle at 35% 30%,#ffe08a,#f4b73a 55%,#b9821c);box-shadow:0 0 0 3px rgba(244,183,58,.25),0 6px 18px rgba(244,183,58,.35)}
.t1nowic.chest .t1pulse{border-color:#f4b73a}
@keyframes t1nowp{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.55);opacity:0}}
@keyframes t1nowb{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-6deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-2px) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.t1nowic .t1ic,.t1nowic .t1pulse{animation:none}}
/* v82 lista de exercícios na folha da etapa + aviso da fila offline */
.trexl{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);font-size:14px;line-height:1.4}
.trexl p{margin:0}.trexl b{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin-bottom:2px}
.trexl i{font-style:normal;opacity:.7;font-size:12px}
.pendref{position:fixed;left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:200;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:16px;background:#2a1d08;border:1px solid #f0a54a;color:#ffe7c2;box-shadow:0 10px 30px rgba(0,0,0,.5);max-width:520px;margin:0 auto}
.pendref button{align-self:flex-end;border:0;border-radius:10px;padding:8px 14px;font-weight:700;background:#f0a54a;color:#2a1d08}
/* v83 Ciclos bloqueados + Contas e planos */
.t1lock{display:flex;align-items:center;gap:12px;width:100%;margin:8px 0 18px;padding:14px 16px;border-radius:16px;border:1px dashed rgba(255,255,255,.28);background:rgba(11,13,12,.72);color:#eef2ec;text-align:left;cursor:pointer;font:inherit}
.t1lock span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.t1lock small{color:#aab4ad}.t1lock i{font-style:normal;font-size:22px;color:var(--lime,#C6F26B)}
.t1lockic{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#1d2420;border:2px solid rgba(255,255,255,.18)}
.t1lockic .t1ic,.t1lk .t1ic{width:24px;height:24px;color:#d8dfd9}
.t1lk{display:grid;place-items:center}
.t1nowic.lock{background:radial-gradient(circle at 35% 30%,#3a423d,#232a26 60%,#161b18);box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.t1nowic.lock .t1ic{color:#e6ece7;stroke:#e6ece7;animation:none}.t1nowic.lock .t1ic *{stroke:#e6ece7}
.trexl .trlk{width:14px;height:14px;vertical-align:-2px;opacity:.7}
.trunlock{margin-top:10px;width:100%}
.acbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.acbar input[type=search]{flex:1;min-width:200px}
.acact{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.acgive{display:inline-flex;gap:6px;align-items:center}.acgive input{width:auto}
.actbl td{vertical-align:middle}.acmail{word-break:break-all;font-size:13px}
.acbar input[type=search]{width:auto}.acbar select{width:auto;flex:none;min-width:180px}
/* v84 · marca provisória em texto (Muscle Lab) */
.t1tipml{flex:none;width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#C6F26B;color:#0b120d;font:800 13px "Archivo",var(--f-display);letter-spacing:.04em}
.brand .gcsname{font-size:22px;line-height:1.05}
/* v85 · visitante, criar conta, triagem, comemoração, funil */
.gsignup{background:#C6F26B!important;color:#0b120d!important;border:0!important;font-weight:800}
.suterms{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4}.suterms input{width:20px;height:20px;flex:none;margin-top:2px}.suterms a{color:inherit;text-decoration:underline}
.lgnew{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:center;padding:14px;border-radius:16px;background:rgba(198,242,107,.1);border:1px solid rgba(198,242,107,.35);color:#eef2ec}
.lgnew .btn{background:#C6F26B;color:#0b120d;border:0;font-weight:800;text-decoration:none}.lgnew .linkish{color:#cfe8a8}
.triq{margin:0 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:10px;max-height:46vh;overflow:auto}
.triq p{margin:0 0 6px;font-size:14px;line-height:1.35}
.trio{display:flex;gap:8px}.trio button{flex:1;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;font-weight:700;cursor:pointer}
.trio button[aria-pressed="true"]{background:#C6F26B;color:#0b120d;border-color:#C6F26B}
.trihealth{font-size:13px;line-height:1.4;margin:0 0 10px}
.plantxt{font-size:16px;line-height:1.5}
.cele{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 40%,rgba(198,242,107,.28),rgba(4,10,7,.94) 65%);overflow:hidden}
.cele-in{position:relative;z-index:1;max-width:420px;text-align:center;color:#fff;display:flex;flex-direction:column;gap:10px;align-items:center;animation:celeIn .6s cubic-bezier(.2,1.4,.4,1) both}
.cele-in h2{margin:0;font-family:var(--f-display);font-size:34px;line-height:1.05}.cele-in p{margin:0 0 6px;color:#d6e8c3}
.cele-ico{font-size:72px;filter:drop-shadow(0 6px 24px rgba(244,183,58,.6));animation:celeB 1.6s ease-in-out infinite}
.cele-in .trbtn{width:100%}
.cele-conf i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:celeF 2.8s linear infinite;opacity:.9}
@keyframes celeF{to{transform:translateY(110vh) rotate(540deg)}}
@keyframes celeIn{from{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}
@keyframes celeB{50%{transform:translateY(-8px) scale(1.05)}}
@media (prefers-reduced-motion:reduce){.cele-conf{display:none}.cele-ico,.cele-in{animation:none}}
.fnrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:10px}
.fnstep{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:14px;background:var(--bg2,#f3f5f2);border:1px solid var(--ln,#e4e7e3)}
.fnstep b{font-size:26px;line-height:1}.fnstep b small{font-size:12px;opacity:.6;margin-left:4px}.fnstep span{font-weight:600;font-size:14px}.fnstep small{font-size:11px;opacity:.7}
.cele{background:radial-gradient(circle at 50% 40%,rgba(198,242,107,.22),transparent 60%),rgba(4,10,7,.95)}

/* v87 · identidade Muscle Lab (verde militar, off-white, oliva, oliva claro, verde-limão; Archivo Black + Inter) */
:root{--bg:#F4F2EA;--surface:#FFFFFF;--surface-2:#F8F6F0;--ink:#1F2418;--muted:#5E6655;--line:#DEDACB;
  --brand:#262C1E;--brand-2:#343C29;--on-brand:#ECE8DA;--accent:#6B7848;--accent-ink:#FFFFFF;--accent-soft:#E7EAD8;
  --ml-dark:#262C1E;--ml-off:#ECE8DA;--ml-olive:#6B7848;--ml-olive-l:#B3B996;--ml-lime:#C6F26B}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#15190F;--surface:#1E2318;--surface-2:#252B1E;--ink:#ECE8DA;--muted:#B3B996;--line:#343B2A;--brand:#1A1E14;--brand-2:#262C1E;--on-brand:#ECE8DA;--accent:#C6F26B;--accent-ink:#1A1E14;--accent-soft:#2E3622}}
:root[data-theme="dark"]{--bg:#15190F;--surface:#1E2318;--surface-2:#252B1E;--ink:#ECE8DA;--muted:#B3B996;--line:#343B2A;--brand:#1A1E14;--brand-2:#262C1E;--on-brand:#ECE8DA;--accent:#C6F26B;--accent-ink:#1A1E14;--accent-soft:#2E3622}
h1,h2{font-family:"Archivo Black",var(--f-display);letter-spacing:-.005em}
h3{font-weight:800}
.mlsym{display:inline-block;flex:none;width:44px;height:44px}.mlsym svg{width:100%;height:100%;display:block}
.top .brand{display:flex;align-items:center;gap:10px}.top .brand .mlsym{width:40px;height:40px}
.gcsbrand .mlsym{width:42px;height:42px}
.gcsname i,.gcsbrand b i{border-radius:4px;border-width:2px}
.gcsbrand small{color:var(--ml-olive-l)}
.t1tipml{background:#ECE8DA!important;padding:4px}.t1tipml svg{width:100%;height:100%;display:block}
body.st-mode{--bg:#15190F;--surface:#1E2318;--surface-2:#252B1E;--ink:#ECE8DA;--muted:#B3B996;--line:#343B2A;--accent:#C6F26B;--accent-ink:#1A1E14;--accent-soft:#2E3622;--brand:#262C1E;--brand-2:#313828;--on-brand:#ECE8DA}
h1,h2,.gcsname,.gcsbrand b{font-weight:900!important}
