
/* Layout: sidebar escura + área de conteúdo em grade; no celular vira barra superior + navegação inferior. Identidade de marca: preto, grafite, dourado, off-white (tema único, escuro). */
:root{
  --ink:#0B0B0A; --panel:#141413; --raised:#1C1B19; --line:#2A2824; --line-2:#3A3732;
  --fg:#F2EEE6; --muted:#9A948A; --dim:#6E6960;
  --pcol:#7FA7D9; --ccol:#D9B25E; --gcol:#D9766A;
  --gold:#C9A26A; --gold-soft:rgba(201,162,106,.14);
  --ok:#7FB38A; --warn:#D9A84E; --bad:#D9766A;
  --f-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-label:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --r:10px;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;background:var(--ink);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:var(--fg)}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}
.tab{font-variant-numeric:tabular-nums}

.lbl{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:var(--muted)}
h1,h2,h3{font-family:var(--f-label);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin:0;text-wrap:balance}
h1{font-size:30px;line-height:1.1}
h2{font-size:18px;letter-spacing:.12em}
h3{font-size:16px;letter-spacing:.08em}
.rule{width:44px;height:2px;background:var(--gold);border:0;margin:10px 0 0}

/* ---------- Shell ---------- */
.app{display:grid;grid-template-columns:248px 1fr;height:100%}
.side{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 18px 18px;gap:28px;overflow-y:auto}
.side .logo{width:150px;margin:0 6px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav .grp{margin:18px 10px 6px}
.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--muted);font-weight:500}
.nav a:hover{color:var(--fg);background:var(--raised)}
.nav a.on{color:var(--fg);background:var(--raised);box-shadow:inset 2px 0 0 var(--gold)}
.nav a.on svg{color:var(--gold)}
.nav .count{margin-left:auto;font-size:12px;background:var(--gold);color:var(--ink);border-radius:10px;padding:0 7px;font-weight:600}
.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:12px}
.me{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--r)}
.me small{display:block;color:var(--muted);font-size:12px}
svg.i{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.mode{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:3px}
.mode button{padding:7px 4px;border-radius:6px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:600;color:var(--muted)}
.mode button.on{background:var(--gold);color:var(--ink)}

.main{overflow-y:auto;min-width:0}
.top{display:none}
.wrap{max-width:1120px;margin:0 auto;padding-block:36px 64px;padding-left:max(28px,env(safe-area-inset-left,0px));padding-right:max(28px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:28px}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.head p{margin:6px 0 0;color:var(--muted)}
.demo{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--gold);border:1px solid var(--gold);border-radius:20px;padding:2px 10px;white-space:nowrap}

/* ---------- Componentes ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:600}
.btn.pri{background:var(--gold);color:var(--ink)}
.btn.pri:hover{filter:brightness(1.08)}
.btn.ghost{border:1px solid var(--line-2);color:var(--fg)}
.btn.ghost:hover{border-color:var(--gold)}
.btn svg.i{width:16px;height:16px}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.kpi{background:var(--panel);padding:18px 20px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpi b{font-family:var(--f-label);font-size:34px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}
.kpi b small{font-size:18px;color:var(--muted);font-weight:500}
.kpi span.d{font-size:13px;color:var(--muted)}
.kpi span.d em{font-style:normal;color:var(--ok)}

.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
.grid2>*{min-width:0}
.box{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:16px;min-width:0}
.box-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.box-h a{font-size:13px;color:var(--gold);text-decoration:none}

.list{display:flex;flex-direction:column}
.row{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line);min-width:0}
.row:first-child{border-top:0;padding-top:0}
.row .t{flex:1;min-width:0}
.row .t b{font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .t small{color:var(--muted);font-size:13px;display:block}
.row.click{cursor:pointer;border-radius:6px}
.row.click:hover b{color:var(--gold)}

.av{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--raised);border:1px solid var(--line-2);font-family:var(--f-label);font-weight:600;letter-spacing:.06em;font-size:14px}
.av.lg{width:64px;height:64px;font-size:22px}
.mono{width:30px;height:auto}

.pill{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap;border:1px solid currentColor}
.pill.ok{color:var(--ok)} .pill.warn{color:var(--warn)} .pill.bad{color:var(--bad)} .pill.n{color:var(--muted)} .pill.g{color:var(--gold)}
.dot{width:8px;height:8px;border-radius:50%;flex:none}
.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}

.bars{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end;height:140px}
.bar{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.bar i{display:block;width:100%;max-width:34px;background:var(--line-2);border-radius:4px 4px 0 0}
.bar.today i{background:var(--gold)}
.bar span{font-size:12px;color:var(--muted)}
.bar b{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}

.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.search{flex:1;min-width:200px;display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:0 12px}
.search input{flex:1;min-width:0;background:none;border:0;padding:10px 0;outline:none}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{padding:7px 12px;border-radius:20px;border:1px solid var(--line-2);font-size:13px;color:var(--muted)}
.chip.on{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}

.table{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:640px}
th{text-align:left;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--muted);font-weight:600;padding:14px 16px;border-bottom:1px solid var(--line)}
td{padding:12px 16px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
tr:last-child td{border-bottom:0}
tbody tr{cursor:pointer}
tbody tr:hover td{background:var(--raised)}
.who{display:flex;align-items:center;gap:12px}
.meter{width:80px;height:4px;background:var(--line-2);border-radius:2px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px}
.meter i{display:block;height:100%;background:var(--gold)}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.card:hover{border-color:var(--line-2)}
.card .meta{display:flex;gap:14px;color:var(--muted);font-size:13px;flex-wrap:wrap}
.card .sub{font-family:var(--f-label);letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--gold);font-weight:600}

.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{padding:10px 14px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button.on{color:var(--fg);border-color:var(--gold)}

.profile{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.profile .facts{display:flex;gap:28px;flex-wrap:wrap;margin-left:auto}
.fact b{display:block;font-family:var(--f-label);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}

.ex{display:grid;grid-template-columns:28px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.ex:first-child{border-top:0}
.ex .n{font-family:var(--f-label);color:var(--gold);font-weight:600;font-size:18px}
.ex b{display:block;font-weight:600}
.ex small{color:var(--muted)}
.ex .spec{text-align:right;font-variant-numeric:tabular-nums;font-size:14px}
.ex .spec small{display:block}
.check{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center}
.check.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.check svg.i{width:14px;height:14px;stroke-width:2.4}

.chat{display:grid;grid-template-columns:300px 1fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-height:520px;background:var(--panel)}
.chat-list{border-right:1px solid var(--line);overflow-y:auto}
.chat-list .row{padding:14px 16px;border-top:1px solid var(--line);cursor:pointer}
.chat-list .row:first-child{border-top:0;padding-top:14px}
.chat-list .row.on{background:var(--raised)}
.thread{display:flex;flex-direction:column;min-width:0}
.thread-h{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
.msgs{flex:1;padding:18px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}
.msg{max-width:75%;padding:10px 14px;border-radius:12px;background:var(--raised);font-size:14px}
.msg.me{align-self:flex-end;background:var(--gold);color:var(--ink);border-bottom-right-radius:4px}
.msg:not(.me){border-bottom-left-radius:4px}
.msg time{display:block;font-size:11px;opacity:.65;margin-top:2px}
.compose{display:flex;gap:10px;padding:12px;border-top:1px solid var(--line)}
.compose input{flex:1;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;outline:none}
.compose input:focus{border-color:var(--gold)}

.week{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.day{display:flex;flex-direction:column;gap:8px;min-width:0}
.day>.lbl{padding:0 2px}
.slot{background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:6px;padding:10px 12px;font-size:13px}
.slot.call{border-left-color:var(--ok)}
.slot b{display:block;font-weight:600}
.slot small{color:var(--muted)}

.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field input,.field select{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;outline:none}
.field input:focus,.field select:focus{border-color:var(--gold)}

/* Aluno: herói do treino de hoje */
.hero{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--panel);min-height:260px;display:flex;align-items:flex-end}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;opacity:.42;filter:grayscale(.3)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,10,0) 20%,rgba(11,11,10,.92) 85%)}
.hero .in{position:relative;z-index:1;padding:24px;display:flex;flex-direction:column;gap:10px;width:100%}
.hero h1{font-size:34px}
.hero .meta{display:flex;gap:18px;color:var(--muted);font-size:14px;flex-wrap:wrap}
.streak{display:flex;gap:6px}
.streak i{width:100%;height:6px;border-radius:3px;background:var(--line-2)}
.streak i.on{background:var(--gold)}

.chart svg{width:100%;height:auto;display:block}
.empty{color:var(--muted);text-align:center;padding:40px 10px}

/* Vídeo de exercício */
.video{position:relative;width:100%;max-width:100%;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:radial-gradient(120% 90% at 50% 110%,rgba(201,162,106,.22),var(--ink) 65%);display:grid;place-items:center;text-align:center}
.video .pl{width:64px;height:64px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;text-decoration:none}
.video .pl svg.i{width:26px;height:26px;fill:currentColor;stroke:none;margin-left:3px}
.video .cap{position:absolute;left:14px;right:14px;bottom:12px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}
.video.none .pl{background:var(--raised);color:var(--dim);border:1px solid var(--line-2)}
.video .wm{position:absolute;top:14px;left:14px;width:26px;opacity:.8}
.hint{font-size:13px;color:var(--muted);margin:0}
.hint.ok{color:var(--ok)}.hint.bad{color:var(--bad)}
.field textarea{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;outline:none;resize:vertical;min-height:96px}
.field textarea:focus{border-color:var(--gold)}
.field .full{grid-column:1/-1}
.form .full{grid-column:1/-1}
.vbtn{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gold);padding:4px 0}
.vbtn svg.i{width:14px;height:14px;fill:currentColor;stroke:none}
.vbtn.off{color:var(--dim)}
.modal-bg{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px))}
.modal{width:100%;max-width:560px;max-height:100%;overflow-y:auto;background:var(--panel);border:1px solid var(--line-2);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:16px}
.modal ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.xbtn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;flex:none}

/* Montador */
.pgrid{display:grid;grid-template-columns:2fr 1.4fr 90px 1.3fr 150px;gap:12px}
.pgrid>*{min-width:0}
.field input[type=date]{min-height:42px}
.bgrid{align-items:start}
.col{display:flex;flex-direction:column;gap:14px;min-width:0}
.blk{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:12px;min-width:0}
.blk.sel{border-color:var(--gold)}
.blk-h{display:flex;align-items:center;gap:10px;min-width:0}
.blk-h .t{flex:1;min-width:0}
.blk-h .t b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blk-h .t small{color:var(--muted);font-size:12px}
.code{font-family:var(--f-label);font-weight:600;color:var(--gold);font-size:17px;min-width:28px;font-variant-numeric:tabular-nums}
.code.sm{font-size:14px;min-width:0;color:var(--dim)}
.selb{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--line-2);display:grid;place-items:center;flex:none}
.selb.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.selb svg.i{width:13px;height:13px;stroke-width:2.8}
.ibs{display:flex;gap:2px;flex:none}
.ib{width:32px;height:32px;border-radius:6px;display:grid;place-items:center;color:var(--muted);flex:none}
.ib:hover{background:var(--raised);color:var(--fg)}
.ib svg.i{width:16px;height:16px}
.ib.sm{width:28px;height:28px;font-size:12px}
.sets{display:flex;flex-direction:column;gap:6px}
.sh,.sr{display:grid;grid-template-columns:20px minmax(0,1.4fr) repeat(3,minmax(0,1fr)) 28px;gap:6px;align-items:center}
.sh span{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600;color:var(--dim);white-space:nowrap;overflow:hidden}
.sr input,.sr select,.mini input,.mini select,.fase input{width:100%;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:6px;padding:7px 8px;font-size:14px;outline:none;font-variant-numeric:tabular-nums}
.sr select{padding:7px 4px}
.sr input:focus,.sr select:focus,.mini input:focus,.mini select:focus,.fase input:focus{border-color:var(--gold)}
.mini-row{display:flex;gap:10px;flex-wrap:wrap}
.mini{display:flex;flex-direction:column;gap:4px;min-width:130px}
.mini.sm{min-width:90px;flex:0 1 110px}
.mini.grow{flex:1;min-width:180px}
.mini>span{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600;color:var(--muted)}
.lnk{color:var(--gold);font-size:13px;font-weight:500;align-self:flex-start;padding:2px 0}
.gset{border-left:2px solid var(--gold);padding-left:12px;display:flex;flex-direction:column;gap:10px;min-width:0}
.gset-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gset-h small{color:var(--muted);font-size:12px;flex:1;min-width:160px}
.mnote{font-size:13px;color:var(--fg);background:var(--gold-soft);border-radius:6px;padding:8px 10px;margin:0}
.mnote b{color:var(--gold);font-weight:600}
.selbar{position:sticky;bottom:16px;z-index:4;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--raised);border:1px solid var(--gold);border-radius:var(--r);padding:10px 14px;box-shadow:0 10px 30px rgba(0,0,0,.5);font-size:14px}
.kpis.mini3{grid-template-columns:repeat(3,1fr)}
.kpis.mini3 .kpi{padding:12px}
.kpis.mini3 .kpi b{font-size:24px}
.vb{display:grid;grid-template-columns:96px 1fr 22px;gap:8px;align-items:center;font-size:13px;padding:3px 0}
.vb>i{height:6px;background:var(--line-2);border-radius:3px;overflow:hidden;display:block}
.vb>i>i{display:block;height:100%;background:var(--gold)}
.vb b{text-align:right;font-weight:500}
.fase{display:grid;grid-template-columns:70px 1fr;gap:6px;padding-top:10px;border-top:1px solid var(--line)}
.fase:first-of-type{border-top:0;padding-top:0}
.fase .full{grid-column:1/-1}
.tabs button[data-addtreino]{color:var(--gold)}
@media (max-width:900px){.pgrid{grid-template-columns:1fr 1fr}.pgrid .wide{grid-column:1/-1}}
@media (max-width:760px){.selbar{bottom:calc(76px + env(safe-area-inset-bottom,0px))}.sh,.sr{grid-template-columns:16px minmax(0,1.5fr) repeat(3,minmax(0,1fr)) 24px;gap:4px}.sr input,.sr select{padding:7px 5px;font-size:13px}.blk{padding:12px}}

/* Quadro semanal */
.wrap.wide{max-width:none}
.pdet{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}
.pdet summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.pdet summary::before{content:"+";color:var(--gold);font-size:16px;width:12px}
.pdet[open] summary::before{content:"−"}
.pdet[open] .pgrid{margin-top:14px}
.board{display:flex;gap:14px;overflow-x:auto;align-items:flex-start;padding-bottom:12px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.bcol{flex:0 0 280px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;scroll-snap-align:start;min-width:0}
.bcol.coll{flex:0 0 56px;padding:6px}
.bcol-x{writing-mode:vertical-rl;display:flex;align-items:center;gap:12px;padding:12px 0;width:100%;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:13px}
.bcol-x b{writing-mode:horizontal-tb;color:var(--gold);font-size:18px}
.bcol-x small{color:var(--muted);font-weight:500}
.bcol-h{display:flex;align-items:center;gap:8px}
.bcol-h input{flex:1;min-width:0;background:none;border:0;border-bottom:1px dashed transparent;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:15px;padding:4px 0;outline:none}
.bcol-h input:hover,.bcol-h input:focus{border-bottom-color:var(--line-2)}
.bcol-h input::placeholder{color:var(--dim)}
.col-list{display:flex;flex-direction:column;gap:8px;min-height:60px}
.bc{background:var(--raised);border:1px solid var(--line);border-radius:8px;padding:8px 4px 8px 8px;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.bc:hover{border-color:var(--line-2)}
.bc.sel{border-color:var(--gold)}
.bc-m{display:grid;grid-template-columns:16px 22px minmax(0,1fr) 30px;gap:8px;align-items:center}
.bn{font-size:11px;color:var(--dim);text-align:center}
.bc-t{text-align:left;min-width:0;padding:2px 0;cursor:inherit;display:flex;flex-direction:column;gap:1px}
.bc-t b{font-weight:600;font-size:14px;line-height:1.25}
.bc-t small{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.mt{align-self:flex-start;margin-top:3px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600;color:var(--gold);border:1px solid rgba(201,162,106,.5);border-radius:10px;padding:0 6px}
.bc .ib{width:30px;height:30px}
.bc-menu{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.bc-menu button{font-size:12px;padding:5px 10px;border:1px solid var(--line-2);border-radius:14px}
.bc-menu button:hover{border-color:var(--gold)}
.danger{color:var(--bad)!important}
.bg{background:var(--gold-soft);border:1px solid rgba(201,162,106,.35);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:6px}
.bg-l{display:flex;justify-content:space-between;align-items:center;padding:2px 4px;cursor:grab;user-select:none;-webkit-user-select:none}
.bg-l>span{display:flex;align-items:center;gap:4px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600;color:var(--gold)}
.bg-l svg.i{width:14px;height:14px}
.bg-l .lnk{font-size:12px}
.addex{display:flex;justify-content:center;align-items:center;gap:6px;padding:10px;border:1px dashed var(--line-2);border-radius:8px;color:var(--muted);font-size:13px}
.addex:hover{color:var(--gold);border-color:var(--gold)}
.addex svg.i{width:16px;height:16px}
.bcol-f{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px;font-size:13px;color:var(--muted)}
.fl{display:flex;justify-content:space-between}
.fl b{color:var(--fg);font-weight:500}
.gchips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.gchips span{border:1px solid var(--line-2);border-radius:10px;padding:1px 8px;font-size:12px}
.gchips b{color:var(--gold);font-weight:600}
.bcol-a{display:flex;gap:16px}
.bcol.addcol{flex:0 0 160px;min-height:140px;align-items:center;justify-content:center;flex-direction:row;gap:6px;border-style:dashed;color:var(--gold);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.bcol.addcol svg.i{width:18px;height:18px}
.dragghost{opacity:.3}
.dragclone{position:fixed;z-index:70;pointer-events:none;transform:rotate(2deg);box-shadow:0 18px 40px rgba(0,0,0,.6);border-color:var(--gold)!important;opacity:.95}
body.dragging,body.dragging *{cursor:grabbing!important}
.selbar.fixed{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;z-index:25;max-width:calc(100% - 32px)}
.modal.wide{max-width:720px}
.modal .blk{border:0;padding:0;background:none}
.fases{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.fases .fase{border-top:0;padding-top:0}
@media (max-width:760px){.bcol{flex-basis:84%}.selbar.fixed{bottom:calc(76px + env(safe-area-inset-bottom,0px));width:calc(100% - 32px)}}

/* Biblioteca */
.exlist{display:flex;flex-direction:column;gap:8px}
.exr{display:grid;grid-template-columns:38px minmax(0,1.3fr) minmax(0,1.3fr) 110px auto;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;cursor:pointer}
.exr:hover{border-color:var(--line-2)}
.exr-n{min-width:0}
.exr-n b{display:flex;align-items:center;gap:6px;font-weight:600}
.exr-n small{color:var(--muted);font-size:12px}
svg.i.vi{width:15px;height:15px;color:var(--gold)}
.exr-g{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.gt{font-size:12px;padding:2px 9px;border-radius:12px;background:var(--raised);border:1px solid var(--line-2);white-space:nowrap}
.gt.sec{background:none;border-style:dashed;color:var(--muted)}
.gt.more{color:var(--muted)}
.pc{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600;border:1px solid var(--line-2);border-radius:12px;padding:3px 9px;white-space:nowrap}
.btn.sm{padding:7px 12px;font-size:12px}
.chip .tab{opacity:.6;margin-left:2px}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:3px;gap:3px}
.seg button{padding:8px 10px;border-radius:6px;font-size:14px;color:var(--muted);display:flex;gap:6px;justify-content:center;align-items:center}
.seg button svg.i{width:16px;height:16px}
.seg button.on{background:var(--raised);color:var(--fg);box-shadow:inset 0 0 0 1px var(--gold)}
.field>input#ex-link{margin-top:8px}
.upl{display:block;margin-top:8px}
.upl input{position:absolute;opacity:0;width:1px;height:1px}
.upl span{display:flex;align-items:center;gap:8px;justify-content:center;padding:14px;border:1px dashed var(--line-2);border-radius:8px;color:var(--muted);cursor:pointer;font-size:14px;overflow:hidden;text-overflow:ellipsis}
.upl span:hover,.upl input:focus-visible+span{border-color:var(--gold);color:var(--gold)}
.gpick{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
.gpick button{padding:6px 12px;border-radius:16px;border:1px solid var(--line-2);font-size:13px;color:var(--muted)}
.gpick button.p1{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:600}
.gpick button.p5{border-color:var(--gold);border-style:dashed;color:var(--gold)}
.legend{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.sw{display:inline-block;width:12px;height:12px;border-radius:50%;margin-left:6px}
.sw.p1{background:var(--gold)}.sw.p5{border:1px dashed var(--gold)}
.ng{flex:1;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 12px;outline:none}
.ng:focus{border-color:var(--gold)}
.video video{width:100%;height:100%;object-fit:contain;background:#000;display:block}
.pscards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.ps-h{display:flex;gap:8px}
.ps input.pcod,.ps input.pnome,.ps input.pdesc{min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:6px;padding:7px 9px;outline:none}
.ps input.pcod{width:96px;font-family:var(--f-label);font-weight:600;letter-spacing:.1em;color:var(--gold);text-transform:uppercase}
.ps input.pnome{flex:1;font-weight:600}
.ps input.pdesc{font-size:13px;color:var(--muted)}
.ps input:focus{border-color:var(--gold)}
.ps .sh,.ps .sr{grid-template-columns:20px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 28px}
@media (max-width:760px){.exr{grid-template-columns:38px minmax(0,1fr);row-gap:6px}.exr-g{grid-column:2}}

/* Perfil do aluno */
.arow{grid-template-columns:38px minmax(0,1fr) minmax(0,1.5fr) 110px}
.pchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;align-items:center}
.pchip{display:inline-flex;gap:6px;align-items:center;font-size:13px;padding:4px 10px;border:1px solid var(--line-2);border-radius:14px;color:var(--muted)}
.pchip svg.i{width:14px;height:14px}
button.pchip:hover{border-color:var(--gold);color:var(--fg)}
.acc{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,.6fr) auto;gap:18px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px}
.acc-i{width:40px;height:40px;border-radius:10px;background:var(--raised);display:grid;place-items:center;color:var(--gold)}
.acc-t b{display:block;font-weight:600}.acc-t small{color:var(--muted);font-size:12px}
.acc-f{min-width:0}.acc-f>div{display:flex;align-items:center;gap:2px;min-width:0}
.acc-f span:not(.lbl){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc-f .lbl{font-size:11px}
.accsend{position:relative}
.accm{position:absolute;right:0;top:calc(100% + 6px);background:var(--raised);border:1px solid var(--line-2);border-radius:8px;padding:4px;display:flex;flex-direction:column;z-index:6;min-width:160px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.accm button{text-align:left;padding:9px 10px;border-radius:6px;font-size:14px}
.accm button:hover{background:var(--panel)}
.newproto{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px;border:1px dashed var(--line-2);border-radius:var(--r);color:var(--muted);font-weight:500}
.newproto:hover{color:var(--gold);border-color:var(--gold)}
.newproto svg.i{width:18px;height:18px}
.proto{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);min-width:0}
.proto.open{border-color:var(--line-2)}
.proto-h{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;text-align:left}
.proto-h .t{flex:1;min-width:0}
.proto-h b{display:block;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.06em;font-size:17px;font-weight:600}
.proto-h small{color:var(--muted);font-size:13px}
.chev{display:grid;color:var(--muted);transform:rotate(-90deg);transition:transform .2s}
.proto.open .chev{transform:none;color:var(--gold)}
.proto-b{padding:0 18px 18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.ptools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.confirm{display:flex;gap:8px;align-items:center;font-size:13px;flex-wrap:wrap}
.btn.danger-b{background:var(--bad);color:var(--ink)}
.pgrid.pg3{grid-template-columns:2fr 1fr 110px}
.hgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:20px;align-items:start}
.hgrid>*{min-width:0}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal .dh{font-size:11px;color:var(--dim);text-align:center;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em}
.cal .dc{aspect-ratio:1/1;max-width:100%;border-radius:8px;display:grid;place-items:center;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;background:var(--raised)}
.cal .dc.on{background:var(--gold);color:var(--ink);font-weight:600}
.cal .dc.td{box-shadow:inset 0 0 0 1.5px var(--fg)}
.cal .dc.fu{background:none;opacity:.45}
.cmpbox{font-size:14px;background:var(--gold-soft);border-radius:8px;padding:10px 12px;margin:0}
.nohov tr{cursor:default}.nohov tr:hover td{background:none}
.spark{width:80px;height:24px;display:block}
.note{padding:12px 0;border-top:1px solid var(--line)}
.note:first-child{border-top:0}
.note p{margin:4px 0 0}
@media (max-width:900px){.acc{grid-template-columns:auto minmax(0,1fr)}.acc-f,.accsend{grid-column:1/-1}.hgrid{grid-template-columns:1fr}.pgrid.pg3{grid-template-columns:1fr 1fr}.pgrid.pg3 .field:first-child{grid-column:1/-1}}
@media (max-width:760px){.arow{grid-template-columns:38px minmax(0,1fr)}}

/* Dieta */
.dnote{display:flex;gap:8px;align-items:flex-start;margin:0}
.dnote svg.i{width:16px;height:16px;flex:none;margin-top:2px;color:var(--gold)}
.dname{background:none;border:0;border-bottom:1px dashed transparent;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:18px;font-weight:600;padding:2px 0;outline:none;width:100%}
.dname:hover,.dname:focus{border-bottom-color:var(--line-2)}
.form.f4{grid-template-columns:repeat(4,minmax(0,1fr))}
.form.f5{grid-template-columns:2fr repeat(4,minmax(0,1fr))}
.dtot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:14px;background:var(--ink);border:1px solid var(--line);border-radius:var(--r)}
.dm{display:flex;flex-direction:column;gap:6px;min-width:0}
.dm-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.dm-h b{font-family:var(--f-label);font-size:20px;font-weight:600}
.dm-h small{font-size:13px;color:var(--muted);font-weight:500}
.dm>i{display:block;height:6px;background:var(--line-2);border-radius:3px;overflow:hidden}
.dm>i>i{display:block;height:100%}
.upl.inl{margin:0}
.meal .box-h{flex-wrap:wrap}
.mh{display:flex;gap:10px;align-items:center;flex:1;min-width:200px}
.mhora,.mnome{background:none;border:0;border-bottom:1px dashed transparent;outline:none;padding:2px 0}
.mhora{width:58px;color:var(--gold);font-family:var(--f-label);font-weight:600;font-size:17px}
.mnome{flex:1;min-width:0;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:16px}
.mhora:hover,.mhora:focus,.mnome:hover,.mnome:focus{border-bottom-color:var(--line-2)}
.frows{display:flex;flex-direction:column;gap:4px}
.fr{display:grid;grid-template-columns:minmax(0,2.4fr) 80px repeat(4,minmax(0,.7fr)) 28px;gap:8px;align-items:center;font-size:14px;padding:4px 0;border-top:1px solid var(--line)}
.fr.fh{border-top:0;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600;color:var(--dim)}
.fr input{width:100%;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px 8px;outline:none;font-variant-numeric:tabular-nums}
.fr input:focus{border-color:var(--gold)}
.fn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dsel{flex:1;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--fg)}
/* Desafios */
.card.des{cursor:pointer}
.card.des:hover{border-color:var(--gold)}
.lead{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--gold-soft);border-radius:8px}
.lead>svg.i{color:var(--gold)}
.lead div{flex:1;min-width:0}.lead div b{display:block;font-weight:600}
.lead small.lbl{font-size:10px}
.pos{font-family:var(--f-label);font-weight:600;font-size:16px;min-width:30px;color:var(--muted);font-variant-numeric:tabular-nums}
.pos.p1{color:var(--gold)}.pos.p2{color:var(--fg)}.pos.p3{color:#B08A5E}
.rbar{display:block;height:4px;background:var(--line-2);border-radius:2px;margin-top:6px;overflow:hidden}
.rbar i{display:block;height:100%;background:var(--gold)}
.rpts{font-family:var(--f-label);font-size:20px;font-weight:600}
h2 svg.i{width:18px;height:18px;vertical-align:-3px;color:var(--gold)}
@media (max-width:900px){.dtot{grid-template-columns:1fr 1fr}.form.f4{grid-template-columns:1fr 1fr}.form.f5{grid-template-columns:1fr 1fr}.form.f5 .field:first-child{grid-column:1/-1}}
@media (max-width:760px){.fr{grid-template-columns:minmax(0,1fr) 70px 54px 28px}}

/* Dieta do aluno */
.kc{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.kc b{font-family:var(--f-label);font-size:40px;font-weight:600;line-height:1.05}
.kc span{color:var(--muted)}
.mb{display:block;height:6px;background:var(--line-2);border-radius:3px;overflow:hidden}
.mb>i{display:block;height:100%;border-radius:3px}
.mb.big{height:10px}
.mr{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center}
.mr span{display:flex;align-items:center;gap:8px;font-weight:500}
.mr .mb{grid-column:1/-1}
.mr b{font-weight:600}.mr b small{color:var(--muted);font-weight:400;font-size:12px}
.cups{display:flex;flex-wrap:wrap;gap:6px}
.cup{width:34px;height:40px;border-radius:8px;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--dim)}
.cup.on{background:rgba(127,167,217,.18);border-color:var(--pcol);color:var(--pcol)}
.cup svg.i{width:18px;height:18px}
.wk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 8px}
.wd{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0;border-radius:8px}
.wd .lbl{font-size:11px;letter-spacing:.06em}
.wd i{font-style:normal;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;background:conic-gradient(var(--gold) var(--p),var(--line-2) 0);position:relative;z-index:0}
.wd i::before{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--panel);z-index:-1}
.wd.full i{background:var(--ok)}
.wd.on i{box-shadow:0 0 0 2px var(--fg)}
.wd small{font-size:11px;color:var(--muted)}
.wd:disabled{cursor:default}
.mealc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.mealc.done{border-color:rgba(127,179,138,.5)}
.mc-h{display:flex;align-items:center;gap:12px;padding:12px 14px}
.mchk{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;flex:none}
.mchk.on{background:var(--ok);border-color:var(--ok);color:var(--ink)}
.mchk svg.i{width:15px;height:15px;stroke-width:2.6}
.mc-t{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column;gap:2px}
.mc-t b{font-weight:600}.mc-t small{color:var(--muted);font-size:13px}
.mealc .chev{transform:none}.mealc .chev.up{transform:rotate(180deg);color:var(--gold)}
.mc-b{padding:0 14px 14px;display:flex;flex-direction:column}
.mf{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.mf b{display:block;font-weight:500}.mf small{color:var(--muted);font-size:12px}
.mf-r{text-align:right;flex:none}.mf-r small{display:flex;gap:8px;justify-content:flex-end}
.btn.full{justify-content:center;margin-top:10px;padding:13px}
.box.prog{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--fg);color:var(--ink);border-radius:20px;padding:7px 13px;font-size:13px;font-weight:600}
.badge svg.i{width:15px;height:15px}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tile{border-radius:var(--r);padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.tile b{font-family:var(--f-label);font-size:24px;font-weight:600;color:var(--fg)}
.tile .lbl{font-size:11px}
.t1{background:rgba(217,118,106,.14);color:var(--gcol)}.t2{background:rgba(127,167,217,.14);color:var(--pcol)}.t3{background:rgba(127,179,138,.14);color:var(--ok)}
.list.dd{gap:8px}
.ddr{display:grid;grid-template-columns:90px minmax(0,1fr) 84px;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;text-align:left}
.ddr.td{border-color:var(--fg)}.ddr:hover{border-color:var(--gold)}
.ddr b{display:block;font-weight:600}.ddr small{color:var(--muted);font-size:12px}
.ddn{text-align:right}
.adh{display:flex;flex-direction:column;gap:8px}
.adh>div{display:flex;justify-content:space-between;align-items:baseline}
.adh>div b{font-family:var(--f-label);font-size:22px;font-weight:600}
.adh .wk{background:var(--ink)}
.adh .wk .wd i::before{background:var(--ink)}
.form.f5e{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:900px){.form.f5e{grid-template-columns:1fr 1fr}}

/* Login */
.login{position:fixed;inset:0;z-index:50;background:var(--ink);display:grid;grid-template-columns:1.1fr 1fr}
.login .ph{position:relative;overflow:hidden}
.login .ph img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:grayscale(.2) brightness(.8)}
.login .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--ink))}
.login .fm{display:flex;flex-direction:column;justify-content:center;gap:26px;padding:40px max(32px,env(safe-area-inset-right,0px)) 40px 32px;max-width:440px;margin:0 auto;width:100%}
.login .fm .logo{width:260px;max-width:100%}
.login .slogan{font-family:var(--f-label);letter-spacing:.3em;text-transform:uppercase;font-style:italic;color:var(--muted);font-size:14px}
.login .btns{display:flex;flex-direction:column;gap:10px}
.login .btn{justify-content:center;padding:14px}

.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);background:var(--fg);color:var(--ink);padding:10px 16px;border-radius:8px;font-weight:500;opacity:0;pointer-events:none;transition:.25s;z-index:60;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.bnav,.sheet-bg,.sheet{display:none}

@media (max-width:900px){
  .kpis{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr}
  .week{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;padding-bottom:6px}
}
@media (max-width:760px){
  body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--panel)}
  .app{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}
  .side{display:none}
  .top{display:flex;align-items:center;gap:12px;position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--panel);border-bottom:1px solid var(--line);padding-block:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .top .logo{height:26px;width:auto}
  .top .sp{flex:1}
  .wrap{padding-block:22px 110px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));gap:22px}
  h1{font-size:26px}
  .kpi{padding:14px}
  .kpi b{font-size:28px}
  .bnav{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:20;grid-template-columns:repeat(5,1fr);background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
  .bnav a,.bnav button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 8px;text-decoration:none;color:var(--dim);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600}
  .bnav .on{color:var(--gold)}
  .sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:30}
  .sheet{position:fixed;left:0;right:0;bottom:0;z-index:31;background:var(--panel);border-top:1px solid var(--line-2);border-radius:16px 16px 0 0;padding:18px max(16px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));flex-direction:column;gap:6px}
  .sheet.open,.sheet-bg.open{display:flex}
  .sheet a{display:flex;gap:12px;align-items:center;padding:12px 6px;text-decoration:none;border-top:1px solid var(--line)}
  .sheet a:first-of-type{border-top:0}
  .chat{grid-template-columns:1fr;min-height:0}
  .chat.has-thread .chat-list{display:none}
  .chat:not(.has-thread) .thread{display:none}
  .back{display:inline-flex}
  .form{grid-template-columns:1fr}
  .login{grid-template-columns:1fr;grid-template-rows:42vh 1fr;overflow-y:auto}
  .login .ph::after{background:linear-gradient(180deg,transparent 50%,var(--ink))}
  .login .fm{justify-content:flex-start;padding:8px max(24px,env(safe-area-inset-right,0px)) 32px max(24px,env(safe-area-inset-left,0px))}
  .hide-m{display:none}
  .profile .facts{margin-left:0;width:100%;justify-content:space-between}
}
@media (min-width:761px){.back{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- App real ---------- */
.loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px max(24px,env(safe-area-inset-right,0px)) 24px max(24px,env(safe-area-inset-left,0px));text-align:center;background:var(--ink);z-index:40}
.loading .logo{width:220px;max-width:70%}
.loading p{color:var(--muted);max-width:420px;margin:0 auto 12px}
.lform{display:flex;flex-direction:column;gap:12px}
.lform input{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;outline:none;font-size:16px}
.lform input:focus{border-color:var(--gold)}
.lform .btn{justify-content:center;padding:14px}
.lform .lnk{align-self:center}
.lmsg{min-height:20px;margin:0;font-size:14px;color:var(--muted)}
.lmsg.bad{color:var(--bad)}
.ldiv{display:flex;align-items:center;gap:12px;color:var(--dim);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.2em;font-size:11px}
.ldiv::before,.ldiv::after{content:"";flex:1;height:1px;background:var(--line)}
#lgoogle{justify-content:center;padding:12px}
.sync{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;padding:0 6px}
.sync::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.sync.saving::before{background:var(--warn)}.sync.err::before{background:var(--bad)}
.side-foot .btn.sm{justify-content:center}
.bnav a,.bnav button{position:relative}
.bdg{position:absolute;top:4px;left:calc(50% + 6px);background:var(--gold);color:var(--ink);border-radius:9px;font-size:10px;padding:0 5px;line-height:16px;letter-spacing:0}
.dsep{align-self:center;font-size:11px;color:var(--dim);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.14em;padding:6px 0}
.compose textarea{flex:1;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;outline:none;resize:none;max-height:120px;color:var(--fg)}
.compose textarea:focus{border-color:var(--gold)}
.msg{white-space:normal;word-wrap:break-word}
.blk.done{border-color:rgba(127,179,138,.5)}
.blk.done .t b{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--ok)}
.sets.ro .sh,.sets.ro .sr{grid-template-columns:20px minmax(0,1.3fr) repeat(3,minmax(0,1fr))}
.sets.ro .sr{font-size:14px;padding:4px 0;border-top:1px solid var(--line)}
.pse{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.pse button{padding:10px 0;border-radius:8px;border:1px solid var(--line-2);font-weight:600;font-variant-numeric:tabular-nums}
.pse button.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.meRow{background:var(--gold-soft);border-radius:8px;padding-left:8px;padding-right:8px}
.lnkbox{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13px}
.box.unr{flex-direction:row;align-items:center;gap:12px;text-decoration:none;border-color:var(--gold)}
.box.unr svg.i{color:var(--gold)}.box.unr span:nth-child(2){flex:1}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.streak{display:flex;gap:6px}
.streak i{flex:1;height:6px;border-radius:3px;background:var(--line-2)}
.streak i.on{background:var(--gold)}
.wd i svg.i{width:16px;height:16px;stroke-width:2.6}
.wd.full i{color:var(--ink)}
a.btn{text-decoration:none}
button:disabled{opacity:.5;cursor:default}
html,body{height:100%}
body{background:var(--ink)}
@media (max-width:760px){.top{padding-top:calc(12px + env(safe-area-inset-top,0px))}body::before{display:none}.login .fm{gap:18px}}
.side{padding-top:calc(28px + env(safe-area-inset-top,0px))}
.login .fm{gap:20px}
@media (max-width:760px){.login{grid-template-rows:34vh 1fr}.login .fm .logo,.login .fm>.rule{display:none}}
/* Ajustes para o app instalado no iPhone (tela cheia) */
@media (max-width:760px){
 .top{top:0}
 .bnav{bottom:calc(-1 * var(--bgap,0px));padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--bgap,0px))}
 .sheet{bottom:calc(-1 * var(--bgap,0px));padding-bottom:calc(18px + env(safe-area-inset-bottom,0px) + var(--bgap,0px))}
}
html{background:var(--ink)}

/* Tema claro (escolha do usuário) */
:root[data-theme="light"]{--ink:#F6F4EF;--panel:#FFFFFF;--raised:#F1EEE7;--line:#E4DFD5;--line-2:#D3CDC1;--fg:#17160F;--muted:#686258;--dim:#9A948A;--pcol:#3F6FB5;--ccol:#A8802A;--gcol:#C0533F;--gold:#A8803F;--gold-soft:rgba(168,128,63,.12);--ok:#3E8A52;--warn:#B07C22;--bad:#C0533F;color-scheme:light}
.logo-l{display:none!important}
:root[data-theme="light"] .logo-d{display:none!important}
:root[data-theme="light"] .logo-l{display:block!important}
:root[data-theme="light"] .top .logo-l{display:inline!important}
.hero{background:#141413;color:#F2EEE6;border-color:#2A2824}
.hero .meta{color:#B9B2A6}
:root[data-theme="light"] .hero .lbl{color:#E0C08A!important}
:root[data-theme="light"] .login .ph::after{background:linear-gradient(90deg,transparent 60%,var(--ink))}
:root[data-theme="light"] .modal-bg,:root[data-theme="light"] .sheet-bg{background:rgba(23,22,15,.45)}
:root[data-theme="light"] .box,:root[data-theme="light"] .bcol,:root[data-theme="light"] .exr,:root[data-theme="light"] .card,:root[data-theme="light"] .mealc,:root[data-theme="light"] .proto{box-shadow:0 1px 2px rgba(23,22,15,.05)}
/* Troca de senha */
.pwbox{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px;text-align:left}
.pwbox h2{text-align:center}
.pwbox input{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;outline:none;font-size:16px}
.pwbox input:focus{border-color:var(--gold)}
.pwbox .btn{justify-content:center;padding:14px}
/* Citação de exercício no chat */
.qbox{display:flex;align-items:center;gap:10px;margin:0 12px;padding:10px 12px;border-left:3px solid var(--gold);background:var(--gold-soft);border-radius:8px}
.qbox>div{flex:1;min-width:0;display:flex;flex-direction:column}
.qbox b{font-weight:600}.qbox small{color:var(--muted);font-size:12px}
.mq{display:flex;flex-direction:column;border-left:3px solid currentColor;padding:4px 8px;margin:0 0 6px;border-radius:4px;background:rgba(127,127,127,.12);font-size:13px}
.mq small{opacity:.75;font-size:12px}
.msg.me .mq{border-color:rgba(11,11,10,.55)}
.blk-h .ibs2{display:flex;gap:6px;flex:none}
.msg.me{display:block;border:0;padding:10px 14px;border-radius:12px;border-bottom-right-radius:4px}
.msg.me .mq{background:rgba(11,11,10,.12)}
.msg .mq small{color:inherit!important;opacity:.8}

/* ---------- Treino em andamento ---------- */
.wkhead{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px}
.wkt-t{flex:1;min-width:0;display:flex;flex-direction:column}
.wkt-t b{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.06em;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wkt-t small{color:var(--muted);font-size:12px}
.wkel{font-size:15px;color:var(--gold);font-weight:600}
.rbtn{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:6px 10px;border-radius:16px;border:1px solid var(--line-2);color:var(--muted);white-space:nowrap}
.rbtn svg.i{width:14px;height:14px}.rbtn.on{color:var(--gold);border-color:var(--gold)}
.wkc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}
.wkc.done{border-color:rgba(127,179,138,.6)}
.wkc-h{display:flex;align-items:center;gap:10px}
.wkc-h b{flex:1;min-width:0;font-weight:600;font-size:15px;line-height:1.25}
.wn{width:30px;height:30px;border-radius:8px;background:var(--fg);color:var(--ink);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.wkc.done .wn{background:var(--ok)}
.wn svg.i{width:16px;height:16px;stroke-width:2.6}
.ib.fold svg.i{transform:rotate(-90deg);transition:transform .2s}.ib.fold.open svg.i{transform:rotate(180deg)}
.wknote{margin:0;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wknote.all{display:block}
.lnk.sm{font-size:12px;margin-top:-6px}
.wkt{display:flex;flex-direction:column}
.wkr{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.1fr) 40px;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.wkr.wkh{border-top:0;padding:2px 0;font-size:11px;color:var(--dim);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.wkr.wkh span:nth-child(n+2){text-align:center}.wkr.wkh svg.i{width:14px;height:14px}
.sn{display:flex;flex-direction:column;gap:2px}
.sn b{display:inline-flex;align-items:center;gap:3px;justify-content:center;width:40px;height:30px;border:1.5px solid var(--line-2);border-radius:8px;font-size:13px}
.sn b svg.i{width:11px;height:11px;color:var(--muted)}
.sn small{display:flex;align-items:center;gap:2px;font-size:10px;color:var(--dim)}.sn small svg.i{width:10px;height:10px}
.pv{text-align:center;font-size:11px;color:var(--muted);line-height:1.2}
.wkr input{width:100%;min-width:0;text-align:center;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 4px;font-size:16px;outline:none}
.wkr input:focus{border-color:var(--gold)}
.chk{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--line-2);display:grid;place-items:center;color:var(--dim)}
.chk svg.i{width:16px;height:16px;stroke-width:2.6}
.chk.on{background:var(--ok);border-color:var(--ok);color:#0B0B0A}
.wkr.ok input{border-color:rgba(127,179,138,.6)}
.chk.big{width:auto;height:auto;display:inline-flex;gap:8px;padding:10px 14px;align-self:flex-start}
.wkcar{display:flex;flex-direction:column;gap:10px}.wkcar p{margin:0}
.wkc-f{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--line);padding-top:10px}
.wkc-f button{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:8px;font-size:13px;font-weight:500;color:var(--fg)}
.wkc-f button:hover{background:var(--raised)}.wkc-f svg.i{width:16px;height:16px}
.wkcancel{align-self:center;color:var(--muted)}
.wkbar{position:sticky;bottom:12px;z-index:7;display:flex;flex-direction:column;gap:8px;margin-top:6px}
.wkbtns{display:flex;gap:10px;align-items:center}
.wkmain{flex:1;justify-content:center;padding:15px;font-size:14px;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.btn.okb{background:var(--ok);color:#0B0B0A}
.crono{width:52px;height:52px;border-radius:50%;background:var(--fg);color:var(--ink);display:grid;place-items:center;flex:none;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.crono svg.i{width:24px;height:24px}.crono.run{background:var(--gold)}
.restbar{display:flex;align-items:center;gap:8px;background:var(--raised);border:1px solid var(--gold);border-radius:12px;padding:8px 10px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.restbar span{display:flex;align-items:center;gap:6px;flex:1;font-size:13px;color:var(--muted)}.restbar svg.i{width:16px;height:16px;color:var(--gold)}
.restbar b{font-size:22px;font-family:var(--f-label);font-weight:600}
.restbar button{padding:6px 9px;border-radius:8px;border:1px solid var(--line-2);font-size:12px;font-weight:600}
.ovl{position:fixed;inset:0;z-index:45;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center}
.ovl.center{align-items:center;padding:16px}
.sheetx{position:relative;width:100%;max-width:520px;max-height:90%;overflow-y:auto;background:var(--panel);border:1px solid var(--line-2);border-radius:18px 18px 0 0;padding:20px max(18px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px) + var(--bgap,0px)) max(18px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:14px}
.ovl.center .sheetx{border-radius:18px;padding-bottom:20px;text-align:center;align-items:center}
.sheetx h2 svg.i{width:20px;height:20px;vertical-align:-3px;color:var(--gold)}
.sheetx .xbtn{flex:none}.sheetx.fin .xbtn{position:absolute;top:12px;right:12px}
.cbig{font-family:var(--f-label);font-size:64px;font-weight:600;text-align:center;line-height:1}
.cpick{display:flex;align-items:center;justify-content:center;gap:12px}
.cpick label{display:flex;flex-direction:column;align-items:center;gap:4px}
.cpick select{font-size:24px;padding:8px 14px;border-radius:10px;background:var(--ink);border:1px solid var(--line-2);color:var(--fg)}
.cpick small{color:var(--muted);font-size:12px}
.cbtns{display:flex;justify-content:center;gap:18px}
.cplay,.cstop{width:60px;height:60px;border-radius:50%;display:grid;place-items:center}
.cplay{background:var(--fg);color:var(--ink)}.cstop{background:var(--bad);color:#fff}
.cplay svg.i,.cstop svg.i{width:24px;height:24px}.cplay svg.i{fill:currentColor}
.emo{font-size:56px;line-height:1}
.pv2{font-family:var(--f-label);font-size:28px;font-weight:600;line-height:1}
.fin input[type=range]{width:100%;accent-color:var(--gold)}
.fin .rl{width:100%;display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:-8px}
.fin textarea{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--fg);resize:none;outline:none}
.fin .tools{width:100%;display:grid;grid-template-columns:1fr 1fr}.fin .tools .btn{justify-content:center;padding:13px}
.concl{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding-top:10px}
.tro{width:88px;height:88px;border-radius:50%;background:var(--gold-soft);display:grid;place-items:center;color:var(--gold)}
.tro svg.i{width:44px;height:44px}
.ctiles{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ctiles>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;align-items:center;gap:4px}
.ctiles svg.i{color:var(--gold)}.ctiles b{font-family:var(--f-label);font-size:28px;font-weight:600}.ctiles small{color:var(--muted);font-size:12px}
.box.cdes{width:100%;flex-direction:row;align-items:center;gap:12px;text-decoration:none;text-align:left}
.cdes div{flex:1;display:flex;flex-direction:column}.cdes small{color:var(--muted)}.cdes>svg.i{color:var(--gold)}
@media (max-width:760px){body.wkmode .bnav,body.wkmode .top{display:none}body.wkmode .wrap{padding-top:calc(10px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}body.wkmode .wkbar{bottom:calc(10px + env(safe-area-inset-bottom,0px))}}
@media (max-width:420px){.wkr{grid-template-columns:46px minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr) 36px;gap:6px}}
@media (max-width:760px){.app{grid-template-rows:minmax(0,1fr)!important}.main{min-height:0;height:100%}}
#appRoot{height:100%}
body.wkmode .toast{bottom:auto;top:calc(76px + env(safe-area-inset-top,0px))}
.fbta{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--fg);resize:none;outline:none;font-size:16px}.fbta:focus{border-color:var(--gold)}.fbt{display:grid;grid-template-columns:1fr 1.4fr}.fbt .btn{justify-content:center;padding:13px}

.wkr input:disabled{opacity:.55}
.chk.off{opacity:.45}
.dsum{gap:10px;padding:14px 16px}
.dsum-k{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.dsum-k b{font-family:var(--f-label);font-size:26px;font-weight:600}
.dsum-k span{color:var(--muted);font-size:14px}
.mrow3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mrc{display:flex;flex-direction:column;gap:4px;min-width:0}
.mrc span{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.mrc .dot{width:7px;height:7px}
.mrc b{font-size:14px;font-weight:600}.mrc b small{color:var(--muted);font-weight:400;font-size:11px;margin-left:2px}
.mrc .mb{height:4px}
.dagua{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:10px;font-size:14px}
.dagua svg.i{width:18px;height:18px;color:var(--pcol)}.dagua span{flex:1;color:var(--muted)}.dagua b{font-weight:600}
.dh2{margin-top:4px}

.fmod{max-width:640px;text-align:left!important;align-items:stretch!important}
.finfo{display:flex;align-items:center;gap:8px;background:var(--raised);border-radius:10px;padding:10px 12px;font-weight:600;font-size:14px}
.finfo svg.i{width:18px;height:18px;color:var(--gold)}
.fmore{display:inline-flex;align-items:center;gap:4px}.fmore svg.i{width:14px;height:14px}
.pors{display:flex;flex-direction:column;gap:8px}
.por{display:grid;grid-template-columns:18px minmax(0,1.3fr) auto minmax(0,1fr) auto 36px;gap:8px;align-items:center}
.por select,.por input{width:100%;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--fg);outline:none}
.por .del{color:var(--bad)}
.fmb{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
tr[data-fdedit]{cursor:pointer}
.fqty{display:flex;gap:4px;align-items:center;min-width:0}
.fqty input{flex:1;min-width:44px}
.fqty select{flex:1.4;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px 4px;color:var(--fg);font-size:12px}
.fqty small{color:var(--muted)}
.fr{grid-template-columns:minmax(0,2fr) minmax(0,1.6fr) repeat(4,minmax(0,.6fr)) 28px}
@media (max-width:760px){.fr{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 48px 28px}.por{grid-template-columns:14px minmax(0,1.2fr) auto minmax(0,.9fr) auto 32px;gap:6px}}

.pkmod{max-width:760px;padding:0;gap:0;max-height:min(80vh,720px);display:flex;flex-direction:column;overflow:hidden}
.pks{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.pks>svg.i{color:var(--muted)}
.pks input{flex:1;min-width:0;background:none;border:0;outline:none;font-size:16px;padding:6px 0}
.pkl{flex:1;overflow-y:auto;padding:6px}
.pkh{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;font-size:12px;color:var(--muted)}
.pkrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:9px 10px;border-radius:8px;cursor:pointer;min-width:0}
.pkrow:hover,.pkrow:focus-visible{background:var(--raised)}
.pkrow b{flex:1;min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pkrow small{color:var(--muted);font-size:12px;white-space:nowrap}
.pkrow.grp b{font-weight:600}
.pki{color:var(--muted);display:grid;flex:none}.pki svg.i{width:16px;height:16px}
.pkrow.grp .pki{color:var(--gold)}
.pkg{display:flex;gap:6px;flex:none}
.pkrow .ib{flex:none}
.pkvid{border-top:1px solid var(--line);padding:10px 14px;display:flex;flex-direction:column;gap:8px;background:var(--panel)}
.pkvid .video{max-height:220px}
.pkf{border-top:1px solid var(--line);padding:10px 14px}
@media (max-width:760px){.pkg{display:none}.pkmod{max-height:88vh}}
.pkrow.def{background:var(--gold-soft)}
/* ---- Chat: grupo, online, fotos ---- */
.mrow{display:flex;align-items:flex-end;gap:8px;max-width:100%}
.mrow.mine{justify-content:flex-end}
.mrow .msg{max-width:min(78%,520px)}
.av.sm{width:28px;height:28px;font-size:11px}
.avw{position:relative}
.ondot{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--ok,#3fb950);border:2px solid var(--panel,#141412)}
.gav{background:var(--gold-soft);border-color:var(--gold);color:var(--gold)}
.gav svg.i{width:18px;height:18px}
.mwho{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--gold);margin-bottom:3px}
.mwho .pill{font-size:9px;padding:1px 6px}
.msg.hasimg{padding:5px 5px 8px}
.msg.hasimg .mwho,.msg.hasimg time{padding:0 7px}
.msg.hasimg{font-size:14px}
.mimg{display:block;width:100%;max-width:280px;max-height:340px;object-fit:cover;border-radius:9px;cursor:zoom-in;margin-bottom:4px;background:var(--ink)}
.msg.hasimg>:not(.mimg):not(time):not(.mwho):not(.mq){padding:0 7px}
.mdel{font-size:11px;color:inherit;opacity:.85;text-decoration:underline;padding:0}
.camb{position:relative;overflow:hidden;cursor:pointer;align-self:center;flex:none;color:var(--muted)}
.camb input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.camb:hover{color:var(--gold)}
.pimg{display:flex;align-items:center;gap:10px;margin:0 12px;padding:8px 10px;border:1px solid var(--line-2);border-radius:10px;background:var(--raised)}
.pimg img{width:52px;height:52px;object-fit:cover;border-radius:7px}
.pimg span{flex:1;font-size:13px;color:var(--muted)}
.gmem{display:flex;gap:6px;align-items:center;padding:8px 18px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;font-size:12px;color:var(--muted)}
.gmem::-webkit-scrollbar{display:none}
.gmem>.tab{color:var(--ok,#3fb950);font-weight:600;white-space:nowrap;margin-right:4px}
.gmem>.tab::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok,#3fb950);margin-right:6px;vertical-align:0}
.gm{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:3px 9px;border-radius:99px;background:var(--raised);border:1px solid var(--line);color:var(--fg)}
.gm svg.i{width:12px;height:12px}
.ctabs{margin-bottom:12px}
.ctabs .count{margin-left:4px}
.imgv{z-index:60;background:rgba(0,0,0,.92)}
.imgv img{max-width:100%;max-height:88vh;border-radius:8px;object-fit:contain}
.imgv .xbtn{position:fixed;top:max(14px,env(safe-area-inset-top,0px));right:14px;background:rgba(0,0,0,.5);color:#fff}
:root[data-theme="light"] .imgv{background:rgba(0,0,0,.9)}
@media (max-width:760px){.bnav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.bnav a,.bnav button{letter-spacing:.06em;font-size:10.5px}}
/* ---- Notificações ---- */
.nlist{display:flex;flex-direction:column}
.nrow{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.nrow:first-child{border-top:0;padding-top:4px}
.nrow.nmain{padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.nrow.nmain+.nrow{border-top:0}
.nrow .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.nrow .t b{font-weight:600;font-size:14px}
.nrow .t small{color:var(--muted);font-size:12.5px;line-height:1.35}
.nic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--raised);border:1px solid var(--line);color:var(--gold);flex:none}
.nic svg.i{width:17px;height:17px}
.swt{width:46px;height:28px;border-radius:99px;background:var(--line-2);position:relative;flex:none;transition:background .18s;padding:0}
.swt i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.swt.on{background:var(--gold)}
.swt.on i{transform:translateX(18px)}
.swt:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* ---- Treino presencial ---- */
.cwk{border-color:var(--gold);background:linear-gradient(180deg,var(--gold-soft),transparent 70%)}
.cwk h2 svg.i{width:16px;height:16px;vertical-align:-2px;color:var(--gold)}
.cwkp{display:flex;flex-direction:column;gap:6px}
.cwk .chip svg.i{width:12px;height:12px;margin-right:4px;vertical-align:-1px}
.wkt-t small svg.i{width:11px;height:11px;vertical-align:-1px;margin-right:3px;color:var(--gold)}
.lgh{display:block;text-align:center;font-size:12px;color:var(--dim);max-width:300px;margin:-4px auto 0;line-height:1.4}

/* Logo maior no topo */
.side .logo{width:180px}
@media (max-width:760px){.top .logo{height:36px}.top .mono{width:38px}}
/* Menu de protocolos do aluno */
.ptabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:2px -16px 0;padding:2px 16px 6px;scroll-snap-type:x proximity}
.ptabs::-webkit-scrollbar{display:none}
.ptab{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:132px;max-width:230px;padding:10px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);text-align:left;transition:border-color .15s,background .15s,transform .15s}
.ptab b{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ptab small{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:5px;white-space:nowrap}
.ptab small i{width:7px;height:7px;border-radius:50%;background:var(--dim)}
.ptab.act small i{background:var(--ok)}
.ptab.fut small i{background:var(--gold)}
.ptab.on{border-color:var(--gold);background:linear-gradient(180deg,var(--gold-soft),var(--panel));box-shadow:inset 0 -2px 0 var(--gold)}
.ptab:active{transform:scale(.97)}
.ptab[disabled]{opacity:.45}
.pinfo{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:10px;border:1px dashed var(--line-2);color:var(--muted);font-size:13.5px}
.pinfo svg.i{color:var(--gold);flex:none}
.wkmain[disabled]{opacity:.55}
.proto-hw{display:flex;align-items:center}
.proto-hw .proto-h{flex:1;min-width:0}
.pord{display:flex;flex-direction:column;gap:2px;padding-right:10px}
.pord .ib{width:30px;height:26px}
.pord .ib[disabled]{opacity:.25}
.pfirst{font-size:10px}
/* ---- Métodos ---- */
.wkmet{margin:0;padding:10px 12px;border-radius:10px;background:var(--gold-soft);border-left:3px solid var(--gold)}
.wkmet-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.wkmet-h svg.i{width:15px;height:15px;color:var(--gold)}
.wkmet-h b{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:var(--gold)}
.wkmet-h span{font-size:12px;color:var(--muted)}
.wkmet p{margin:5px 0 0;font-size:13.5px;line-height:1.45;color:var(--fg)}
.smet{display:block;font-style:normal;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);background:var(--gold);border-radius:4px;padding:1px 4px;margin-top:3px;white-space:nowrap;max-width:64px;overflow:hidden;text-overflow:ellipsis}
.wkmet{padding:0}
.wkmet-h{width:100%;padding:10px 12px;text-align:left;color:inherit}
.wkmet-h .mchev{margin-left:auto;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(201,162,106,.18);transition:transform .2s}
.wkmet-h .mchev svg.i{width:14px;height:14px;color:var(--gold)}
.wkmet.open .mchev{transform:rotate(180deg)}
.wkmet p{margin:0;padding:0 12px 11px}
/* ---- Seções de treino e cardio ---- */
.tsec{margin-bottom:2px}
.tsec button[disabled]{opacity:.35;cursor:not-allowed}
.tsec svg.i{width:16px;height:16px}
.cmeta h2 svg.i{width:16px;height:16px;color:var(--gold);vertical-align:-2px}
.tdias{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:0 10px 8px}
.tdias button{height:26px;border-radius:6px;border:1px solid var(--line);font-size:11px;font-weight:600;color:var(--muted)}
.tdias button.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.cgoal .cgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cgoal .cgrid>div{display:flex;flex-direction:column;gap:4px}
.cgoal b{font-size:24px;font-weight:600}
.cgoal b small{font-size:13px;color:var(--muted);font-weight:500}
.cbar{display:block;height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.cbar i{display:block;height:100%;background:var(--gold);border-radius:99px;transition:width .3s}
.cweek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cday{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--muted);position:relative;transition:transform .15s}
.cday small{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-family:var(--f-label);font-weight:600}
.cday b{font-size:17px;color:var(--fg);font-weight:600}
.cday i{height:16px;display:grid;place-items:center}
.cday i svg.i{width:14px;height:14px}
.cday.pres{border-color:var(--gold);background:var(--gold-soft)}
.cday.pres small{color:var(--gold)}
.cday.done{border-color:var(--ok);background:rgba(127,179,138,.14)}
.cday.done i svg.i{color:var(--ok)}
.cday.today b{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.cday.sel{box-shadow:0 0 0 2px var(--fg)}
.cday.fut:not(.pres){opacity:.6}
.cday:active{transform:scale(.95)}
.clegend{display:flex;gap:14px;font-size:12px;color:var(--muted)}
.clegend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.clegend .lp{background:var(--gold-soft);border:1px solid var(--gold)}
.clegend .ld{background:rgba(127,179,138,.25);border:1px solid var(--ok)}
.cdayv{display:flex;flex-direction:column;gap:10px}
.cdayv h2{margin:4px 0 0;font-size:16px}
.ccard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px}
.ccard.done{border-color:var(--ok)}
.ccard-h{display:flex;align-items:center;gap:10px}
.ccard-h .t{display:flex;flex-direction:column}
.ccard-h small{color:var(--muted);font-size:12px}
.ccard.done .wn{background:var(--ok);color:var(--ink)}
.clist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.clist li{display:flex;flex-direction:column;gap:2px;padding:9px 11px;border-radius:9px;background:var(--raised)}
.clist li b{font-size:14px}
.clist li span{font-size:13.5px;color:var(--fg)}
.clist li small{font-size:12px;color:var(--muted)}
.cok{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:600}
.cok svg.i{width:16px;height:16px}
.cextra summary{cursor:pointer;color:var(--gold);font-size:13.5px;padding:4px 0}
.cextra[open]{display:flex;flex-direction:column;gap:10px}
/* ---- Metas da musculação e relatório ---- */
.mweek{gap:10px;padding:12px 14px}
.mw-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.mw-g>div{display:flex;flex-direction:column;gap:3px}
.mw-g b{font-size:19px;font-weight:600}.mw-g b small{font-size:12px;color:var(--muted);font-weight:500}
.mw-d{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mw-d span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0;border-radius:8px;border:1px solid var(--line);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-family:var(--f-label);font-weight:600}
.mw-d span i,.mw-d span svg.i{width:12px;height:12px;display:block}
.mw-d .pres{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}
.mw-d .done{border-color:var(--ok);background:rgba(127,179,138,.14)}
.mw-d .done svg.i{color:var(--ok)}
.mw-d .today small{text-decoration:underline;text-underline-offset:3px}
.mrep-m{min-width:120px;text-align:center;text-transform:capitalize;align-self:center}
.mrep .box-h .ibs [data-calm="1"] svg{transform:rotate(180deg)}
.mrep-k{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mrep-k>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--raised)}
.mrep-k b{font-size:22px;font-weight:600}.mrep-k b small{font-size:12px;color:var(--muted)}
.mrep-k .okc{color:var(--ok)}.mrep-k .midc{color:var(--gold)}
.mrep-t{overflow-x:auto}
.mrep table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:440px}
.mrep th,.mrep td{padding:9px 8px;text-align:center;border-bottom:1px solid var(--line)}
.mrep thead th{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--muted);font-weight:600}
.mrep tbody th{text-align:left;font-weight:500;white-space:nowrap}
.mrep td small{color:var(--muted);font-size:11px}
.mrep td.ok{color:var(--ok);font-weight:600}.mrep td.mid{color:var(--gold);font-weight:600}.mrep td.no{color:var(--bad)}
.mrep tr.fut{opacity:.45}
@media (max-width:760px){.mrep-k{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ---- Arquivados e vencendo ---- */
.parq{border:1px dashed var(--line-2);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.parq summary{cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;font-weight:500;list-style:none}
.parq summary::-webkit-details-marker{display:none}
.parq summary svg.i{width:16px;height:16px}
.parq[open]{gap:10px}
.venc .pill{white-space:nowrap}
.ptabs.secs{overflow:visible;margin:2px 0 0;padding:2px 0 6px}
.ptab.sect{flex:1 1 0;min-width:0;max-width:none}
.ptab.venc small i{background:var(--warn)}
/* ---- Financeiro ---- */
.flist{display:flex;flex-direction:column;gap:8px}
.frow{display:grid;grid-template-columns:minmax(180px,1.3fr) 110px minmax(200px,2fr) auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.frow-a{display:flex;align-items:center;gap:10px;min-width:0}.frow-a .t{display:flex;flex-direction:column;min-width:0}.frow-a small{color:var(--muted);font-size:12.5px}
.frow-v{display:flex;flex-direction:column}.frow-v b{font-size:16px}
.frow-p{display:flex;gap:6px;flex-wrap:wrap}
.fpc{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;border-radius:9px;border:1px solid var(--line-2);min-width:96px;text-align:left}
.fpc span{font-size:11px;color:var(--muted)}.fpc b{font-size:14px}.fpc small{font-size:11px;color:var(--warn);display:flex;align-items:center;gap:3px}
.fpc small svg.i{width:11px;height:11px}
.fpc.paid{border-color:var(--ok);background:rgba(127,179,138,.12)}.fpc.paid small{color:var(--ok)}
.fpc.late{border-color:var(--bad);background:rgba(217,118,106,.1)}.fpc.late small{color:var(--bad)}
.frow-b{display:flex;gap:6px;align-items:center}
.fedit{grid-template-columns:1fr;border-color:var(--gold)}
.fgrid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;align-items:start}
.fparcs{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.fparc{display:flex;align-items:center;gap:6px}.fparc span{font-size:12px;color:var(--muted)}
.fparc input{width:64px}.fparc input[data-fp$="valor"]{width:100px}
.fplans{display:flex;flex-direction:column;gap:6px}.fplan{display:grid;grid-template-columns:1fr 110px auto;gap:6px}
.ib.flip svg{transform:rotate(180deg)}
.pxp{display:flex;flex-direction:column;gap:6px}
.pxc{display:grid;grid-template-columns:auto 70px 1fr auto;gap:10px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.pxc.on{border-color:var(--gold);background:var(--gold-soft)}.pxc small{color:var(--muted)}
.pxv{display:flex;justify-content:space-between;align-items:baseline}.pxv b{font-size:24px}
.pxm{white-space:pre-wrap;word-break:break-all;font-family:inherit;font-size:12.5px;background:var(--raised);border-radius:10px;padding:10px 12px;margin:0;max-height:200px;overflow:auto;color:var(--muted)}
.fplanbox h2{margin:2px 0 6px}
.fpl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fpl b{font-size:20px;font-weight:600;line-height:1.35}
.pxbox{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.fhist{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.fh{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:9px;border:1px solid var(--line);font-size:12px;text-transform:capitalize}
.fh small{font-size:10px;color:var(--muted);text-transform:none}
.fh.ok{border-color:var(--ok)}.fh.ok small{color:var(--ok)}.fh.late{border-color:var(--bad)}.fh.late small{color:var(--bad)}
@media (max-width:760px){.frow{grid-template-columns:1fr auto;gap:10px}.frow-a{grid-column:1}.frow-v{grid-column:2;text-align:right;align-items:flex-end}.frow-p{grid-column:1/-1}.frow-b{grid-column:1/-1}.frow-b .btn{flex:1}.fgrid{grid-template-columns:1fr}.fedit{grid-template-columns:1fr}}
.fpl>div{display:flex;flex-direction:column;gap:4px}.fpl b{font-size:18px}
.fplan input,.fparc input{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 10px;color:var(--fg);outline:none;min-width:0}
.fplan input:focus,.fparc input:focus{border-color:var(--gold)}
.pxm{text-align:left}
.mrep-k{grid-template-columns:repeat(5,minmax(0,1fr))}
.mrep-k>div .cbar{margin-top:4px}.mrep-k>div .hint{font-size:11px;margin-top:2px}
@media (max-width:760px){.mrep-k{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ---- Pódio dos desafios ---- */
.podiumbox{overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,rgba(201,162,106,.16),transparent 60%),var(--panel)}
.live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--bad);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.live i{width:8px;height:8px;border-radius:50%;background:var(--bad);animation:livep 1.4s infinite}
@keyframes livep{0%{box-shadow:0 0 0 0 rgba(217,118,106,.6)}70%{box-shadow:0 0 0 8px rgba(217,118,106,0)}100%{box-shadow:0 0 0 0 rgba(217,118,106,0)}}
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;max-width:560px;margin:0 auto;width:100%;padding-top:8px}
.pd{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;min-width:0}
.pd .trofeu{width:74px;height:74px;margin-bottom:-2px;filter:drop-shadow(0 6px 14px rgba(201,162,106,.35));animation:tfloat 3s ease-in-out infinite}
@keyframes tfloat{50%{transform:translateY(-4px)}}
.pd-av{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-label);font-weight:700;font-size:17px;background:var(--raised);border:2px solid var(--line-2)}
.pd1 .pd-av{width:62px;height:62px;border-color:#E2C17F;box-shadow:0 0 0 4px rgba(201,162,106,.18)}
.pd2 .pd-av{border-color:#C9CDD2}.pd3 .pd-av{border-color:#C08457}
.pd-n{font-size:14px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd small{color:var(--muted);font-size:12px}
.pd-pr{font-size:11px;color:var(--gold);background:var(--gold-soft);border-radius:99px;padding:2px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-blk{width:100%;border-radius:10px 10px 0 0;display:grid;place-items:center;margin-top:6px;animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
.pd-blk b{font-family:var(--f-label);font-size:26px;font-weight:700;color:rgba(0,0,0,.55)}
.pd1 .pd-blk{height:120px;background:linear-gradient(180deg,#F0D49C,#B88F55)}
.pd2 .pd-blk{height:88px;background:linear-gradient(180deg,#E3E6EA,#9DA3AA);animation-delay:.15s}
.pd3 .pd-blk{height:64px;background:linear-gradient(180deg,#E0A57A,#9C6539);animation-delay:.3s}
.pd.empty .pd-blk{opacity:.25}.pd.empty .pd-av{opacity:.4}
.pd.pdme .pd-n{color:var(--gold)}
@keyframes rise{from{transform:scaleY(.1);transform-origin:bottom;opacity:0}to{transform:scaleY(1);transform-origin:bottom;opacity:1}}
.rprem{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gold);padding:0 0 8px 52px;margin-top:-4px}
.rprem svg.i{width:13px;height:13px}
.premios{display:flex;flex-direction:column;gap:6px}
.prem{display:flex;align-items:center;gap:10px}.prem input{flex:1}
/* Pinta a faixa inferior que o iPhone deixa fora da tela do app instalado */
body::after{content:'';position:fixed;left:0;right:0;bottom:calc(-1 * var(--bgap,0px));height:calc(var(--bgap,0px) + env(safe-area-inset-bottom,0px));background:var(--panel);z-index:1;pointer-events:none}
.login,.loading{min-height:100%;padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--bgap,0px))}
@media (max-width:760px){body.wkmode::after{background:var(--ink)}}
/* ---- Fotos de perfil ---- */
[data-foto]{background-size:cover;background-position:center;color:transparent!important;font-size:0!important}
.av.xl{width:84px;height:84px;font-size:28px}
.fotorow{display:flex;align-items:center;gap:16px}
.fototxt{display:flex;flex-direction:column;gap:10px;min-width:0}
.fotobtn{position:relative;overflow:hidden;cursor:pointer}
.fotobtn input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
/* iPhone instalado: a faixa abaixo da área do app mostra o fundo do <html>. Com a cor da barra inferior, ela some. */
@media (max-width:760px){
 html{background:var(--panel)}
 html.nobnav{background:var(--ink)}
 body{background:var(--ink);min-height:100%}
}
/* ---- Peso e metabolismo ---- */
.pcard{cursor:pointer}
.prow{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.prow>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.pbig{font-size:30px;font-weight:600;line-height:1.1}.pbig small{font-size:14px;color:var(--muted);font-weight:500}
.pdv{font-size:12.5px;color:var(--muted)}.pdv.dn{color:var(--ok)}.pdv.up{color:var(--warn)}
.pspark{width:150px;height:56px;flex:none}
.pform{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.plist{max-height:320px;overflow-y:auto}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mgrid>div{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:10px;background:var(--raised)}
.mgrid b{font-size:24px;font-weight:600}.mgrid b small{font-size:12px;color:var(--muted);font-weight:500}
.ativs{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.ativ{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);text-align:left}
.ativ b{font-size:14px}.ativ small{font-size:12px;color:var(--muted);line-height:1.3}
.ativ.on{border-color:var(--gold);background:var(--gold-soft)}.ativ.on b{color:var(--gold)}
@media (max-width:760px){.pform{grid-template-columns:1fr 1fr}.pform .btn{grid-column:1/-1}.mgrid{grid-template-columns:1fr}}
/* ---- Meta nutricional ---- */
.nmsum{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:var(--raised)}
.nmsum-v{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.nmsum-v>div{display:flex;flex-direction:column}.nmsum-v b{font-size:22px;font-weight:600}.nmsum-v b small{font-size:12px;color:var(--muted)}
.nmsum-v>span{font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:5px}
.mdot{display:inline-block;width:9px;height:9px;border-radius:2px;vertical-align:0}.mdot.p{background:#5B8DEF}.mdot.c{background:#E2A33B}.mdot.g{background:#D9534F}
.nmodal{max-width:980px;border-radius:18px}
.ovl.center .nmodal{text-align:left;align-items:stretch}
.nmgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nmp{border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}
.nmp h3{margin:0;font-size:15px;font-weight:600;font-family:var(--f-body);letter-spacing:0;text-transform:none}
.nmrow{display:grid;grid-template-columns:110px 1fr 1fr;gap:10px;align-items:center}.nmrow>span{display:flex;align-items:center;gap:7px;font-size:14px}
.nmrow:first-of-type{grid-template-columns:110px 1fr}
.nmin{display:flex;align-items:center;gap:6px}.nmin input{width:100%;min-width:0;text-align:right;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--fg);outline:none;font-variant-numeric:tabular-nums}
.nmin input:focus{border-color:var(--gold)}.nmin small{color:var(--muted);font-size:12px;min-width:30px}
.nmin.wide{max-width:200px}
.nmfoot{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:10px;font-size:12.5px;color:var(--muted)}
.nmfoot b{color:var(--fg)}.nmfoot .warn b{color:var(--warn)}
.nminfo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}
.nminfo>*{display:flex;flex-direction:column;gap:3px}.nminfo small{font-size:12px;color:var(--muted)}.nminfo b{font-size:14.5px}
.nminfo input{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--fg);outline:none}
.nmres{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nmres>div{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.nmres b{font-size:26px;font-weight:700}.nmres b.ok{color:var(--ok)}.nmres small{font-size:12px;color:var(--muted)}
@media (max-width:760px){.nmgrid{grid-template-columns:1fr}.nminfo{grid-template-columns:repeat(2,1fr)}.nmrow{grid-template-columns:90px 1fr 1fr}.nmodal{border-radius:18px 18px 0 0}}
.nmrow>span{white-space:nowrap}
/* ---- Editar treino concluído ---- */
.hrow{align-items:flex-start}.hrow-r{display:flex;align-items:center;gap:6px;flex:none}
.sedit{max-width:620px}
.form.f3{grid-template-columns:repeat(3,minmax(0,1fr))}
.seex{display:flex;flex-direction:column;gap:12px;max-height:44vh;overflow-y:auto}
.seb{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.ser{display:grid;grid-template-columns:44px 1fr 1fr 32px;gap:8px;align-items:center}
.ser.hd span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-family:var(--f-label)}
.ser input{min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--fg);outline:none;text-align:center}
.ser input:focus{border-color:var(--gold)}
@media (max-width:760px){.form.f3{grid-template-columns:1fr 1fr}.form.f3 .field:first-child{grid-column:1/-1}}
/* ---- Engajamento ---- */
.streak{flex-direction:row;align-items:center;gap:14px}
.streak.on{border-color:rgba(226,130,60,.5);background:linear-gradient(90deg,rgba(226,130,60,.14),transparent 60%),var(--panel)}
.stk-f{font-size:34px;line-height:1}.streak .t{flex:1;display:flex;flex-direction:column;min-width:0}.streak .t b{font-size:20px}.streak .t small{color:var(--muted);font-size:12.5px}
.stk-r{display:flex;flex-direction:column;align-items:flex-end}.stk-r b{font-size:22px;color:var(--gold)}
.ckin .ckr{display:flex;align-items:center;justify-content:space-between;gap:8px}.ckr>span{font-size:13.5px;color:var(--muted);min-width:90px}
.ckr>div{display:flex;gap:4px}.ckr button{width:38px;height:38px;border-radius:10px;font-size:20px;border:1px solid transparent;filter:grayscale(.6);opacity:.65;transition:transform .12s}
.ckr button.on{border-color:var(--gold);background:var(--gold-soft);filter:none;opacity:1;transform:scale(1.08)}
.cksum{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cksum span{display:flex;flex-direction:column;align-items:center;font-size:24px}.cksum small{font-size:11px;color:var(--muted)}
.habg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hab{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.hring{position:relative;width:76px;height:76px;padding:0}.hring svg{width:76px;height:76px}.hring b{position:absolute;inset:0;display:grid;place-items:center;font-size:14px}
.hab small{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-family:var(--f-label);font-weight:600}.hab span{font-size:12.5px}
.hbag{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.hbe{display:flex;gap:8px;align-items:flex-end}.hbe .field{flex:1}
.mural{border-color:var(--gold);background:linear-gradient(160deg,var(--gold-soft),transparent 55%),var(--panel)}
.mural h2 svg.i{color:var(--gold);width:16px;height:16px;vertical-align:-2px}.mural-t{margin:0;font-size:15px;line-height:1.5}
.mural-v{position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:#000}.mural-v img{width:100%;height:100%;object-fit:cover;opacity:.85}
.mural-v span{position:absolute;inset:0;display:grid;place-items:center}.mural-v span svg.i{width:54px;height:54px;color:#fff;background:rgba(0,0,0,.45);border-radius:50%;padding:14px}
.prg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.prc{display:flex;flex-direction:column;gap:1px;padding:10px 12px;border-radius:10px;background:var(--raised)}
.prc small{font-size:12px;color:var(--muted)}.prc b{font-size:19px;color:var(--gold)}
.cqg{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.cq{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:12px;border:1px solid var(--line);text-align:center;filter:grayscale(1);opacity:.4}
.cq span{font-size:28px}.cq small{font-size:11.5px;line-height:1.25}.cq.on{filter:none;opacity:1;border-color:var(--gold);background:var(--gold-soft)}
.cprs{display:flex;flex-direction:column;gap:4px;border-color:var(--gold);text-align:left}.cprs>b{color:var(--gold)}.cprs small{color:var(--muted)}
.fshare{display:flex;align-items:center;gap:8px;font-size:14px;justify-content:center;cursor:pointer}.fshare input{width:18px;height:18px;accent-color:var(--gold)}
.evtrow{flex-direction:column;align-items:center;gap:4px}
.evt{display:flex;align-items:center;gap:10px;max-width:min(92%,520px);padding:10px 14px;border-radius:14px;background:var(--gold-soft);border:1px solid rgba(201,162,106,.4)}
.evt .t{display:flex;flex-direction:column;font-size:14px}.evt time{font-size:11px;color:var(--muted)}
.evt.conq{background:rgba(127,179,138,.12);border-color:rgba(127,179,138,.4)}
.rx{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.rxc{display:inline-flex;align-items:center;gap:3px;font-size:13px;padding:2px 7px;border-radius:99px;background:rgba(0,0,0,.18);border:1px solid transparent}
.rxc b{font-size:11px;font-weight:600}.rxc.mine{border-color:var(--gold);background:var(--gold-soft)}.rxc.add{opacity:.6;font-size:12px}.rxc.opt{font-size:16px;background:var(--raised)}
.msg.me .rxc{background:rgba(0,0,0,.12);color:var(--ink)}
.maud{display:block;width:240px;max-width:100%;height:36px;margin:2px 0 4px}
.camb.rec{color:var(--bad)}
.recbar{display:flex;align-items:center;gap:8px;margin:0 12px;padding:8px 12px;border-radius:10px;background:rgba(217,118,106,.12);font-size:13px}
.recbar i{width:9px;height:9px;border-radius:50%;background:var(--bad);animation:livep 1.2s infinite}.recbar b{margin-right:auto}
.pimg audio{height:36px;flex:1}
.fevent{flex-direction:row;align-items:center;gap:12px;text-decoration:none;color:inherit}.fevent svg.i{color:var(--gold);width:22px;height:22px}.fevent .t{flex:1;display:flex;flex-direction:column}.fevent small{color:var(--muted)}
.fevg{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.fev{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:3/4;padding:0;border:2px solid transparent}.fev img{width:100%;height:100%;object-fit:cover}
.fev span{position:absolute;left:0;right:0;bottom:0;padding:4px 6px;font-size:11px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;text-align:left}
.fev.on{border-color:var(--gold)}.fevdel{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;display:grid;place-items:center;font-style:normal;font-size:12px}
.fcmp{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fcmp figure{margin:0;display:flex;flex-direction:column;gap:4px}.fcmp img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px}.fcmp figcaption{font-size:12.5px;color:var(--muted);text-align:center}
.ckt{overflow-x:auto}.ckt table{border-collapse:collapse;font-size:14px;min-width:560px;width:100%}.ckt th,.ckt td{padding:5px 4px;text-align:center}.ckt tbody th{text-align:left;font-size:12.5px;color:var(--muted);font-weight:500;white-space:nowrap}.ckt thead th{font-size:11px;color:var(--dim)}
.mural-v{max-height:210px;aspect-ratio:auto;height:190px}
.mural{padding:0;gap:0}
.mural-h{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;text-align:left;color:inherit;min-width:0}
.mural-h>svg.i{width:16px;height:16px;color:var(--gold);flex:none}
.mural-h b{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.06em;font-size:13px;white-space:nowrap}
.mural-p{flex:1;min-width:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mural .mchev{margin-left:auto;flex:none}.mural.open .mchev{transform:rotate(180deg)}
.mural.open{padding-bottom:14px}.mural.open>:not(.mural-h){margin:0 14px}.mural.open>*+*{margin-top:10px}
/* ---- Treino: menu inferior até iniciar, treino em andamento visível, alongamento ---- */
@media (max-width:760px){body:not(.wkmode) .wkbar{bottom:calc(78px + env(safe-area-inset-bottom,0px))}}
.wkrun{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(217,118,106,.35);background:rgba(217,118,106,.08)}
.wkrun>span{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}
.wkrun>span i{width:9px;height:9px;border-radius:50%;background:var(--ok);animation:livep 1.4s infinite}
.wkbanner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;text-decoration:none;color:var(--ink);background:linear-gradient(90deg,#E7C78E,var(--gold));box-shadow:0 6px 20px rgba(201,162,106,.25);animation:wkbp 2.4s ease-in-out infinite}
.wkbanner .t{flex:1;display:flex;flex-direction:column;min-width:0}.wkbanner b{font-size:14.5px}.wkbanner small{font-size:12.5px;opacity:.8}
.wkb-i{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(0,0,0,.12)}.wkb-i svg.i{width:20px;height:20px}
.wkb-go{font-weight:700;font-size:13px;white-space:nowrap}
@keyframes wkbp{50%{box-shadow:0 6px 26px rgba(201,162,106,.5)}}
.rundot{position:absolute;top:6px;right:calc(50% - 18px);width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px var(--panel);animation:livep 1.4s infinite}
.ptabs.secs .ptab.sect b{font-size:12px}.ptabs.secs .ptab.sect small{font-size:11px}
.ptabs.secs .ptab.sect{padding:9px 10px}
.ptabs.secs .ptab.sect b{font-size:11.5px;letter-spacing:.02em}
.wkrun .btn{flex:none}
.ptabs.secs{gap:6px}.ptabs.secs .ptab.sect{padding:9px 9px}.ptabs.secs .ptab.sect b{font-size:11.5px;letter-spacing:0}
.rkbox .rpts small{font-size:11px;color:var(--muted);font-weight:500}
.rkic{display:flex;gap:2px;font-size:15px;line-height:1.2}
.rkrow .t{min-width:0}
.cfree{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px dashed var(--line-2);border-radius:12px}
.cfree>b{font-size:14px}
.cfree-f{display:grid;grid-template-columns:1.4fr 1fr auto;gap:8px;align-items:end}
.ccard.livre .ccard-h{align-items:center}.ccard.livre .t{flex:1}
.cextra{display:flex;flex-direction:column;gap:10px}.cextra[open]>summary{margin-bottom:6px}
@media (max-width:760px){.cfree-f{grid-template-columns:1fr 1fr}.cfree-f .btn{grid-column:1/-1}}
@media (max-width:760px){.htools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}.htools .btn{padding-left:6px;padding-right:6px;font-size:11px;letter-spacing:.06em;justify-content:center;white-space:nowrap}.htools .btn svg.i{width:14px;height:14px}}
.btn.late{position:relative;background:rgba(217,118,106,.16);border:1px solid var(--bad);color:var(--bad);animation:latep 2s ease-in-out infinite}
.btn.late .ldot{position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 2px var(--ink)}
@keyframes latep{50%{box-shadow:0 0 0 4px rgba(217,118,106,.18)}}
/* ===== Leitura maior: letras e botões um pouco maiores (principalmente no celular) ===== */
body{font-size:16px}
.btn{font-size:14px;padding:12px 18px}
.btn.sm{font-size:13px;padding:9px 14px}
.btn svg.i{width:18px;height:18px}
.lbl{font-size:12.5px;letter-spacing:.14em}
.hint{font-size:14px}
.row .t small{font-size:14px}
.row .t b{font-size:16px}
.chip{font-size:14px;padding:9px 14px}
.field input,.field select,.field textarea{font-size:16px;padding:12px 13px}
.msg{font-size:15.5px}
.msg time{font-size:12px}
.compose textarea{font-size:16px}
.seg button{font-size:15px;padding:10px 12px}
.ptab b{font-size:14px}.ptab small{font-size:12.5px}
.pill{font-size:11.5px}
.wkr input{font-size:18px}
.wkc-h b{font-size:17px}
.wknote{font-size:14px}
.wkmet-h b{font-size:14px}.wkmet-h span{font-size:13px}.wkmet p{font-size:15px}
.clist li span{font-size:15px}
.ckr>span{font-size:14.5px}.ckr button{width:42px;height:42px;font-size:22px}
.nrow .t b{font-size:15.5px}.nrow .t small{font-size:13.5px}
@media (max-width:760px){
 h1{font-size:30px}
 h2{font-size:17px}
 .bnav a,.bnav button{font-size:11.5px;gap:4px;padding:11px 0 9px}
 .bnav svg.i{width:24px;height:24px}
 .ptabs.secs .ptab.sect b{font-size:12.5px}
 .ptabs.secs .ptab.sect small{font-size:12px}
 .htools .btn{font-size:12px;padding:11px 6px}
 .htools .btn svg.i{width:16px;height:16px}
 .cday small{font-size:12px}.cday b{font-size:19px}
 .mw-d span{font-size:11px}
 .hab small{font-size:12.5px}.hab span{font-size:13.5px}
 .wkr{gap:8px}
}
@media (max-width:760px){.ptabs.secs .ptab.sect b{font-size:11.5px}.ptabs.secs .ptab.sect{padding:9px 8px}.streak .t b{font-size:19px}.streak .t small{font-size:13px}.stk-r .lbl{font-size:11px;letter-spacing:.08em}}

/* ---------- Agenda / Matriz / Mês ---------- */
:root{--ag-p:#7FA6D9;--ag-x:#6FC2C0}
:root[data-theme="light"]{--ag-p:#3F6FB5;--ag-x:#2C8C89}
.ag-back{display:inline-flex;align-items:center;gap:2px;margin-bottom:-6px}
.ag-back svg.i{width:18px;height:18px}
.ag-ub{position:relative}
.ag-ub i{font-style:normal;background:var(--gold);color:var(--ink);border-radius:10px;padding:0 6px;font-size:11px;margin-left:2px}
.ag-ub:disabled{opacity:.45;cursor:default}
.ag-top{gap:14px}
.ag-nav{display:flex;align-items:center;gap:8px}
.ag-nav b{flex:1;text-align:center;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;font-size:14px}
.ag-nb{width:40px;height:40px;border:1px solid var(--line-2);border-radius:8px;color:var(--fg)}
.ag-nb svg.i{width:20px;height:20px}
.ag-hoje{order:5}
.ag-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ag-days button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border-radius:10px;border:1px solid var(--line);color:var(--muted);font-size:12px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;position:relative}
.ag-days button b{font-size:18px;color:var(--fg);font-family:var(--f-body);letter-spacing:0}
.ag-days button.td{border-color:var(--gold)}
.ag-days button.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.ag-days button.on b{color:var(--ink)}
.ag-days button.hol::after{content:'';position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--bad)}
.ag-dayh{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ag-big{display:block;font-family:var(--f-display,var(--f-label));font-size:34px;line-height:1.1;margin-top:4px}
.ag-kps{display:flex;gap:8px}
.ag-kpi{background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;min-width:92px}
.ag-kpi b{font-size:24px;line-height:1.15}
.ag-kpi small{color:var(--muted);font-size:12px}
.ag-kpi.ok b{color:var(--ok)}.ag-kpi.bad b{color:var(--bad)}.ag-kpi.warn b{color:var(--warn)}.ag-kpi.blue b{color:var(--ag-p)}.ag-kpi.gold b{color:var(--gold)}
.ag-k4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ag-k4:not(.in) .ag-kpi{background:var(--panel)}
.ag-bar{height:8px;border-radius:6px;background:var(--line);overflow:hidden}
.ag-bar i{display:block;height:100%;background:var(--ok);border-radius:6px;transition:width .3s}
.ag-top .hint{margin-top:-6px}
.ag-tip{font-size:12.5px!important}
.ag-lb{padding:8px 14px}
.ag-list{display:flex;flex-direction:column}
.ag-list>*+*{border-top:1px solid var(--line)}
.ag-it{display:flex;align-items:center;gap:12px;padding:11px 0;min-width:0}
.ag-tm{width:46px;flex:none;font-weight:600;font-size:14px;color:var(--muted)}
.ag-tile{width:40px;height:40px;border-radius:10px;flex:none;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold)}
.ag-tile svg.i{width:20px;height:20px}
.ag-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.ag-tx b{font-weight:600;overflow-wrap:anywhere;line-height:1.3}
.ag-tx small{color:var(--muted);font-size:13px}
.ag-acts{display:flex;align-items:center;gap:6px;flex:none}
.ag-ib{border:1px solid var(--line-2);width:38px;height:38px;border-radius:8px}
.ag-un{color:var(--gold)}
.ag-ck{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ok);color:#0B0B0A}
.ag-ck svg.i{width:22px;height:22px;stroke-width:2.6}
.st-r .ag-tile,.ag-it.st-r .ag-tile{background:rgba(127,179,138,.16);color:var(--ok)}.st-r .ag-tx small{color:var(--ok)}
.st-c .ag-tile{background:rgba(217,168,78,.16);color:var(--warn)}.st-c .ag-tx small{color:var(--warn)}
.st-s .ag-tile{background:rgba(217,118,106,.16);color:var(--bad)}.st-s .ag-tx small{color:var(--bad)}
.st-p .ag-tile{background:rgba(127,166,217,.16);color:var(--ag-p)}.st-p .ag-tx small{color:var(--ag-p)}
.st-x .ag-tile{background:rgba(111,194,192,.16);color:var(--ag-x)}.st-x .ag-tx small{color:var(--ag-x)}
.st-n .ag-tile{background:var(--raised);color:var(--dim)}
.st-f .ag-tile{background:transparent;border:1px dashed var(--line-2);color:var(--dim)}.st-f .ag-tx b{color:var(--dim);font-weight:500}
.ag-swr{position:relative;overflow:hidden}
.ag-swd{position:absolute;inset:0 0 0 auto;width:110px;background:var(--bad);color:#0B0B0A;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:600}
.ag-swi{position:relative;background:var(--panel);transition:transform .2s;touch-action:pan-y}
.ag-swr.open .ag-swi{transform:translateX(-110px)}
.ag-panel{background:var(--raised);border:1px solid var(--gold);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px;margin:8px 0}
.ag-pt{font-weight:600}
.ag-prow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ag-opt{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;padding:11px 14px;border:1px solid var(--line-2);border-radius:10px;background:var(--panel)}
.ag-opt:hover{border-color:var(--gold)}
.ag-opt small{color:var(--muted);font-size:13px}
.ag-pick{display:flex;flex-wrap:wrap;gap:8px}
.ag-chip{padding:9px 14px;border-radius:20px;border:1px solid var(--line-2);background:var(--panel);font-size:14px}
.ag-chip small{color:var(--muted)}
.ag-chip:hover{border-color:var(--gold)}
.ag-g2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn.danger{color:var(--bad);border-color:var(--bad)}
.ag-ban{display:flex;gap:12px;background:rgba(217,118,106,.10);border:1px solid var(--bad);border-radius:var(--r);padding:14px}
.ag-ban>svg.i{color:var(--bad);flex:none;width:22px;height:22px;margin-top:2px}
.ag-ban>div{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.ag-rm{display:flex;flex-wrap:wrap;gap:6px}
.ag-rm span{font-size:13px;border:1px solid var(--line-2);border-radius:20px;padding:3px 10px;color:var(--muted);text-decoration:line-through}
.ag-toast{position:fixed;left:50%;transform:translateX(-50%);width:max-content;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;gap:14px;align-items:center;background:var(--raised);border:1px solid var(--gold);border-radius:12px;padding:10px 16px;box-shadow:0 8px 30px rgba(0,0,0,.4);max-width:calc(100% - 32px);font-size:14px}
.ag-toast .lnk{align-self:center;font-weight:600}
@media (min-width:761px){.ag-toast{bottom:28px}}
/* Matriz */
.ag-cols{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:140px}
.ag-cols>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}
.ag-cols i{display:block;width:70%;max-width:44px;background:var(--gold);border-radius:6px 6px 2px 2px}
.ag-cols span{font-weight:600;font-size:14px}
.ag-cols small{color:var(--muted);font-size:12px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em}
.ag-menu{display:flex;flex-direction:column;gap:10px}
.ag-mn{display:flex;align-items:center;gap:14px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.ag-mn:hover{border-color:var(--gold)}
.ag-mn .t{flex:1;min-width:0;display:flex;flex-direction:column}
.ag-mn .t small{color:var(--muted);font-size:13px}
.ag-mn>svg.i{color:var(--muted)}
.ag-mi{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);flex:none}
.ag-mc{font-size:20px;color:var(--gold)}
.ag-mx{display:flex;flex-direction:column;gap:6px}
.ag-mr{display:grid;grid-template-columns:124px 1fr 40px;gap:8px;align-items:center}
.ag-mr input{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;outline:none;min-width:0;min-height:44px}
.ag-mr input:focus{border-color:var(--gold)}
.ag-mr.on input:not([type=time]){border-color:var(--line-2);background:var(--raised);font-weight:600}
.ag-mr .lnk{align-self:center;font-size:12px}
.ag-row{width:100%;text-align:left;color:inherit}
.ag-row>svg.i{color:var(--muted)}
.ag-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ag-form .full{grid-column:1/-1}
.ag-an.hj{background:var(--gold-soft);border-radius:10px;padding-left:10px;padding-right:10px}
.ag-dt{width:48px;height:48px;border-radius:12px;background:var(--gold);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;flex:none}
.ag-dt b{font-size:18px}.ag-dt small{font-size:11px;text-transform:uppercase}
.ag-dt.off{background:var(--raised);color:var(--muted)}
/* Mês */
.ag-stu .ag-dts{padding:0 0 10px 52px;font-size:13px}
.ag-stu+.ag-stu{border-top:1px solid var(--line)}
.ag-stu .row{border-top:0}
.ag-who{gap:14px}
.ag-whoh{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ag-whoh .btn{margin-left:auto}
.ag-whoh h1{margin:0;font-size:26px;line-height:1.15}
.av.big{width:58px;height:58px;font-size:18px}
.ag-sbar{display:flex;gap:3px;height:22px}
.ag-sbar i{border-radius:4px;min-width:6px}
.q-r{background:var(--ok)}.q-p{background:var(--ag-p)}.q-c{background:var(--warn)}.q-s{background:var(--bad)}.q-n{background:var(--dim)}
.q-a{background:transparent;border:2px dashed var(--line-2)}
.ag-lgd{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--muted)}
.ag-lgd span{display:inline-flex;align-items:center;gap:6px}
.ag-lgd b{color:var(--fg)}
.ag-sw{width:12px;height:12px;border-radius:3px;display:inline-block;box-sizing:border-box}
.ag-seg{min-width:180px}
.ag-wks{display:flex;gap:10px;justify-content:space-around;align-items:flex-end;overflow-x:auto;padding-top:6px}
.ag-wk{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:52px}
.ag-wk .col{display:flex;flex-direction:column-reverse;justify-content:flex-start;min-height:40px}
.ag-wk .col i{display:block;width:30px;margin-top:2px;border-radius:4px;box-sizing:border-box}
.ag-wk b{font-size:13px;margin-top:4px}.ag-wk small{font-size:12px;color:var(--muted)}
.ag-tbl{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ag-tbl>div{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:6px;padding:10px 12px;font-size:14px}
.ag-tbl>div+div{border-top:1px solid var(--line)}
.ag-tbl>div span:not(:first-child){text-align:center}
.ag-tbl .th{color:var(--muted);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:12px;background:var(--ink)}
.ag-tbl .th.tot{color:var(--fg);font-weight:700}
.ag-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ag-cal>span{text-align:center;font-size:12px;color:var(--muted);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em}
.ag-cd{aspect-ratio:1;max-height:52px;border-radius:10px;display:grid;place-items:center;font-weight:600;font-size:14px;background:var(--ink);border:1px solid var(--line);box-sizing:border-box}
.ag-cd.out{opacity:.3}
.ag-cd.td{border:2px solid var(--gold)}
.ag-cd.q-r,.ag-cd.q-p,.ag-cd.q-c,.ag-cd.q-s{color:#0B0B0A;border-color:transparent}
.ag-cd.q-n{color:var(--fg);border-color:transparent}
.ag-cd.q-a{color:var(--gold);border:2px dashed var(--gold);background:transparent}
@media (max-width:760px){
 .ag-k4{grid-template-columns:1fr 1fr}
 .ag-days{gap:4px}.ag-days button{padding:7px 0;font-size:11px}.ag-days button b{font-size:16px}
 .ag-big{font-size:28px}
 .ag-kps{width:100%}.ag-kps .ag-kpi{flex:1}
 .ag-lb{padding:4px 12px}
 .ag-it{gap:10px}.ag-tm{width:40px;font-size:13px}.ag-tile{width:36px;height:36px}
 .ag-acts .btn.sm{padding:8px 10px;font-size:12px;letter-spacing:.08em}
 .ag-form{grid-template-columns:1fr}
 .ag-mr{grid-template-columns:112px 1fr 34px}
 .ag-mr input{padding:10px 8px}
 .ag-whoh .ag-tx{flex-basis:calc(100% - 80px)}
 .ag-whoh .btn{margin-left:0}
 .ag-stu .ag-dts{padding-left:0}
 .ag-whoh h1{font-size:22px}
 .box-h .ag-seg{min-width:150px}
}

/* ---------- Maska Evolve: anamnese e pirâmide ---------- */
:root{--lv1:#C9A26A;--lv2:rgba(201,162,106,.62);--lv3:rgba(201,162,106,.30);--lv4:#3A3732;--lvt1:#0B0B0A;--lvt2:#0B0B0A;--lvt3:var(--fg);--lvt4:var(--muted)}
:root[data-theme="light"]{--lv1:#A8803F;--lv2:rgba(168,128,63,.55);--lv3:rgba(168,128,63,.24);--lv4:#E4DFD5;--lvt1:#fff;--lvt2:#17160F}
.mmaps{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:360px;margin:0 auto;width:100%}
.mmaps figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.mmap{width:100%;height:auto;max-height:300px}
.mbody path{fill:var(--raised);stroke:var(--line-2);stroke-width:1}
.mu path{stroke:var(--ink);stroke-width:1.2;transition:fill .15s}
.mu.lv0 path{fill:var(--panel);stroke:var(--dim);stroke-dasharray:3 2}
.mu.lv1 path{fill:var(--lv1)}.mu.lv2 path{fill:var(--lv2)}.mu.lv3 path{fill:var(--lv3)}.mu.lv4 path{fill:var(--lv4)}
.mu[data-pmu]{cursor:pointer}.mu[data-pmu]:hover path{stroke:var(--gold)}
.mu.sel path{stroke:var(--fg);stroke-width:2.4;stroke-dasharray:none}
.pyr{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%}
.tier{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 12px;border-radius:10px;text-align:center;min-height:58px;justify-content:center;box-sizing:border-box}
.tier.t1{width:58%;background:rgba(201,162,106,.22);border:1px solid var(--lv1)}
.tier.t2{width:72%;background:rgba(201,162,106,.14);border:1px solid var(--lv2)}
.tier.t3{width:86%;background:rgba(201,162,106,.07);border:1px solid var(--lv3)}
.tier.t4{width:100%;background:var(--ink);border:1px solid var(--line-2)}
.tier .tl{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600;color:var(--muted)}
.tier.t1 .tl{color:var(--gold)}
.tc{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}
.pyr.sm .tier{min-height:44px;padding:7px 8px;gap:4px}
.pyr.live .tier.can{cursor:pointer;border-style:dashed}
.pyr.live .tier.can:hover{border-color:var(--gold)}
.muc{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:16px;font-size:13px;font-weight:600;border:1px solid transparent;white-space:nowrap}
.muc.lv1{background:var(--lv1);color:var(--lvt1)}.muc.lv2{background:var(--lv2);color:var(--lvt2)}.muc.lv3{background:var(--lv3);color:var(--lvt3)}.muc.lv4{background:var(--lv4);color:var(--lvt4)}
.muc.lv0{background:var(--panel);border:1px dashed var(--line-2);color:var(--fg)}
button.muc{cursor:grab}
.muc.sel{outline:2px solid var(--fg);outline-offset:2px}
.dsi{font-style:normal;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;font-size:11px;font-weight:800;background:rgba(0,0,0,.25);color:inherit}
.d-up .dsi,.dsi.d-up{background:var(--ok);color:#0B0B0A}.d-nova .dsi{background:var(--ag-p,#7FA6D9);color:#0B0B0A}.d-down .dsi{background:var(--warn);color:#0B0B0A}.d-ret .dsi{background:var(--bad);color:#0B0B0A}.d-mant .dsi{background:var(--fg);color:var(--ink)}.d-man .dsi{display:none}
.pedit{display:flex;flex-direction:column;gap:14px}
.ptray{border:1px dashed var(--line-2);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.ptray .lnk{align-self:center}
.pok{display:flex;gap:6px;align-items:center;justify-content:center}
.pbar{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:5;background:var(--raised);border:1px solid var(--gold);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
@media (min-width:761px){.pbar{bottom:16px}}
.pbtns{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:6px}
.tph{font-size:13px;color:var(--dim)}
.pbtns button{padding:10px 2px;border-radius:8px;border:1px solid var(--line-2);font-size:12.5px;font-weight:600;min-width:0;overflow-wrap:anywhere}
.pbtns button.b1{border-color:var(--lv1)}.pbtns button.on{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.pbtns button:last-child:not(.b4){width:40px}
.pbtns svg.i{width:16px;height:16px}
.pdica{text-align:center}
/* Wizard */
.ahead{display:flex;flex-direction:column;gap:8px}
.ahead h1{margin:0}
.aprog{height:6px;border-radius:4px;background:var(--line);overflow:hidden}
.aprog i{display:block;height:100%;background:var(--gold);transition:width .3s}
.adots{display:flex;gap:6px}
.adots button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);font-size:13px;font-weight:600;color:var(--muted);display:grid;place-items:center}
.adots button.on{border-color:var(--gold);color:var(--gold)}
.adots button.ok{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.adots svg.i{width:14px;height:14px}
.aform{gap:22px}
.aq{display:flex;flex-direction:column;gap:10px}
.aqt{font-weight:600;font-size:16px;line-height:1.35}
.aqt.sm{font-size:14px;margin-top:4px}
.a2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ain{background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px 14px;outline:none;width:100%;box-sizing:border-box;min-height:48px;font-size:16px}
.ain:focus{border-color:var(--gold)}
.aunit{display:flex;align-items:center;gap:8px}.aunit span{color:var(--muted)}
.acards{display:flex;flex-direction:column;gap:8px}
.acards.g2{display:grid;grid-template-columns:1fr 1fr}
.acard{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;padding:12px 14px;border-radius:10px;border:1px solid var(--line-2);background:var(--ink)}
.acard small{color:var(--muted);font-size:13px}
.acard.on{border-color:var(--gold);background:var(--gold-soft);box-shadow:inset 0 0 0 1px var(--gold)}
.acard.on b{color:var(--gold)}
.achips{display:flex;flex-wrap:wrap;gap:8px}
.achip{padding:10px 14px;border-radius:22px;border:1px solid var(--line-2);font-size:14px;background:var(--ink)}
.achip.on{border-color:var(--gold);background:var(--gold);color:var(--ink);font-weight:600}
.achips.n7 .achip,.achips.n10 .achip{min-width:44px;text-align:center;padding:10px 0}
.achips.n10{gap:6px}.achips.n10 .achip{min-width:38px}
.ayn{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:280px}
.ayn .achip{text-align:center}
.aweek{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.aweek button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0;border-radius:10px;border:1px solid var(--line-2);font-weight:600;font-size:13px;min-height:62px;justify-content:center}
.aweek button.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.aweek svg.i{width:16px;height:16px}
.aintro{display:flex;gap:12px;align-items:flex-start;background:var(--gold-soft);border-radius:10px;padding:12px 14px}
.aintro svg.i{color:var(--gold);flex:none;margin-top:2px}.aintro p{margin:0;font-size:14px}
.awarn{display:flex;gap:10px;align-items:flex-start;background:rgba(217,118,106,.10);border:1px solid var(--bad);border-radius:10px;padding:12px 14px}
.awarn svg.i{color:var(--bad);flex:none;margin-top:2px}.awarn p{margin:0;font-size:14px}
.anav{display:flex;justify-content:space-between;gap:10px;position:sticky;bottom:calc(76px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,var(--ink) 30%);padding-top:14px;z-index:4}
@media (min-width:761px){.anav{bottom:0}}
.anav .btn{flex:1;justify-content:center;padding:14px}
.ahero{gap:14px}.ahero p{margin:0}
.asteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.asteps li{display:flex;gap:10px;align-items:center}
.asteps li span{width:26px;height:26px;border-radius:50%;background:var(--gold-soft);color:var(--gold);display:grid;place-items:center;font-size:13px;font-weight:700;flex:none}
.arsum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.arsum>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.arsum b{font-weight:500;overflow-wrap:anywhere}
.arsum .full{grid-column:1/-1;gap:8px}
.evcard{flex-direction:row!important;align-items:center;gap:14px;text-decoration:none;color:inherit;border-color:var(--gold)!important;background:linear-gradient(120deg,var(--gold-soft),var(--panel))!important}
.evcard .t{flex:1;min-width:0;display:flex;flex-direction:column}.evcard small{color:var(--muted)}
.evi{width:44px;height:44px;border-radius:12px;background:var(--gold);color:var(--ink);display:grid;place-items:center;flex:none}
/* Treinador */
.evseg{max-width:420px}.evseg.sm{max-width:360px}
.evseg button{position:relative}
.evdot{position:absolute;top:6px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--bad)}
.tabs button{position:relative}.tabs .evdot{top:4px;right:2px}
.evcmp{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.evcmp>div{display:flex;flex-direction:column;gap:8px}.evcmp .tc{justify-content:flex-start}
.evdv{display:flex;flex-direction:column;gap:6px}
.evdv>div{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:6px;font-size:13px;padding:6px 0;border-top:1px solid var(--line)}
.evdv span{color:var(--muted)}
.evins{background:var(--ink);border-left:2px solid var(--gold);border-radius:6px;padding:8px 12px}
.evins p{margin:4px 0;font-size:14px}
.ev2{grid-template-columns:1fr}
.evtl{display:flex;gap:0;overflow-x:auto;padding:6px 2px 2px;position:relative}
.evtl button{flex:1;min-width:96px;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative;padding:0 6px 4px;color:var(--muted)}
.evtl button::before{content:'';position:absolute;top:13px;left:0;right:0;height:2px;background:var(--line-2)}
.evtl button:first-child::before{left:50%}.evtl button:last-child::before{right:50%}
.evtl i{position:relative;width:28px;height:28px;border-radius:50%;background:var(--panel);border:2px solid var(--line-2)}
.evtl b{position:absolute;top:5px;font-size:12px;color:var(--fg)}
.evtl small{margin-top:4px;font-weight:600;color:var(--fg)}
.evtl span{font-size:12px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.evtl button.on i{background:var(--gold);border-color:var(--gold)}.evtl button.on b{color:var(--ink)}
.evtl.sm{margin-bottom:-4px}
.evver{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:start}
.evsum{display:flex;flex-direction:column;gap:10px}
.evsum>div{display:flex;gap:10px;align-items:flex-start}
.evsum .dsi{width:22px;height:22px;font-size:13px;flex:none}
.evsum b{font-weight:500;display:block}
.evwhy{margin-top:12px;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px}
.evwhy .tc{justify-content:flex-start}.evwhy p{margin:0;font-size:14px}
.evleg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted)}
.evleg span{display:inline-flex;align-items:center;gap:5px}
.evcsel{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.evcsel select{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px;width:100%}
.evside{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.evside>div{display:flex;flex-direction:column;gap:8px;align-items:center}
.evalert{border-color:var(--bad)}
.evals{display:flex;flex-direction:column;gap:8px}
.evals>div{display:flex;gap:8px;align-items:flex-start;font-size:14px;padding:8px 10px;border-radius:8px;background:var(--ink)}
.evals svg.i{flex:none;width:18px;height:18px;margin-top:1px}
.evals .g-alta{border-left:3px solid var(--bad)}.evals .g-alta svg{color:var(--bad)}
.evals .g-media{border-left:3px solid var(--warn)}.evals .g-media svg{color:var(--warn)}
.evals .g-baixa{border-left:3px solid var(--line-2)}.evals .g-baixa svg{color:var(--muted)}
.evpq{display:flex;flex-direction:column;gap:0!important}
.evpq>div{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:7px 0;border-top:1px solid var(--line);font-size:14px}
.evpq>div.s b{color:var(--bad)}.evpq small{grid-column:1/-1;color:var(--muted)}
.evrow{width:100%;text-align:left;color:inherit}.evrow .t{flex:1;min-width:0;display:flex;flex-direction:column}.evrow small{color:var(--muted)}
@media (max-width:760px){
 .acards.g2{grid-template-columns:1fr}
 .evcmp,.evver{grid-template-columns:1fr}
 .evside{grid-template-columns:1fr}
 .arsum{grid-template-columns:1fr}
 .evdv>div{grid-template-columns:1fr 1fr;}.evdv>div b{grid-column:1/-1}
 .tier.t1{width:66%}.tier.t2{width:78%}.tier.t3{width:90%}
 .muc{font-size:12.5px;padding:5px 9px}
 .aweek{gap:4px}.aweek button{font-size:12px}
}
/* Evolve etapa 2 */
.evtabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.evtabs::-webkit-scrollbar{display:none}
.evtabs button{position:relative;flex:none;padding:9px 14px;border-radius:20px;border:1px solid var(--line-2);font-size:14px;color:var(--muted);white-space:nowrap}
.evtabs button.on{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}
.evtabs .evdot{top:4px;right:4px}
.evsel{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 10px;min-width:0;max-width:100%}
.astars{display:flex;gap:6px}
.astars button{font-size:34px;line-height:1;color:var(--line-2);padding:2px 4px}
.astars button.on{color:var(--gold)}
.evfms{display:flex;flex-direction:column;gap:12px}
.evfm{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:var(--ink)}
.evfm-h{display:flex;align-items:center;gap:10px}
.evfm ul,.evq ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px}
.evtag{display:inline-block;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:10px;margin-right:6px;vertical-align:1px}
div.evtag{align-self:flex-start;margin-top:4px}
.evtag.o{background:rgba(127,179,138,.16);color:var(--ok)}
.evtag.p{background:rgba(127,166,217,.16);color:var(--ag-p,#7FA6D9)}
.evtag.h{background:var(--gold-soft);color:var(--gold)}
.evtbl{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.evtbl>div{display:grid;grid-template-columns:1.6fr repeat(2,1fr);gap:6px;padding:9px 12px;font-size:14px;align-items:center}
.evtbl.c4>div{grid-template-columns:1.6fr repeat(3,1fr)}
.evtbl>div+div{border-top:1px solid var(--line)}
.evtbl>div span:not(:first-child){text-align:right}
.evtbl .th{background:var(--ink);color:var(--muted);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:11.5px}
.evq{display:flex;flex-direction:column;gap:14px}
.evq>div{display:flex;flex-direction:column;gap:6px}
.evq li{list-style:none;margin-left:-18px}
.evrel{display:flex;flex-direction:column;gap:20px}
.evrel-h{background:linear-gradient(120deg,var(--gold-soft),var(--panel))}
.evrel-h h2{font-size:22px}
.avmed{grid-column:1/-1}.avmed summary{cursor:pointer;padding:6px 0}
.avmg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px}
@media (max-width:760px){.avmg{grid-template-columns:1fr 1fr}.evtbl>div,.evtbl.c4>div{font-size:13px;padding:8px 10px}}
@media print{
 body.printrel .side,body.printrel .top,body.printrel #bnav,body.printrel .noprint,body.printrel .tabs,body.printrel .evtabs,body.printrel .profile,body.printrel .acc,body.printrel [data-go="alunos"],body.printrel #toast{display:none!important}
 body.printrel{background:#fff}
 body.printrel .app{display:block}
 body.printrel .main{overflow:visible;height:auto}
}
/* Evolve etapa 3 */
.evpf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.prok .evpf{grid-template-columns:2fr 1fr}
.evpf select,.evpf input{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px;min-width:0}
.prcons{display:flex;flex-direction:column;gap:6px}
.prcons>div{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.prcons svg.i{width:18px;height:18px;flex:none;margin-top:1px}
.prcons .ok svg{color:var(--ok)}.prcons .no svg{color:var(--warn)}.prcons .no{color:var(--muted)}
.prts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.prt{border:1px solid var(--line);border-radius:10px;background:var(--ink);padding:12px;display:flex;flex-direction:column;gap:2px}
.prt-h{display:flex;align-items:baseline;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:4px}
.prt-h b{font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.prt-h span{flex:1;font-weight:600}
.prx{display:flex;align-items:center;gap:8px;padding:6px 0}
.prx+.prx{border-top:1px solid var(--line)}
.prx .muc{font-size:10.5px;padding:2px 7px;flex:none;min-width:0;max-width:90px;overflow:hidden;text-overflow:ellipsis}
.prx .t{flex:1;min-width:0;display:flex;flex-direction:column}.prx .t small{color:var(--muted)}
.prj{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px}
@media (max-width:760px){.evpf{grid-template-columns:1fr 1fr}.prok .evpf{grid-template-columns:1fr}.prts{grid-template-columns:1fr}}
/* Conquistas e nível */
.hbtns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hb{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:14px 6px 12px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);text-decoration:none;color:var(--fg);min-height:96px}
.hb:hover{border-color:var(--hc)}
.hb .hi{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--hc) 18%,transparent);color:var(--hc);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hc) 40%,transparent)}
.hb .hi svg.i{width:24px;height:24px;stroke-width:2}
.hb b{font-size:13.5px;font-weight:600;line-height:1.2}
.hb small{font-size:11.5px;color:var(--hc);font-weight:600}
.hb-pf{--hc:#7FA6D9}.hb-cq{--hc:#E9B949}.hb-ds{--hc:#D9A84E}.hb-fn{--hc:#5FBF7F}
.hb-cq .hi{background:linear-gradient(135deg,rgba(233,185,73,.35),rgba(233,185,73,.08))}
.hb-fn.late{--hc:var(--bad);border-color:var(--bad);animation:latep 2s ease-in-out infinite}
.hb .ldot{position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:50%;background:var(--bad)}
.sexta{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r);border:1px solid #5FBF7F;background:rgba(95,191,127,.10);text-decoration:none;color:var(--fg)}
.sexta>svg.i{color:#5FBF7F;flex:none;width:24px;height:24px}
.sexta span{flex:1;display:flex;flex-direction:column}.sexta small{color:var(--muted)}
.sexta.ok{border-color:var(--line);background:var(--panel)}
.xpav{position:relative;flex:none;padding:3px;border-radius:50%;background:conic-gradient(var(--tc),color-mix(in srgb,var(--tc) 40%,transparent),var(--tc))}
.xpav .av{border:2px solid var(--panel);width:36px;height:36px;font-size:13px}
.xpav.big{padding:4px}.xpav.big .av{width:84px;height:84px;font-size:26px;border-width:3px}
.xplv{position:absolute;right:-4px;bottom:-4px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:var(--tc);color:#0B0B0A;font-size:12px;font-weight:800;display:grid;place-items:center;border:2px solid var(--panel)}
.xpav.big .xplv{min-width:34px;height:34px;font-size:16px;border-radius:17px;right:-2px;bottom:-2px}
.xphero{flex-direction:row!important;align-items:center;gap:20px;background:linear-gradient(120deg,color-mix(in srgb,var(--tc) 16%,var(--panel)),var(--panel))!important;border-color:color-mix(in srgb,var(--tc) 50%,var(--line))!important}
.xpt{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.xpt b{font-size:22px}
.xpbar{height:10px;border-radius:6px;background:var(--line);overflow:hidden}
.xpbar i{display:block;height:100%;background:linear-gradient(90deg,var(--tc),#fff8);border-radius:6px}
.xpm{text-align:right;display:flex;flex-direction:column}.xpm b{font-size:30px;color:#E9B949;line-height:1}.xpm small{color:var(--muted);font-size:12px}
.xptasks{display:flex;flex-direction:column}
.xptasks>div{display:grid;grid-template-columns:30px 1fr auto 64px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line);color:var(--muted)}
.xptasks>div.on{color:var(--fg)}
.xptasks .e{font-size:20px;text-align:center}.xptasks .l{display:flex;flex-direction:column}.xptasks .l small{color:var(--muted);font-size:12px}
.xptasks b small{font-weight:400;color:var(--muted)}
.xptasks .pts{text-align:right;color:#E9B949}
.xpmeds{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.xmd{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:14px 10px;border-radius:12px;border:1px solid var(--line);background:var(--ink);opacity:.62}
.xmd .e{font-size:34px;filter:grayscale(1);opacity:.5}
.xmd b{font-size:13.5px}.xmd small{font-size:12px;color:var(--muted)}
.xmd.ok{opacity:1;border-color:#E9B949;background:radial-gradient(circle at 50% 0,rgba(233,185,73,.22),var(--ink) 70%)}
.xmd.ok .e{filter:none;opacity:1;animation:xpop .5s ease}
@keyframes xpop{0%{transform:scale(.6)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
.xmp{width:100%;height:5px;border-radius:4px;background:var(--line);overflow:hidden;margin-top:2px}.xmp i{display:block;height:100%;background:#E9B949}
.pill.g{color:#E9B949;border-color:#E9B949}
.xphist{display:flex;flex-direction:column}
.xphist>div{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.xphist span:first-child{flex:1}
.rkrow .xpav .av{width:34px;height:34px}
@media (max-width:760px){
 .hbtns{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hb{flex-direction:row;justify-content:flex-start;text-align:left;min-height:64px;padding:10px 12px;gap:10px}
 .hb .hi{width:40px;height:40px;border-radius:12px}.hb b{font-size:14px}
 .hb small{position:absolute;right:10px;bottom:6px;font-size:10.5px}
 .xphero{flex-direction:column!important;text-align:center}.xpt{width:100%}
 .xpmeds{grid-template-columns:repeat(2,minmax(0,1fr))}
 .xptasks>div{grid-template-columns:26px 1fr auto 52px;gap:8px;font-size:14px}
}
/* Feedback semanal */
.fbcard.fbon{border-color:#5FBF7F;box-shadow:0 0 0 1px rgba(95,191,127,.35),0 0 24px rgba(95,191,127,.12)}
.fbcard h2{display:flex;align-items:center;gap:8px}
.fbdot{width:10px;height:10px;border-radius:50%;background:#5FBF7F;box-shadow:0 0 0 0 rgba(95,191,127,.7);animation:fbpulse 1.4s infinite}
@keyframes fbpulse{0%{box-shadow:0 0 0 0 rgba(95,191,127,.7)}70%{box-shadow:0 0 0 10px rgba(95,191,127,0)}100%{box-shadow:0 0 0 0 rgba(95,191,127,0)}}
.fbmsg{margin:0;font-size:14px}.fbmsg.ok{color:var(--ok)}.fbmsg.off{color:var(--muted)}
.fbmsg svg.i{width:16px;height:16px;vertical-align:-3px}
.fbform{gap:22px}
.fbq{display:flex;flex-direction:column;gap:10px}
.fbkg{display:flex;align-items:center;gap:10px}
.fbkg label{flex:1;display:flex;align-items:baseline;justify-content:center;gap:6px;background:var(--ink);border:1px solid var(--line-2);border-radius:14px;padding:8px 12px}
.fbkg input{width:120px;text-align:center;font-size:34px;font-weight:700;background:none;border:0;outline:none;color:var(--fg)}
.fbkg span{color:var(--muted)}
.fbstep{width:58px;height:58px;border-radius:14px;border:1px solid var(--line-2);font-size:26px;font-weight:600;flex:none}
.fbstep:active{background:var(--gold);color:var(--ink)}
.fbemo{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.fbemo.c4{grid-template-columns:repeat(4,1fr)}
.fbemo button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border-radius:14px;border:1px solid var(--line-2);background:var(--ink);transition:transform .15s}
.fbemo button span{font-size:30px;filter:grayscale(.6);opacity:.75}
.fbemo button small{font-size:12px;color:var(--muted);text-align:center}
.fbemo button.on{border-color:var(--gold);background:var(--gold-soft);transform:scale(1.05)}
.fbemo button.on span{filter:none;opacity:1}.fbemo button.on small{color:var(--gold);font-weight:600}
.fblock{display:flex;gap:12px;align-items:center;color:var(--muted)}
.fblock svg.i{width:28px;height:28px;flex:none}.fblock div{display:flex;flex-direction:column}.fblock b{color:var(--fg)}
.fbhist{display:flex;flex-direction:column}
.fbhist>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 0;border-top:1px solid var(--line)}
.fbhist>div.miss{opacity:.6}
.fbd{width:58px;font-weight:600}
.fbhist span{display:inline-flex;align-items:center;gap:5px;font-size:20px}.fbhist span small{font-size:12.5px;color:var(--muted)}
.fbreg,.fbobs{flex-basis:100%;padding-left:72px;color:var(--muted);font-size:13px}
.fbe{font-size:20px;letter-spacing:2px}
@media (max-width:760px){.fbemo{gap:5px}.fbemo button{padding:10px 2px}.fbemo button span{font-size:26px}.fbemo button small{font-size:11px}.fbreg,.fbobs{padding-left:0}}
/* Semana interativa */
.s7{display:flex;flex-direction:column;gap:6px}
.s7leg{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--muted);margin-bottom:2px}
.s7leg span{display:inline-flex;align-items:center;gap:5px}.s7leg i{font-style:normal;font-size:15px}
.s7r{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;background:var(--ink);border:1px solid var(--line);transition:border-color .15s,background .15s}
.s7r.t-m,.s7r.t-a{border-color:var(--gold);background:linear-gradient(90deg,var(--gold-soft),var(--ink) 70%)}
.s7r.t-c{border-color:rgba(217,118,106,.6);background:linear-gradient(90deg,rgba(217,118,106,.10),var(--ink) 70%)}
.s7d{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.s7t{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-width:240px}
.s7t button{height:40px;border-radius:10px;border:1px solid var(--line-2);font-size:19px;filter:grayscale(1);opacity:.45;transition:all .15s}
.s7t button.on{filter:none;opacity:1;border-color:var(--gold);background:var(--gold-soft);transform:scale(1.06)}
.s7m{display:flex;align-items:center;gap:2px;background:var(--panel);border:1px solid var(--line-2);border-radius:10px;padding:2px}
.s7m button{width:30px;height:34px;border-radius:8px;font-size:18px;font-weight:600}
.s7m button:disabled{opacity:.3}
.s7m span{min-width:52px;text-align:center;font-weight:700;font-size:14px}
.s7m.off span{color:var(--dim);font-weight:400}
.s7f{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;align-items:center;font-size:13px;color:var(--muted);padding-top:4px}
.s7v{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.s7v>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:10px;border:1px solid var(--line);background:var(--ink)}
.s7v>div.t-m,.s7v>div.t-a{border-color:var(--gold)}.s7v>div.t-c{border-color:rgba(217,118,106,.6)}.s7v>div.t-f{opacity:.55}
.s7v span{font-size:18px}.s7v small{font-size:11px;color:var(--muted)}
@media (max-width:760px){.s7r{grid-template-columns:34px 1fr auto;gap:6px;padding:5px 6px}.s7t{gap:3px}.s7t button{height:38px;font-size:17px}.s7m button{width:26px}.s7m span{min-width:44px;font-size:13px}.s7d{font-size:12px}}
/* Ranking */
.hbtns{grid-template-columns:repeat(5,minmax(0,1fr))}
.hb-rk{--hc:#B58CF0}
.rkseg{max-width:520px}
.rkme{flex-direction:row!important;align-items:center;gap:14px;border-color:var(--gold)!important;background:linear-gradient(120deg,var(--gold-soft),var(--panel))!important}
.rkme .t{flex:1;min-width:0;display:flex;flex-direction:column}.rkme small{color:var(--muted)}
.rkmev{font-size:24px;text-align:right}.rkmev small{display:block;font-size:11px;color:var(--muted);font-weight:400}
.rkpodium{padding-top:26px}
.rkpodium .pd{position:relative}
.rkpodium .crown{font-size:26px;position:absolute;top:-24px;animation:tfloat 3s ease-in-out infinite}
.rkav-p .xpav.big .av{width:56px;height:56px;font-size:18px}.pd1 .rkav-p .xpav.big .av{width:70px;height:70px;font-size:22px}
.rkav-p .xpav.big .xplv{min-width:24px;height:24px;font-size:12px}
.pd.mine .pd-n{color:var(--gold)}
.pd.empty .pd-blk{opacity:.25}
.rkrow2{display:grid;grid-template-columns:36px auto 1fr auto;gap:12px;align-items:center}
.rkrow2 .pos{font-weight:700;color:var(--muted);text-align:center}
.rkrow2 .t{display:flex;flex-direction:column;min-width:0}
.rkv{display:flex;flex-direction:column;align-items:flex-end}.rkv b{font-size:18px}.rkv small{font-size:11.5px;color:var(--muted)}
.rkrow2.meRow{background:var(--gold-soft);border-radius:10px;padding-left:6px;padding-right:6px}
.rkrow2[data-xpa]{cursor:pointer}
.rkbars{display:flex;flex-direction:column;gap:8px}
.rkbars>div{display:grid;grid-template-columns:90px 1fr 56px;gap:10px;align-items:center;font-size:14px}
.rkbars>div>div{height:12px;border-radius:6px;background:var(--line);overflow:hidden}
.rkbars i{display:block;height:100%;border-radius:6px;animation:growx .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes growx{from{width:0!important}}
.rkbars b{text-align:right}.rkbars .mine span{color:var(--gold);font-weight:700}
@media (max-width:760px){
 .hbtns{grid-template-columns:repeat(6,minmax(0,1fr))}
 .hbtns .hb{grid-column:span 3}
 .hbtns .hb-cq,.hbtns .hb-rk{grid-column:span 3}
 .hbtns .hb-pf,.hbtns .hb-ds,.hbtns .hb-fn{grid-column:span 2;flex-direction:column;text-align:center;justify-content:center;gap:4px;padding:10px 4px}
 .hbtns .hb-pf .hi,.hbtns .hb-ds .hi,.hbtns .hb-fn .hi{width:36px;height:36px}
 .hbtns .hb-pf b,.hbtns .hb-ds b,.hbtns .hb-fn b{font-size:12.5px}
 .hbtns .hb-fn small{position:static}
 .rkbars>div{grid-template-columns:72px 1fr 48px;font-size:13px}
}
.lvw{position:relative;overflow:visible}
.lvb{position:absolute;right:-5px;bottom:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--tc);color:#0B0B0A;font-size:10.5px;font-weight:800;line-height:18px;text-align:center;border:2px solid var(--panel);font-family:var(--f-body);letter-spacing:0;box-sizing:content-box}
.av.sm.lvw .lvb{min-width:9px;height:13px;line-height:13px;font-size:8.5px;padding:0 3px;right:-9px;bottom:-5px;border-width:1.5px}
.pd-av.lvw .lvb{min-width:22px;height:22px;line-height:22px;font-size:12px}
.gmlv{font-style:normal;font-size:10px;font-weight:800;background:var(--tc);color:#0B0B0A;border-radius:7px;padding:0 5px;margin-left:2px}

/* Botões da tela inicial mais baixos */
.hb{min-height:74px;padding:10px 6px 9px;gap:4px}
.hb .hi{width:38px;height:38px;border-radius:12px}.hb .hi svg.i{width:20px;height:20px}
@media (max-width:760px){
 .hbtns{gap:8px}
 .hbtns .hb{min-height:0}
 .hbtns .hb-cq,.hbtns .hb-rk{padding:8px 10px;gap:10px}
 .hbtns .hb-cq .hi,.hbtns .hb-rk .hi{width:34px;height:34px;border-radius:10px}
 .hbtns .hb-pf,.hbtns .hb-ds,.hbtns .hb-fn{padding:8px 4px 7px;gap:3px}
 .hbtns .hb-pf .hi,.hbtns .hb-ds .hi,.hbtns .hb-fn .hi{width:30px;height:30px;border-radius:9px}
 .hbtns .hi svg.i{width:18px;height:18px}
 .hbtns .hb b{font-size:12.5px}
}
/* Registros do aluno (remoção) */
.remcats{display:flex;flex-direction:column;gap:6px}
.remc{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.remc.open{border-color:var(--line-2)}
.remh{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;text-align:left;color:var(--fg)}
.remh b{flex:1;font-weight:600}.remh span{color:var(--muted);font-size:13px}.remh svg.i{width:18px;height:18px;color:var(--muted)}
.reml{display:flex;flex-direction:column;padding:0 12px 6px}
.remr{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line)}
.remr .t{flex:1;min-width:0;display:flex;flex-direction:column}.remr small{color:var(--muted);font-size:12.5px}
.remmore{padding:10px 0;align-self:center}
.fbcard.fbthu{border-color:#E9B949;box-shadow:0 0 0 1px rgba(233,185,73,.3),0 0 22px rgba(233,185,73,.1)}
.fbdot.amb{background:#E9B949;animation-name:fbpulsea}
@keyframes fbpulsea{0%{box-shadow:0 0 0 0 rgba(233,185,73,.7)}70%{box-shadow:0 0 0 10px rgba(233,185,73,0)}100%{box-shadow:0 0 0 0 rgba(233,185,73,0)}}
/* Maska Exercise Library (teste Your Move) */
.ymtest{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:#0B0B0A;background:#E9B949;border-radius:20px;padding:6px 12px;animation:latep 2.4s ease-in-out infinite}
.ymtest svg.i{width:14px;height:14px}
.ymform{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:8px;align-items:center}
.ymform input:not([type=checkbox]),.ymform select{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-width:0;outline:none}
.ymform input:focus{border-color:var(--gold)}
.ymck{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap}
.ymgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.ymcard{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:8px;color:var(--fg)}
.ymcard:hover,.ymcard.on{border-color:var(--gold)}
.ymth{position:relative;aspect-ratio:3/4;border-radius:8px;overflow:hidden;background:var(--ink);display:grid;place-items:center;margin-bottom:4px}
.ymth img{width:100%;height:100%;object-fit:cover}
.ymth span svg.i{width:32px;height:32px;color:var(--dim)}
.ymth i{position:absolute;left:6px;bottom:6px;font-style:normal;font-size:11px;font-weight:700;border-radius:10px;padding:2px 8px;display:flex;align-items:center;gap:3px}
.ymth i.ok{background:#5FBF7F;color:#0B0B0A}.ymth i.no{background:rgba(0,0,0,.65);color:#ddd}
.ymth i svg.i{width:11px;height:11px}
.ymcard b{font-size:14px;line-height:1.25}.ymcard small{color:var(--muted);font-size:12px}
.ymdet{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:20px;align-items:start}
.ymv{display:flex;flex-direction:column;gap:8px}
.ymv video{width:100%;aspect-ratio:9/16;max-height:70vh;background:#000;border-radius:12px;object-fit:contain}
.ymv video.land{aspect-ratio:16/9}
.ymvs{display:flex;flex-wrap:wrap;gap:6px}
.ymnov{aspect-ratio:3/4;border-radius:12px;border:1px dashed var(--line-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;background:var(--ink)}
.ymnov img{max-width:60%;border-radius:8px;opacity:.6}.ymnov b{display:flex;gap:6px;align-items:center;color:var(--warn)}
.ymi{display:flex;flex-direction:column;gap:12px;min-width:0}.ymi h2{margin:0}
.ymtags{display:flex;flex-wrap:wrap;gap:6px}
.ymins{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px}
@media (max-width:760px){.ymform{grid-template-columns:1fr 1fr}.ymform input:not([type=checkbox]){grid-column:1/-1}.ymform .btn{justify-content:center}.ymdet{grid-template-columns:1fr}.ymgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ymorig{margin-top:8px;font-size:13px;color:var(--muted)}.ymorig summary{cursor:pointer}
/* Vídeo Your Move nos exercícios */
.ymbox{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}
.ymbox video{width:auto;max-width:100%;height:min(60vh,520px);aspect-ratio:9/16;background:#000;border-radius:12px;object-fit:contain}
.ymbox video.land{height:auto;width:100%;aspect-ratio:16/9}
.ymbox .ymvs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.ymbox .ymvs button{padding:7px 12px;border-radius:20px;border:1px solid var(--line-2);font-size:13px;color:var(--muted)}
.ymbox .ymvs button.on{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}
.ymload{position:relative;width:100%;max-width:280px;aspect-ratio:9/16;border-radius:12px;background:var(--ink);display:grid;place-items:center;overflow:hidden}
.ymload img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.ymload span{position:relative;font-size:13px;color:var(--muted)}
.ymfield{gap:8px}
.ymcur{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid var(--gold);border-radius:10px;padding:8px 10px;background:var(--gold-soft)}
.ymcur-t{display:flex;align-items:center;gap:10px;min-width:0}
.ymcur-t img{width:44px;height:58px;object-fit:cover;border-radius:6px;flex:none}
.ymcur-t div{display:flex;flex-direction:column;min-width:0}.ymcur-t small{color:var(--muted);font-size:12px}
.ymsr{display:flex;flex-direction:column;gap:8px}
.ymsr-f{display:flex;gap:8px}.ymsr-f input{flex:1;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;outline:none}
.ympick{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.ympick button{position:relative;display:flex;flex-direction:column;gap:4px;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--ink);text-align:left;color:var(--fg)}
.ympick button.on{border-color:var(--gold)}.ympick button:disabled{opacity:.45}
.ympick img,.ympick span{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:6px;background:var(--raised)}
.ympick small{font-size:11.5px;line-height:1.2}
.ympick i{position:absolute;top:8px;left:8px;font-style:normal;font-size:10px;background:rgba(0,0,0,.7);color:#ddd;border-radius:8px;padding:1px 6px}
#ex-prev .ymbox video{height:min(56vh,480px)}
/* Mesociclos */
.mesobox{gap:12px}
.mweeks{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.mwk{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border-radius:10px;border:1px dashed var(--line-2);background:var(--ink);text-align:left;color:var(--muted)}
.mwk small{font-size:11px}.mwk b{font-size:13px;font-weight:600}
.mwk.on{border-style:solid;border-color:var(--mc);background:linear-gradient(135deg,color-mix(in srgb,var(--mc) 22%,transparent),var(--ink));color:var(--fg)}
.mwk.now{box-shadow:0 0 0 2px var(--gold)}
.mwk i{position:absolute;top:6px;right:6px;font-style:normal;font-size:9.5px;font-weight:700;color:#0B0B0A;background:var(--gold);border-radius:6px;padding:0 5px}
.mpick{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;border-radius:10px;background:var(--raised)}
.mpick>span{font-weight:600;font-size:13px;margin-right:4px}
.mpb{padding:8px 12px;border-radius:20px;border:1px solid var(--line-2);font-size:13px}
.mpb.on{border-color:var(--mc);background:color-mix(in srgb,var(--mc) 25%,transparent);color:var(--fg)}
.mpb[style]:hover{border-color:var(--mc)}
.mtpl{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mleg{font-size:13px}.mleg summary{cursor:pointer;color:var(--gold)}
.mleg div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin-top:6px;border-left:3px solid var(--mc);background:var(--ink);border-radius:6px}
.mleg div span{color:var(--muted)}
.mprev{display:flex;flex-direction:column;gap:6px}.mprev .seg{max-width:620px}
.bn.mbadj{background:var(--gold);color:var(--ink);border-radius:50%}
.mopanel{display:flex;flex-direction:column;gap:10px;border:1px solid var(--mc);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--mc) 8%,var(--panel))}
.mos{display:flex;flex-direction:column;gap:6px}
.mosr{display:grid;grid-template-columns:28px repeat(3,1fr);gap:6px;align-items:end}
.mosr>span{font-weight:700;color:var(--muted);text-align:center;padding-bottom:9px}
.mosr label{display:flex;flex-direction:column;gap:2px}.mosr small{font-size:11px;color:var(--muted)}
.mosr input,.mom select{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px;min-width:0;width:100%}
.mosr.aq{opacity:.6}
.mom{display:flex;flex-direction:column;gap:2px;min-width:160px}.mom small{font-size:11px;color:var(--muted)}
.mesob{gap:10px;border-color:var(--mc)!important;background:linear-gradient(120deg,color-mix(in srgb,var(--mc) 18%,var(--panel)),var(--panel))!important}
.mesob-h{display:flex;align-items:center;gap:12px}.mesob-h div{display:flex;flex-direction:column}.mesob-h b{font-size:22px;color:var(--mc)}
.mesoe{font-size:32px}
.mesob p{margin:0}
.mesostrip{display:flex;gap:4px}.mesostrip i{flex:1;height:8px;border-radius:4px;background:var(--line)}
.mesostrip i.now{outline:2px solid var(--fg);outline-offset:1px}
.mopanel .box-h>div{display:flex;flex-direction:column;gap:2px}
.evtbl[style*="--cols"]>div{grid-template-columns:1.6fr repeat(var(--cols),1fr)}
/* Botão Vídeo no card do exercício */
.vidbtn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:20px;border:1px solid var(--gold);background:var(--gold-soft);color:var(--gold);font-size:13px;font-weight:700;flex:none}
.vidbtn svg.i{width:18px;height:18px}
.vidbtn:hover{background:var(--gold);color:var(--ink)}
.vidbtn.nov{border-color:var(--line-2);background:transparent;color:var(--muted);font-weight:500}
/* Meta de carga e aviso de mesociclo */
.mesonew .mesob-h{align-items:flex-start}.mesonew .mesob-h>div{flex:1}.mesonew .mesob-h b{font-size:19px}
/* Mostrar senha */
.pwwrap{position:relative;display:block}
.pwwrap input{width:100%;padding-right:46px!important;box-sizing:border-box}
.pweye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:8px;display:grid;place-items:center;color:var(--muted);background:none;border:0}
.pweye svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pweye:hover,.pweye[aria-pressed="true"]{color:var(--gold)}
.pkrow.ex{cursor:pointer}
.pkrow.ex.on{background:var(--gold-soft);box-shadow:inset 3px 0 0 var(--gold)}
.pkrow.ex.on .pki{background:var(--gold);color:var(--ink)}
.pkf{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pkf .btn.pri{flex:1;justify-content:center}
/* Tela de treino do aluno: frequência e mesociclo compactos, botões de treino mais baixos */
.mweek{gap:6px;padding:9px 12px}
.mweek .mw-g{gap:8px}.mweek .mw-g>div{gap:2px}
.mweek .mw-g .lbl{font-size:10px}
.mweek .mw-g b{font-size:15px;line-height:1.1}.mweek .mw-g b small{font-size:11px}
.mweek .cbar{height:4px}
.mweek .mw-d{gap:3px}
.mweek .mw-d span{padding:2px 0 3px;font-size:9px;gap:0;border-radius:6px}
.mweek .mw-d span i,.mweek .mw-d span svg.i{width:10px;height:10px}
.mesob:not(.mesonew){gap:5px;padding:9px 12px}
.mesob:not(.mesonew) .mesob-h{gap:8px}.mesob:not(.mesonew) .mesoe{font-size:18px}
.mesob:not(.mesonew) .mesob-h .lbl{font-size:10px}
.mesob:not(.mesonew) .mesob-h b{font-size:15px;line-height:1.15}
.mesob:not(.mesonew) p{font-size:12px;line-height:1.35;color:var(--muted)}
.mesob .mesostrip i{height:4px}
.mesob .hint{font-size:11px}
.chips.tsel .chip{padding:5px 12px;font-size:12px;line-height:1.3}
.appnew{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:10px 12px;border-color:var(--gold)!important;background:linear-gradient(120deg,var(--gold-soft),var(--panel))!important}
.appnew>svg.i{width:26px;height:26px;color:var(--gold);flex:none}
.appnew>div{flex:1;display:flex;flex-direction:column;gap:2px}.appnew small{color:var(--muted);font-size:12px}
.appbox .appmsg{margin:0;font-size:13px;color:var(--gold)}
.appnew>.btn{flex:1 0 100%;justify-content:center}
.xpbox .remr.off{opacity:.55}
.xpacts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.xpacts>div{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;align-items:flex-start}
.xpacts b{font-size:22px;font-weight:600}.xpacts small{color:var(--muted);font-size:12px;margin-bottom:4px}
@media(max-width:520px){.xpacts{grid-template-columns:1fr}}
/* Cardio do aluno: meta da semana e dias compactos */
.cgoal{gap:6px;padding:10px 12px}
.cgoal .box-h h2{font-size:14px}.cgoal .box-h .lbl{font-size:10px}
.cgoal .cgrid{gap:10px}.cgoal .cgrid>div{gap:2px}
.cgoal .cgrid .lbl{font-size:10px}
.cgoal b{font-size:16px;line-height:1.1}.cgoal b small{font-size:11px}
.cgoal .cbar{height:4px}
.cgoal .hint{font-size:11px}
.cweek{gap:3px}
.cday{padding:3px 0 2px;border-radius:8px;gap:0}
.cday small{font-size:9px}
.cday b{font-size:13px}
.cday i{height:10px}.cday i svg.i{width:10px;height:10px}
.clegend{font-size:11px}
.box.cgoal .box-h h2{font-size:13px;letter-spacing:.1em}
.cweek .cday{padding:2px 0 1px;border-radius:7px}
.cweek .cday small{font-size:8.5px;line-height:1.2}
.cweek .cday b{font-size:12px;line-height:1.2}
.cweek .cday i{height:7px}.cweek .cday i svg.i{width:8px;height:8px}
.cweek .cday.today b{text-underline-offset:2px}
/* App Android nativo: login do treinador pelo Google fica só no navegador */
.native #lgoogle,.native .ldiv{display:none}
/* Aviso de novo mesociclo na tela inicial: textos menores */
.mesonew .mesob-h .lbl{font-size:10px}
.mesonew .mesob-h b{font-size:15px;line-height:1.2}
.mesonew .mesoe{font-size:24px}
.mesonew p{font-size:12.5px;line-height:1.4}
.mesonew .btn.sm{font-size:11px}
.pedit>.pdica{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 4px;padding:9px 12px;border-radius:10px;background:var(--gold-soft);color:var(--fg);font-size:13px;text-align:left}
.pedit>.pdica svg.i{width:18px;height:18px;color:var(--gold);flex:none}
/* Zonas de frequência cardíaca */
.fczt{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.fcz{display:flex;flex-direction:column;gap:1px;padding:8px 6px;border-radius:10px;border:1px solid var(--line);text-align:center;font-size:11px;color:var(--muted)}
.fcz b{font-size:15px;color:var(--fg)}.fcz span{font-size:10.5px;line-height:1.2;min-height:2.4em}.fcz em{font-style:normal;font-size:12.5px;color:var(--fg);font-weight:600;margin-top:2px}
.fcz.z1{border-color:#5B9BE6}.fcz.z2{border-color:#5FBF7F}.fcz.z3{border-color:#E9B949}.fcz.z4{border-color:#E8894A}.fcz.z5{border-color:#E06C5A}
.fcz.z1 b{color:#5B9BE6}.fcz.z2 b{color:#5FBF7F}.fcz.z3 b{color:#E9B949}.fcz.z4 b{color:#E8894A}.fcz.z5 b{color:#E06C5A}
.czona{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.czona svg.i{width:15px;height:15px;color:#E06C5A}.czona b{color:var(--fg);margin-left:auto}
@media(max-width:520px){.fczt{gap:4px}.fcz{padding:6px 2px}.fcz span{font-size:9.5px}}
/* Dieta do aluno: abas e montagem */
.dtabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:5px}
.dtabs button{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 8px;border-radius:10px;color:var(--muted);font-weight:600;font-size:14px}
.dtabs button svg.i{width:16px;height:16px}
.dtabs button.on{background:var(--gold-soft);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.dsrc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.dsrc svg.i{width:16px;height:16px;color:var(--gold)}.dsrc b{color:var(--fg)}.dsrc .lnk{margin-left:auto}
.dpcalc{gap:12px}
.dpform{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:10px}
.dpform .seg{display:flex;gap:4px}.seg button{flex:1;padding:10px 6px;border-radius:10px;border:1px solid var(--line-2);color:var(--muted);font-size:13px}.seg button.on{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}
.dpobj{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.dpobj button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px;border-radius:12px;border:1px solid var(--line-2);text-align:left}
.dpobj button b{font-size:13.5px}.dpobj button small{font-size:11.5px;color:var(--muted)}
.dpobj button.on{border-color:var(--gold);background:var(--gold-soft)}.dpobj button.on b{color:var(--gold)}
.dpres{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dpres>div{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border:1px solid var(--line);border-radius:12px;text-align:center}
.dpres small{font-size:11px;color:var(--muted)}.dpres b{font-size:20px;font-weight:600}.dpres .hl{border-color:var(--gold);background:var(--gold-soft)}.dpres .hl b{color:var(--gold)}
.dpmac{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--muted)}.dpmac b{color:var(--fg);margin-left:4px}.dpmac small{margin-left:4px;font-size:11px}
.dpagua{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:rgba(91,155,230,.1)}.dpagua svg.i{width:20px;height:20px;color:#5B9BE6;flex:none;margin-top:2px}
.dpagua div{display:flex;flex-direction:column;gap:2px}.dpagua small{font-size:12px;color:var(--muted)}
.dpusar{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.dpusar input{width:20px;height:20px;margin-top:2px;accent-color:var(--gold)}.dpusar span{display:flex;flex-direction:column}.dpusar small{color:var(--muted);font-size:12px}
@media(max-width:620px){.dpform{grid-template-columns:1fr 1fr}.dpform>.field:first-child{grid-column:1/-1}.dpobj{grid-template-columns:1fr 1fr}}
.dct{margin-bottom:12px}
div.dname{font-size:18px;font-weight:600;padding:6px 0}
.dpdados{display:flex;align-items:center;gap:6px}.dpdados svg.i{width:14px;height:14px;color:var(--gold)}
/* Financeiro: desconto e dupla */
.ftags{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.ftag{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:99px;border:1px solid var(--line-2);color:var(--muted)}
.ftag svg.i{width:11px;height:11px}.ftag.dup{border-color:#7FA6D9;color:#7FA6D9}.ftag.desc{border-color:var(--ok);color:var(--ok)}
.fdesc{display:flex;gap:6px}.fdesc input{flex:1;min-width:0}.fdesc select{width:auto}
#ftot b .ok{color:var(--ok)}
/* ---- Montagem da dieta em quadro ---- */
.dkhead .dkdates{grid-template-columns:repeat(2,minmax(0,180px))}
.dksum{gap:12px}
.dktop{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dkagua{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line-2);border-radius:99px;font-size:13px;color:var(--muted)}
.dkagua svg.i{width:15px;height:15px;color:#5B9BE6}.dkagua input{width:46px;padding:2px 4px;border:0;background:transparent;color:var(--fg);font-weight:600;text-align:right}
.dksg{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:center}
.dkgw{position:relative;display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:14px;background:var(--panel-2,rgba(255,255,255,.02))}
.dkg{width:170px;height:auto}
.dkgv{position:absolute;top:44px;left:0;right:0;display:flex;flex-direction:column;align-items:center}
.dkgv b{font-size:28px;font-weight:700;line-height:1}.dkgv small{font-size:11px;color:var(--muted)}
.dkdif{font-size:11.5px;margin-top:4px}.dkdif.sup{color:var(--warn)}.dkdif.def{color:#5B9BE6}
.dkms{display:flex;flex-direction:column;gap:12px}
.dkmr{display:grid;grid-template-columns:120px 1fr auto 40px;gap:10px;align-items:center;font-size:13px}
.dkmr span{display:flex;align-items:center;gap:6px;color:var(--muted)}.dkmr b{font-weight:600}.dkmr b small{color:var(--muted);font-weight:500}.dkmr>small{color:var(--muted);text-align:right}
.dkmb{display:block;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.dkmb i{display:block;height:100%;border-radius:99px}
.dkwarn{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:var(--warn)}.dkwarn svg.i{width:14px;height:14px}
.dkboard{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity;align-items:flex-start}
.dkc{flex:0 0 270px;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.dkc-h{display:flex;align-items:center;gap:6px}.dkmn{flex:1;min-width:0;font-weight:700;font-size:14px;background:transparent;border:0;padding:4px 2px;color:var(--fg)}
.dkc-s .dkhora{width:90px;font-size:12px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted)}
.dkops{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.dkop{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:99px;overflow:hidden}
.dkop button{padding:4px 9px;font-size:12px;color:var(--muted)}.dkop button.x{padding:4px 7px 4px 0;font-size:10px}
.dkop.on{border-color:var(--gold);background:var(--gold-soft)}.dkop.on button{color:var(--gold)}
.dkop small{font-size:10.5px;color:var(--ok)}.dkop small.off{color:var(--warn)}
.dkops .lnk{font-size:12px;display:inline-flex;align-items:center;gap:4px}.dkops .lnk svg.i{width:12px;height:12px}
.dkl{display:flex;flex-direction:column;gap:8px}
.dkf{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.015)}
.dkf-h{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.dkf-h b{font-size:13.5px;line-height:1.25}.dkf-h .ib{width:28px;height:28px;color:var(--bad)}
.dkq{display:flex;gap:6px;align-items:center}.dkq input{width:70px;padding:6px 8px;text-align:center}.dkq select{flex:1;min-width:0;padding:6px}.dkun{font-size:12px;color:var(--muted)}
.dkq.sm input{width:60px;padding:4px 6px;font-size:12px}
.dkm{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.dkm b{font-size:13px}.dkm small{font-size:11px;color:var(--muted)}
.dkm.sm b{font-size:12px}
.dkbar{display:flex;height:4px;border-radius:99px;overflow:hidden;background:var(--line)}.dkbar i{display:block;height:100%}
.dks{display:flex;flex-direction:column;gap:4px;margin-left:8px;padding:8px;border-left:2px solid var(--gold);border-radius:0 8px 8px 0;background:var(--gold-soft)}
.dks .dkf-h span{display:flex;align-items:center;gap:5px;font-size:12.5px}.dks svg.i{width:13px;height:13px;color:var(--gold)}
.dksub{align-self:flex-end;font-size:12px;display:inline-flex;align-items:center;gap:4px}.dksub svg.i{width:13px;height:13px}
.dkadd{margin-top:2px}
.dknew{align-items:center;justify-content:center;min-height:120px;border-style:dashed;color:var(--gold);font-weight:600;flex-basis:150px;flex-direction:row}
.dktot{gap:10px}.dktot-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.dktot-h span{color:var(--muted);font-size:13px}.dktot-h b{font-size:20px}.dktot-h small{font-size:12px}
.dkch{display:flex;align-items:flex-end;gap:10px;height:140px;padding-top:16px;overflow-x:auto}
.dkch>div{flex:1;min-width:52px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}
.dkch i{display:block;width:60%;max-width:46px;background:var(--gold);border-radius:6px 6px 2px 2px}.dkch b{font-size:11px}.dkch small{font-size:10.5px;color:var(--muted);text-align:center;line-height:1.15;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dkpk{max-width:520px;width:100%}.dkpl{display:flex;flex-direction:column;gap:4px;max-height:55vh;overflow:auto}
.dkpl button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;text-align:left}.dkpl button:hover{border-color:var(--gold)}
.dkpl small{font-size:11.5px;color:var(--muted)}
.mfsub{display:block;color:var(--gold)!important;font-size:12px}
.dkops.ro{margin-bottom:6px}
@media(max-width:620px){.dksg{grid-template-columns:1fr}.dkmr{grid-template-columns:96px 1fr auto 34px;gap:8px}.dkc{flex-basis:84vw}}
/* Vídeos dos Exercícios (YouTube) */
.ytctl{gap:10px}.ytbtns{display:flex;gap:8px;flex-wrap:wrap}
.ytq{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;font-size:12.5px;color:var(--muted)}.ytq .mb{display:block;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.ytq .mb i{display:block;height:100%}.ytq b{color:var(--fg)}
.ytmsg{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--gold)}
.spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--gold-soft);border-top-color:var(--gold);animation:ytsp .8s linear infinite;display:inline-block}@keyframes ytsp{to{transform:rotate(360deg)}}
.ytbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.segm{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--panel);flex-wrap:wrap}.segm button{padding:8px 12px;border-radius:9px;font-size:13px;color:var(--muted)}.segm button.on{background:var(--gold-soft);color:var(--gold)}
.ytlist{display:flex;flex-direction:column;gap:12px}
.ytex .box-h h2{font-size:16px}
.ytsug{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ytv{display:flex;flex-direction:column;gap:5px;padding:8px;border:1px solid var(--line);border-radius:12px}.ytv.on{border-color:var(--gold);background:var(--gold-soft)}
.ytv b{font-size:12.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ytv small{font-size:11px;color:var(--muted)}.ytv .btn{margin-top:auto;justify-content:center}
.ytth{position:relative;display:block;border-radius:8px;overflow:hidden;aspect-ratio:16/9;background:#000}.ytth img{width:100%;height:100%;object-fit:cover;display:block}
.ytth span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(0,0,0,.25)}.ytth span svg.i{width:26px;height:26px}
.ytth em{position:absolute;right:4px;bottom:4px;font-style:normal;font-size:10.5px;background:rgba(0,0,0,.75);color:#fff;padding:1px 5px;border-radius:4px}
.ytcur{display:flex;align-items:center;gap:10px}.ytcur img{width:120px;border-radius:8px}
.ytprev{max-width:720px;width:100%}
@media(max-width:900px){.ytsug{grid-template-columns:repeat(2,minmax(0,1fr))}.ytq{grid-template-columns:1fr auto}.ytq .mb{grid-column:1/-1}}
.devav{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;border:1px solid var(--gold);background:var(--gold-soft);font-size:13px;line-height:1.4}
.devav svg.i{width:18px;height:18px;color:var(--gold);flex:none;margin-top:1px}.devav b{color:var(--gold)}
#novodom{position:sticky;top:0;z-index:999;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:var(--gold);color:#16120c;font-size:13px;line-height:1.35}
#novodom span{flex:1;min-width:220px}#novodom a{background:#16120c;color:var(--gold);padding:8px 14px;border-radius:10px;font-weight:700;text-decoration:none;white-space:nowrap}
