/* ===== Nexos App — identidade própria: marinho profundo, ciano, faixas diagonais ===== */
:root{
  --bg:#050c1c; --bg2:#081430; --s1:#0b1834; --s2:#10224a; --s3:#163064;
  --line:rgba(140,180,255,.14); --line2:rgba(140,180,255,.26);
  --ink:#eef3ff; --mute:#8fa1c4; --dim:#5d6f93;
  --acc:#46d6ff; --acc2:#2f6bff; --on-acc:#04122b;
  --ok:#3ddc97; --warn:#ffcf5c; --err:#ff8a8a;
  --r:20px; --r-sm:12px;
  --f-h:'Unbounded',system-ui,sans-serif; --f-b:'Manrope',system-ui,sans-serif; --f-m:'JetBrains Mono',ui-monospace,monospace;
  --safe-b:env(safe-area-inset-bottom,0px); --safe-t:env(safe-area-inset-top,0px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{background:var(--bg);color:var(--ink);font-family:var(--f-b);-webkit-font-smoothing:antialiased;min-height:100%}
body{line-height:1.5;font-size:16px;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(900px 500px at 110% -10%,rgba(47,107,255,.22),transparent 60%),radial-gradient(700px 420px at -20% 110%,rgba(70,214,255,.10),transparent 60%)}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:var(--acc);text-decoration:none}
img{display:block;max-width:100%}
.mono{font-family:var(--f-m)}
[hidden]{display:none!important}

.app{position:relative;z-index:1;max-width:560px;margin:0 auto;padding:calc(18px + var(--safe-t)) 18px calc(120px + var(--safe-b));min-height:100vh}
.app.wide{max-width:980px}
.app.bare{padding-bottom:40px}

/* boot */
.boot{min-height:80vh;display:grid;place-items:center;align-content:center;gap:22px}
.boot-logo{width:96px;opacity:.9}
.boot-bar{width:120px;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.boot-bar i{display:block;height:100%;width:40%;background:linear-gradient(90deg,var(--acc2),var(--acc));animation:boot 1.1s ease-in-out infinite}
@keyframes boot{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}

/* tipografia */
.eyebrow{font-family:var(--f-m);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.h1{font-family:var(--f-h);font-weight:800;font-size:clamp(1.6rem,6vw,2.1rem);line-height:1.12;letter-spacing:-.01em}
.h2{font-family:var(--f-h);font-weight:600;font-size:1.15rem;line-height:1.25}
.h3{font-weight:800;font-size:1.02rem}
.muted{color:var(--mute)} .dim{color:var(--dim)} .small{font-size:.86rem} .tiny{font-size:.76rem}
.center{text-align:center}

/* topo das telas */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.top-brand{display:flex;align-items:center;gap:10px}
.top-brand img{height:20px}
.icon-btn{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--s1);border:1px solid var(--line);transition:border-color .2s,background .2s}
.icon-btn:hover{border-color:var(--line2)}
.icon-btn svg{width:20px;height:20px}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--mute);font-weight:700;font-size:.92rem;margin-bottom:14px}
.back svg{width:18px;height:18px}

/* faixa diagonal da marca */
.slashes{display:inline-flex;gap:4px}
.slashes i{width:10px;height:18px;background:var(--acc);transform:skewX(-28deg);border-radius:2px;opacity:.9}
.slashes i:nth-child(2){opacity:.6}.slashes i:nth-child(3){opacity:.3}

/* cartões */
.card{background:linear-gradient(180deg,rgba(16,34,74,.72),rgba(11,24,52,.72));border:1px solid var(--line);border-radius:var(--r);padding:18px;position:relative;overflow:hidden}
.card+.card{margin-top:12px}
.card.tap{cursor:pointer;transition:transform .15s,border-color .2s}
.card.tap:hover{border-color:var(--line2)}
.card.tap:active{transform:scale(.985)}
.stack>*+*{margin-top:12px}
.row{display:flex;align-items:center;gap:12px}
.row.between{justify-content:space-between}
.grow{flex:1;min-width:0}
.ellip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section{margin-top:28px}
.section-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:16px;font-weight:800;background:linear-gradient(135deg,var(--acc),var(--acc2));color:var(--on-acc);transition:transform .15s,filter .2s;box-shadow:0 8px 26px rgba(70,214,255,.18)}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.5;pointer-events:none}
.btn.ghost{background:var(--s1);color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn.danger{background:rgba(255,138,138,.12);color:var(--err);border:1px solid rgba(255,138,138,.3);box-shadow:none}
.btn.sm{padding:9px 14px;border-radius:12px;font-size:.88rem}
.btn.block{width:100%}
.btn svg{width:18px;height:18px}
.link-btn{color:var(--acc);font-weight:700;font-size:.9rem}

/* formulários */
.field{display:block;margin-bottom:14px}
.field>span{display:block;font-size:.8rem;font-weight:700;color:var(--mute);margin-bottom:6px;letter-spacing:.02em}
.input,.select,.textarea{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s}
.input:focus,.select:focus,.textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(70,214,255,.15)}
.textarea{min-height:84px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.input.c{text-align:center;padding:11px 6px}
.pass-wrap{position:relative}
.pass-wrap .icon-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:10px;background:transparent;border:0}

/* chips */
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--s1);font-size:.84rem;font-weight:700;color:var(--mute);white-space:nowrap}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:800;background:var(--s2);color:var(--mute)}
.tag.ok{background:rgba(61,220,151,.12);color:var(--ok)}
.tag.warn{background:rgba(255,207,92,.12);color:var(--warn)}
.tag.err{background:rgba(255,138,138,.12);color:var(--err)}
.tag.acc{background:rgba(70,214,255,.12);color:var(--acc)}

/* avatar */
.av{width:46px;height:46px;flex:none;border-radius:16px;display:grid;place-items:center;font-family:var(--f-h);font-weight:800;font-size:.86rem;background:var(--s3);color:var(--ink);position:relative}
.av.lg{width:64px;height:64px;border-radius:22px;font-size:1.1rem}
.av::after{content:"";position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;border:3px solid var(--s1);background:var(--dim)}
.av.st-ok::after{background:var(--ok)} .av.st-warn::after{background:var(--warn)} .av.st-none::after{display:none}

/* ===== login ===== */
.login{min-height:calc(100vh - 60px);display:flex;flex-direction:column;justify-content:center}
.login-hero{margin-bottom:34px}
.login-hero .sym{width:110px;margin-bottom:26px}
.login-hero .wm{width:230px;margin-bottom:18px}
.login-foot{margin-top:26px;text-align:center}

/* ===== aluno: hoje ===== */
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:16px}
.week div{text-align:center}
.week b{display:block;height:34px;border-radius:10px;background:var(--s1);border:1px solid var(--line);margin-bottom:6px;position:relative;overflow:hidden}
.week .done b{background:linear-gradient(160deg,var(--acc),var(--acc2));border-color:transparent}
.week .today b{border-color:var(--acc)}
.week span{font-family:var(--f-m);font-size:.68rem;color:var(--dim)}
.week .today span{color:var(--acc)}

.wcard{display:flex;gap:16px;align-items:stretch;min-height:118px}
.wletter{flex:none;width:74px;border-radius:16px;display:grid;place-items:center;font-family:var(--f-h);font-weight:800;font-size:2.4rem;color:transparent;-webkit-text-stroke:1.5px var(--acc);background:repeating-linear-gradient(-62deg,rgba(70,214,255,.07) 0 8px,transparent 8px 16px);border:1px solid var(--line)}
.wcard .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.wcard .go{align-self:center;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--acc);color:var(--on-acc)}
.wcard .go svg{width:20px;height:20px}

.empty{padding:34px 20px;text-align:center;border:1px dashed var(--line2);border-radius:var(--r);color:var(--mute)}
.empty .h3{color:var(--ink);margin-bottom:6px}

/* ===== execução ===== */
.exec-head{position:sticky;top:0;z-index:5;margin:-18px -18px 16px;padding:calc(14px + var(--safe-t)) 18px 14px;background:rgba(5,12,28,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.progress{height:6px;border-radius:6px;background:var(--s1);overflow:hidden;margin-top:12px}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--acc2),var(--acc));transition:width .35s}
.ex{display:flex;gap:14px;align-items:flex-start;transition:opacity .25s,border-color .2s}
.ex.done{opacity:.55}
.ex.done .ex-name{text-decoration:line-through;text-decoration-color:var(--acc)}
.ex-num{flex:none;font-family:var(--f-m);font-weight:700;color:var(--dim);font-size:.8rem;padding-top:3px;width:22px}
.ex-name{font-weight:800;font-size:1.04rem;line-height:1.3}
.ex-pres{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.ex-pres .pill{font-family:var(--f-m);font-size:.8rem;padding:5px 9px;border-radius:9px;background:var(--bg2);border:1px solid var(--line)}
.ex-pres .pill b{color:var(--acc);font-weight:700}
.ex-more{margin-top:10px;font-size:.9rem;color:var(--mute);display:none}
.ex.open .ex-more{display:block}
.ex-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.check{flex:none;width:46px;height:46px;border-radius:50%;border:2px solid var(--line2);display:grid;place-items:center;transition:all .2s}
.check svg{width:22px;height:22px;opacity:0;transform:scale(.6);transition:all .2s}
.ex.done .check{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
.ex.done .check svg{opacity:1;transform:none}
.finish-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:14px 18px calc(14px + var(--safe-b));background:linear-gradient(180deg,transparent,var(--bg) 30%)}
.finish-bar .btn{max-width:524px;margin:0 auto;display:flex;width:100%}

/* descanso */
.rest{position:fixed;inset:0;z-index:60;background:rgba(5,12,28,.92);backdrop-filter:blur(10px);display:grid;place-items:center;align-content:center;gap:22px;text-align:center}
.ring{width:220px;height:220px;position:relative}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:10}
.ring .bgc{stroke:var(--s2)} .ring .fgc{stroke:url(#rg);stroke-linecap:round;transition:stroke-dashoffset 1s linear}
.ring .t{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-h);font-weight:800;font-size:3rem}

/* check-in */
.effort{display:grid;grid-template-columns:repeat(11,1fr);gap:4px;margin:10px 0 6px}
.effort button{aspect-ratio:1/1.25;border-radius:10px;font-family:var(--f-m);font-weight:700;font-size:.82rem;background:var(--s1);border:1px solid var(--line);transition:transform .15s}
.effort button.on{transform:translateY(-4px);color:var(--on-acc);border-color:transparent}
.effort-lbl{display:flex;justify-content:space-between;font-size:.72rem;color:var(--dim)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seg button{padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--s1);font-weight:800}
.seg button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.seg button.on.alert{background:var(--warn);border-color:var(--warn)}

/* histórico */
.hist{display:flex;gap:14px}
.hist-date{flex:none;width:52px;text-align:center;border-radius:14px;background:var(--bg2);border:1px solid var(--line);padding:8px 0}
.hist-date b{display:block;font-family:var(--f-h);font-size:1.2rem}
.hist-date span{font-family:var(--f-m);font-size:.66rem;color:var(--mute);text-transform:uppercase}
.rpe{font-family:var(--f-m);font-weight:700;padding:3px 8px;border-radius:8px;font-size:.78rem;color:var(--on-acc)}

/* staff */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 6px}
.stat{background:var(--s1);border:1px solid var(--line);border-radius:16px;padding:14px}
.stat b{display:block;font-family:var(--f-h);font-size:1.4rem}
.stat span{font-size:.74rem;color:var(--mute)}
.search{position:relative;margin-bottom:12px}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--dim)}
.search .input{padding-left:42px}
.list-item{display:flex;align-items:center;gap:14px;padding:14px;border-radius:18px;border:1px solid var(--line);background:rgba(11,24,52,.6);cursor:pointer;transition:border-color .2s}
.list-item+.list-item{margin-top:8px}
.list-item:hover{border-color:var(--line2)}
.chev{color:var(--dim);width:18px;height:18px;flex:none}
.tabs{display:flex;gap:4px;padding:4px;background:var(--s1);border:1px solid var(--line);border-radius:14px;margin:18px 0 16px}
.tabs button{flex:1;padding:10px 8px;border-radius:10px;font-weight:800;font-size:.88rem;color:var(--mute)}
.tabs button.on{background:var(--s3);color:var(--ink)}
.fab{position:fixed;right:max(18px,calc(50% - 262px));bottom:calc(96px + var(--safe-b));z-index:25;width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--acc),var(--acc2));color:var(--on-acc);box-shadow:0 12px 30px rgba(47,107,255,.4)}
.app.wide~.fab{right:max(18px,calc(50% - 472px))}
.fab svg{width:26px;height:26px}
.item-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
.reorder{display:flex;flex-direction:column;gap:4px}
.reorder button{width:32px;height:28px;border-radius:8px;background:var(--bg2);border:1px solid var(--line);display:grid;place-items:center}
.reorder svg{width:14px;height:14px}
.alert-dot{width:8px;height:8px;border-radius:50%;background:var(--acc);flex:none}
.cred{background:var(--bg2);border:1px dashed var(--line2);border-radius:16px;padding:16px;font-family:var(--f-m);font-size:.92rem;line-height:1.8;word-break:break-all}
.cred b{color:var(--acc)}

/* dock (navegação inferior) */
.dock{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + var(--safe-b));z-index:30;display:flex;gap:4px;padding:6px;border-radius:22px;background:rgba(11,24,52,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line2);box-shadow:0 14px 40px rgba(0,0,0,.45)}
.dock a{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:68px;padding:8px 10px;border-radius:16px;color:var(--mute);font-size:.68rem;font-weight:800;letter-spacing:.02em;position:relative}
.dock a svg{width:22px;height:22px}
.dock a.on{background:var(--ink);color:var(--bg)}
.dock a .badge{position:absolute;top:4px;right:16px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--acc);color:var(--on-acc);font-size:.62rem;display:grid;place-items:center}

/* sheet (painel que sobe) */
.sheet-wrap{position:fixed;inset:0;z-index:50}
.sheet-bg{position:absolute;inset:0;background:rgba(2,6,16,.66);animation:fade .2s}
.sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:600px;max-height:92vh;overflow:auto;background:var(--bg2);border:1px solid var(--line2);border-bottom:0;border-radius:26px 26px 0 0;padding:10px 20px calc(24px + var(--safe-b));animation:up .28s cubic-bezier(.2,.9,.3,1)}
.sheet-grip{width:44px;height:5px;border-radius:5px;background:var(--line2);margin:0 auto 16px}
@keyframes up{from{transform:translate(-50%,40px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
@keyframes fade{from{opacity:0}}
@media (min-width:700px){.sheet{bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:26px;border-bottom:1px solid var(--line2);animation:pop .22s}.sheet-grip{display:none}}
@keyframes pop{from{transform:translate(-50%,-46%);opacity:0}}

/* toast */
.toast{position:fixed;left:50%;top:calc(16px + var(--safe-t));transform:translate(-50%,-140%);z-index:70;padding:12px 18px;border-radius:14px;background:var(--ink);color:var(--bg);font-weight:800;font-size:.9rem;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .3s;max-width:90vw;text-align:center}
.toast.show{transform:translate(-50%,0)}
.toast.err{background:var(--err)}

@media (min-width:860px){
  .app.wide .cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .app.wide .cols>.list-item{margin-top:0}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== fotos dos exercícios ===== */
.exfig{position:relative;overflow:hidden;border-radius:14px;background:#e9edf3;aspect-ratio:3/2;flex:none}
.exfig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.exfig.anim img:nth-child(2){animation:exfrm 2.4s steps(1,end) infinite}
@keyframes exfrm{0%{opacity:0}50%{opacity:1}}
.exfig.empty{background:repeating-linear-gradient(-62deg,rgba(70,214,255,.08) 0 8px,transparent 8px 16px),var(--s2);display:grid;place-items:center}
.exfig.empty span{font-family:var(--f-m);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:center;padding:4px}
.exfig.thumb{width:72px;border-radius:12px}
.exfig.ex-fig{width:100%;max-width:340px;margin-bottom:12px}
.exfig.big{width:100%;margin:14px 0 4px;border-radius:18px}
.ex.done .exfig{filter:grayscale(.6)}
.ex-li{gap:12px;padding:10px}
.ellip2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.steps{margin:6px 0 0;padding-left:20px;display:grid;gap:6px;font-size:.92rem;color:var(--ink)}
.steps li::marker{color:var(--acc);font-family:var(--f-m);font-weight:700}
.ex-how{margin-top:10px;display:inline-block}
.ex.open .ex-how{display:none}
.ex-detail{margin-top:10px}
@media (prefers-reduced-motion:reduce){.exfig.anim img:nth-child(2){animation:none;opacity:0}}

/* ===== cargas no treino ===== */
.load{margin-top:12px;padding:12px;border-radius:14px;background:rgba(5,12,28,.55);border:1px solid var(--line);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.load-in{display:flex;align-items:center;gap:6px;background:var(--bg2);border:1px solid var(--line2);border-radius:12px;padding:4px 10px 4px 12px}
.load-in span{font-size:.72rem;font-weight:800;color:var(--mute);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.load-in input{width:64px;background:none;border:0;outline:none;font-family:var(--f-h);font-size:1.15rem;font-weight:700;text-align:right;padding:6px 0}
.load-in input::placeholder{color:var(--dim)}
.load-in em{font-style:normal;color:var(--mute);font-size:.82rem}
.load-in:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px rgba(70,214,255,.15)}
.load-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.load-info b{color:var(--ink)}
.sug{align-self:flex-start;display:inline-flex;gap:6px;align-items:center;padding:5px 11px;border-radius:999px;background:rgba(70,214,255,.12);border:1px solid rgba(70,214,255,.35);color:var(--acc);font-size:.8rem;font-weight:700}
.sug b{color:var(--acc)}
.sug:active{transform:scale(.97)}

/* ===== gráficos e evolução ===== */
.chart{display:block;width:100%;height:auto;overflow:visible}
.chart .cv{fill:var(--ink);font:700 10px var(--f-m)}
.chart .cx{fill:var(--dim);font:600 9px var(--f-m)}
.chart.mini{width:110px;flex:none}
.lift{display:flex;align-items:center;gap:12px;text-align:left;width:100%;color:inherit;margin:0}
.cols>.lift+.lift,.cols>.card+.card{margin-top:0}
.lift-n{display:flex;align-items:baseline;gap:8px;margin:4px 0 2px}
.lift-n b{font-family:var(--f-h);font-size:1.3rem}
.delta{font-family:var(--f-m);font-size:.74rem;font-weight:700;color:var(--mute);white-space:nowrap}
.delta.good{color:var(--ok)} .delta.bad{color:var(--warn)}
.tbl>div{display:grid;grid-template-columns:1fr auto auto 74px;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line)}
.tbl>div:last-child{border-bottom:0}
.tbl>div>span:first-child{color:var(--mute);font-size:.9rem}
.tbl .delta{text-align:right}
.tbl>div:has(> :nth-child(3):last-child){grid-template-columns:1fr auto 74px}
.tabs.scroll{overflow-x:auto;scrollbar-width:none}
.tabs.scroll::-webkit-scrollbar{display:none}
.tabs.scroll button{flex:1 0 auto;white-space:nowrap;padding:10px 14px}
.badge.in{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--acc);color:var(--on-acc);font-size:.62rem;font-style:normal;margin-left:4px;vertical-align:1px}
.g-charts{align-items:start}
.av-item{display:flex;align-items:center;gap:14px;color:inherit}
.msg-card{align-items:center;gap:14px;color:inherit;border-color:rgba(70,214,255,.4)}

/* ===== avaliação ===== */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.inp-u{position:relative}
.inp-u .input{padding-right:46px}
.inp-u em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;font-size:.72rem;color:var(--dim);pointer-events:none}
.radios{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.radios input{position:absolute;opacity:0;pointer-events:none}
.radios span{display:block;text-align:center;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--s1);font-weight:800;cursor:pointer}
.radios input:checked+span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.radios input:focus-visible+span{box-shadow:0 0 0 3px rgba(70,214,255,.3)}
.av-form{display:grid;gap:12px;margin-top:18px}
.av-main>.card+.card{margin-top:12px}
.res-card .res-big{margin:10px 0 12px}
.res-big b{display:block;font-family:var(--f-h);font-size:2.4rem;line-height:1;color:var(--acc)}
.res-big span{font-size:.8rem;color:var(--mute)}
.res-l{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 0;border-top:1px solid var(--line);font-size:.9rem}
.res-l span{color:var(--mute)} .res-l em{grid-column:1/-1;font-style:normal;font-size:.74rem;color:var(--acc)}
@media(min-width:860px){.av-form{grid-template-columns:1fr 300px;align-items:start}.av-side{position:sticky;top:20px}}
@media(max-width:380px){.grid3{grid-template-columns:1fr 1fr}}
.rel-head{display:flex;gap:16px;align-items:center;margin:20px 0 4px}
.rel-head img{width:52px;flex:none}
.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
@media(min-width:700px){.metrics{grid-template-columns:repeat(4,1fr)}}
.metric{background:var(--s1);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:2px}
.metric>span{font-size:.76rem;color:var(--mute);font-weight:700}
.metric b{font-family:var(--f-h);font-size:1.45rem}
.metric b small{font-size:.8rem;color:var(--mute);margin-left:2px;font-family:var(--f-b)}
.metric em{font-style:normal;font-size:.74rem;color:var(--acc)}

/* ===== conversa ===== */
.chat{display:flex;flex-direction:column;gap:6px;margin-top:16px;min-height:200px}
.app.wide .chat{max-height:56vh;overflow-y:auto;padding-right:4px}
.bubble{max-width:82%;align-self:flex-start;background:var(--s2);border:1px solid var(--line);border-radius:18px 18px 18px 6px;padding:10px 14px}
.bubble.me{align-self:flex-end;background:linear-gradient(135deg,rgba(70,214,255,.22),rgba(47,107,255,.25));border-color:rgba(70,214,255,.35);border-radius:18px 18px 6px 18px}
.bubble p{white-space:pre-wrap;word-break:break-word}
.b-meta{display:block;font-size:.68rem;color:var(--dim);margin-top:4px;text-align:right}
.b-ref{display:block;font-size:.72rem;color:var(--acc);font-weight:700;margin-bottom:4px}
.day-sep{align-self:center;font-family:var(--f-m);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:10px 0 4px}
.composer{position:sticky;bottom:calc(84px + var(--safe-b));margin-top:14px;background:rgba(5,12,28,.92);backdrop-filter:blur(10px);border:1px solid var(--line2);border-radius:20px;padding:8px}
.composer .textarea{min-height:46px;max-height:160px;resize:none;border:0;background:transparent;box-shadow:none!important}
.composer .send{flex:none;width:46px;height:46px;padding:0;border-radius:14px}
.ref-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem;color:var(--mute);padding:4px 6px 8px 10px}
.ref-chip b{color:var(--acc)}
.ref-chip .icon-btn{width:30px;height:30px}

@media print{
  body::before,#dock,.no-print,.toast{display:none!important}
  html,body{background:#fff;color:#0b1834}
  .app{max-width:none;padding:0}
  .card,.metric{background:#fff!important;border-color:#cfd8ea!important;break-inside:avoid}
  .muted,.dim,.metric>span,.tbl>div>span:first-child{color:#55627d!important}
  .h1,.h2,.metric b,.tbl b{color:#0b1834}
  .chart .cv{fill:#0b1834}
}
.lift-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.bubble{max-width:min(82%,560px)}
@media(max-width:600px){.g-charts{grid-template-columns:1fr}.g-charts>.card+.card{margin-top:0}}
.dobra-row{display:grid;grid-template-columns:1fr 58px 58px 58px 66px;gap:6px;align-items:center;padding:4px 0}
.dobra-row>span{font-size:.84rem;font-weight:700;color:var(--mute)}
.dobra-row .input.c{padding:10px 4px}
.dobra-row b{text-align:right;font-size:.86rem;color:var(--acc)}
@media(max-width:380px){.dobra-row{grid-template-columns:1fr 50px 50px 50px 58px}}
.tbl-sub{font-style:normal;font-size:.72rem;color:var(--acc)}
.zonas{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.zona{border-radius:14px;padding:10px 8px;background:var(--s1);border:1px solid var(--line);border-top:3px solid;display:flex;flex-direction:column;gap:2px}
.zona b{font-family:var(--f-h)} .zona span{font-size:.72rem;color:var(--mute);line-height:1.2} .zona em{font-style:normal;font-family:var(--f-m);font-size:.74rem;font-weight:700;margin-top:4px}
.zona.z1{border-top-color:#8fa1c4}.zona.z2{border-top-color:#3ddc97}.zona.z3{border-top-color:#46d6ff}.zona.z4{border-top-color:#ffcf5c}.zona.z5{border-top-color:#ff8a8a}
@media(max-width:520px){.zonas{grid-template-columns:1fr}.zona{flex-direction:row;align-items:center;gap:10px;border-top-width:1px;border-left:4px solid}.zona span{flex:1;font-size:.84rem}.zona em{margin:0}
 .zona.z1{border-left-color:#8fa1c4}.zona.z2{border-left-color:#3ddc97}.zona.z3{border-left-color:#46d6ff}.zona.z4{border-left-color:#ffcf5c}.zona.z5{border-left-color:#ff8a8a}}
.zonas{margin-bottom:16px}

/* ===== termo / anamnese ===== */
.termo{max-height:46vh;overflow-y:auto;font-size:.88rem;line-height:1.6;color:var(--mute)}
.termo p+p{margin-top:10px} .termo b{color:var(--ink)}
.app:not(.bare) .termo{max-height:none}
.aceite{display:flex;gap:12px;align-items:flex-start;padding:12px 4px;font-size:.9rem;cursor:pointer}
.aceite input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--acc)}
.parq{padding:14px 0;border-top:1px solid var(--line)}
.parq:first-of-type{margin-top:8px}
.parq p{font-size:.92rem;margin-bottom:10px}
.parq .radios span{padding:9px}
.chips.wrap{flex-wrap:wrap;overflow:visible}
.chipc input{position:absolute;opacity:0;pointer-events:none}
.chipc span{display:inline-block;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:var(--s1);font-size:.84rem;font-weight:700;color:var(--mute);cursor:pointer;transition:.15s}
.chipc input:checked+span{background:rgba(70,214,255,.14);border-color:var(--acc);color:var(--acc)}
.chipc input:focus-visible+span{box-shadow:0 0 0 3px rgba(70,214,255,.3)}
.kv>div{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.kv>div:last-child{border-bottom:0}
.kv span{color:var(--mute)} .kv b{font-weight:600}
.push-card{margin-top:16px;border-color:rgba(70,214,255,.35)}

/* ===== fotos ===== */
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.foto-slot{display:flex;flex-direction:column;gap:6px;cursor:pointer}
.foto-slot em{font-style:normal;font-size:.76rem;color:var(--mute);text-align:center;font-weight:700}
.foto-prev{position:relative;aspect-ratio:3/4;border-radius:14px;border:1.5px dashed var(--line2);background:var(--bg2);display:grid;place-items:center;overflow:hidden}
.foto-prev span{display:grid;place-items:center;gap:4px;color:var(--mute);font-size:.8rem}
.foto-prev span svg{width:26px;height:26px;color:var(--acc)}
.foto-slot.tem .foto-prev{border-style:solid;border-color:var(--acc)}
.foto-prev img,.cmp-f img,.foto-grande img{width:100%;height:100%;object-fit:cover;display:block}
.grade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(70,214,255,.9) calc(50% - 1px),rgba(70,214,255,.9) calc(50% + 1px),transparent calc(50% + 1px)),
  repeating-linear-gradient(0deg,rgba(255,255,255,.28) 0 1px,transparent 1px 10%),repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0 1px,transparent 1px 12.5%)}
.cmp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cmp-grid.one{grid-template-columns:minmax(0,320px);justify-content:center}
.cmp-f{position:relative;margin:0;aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:var(--bg2);border:1px solid var(--line)}
.cmp-f figcaption{position:absolute;left:8px;bottom:8px;padding:3px 9px;border-radius:999px;background:rgba(5,12,28,.75);font-size:.72rem;font-weight:700}
.cmp-vazio{height:100%;display:grid;place-items:center;color:var(--dim);font-size:.8rem;text-align:center;padding:10px}
.foto-dia b{display:block;margin-bottom:10px}
.thumbs{display:flex;gap:8px;overflow-x:auto}
.thumb-f{flex:none;width:92px;display:flex;flex-direction:column;gap:4px;color:var(--mute);font-size:.72rem;font-weight:700}
.thumb-f img{width:92px;height:122px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.foto-grande{position:relative;border-radius:16px;overflow:hidden;max-height:70vh;aspect-ratio:3/4;margin:0 auto;max-width:420px}
.post-fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
@media(max-width:520px){.post-fotos{grid-template-columns:1fr 1fr}.post-fotos .cmp-f:last-child{grid-column:1/-1;max-width:50%;justify-self:center;width:100%}}
.achados{margin:8px 0 0 18px;font-size:.92rem}
.achados li+li{margin-top:4px}
.achados li::marker{color:var(--warn)}
@media print{.grade{display:none!important}.termo{max-height:none}}
.foto-slot:not(.tem) .grade{display:none}
.slots{max-width:520px}
/* cargas no treino: layout em coluna, à prova de tela estreita e fonte grande */
.load{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}
.load-in{justify-self:stretch;justify-content:space-between;min-width:0}
.load-in input{flex:1;min-width:0;width:auto;max-width:120px}
.load-info{flex:none;min-width:0;display:flex;flex-direction:column;gap:6px}
.load-info>*{max-width:100%}
.sug{flex-wrap:wrap;white-space:nowrap}
.load-in{padding:4px 10px}
.load-in span{font-size:.64rem;letter-spacing:.04em;flex:none}
.load-in input{min-width:58px}
.load-in em{flex:none}
@media(max-width:400px){.ex{gap:10px}.ex .check{width:40px;height:40px}}
.load-in span{flex:1 1 auto}
.load-in input{flex:0 1 3.6em;width:3.6em;min-width:2.6em;max-width:none}
.load-in{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:6px;row-gap:0;padding:6px 12px;justify-self:start;width:min(100%,220px)}
.load-in span{grid-column:1/-1;white-space:normal}
.load-in input{width:100%;min-width:0;text-align:left;font-size:1.3rem;padding:2px 0}

/* ===================== TEMA CLARO (padrão) ===================== */
html[data-tema="claro"]{
  --bg:#f3f6fb; --bg2:#ffffff; --s1:#eef2f9; --s2:#e4ebf6; --s3:#d3def0;
  --line:rgba(11,30,70,.10); --line2:rgba(11,30,70,.18);
  --ink:#0b1834; --mute:#55657f; --dim:#8492aa;
  --acc:#0284c7; --acc2:#2f6bff; --on-acc:#ffffff;
  --ok:#0e9a5f; --warn:#b26b00; --err:#d23f3f;
  color-scheme:light;
}
html[data-tema="claro"] body::before{background:radial-gradient(900px 500px at 110% -10%,rgba(47,107,255,.10),transparent 60%),radial-gradient(700px 420px at -20% 110%,rgba(70,214,255,.10),transparent 60%)}
html[data-tema="claro"] .card{background:#fff;box-shadow:0 1px 2px rgba(11,24,52,.05),0 8px 24px rgba(11,24,52,.05)}
html[data-tema="claro"] .list-item{background:#fff}
html[data-tema="claro"] .stat,html[data-tema="claro"] .metric{background:#fff}
html[data-tema="claro"] .dock{background:rgba(255,255,255,.92);box-shadow:0 14px 40px rgba(11,24,52,.16)}
html[data-tema="claro"] .dock a.on{background:var(--ink);color:#fff}
html[data-tema="claro"] .exec-head{background:rgba(243,246,251,.9)}
html[data-tema="claro"] .rest{background:rgba(243,246,251,.94)}
html[data-tema="claro"] .load{background:var(--s1)}
html[data-tema="claro"] .composer{background:rgba(255,255,255,.95)}
html[data-tema="claro"] .cmp-f figcaption{background:rgba(255,255,255,.88);color:var(--ink)}
html[data-tema="claro"] .grade{background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(2,132,199,.95) calc(50% - 1px),rgba(2,132,199,.95) calc(50% + 1px),transparent calc(50% + 1px)),repeating-linear-gradient(0deg,rgba(255,255,255,.55) 0 1px,transparent 1px 10%),repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 1px,transparent 1px 12.5%)}
html[data-tema="claro"] .btn{box-shadow:0 8px 22px rgba(2,132,199,.22)}
html[data-tema="claro"] .btn.ghost{background:#fff}
html[data-tema="claro"] .tag.acc,html[data-tema="claro"] .sug{background:rgba(2,132,199,.10)}
html[data-tema="claro"] .bubble{background:#fff}
html[data-tema="claro"] .bubble.me{background:linear-gradient(135deg,rgba(2,132,199,.12),rgba(47,107,255,.14));border-color:rgba(2,132,199,.3)}
html[data-tema="claro"] .chart .cx{fill:var(--dim)}
html[data-tema="claro"] .sheet-bg{background:rgba(11,24,52,.45)}
html[data-tema="claro"] .boot-logo{filter:brightness(0);opacity:.85}
.tema-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.rpe{color:#04122b}
.msg-card .go,.push-card .go{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--acc);color:var(--on-acc)}
.msg-card .go svg,.push-card .go svg{width:20px;height:20px}
.toast{opacity:0;transition:transform .3s,opacity .3s}.toast.show{opacity:1}

/* ===== corrida ===== */
.opcao{display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--bg2);cursor:pointer;color:inherit;margin-top:10px}
.opcao .go{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--acc);color:var(--on-acc)}
.opcao .go svg{width:20px;height:20px}
.opcao:active{transform:scale(.99)}
.ajuda{margin-top:14px;font-size:.86rem;color:var(--mute)}
.ajuda summary{cursor:pointer;font-weight:700;color:var(--acc)}
.ajuda p{margin-top:8px}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.mini-stats div{background:var(--s1);border-radius:12px;padding:10px;text-align:center}
.mini-stats b{display:block;font-family:var(--f-h);font-size:1.05rem}
.mini-stats span{font-size:.72rem;color:var(--mute)}
.rota-box{margin-top:10px;display:grid;place-items:center}
.rota{width:100%;max-width:520px;height:auto;display:block}
.splits>div{display:grid;grid-template-columns:52px 1fr 58px 64px;gap:10px;align-items:center;padding:6px 0;font-size:.88rem}
.splits span{color:var(--mute);font-family:var(--f-m);font-size:.78rem}
.splits i{height:10px;border-radius:6px;background:linear-gradient(90deg,var(--acc),var(--acc2))}
.splits b{font-family:var(--f-m);text-align:right}
.splits em{font-style:normal;color:var(--mute);font-size:.76rem;text-align:right}
.semana-plano{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
@media(max-width:860px){.semana-plano{grid-template-columns:1fr}}
.dia-plano{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:6px;min-height:84px}
.dia-plano.hoje{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset}
@media(max-width:860px){.dia-plano{flex-direction:row;flex-wrap:wrap;align-items:center;min-height:0}.dia-plano .dp-h{width:100%}}
.dp-h{display:flex;align-items:center;gap:6px}
.dp-h b{font-family:var(--f-m);font-size:.74rem;letter-spacing:.08em}
.dp-h span{font-size:.74rem;color:var(--dim)}
.dp-add{margin-left:auto;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--acc);background:var(--s1)}
.dp-add svg{width:14px;height:14px}
.dp-vazio{font-size:.76rem;color:var(--dim)}
.sessao-c{display:flex;flex-direction:column;gap:2px;text-align:left;width:100%;padding:8px 10px;border-radius:12px;border:1px solid var(--line);border-left:4px solid var(--acc);background:var(--s1);color:inherit;cursor:pointer}
@media(max-width:860px){.sessao-c{width:auto;flex:1 1 220px}}
.sessao-c.feito{border-left-color:var(--ok)}
.sessao-c.perdido{border-left-color:var(--warn);opacity:.85}
.sessao-c.avulsa{border-left-style:dashed}
.sc-t{font-weight:800;font-size:.86rem}
.sc-m{font-size:.76rem;color:var(--mute)}
.sc-ok{font-size:.74rem;color:var(--ok);font-weight:700}
.sc-x{font-size:.74rem;color:var(--warn);font-weight:700}
.paces{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:12px}
.paces div,.prev-prova div{background:var(--s1);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}
.paces span,.prev-prova span{font-size:.74rem;color:var(--mute)}
.paces b,.prev-prova b{font-family:var(--f-m);font-size:.95rem}
.prev-prova{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
@media(max-width:420px){.prev-prova{grid-template-columns:1fr 1fr}}
.plan-vs{margin-top:12px}
.pv{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.pv div{background:var(--s1);border-radius:12px;padding:10px}
.pv span{display:block;font-size:.72rem;color:var(--mute)} .pv b{font-family:var(--f-h)}
.corr-item{display:flex;align-items:center;gap:14px;color:inherit}
.corr-home{border-color:rgba(2,132,199,.3)}
.icon-btn.sm{width:34px;height:34px;border-radius:10px}
.icon-btn.sm svg{width:16px;height:16px}
.passos-int{margin:10px 0 0 18px}
.passos-int li+li{margin-top:4px}
@media(max-width:860px){.dia-plano.vazio{flex-wrap:nowrap;padding:8px 10px}.dia-plano.vazio .dp-h{width:auto}.dia-plano.vazio .dp-vazio{margin-left:auto}}

/* ===== planilha de corrida (arrastar e soltar) ===== */
.subtabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:16px;padding-bottom:2px}
.subtabs::-webkit-scrollbar{display:none}
.subtabs button{flex:none;padding:9px 14px;border-radius:999px;font-weight:800;font-size:.86rem;color:var(--mute);border:1px solid var(--line);background:var(--bg2)}
.subtabs button.on{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
.pl-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.pl-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:899px){.pl-grid{grid-template-columns:1fr}}
.biblio{background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:12px;position:sticky;top:12px}
@media(max-width:899px){.biblio{position:static;padding:10px}}
.biblio-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.biblio-l{display:flex;flex-direction:column;gap:8px}
@media(max-width:899px){.biblio-l:not(.sheet-mods){flex-direction:row;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.biblio-l:not(.sheet-mods) .mod{flex:0 0 150px}}
.sheet-mods{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.mod{display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px;border-radius:14px;border:1px solid var(--line);background:var(--s1);color:inherit;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y}
.mod b{font-size:.86rem;line-height:1.2} .mod span{font-size:.72rem;color:var(--mute)}
.mod:hover{border-color:var(--acc)}
.perfil-int{display:flex;align-items:flex-end;gap:1px;height:26px;border-radius:6px;overflow:hidden;background:var(--s2)}
.perfil-int.alto{height:56px;border-radius:10px}
.perfil-int.vazio{height:26px}
.perfil-int i{display:block;min-width:2px;border-radius:2px 2px 0 0}
.cal{display:flex;flex-direction:column;gap:14px}
.cal-sem-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}
.cal-sem-h b{font-family:var(--f-m);font-size:.8rem} .cal-sem-h span{font-size:.8rem;color:var(--mute)}
.cal-dias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
@media(max-width:899px){.cal-dias{grid-template-columns:1fr}}
.cal-dia{background:var(--bg2);border:1.5px solid var(--line);border-radius:16px;padding:8px;min-height:120px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s}

.cal-dia.hoje{border-color:var(--acc)}
.cal-dia.passado{opacity:.86}
.cal-dia.alvo-on{border-color:var(--acc);border-style:dashed;background:rgba(2,132,199,.08)}
.cal-dia-h{display:flex;align-items:center;gap:6px}
.cal-dia-h b{font-family:var(--f-m);font-size:.72rem;letter-spacing:.08em;color:var(--mute)}
.cal-dia-h span{font-family:var(--f-h);font-size:1rem}
.cal-dia.hoje .cal-dia-h b,.cal-dia.hoje .cal-dia-h span{color:var(--acc)}
.cal-add{margin-left:auto;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--acc);background:var(--s1)}

.cal-add svg{width:14px;height:14px}
.cal-vazio{font-size:.74rem;color:var(--dim);padding:6px 2px}
.ses{display:flex;flex-direction:column;gap:5px;padding:8px;border-radius:12px;background:var(--s1);border:1px solid var(--line);cursor:pointer;color:inherit;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.ses:hover{border-color:var(--acc)}
.ses-t{display:flex;justify-content:space-between;gap:6px;align-items:flex-start}
.ses-t b{font-size:.82rem;line-height:1.2}
.ses-m{font-size:.72rem;color:var(--mute)} .ses-f{font-size:.72rem;font-weight:800;color:var(--ok)}
.ses-ok{flex:none;width:18px;height:18px;border-radius:50%;background:var(--ok);color:#fff;font-size:.66rem;display:grid;place-items:center;font-weight:800}
.ses-x{flex:none;width:18px;height:18px;border-radius:50%;background:var(--warn);color:#fff;font-size:.7rem;display:grid;place-items:center;font-weight:800}
.ses.feito{border-color:rgba(14,154,95,.35)} .ses.perdido{border-color:rgba(178,107,0,.35)}
.ses.avulsa{border-style:dashed}
.fantasma{position:fixed;z-index:200;pointer-events:none;opacity:.95;box-shadow:0 18px 40px rgba(11,24,52,.28);border-color:var(--acc)!important;background:var(--bg2)!important;transition:none}
.arrastando-origem{opacity:.35}
body.arrastando{user-select:none;-webkit-user-select:none;cursor:grabbing}
.lixeira{display:none;position:fixed;left:50%;top:calc(12px + var(--safe-t));transform:translateX(-50%);z-index:150;padding:16px 26px;border-radius:18px;border:2px dashed var(--err);background:var(--bg2);color:var(--err);font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.18)}
body.arrastando .lixeira{display:block}
body.arrastando #dock{display:none}
.lixeira.alvo-on{background:var(--err);color:#fff}
/* editor */
.perf-card{margin-top:12px;padding:14px}
.legenda{display:flex;gap:4px} .legenda i{width:14px;height:8px;border-radius:3px}
.passos{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.passo{display:grid;grid-template-columns:22px minmax(0,1.3fr) 70px 86px minmax(0,1.2fr) 30px;gap:6px;align-items:center;padding:8px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);border-left:5px solid var(--zc)}
.passo .input{padding:9px 8px;font-size:.88rem;border-radius:10px}
.passo .pace-dica{grid-column:2/-1;font-style:normal;font-size:.74rem;color:var(--mute);padding:0 2px;margin-top:-2px;font-variant-numeric:tabular-nums}
.passo .pace-dica::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--zc);margin-right:6px;vertical-align:1px}
.passo .pace-dica span{color:var(--dim)}
@media(max-width:560px){.passo{grid-template-columns:22px 1fr 1fr 30px}.passo .ksel{grid-column:2/4}.passo .x-passo{grid-column:4;grid-row:1}.passo .vin{grid-column:2}.passo .msel{grid-column:3}.passo .zsel{grid-column:2/4}.passo .pace-dica{grid-column:2/4}}
.passo.alvo-on,.serie.alvo-on{outline:2px dashed var(--acc);outline-offset:2px}
.alca{cursor:grab;color:var(--dim);font-weight:800;letter-spacing:-2px;text-align:center;user-select:none;touch-action:none;padding:6px 0}
.x-passo{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--mute)}
.x-passo svg{width:14px;height:14px}
.serie{border:1.5px solid var(--line2);border-radius:16px;padding:8px;background:var(--s1)}
.serie-h{display:flex;align-items:center;gap:8px;padding:2px 4px 8px}
.serie-h .nin{width:64px;padding:8px;text-align:center}
.serie-h .x-passo{margin-left:auto}
.serie-c{display:flex;flex-direction:column;gap:6px;padding-left:10px;border-left:3px solid var(--line2)}
.add-passos{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.passo-v{padding:10px 12px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);border-left:5px solid var(--zc);display:flex;flex-direction:column}
.passo-v b{font-size:.86rem} .passo-v span{font-size:.84rem;color:var(--mute)} .passo-v strong{color:var(--ink);font-family:var(--f-m)}
.serie-v{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;background:var(--s1);border:1px dashed var(--line2)}

.cal-dia-c{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.pl-grid>*{min-width:0}
.biblio{min-width:0}
.app.wide{max-width:1180px}
.ses-t b{min-width:0;overflow-wrap:anywhere}
@media(max-width:899px){
  .cal-dia{flex-direction:row;min-height:0;gap:10px;align-items:stretch}
  .cal-dia-h{flex-direction:column;align-items:flex-start;width:42px;flex:none;gap:2px}
  .cal-add{margin:6px 0 0}
  .cal-dia-c{justify-content:center}
}
.alvo-t{font-style:normal;color:var(--acc);font-weight:700;white-space:nowrap}

/* ===== financeiro ===== */
.mes-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 4px}
.mes-nav b{font-family:var(--f-h);font-size:1.02rem;text-transform:capitalize;min-width:170px;text-align:center}
.fin-tot{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.fin-tot div{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:2px}
.fin-tot span{font-size:.76rem;color:var(--mute);font-weight:700}
.fin-tot b{font-family:var(--f-h);font-size:1.15rem}
.fin-tot .ok b{color:var(--ok)} .fin-tot .err b{color:var(--err)}
@media(max-width:420px){.fin-tot b{font-size:.98rem}}
.aviso-linha{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin-top:12px;padding:12px 14px;border-radius:14px;background:rgba(2,132,199,.08);border:1px solid rgba(2,132,199,.25);color:var(--ink);font-size:.9rem}
.aviso-linha svg{width:20px;height:20px;flex:none;color:var(--acc)}
.aviso-linha span{flex:1}
.cob .av{width:42px;height:42px;font-size:.9rem}
.cob-v{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.cob-v b{font-family:var(--f-m);font-size:.95rem;white-space:nowrap}
.mini-acao{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--s1);border:1px solid var(--line);color:var(--acc)}
.mini-acao.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.mini-acao svg{width:18px;height:18px}
.cob-det{display:flex;align-items:center;gap:10px;margin:12px 0 4px}
.cob-det b{font-family:var(--f-h);font-size:1.8rem}
.seg.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:420px){.seg.four{grid-template-columns:1fr 1fr}}
.cob-mini{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 2px;border-top:1px solid var(--line);cursor:pointer;font-size:.88rem}
.cob-mini span:first-child{text-transform:capitalize;color:var(--mute)} .cob-mini b{font-family:var(--f-m)}
.cob-card{margin-top:16px;border-color:rgba(2,132,199,.35)}
.cob-card.atraso{border-color:rgba(210,63,63,.45)}
.cob-card .go{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--acc);color:var(--on-acc)}
.cob-card.atraso .go{background:var(--err);color:#fff}
.cob-card.info .go{background:var(--ok);color:#fff}
.cob-card .go svg{width:20px;height:20px}
.qr-box{display:grid;place-items:center;margin:16px auto;width:min(240px,70vw);aspect-ratio:1;background:#fff;border-radius:16px;padding:10px;border:1px solid var(--line)}
.qr-box svg{width:100%;height:100%}
/* ===== hoje ===== */
.alerta .av{width:44px;height:44px}
.ativ{padding:6px 12px}
.ativ-l{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);color:inherit}
.ativ-l:last-of-type{border-bottom:0}
.ativ-l .grow{display:flex;flex-direction:column}
.ativ-ic{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--s1);color:var(--acc)}
.ativ-ic svg{width:18px;height:18px}
.ativ-l .tiny{white-space:nowrap}

/* ===== modelos de treino / envio para vários alunos ===== */
.subtabs a{flex:none;padding:9px 14px;border-radius:999px;font-weight:800;font-size:.86rem;color:var(--mute);border:1px solid var(--line);background:var(--bg2)}
.subtabs a.on{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
.acoes-extra{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.acoes-extra .btn{font-size:.88rem;padding:12px 10px}
@media(max-width:420px){.acoes-extra{grid-template-columns:1fr}}
.modelo-t{cursor:pointer;display:flex;flex-direction:column}
.cols>.modelo-t+.modelo-t{margin-top:0}
.modelo-t .btn{align-self:flex-start}
.mt-fotos{display:flex;gap:6px;margin-top:12px}
.mt-fotos .thumb{width:46px;height:46px;flex:none}
.pa-lista{max-height:46vh;overflow-y:auto;gap:6px!important}
.pa-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg2);cursor:pointer}
.pa-item input{position:absolute;opacity:0;pointer-events:none}
.pa-item .av{width:38px;height:38px;font-size:.82rem}
.pa-item .grow{min-width:0}
.pa-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--line2);display:grid;place-items:center;color:transparent;flex:none}
.pa-check svg{width:14px;height:14px}
.pa-item.on{border-color:var(--acc);background:rgba(2,132,199,.06)}
.pa-item.on .pa-check{background:var(--acc);border-color:var(--acc);color:#fff}

/* ===== seções do aluno: hoje, planilha, eventos ===== */
.subtabs a{flex:none;padding:9px 14px;border-radius:999px;font-weight:800;font-size:.86rem;color:var(--mute);border:1px solid var(--line);background:var(--bg2);text-decoration:none}
.subtabs a.on{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
.pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:800;background:var(--bg2);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.card.feito{border-color:rgba(14,154,95,.35)}
.wcard.feito .wletter{background:var(--ok);color:#fff}
.eyebrow svg{width:14px;height:14px;vertical-align:-2px}
.prox-l{display:flex;align-items:center;gap:12px}
.prova-card{gap:14px;align-items:center;border-color:rgba(2,132,199,.3)}
.pc-n{flex:none;width:58px;height:58px;border-radius:16px;background:var(--acc);color:var(--on-acc);display:grid;place-content:center;text-align:center;line-height:1}
.pc-n b{font-family:var(--f-m);font-size:1.35rem}.pc-n span{font-size:.66rem;font-weight:800;text-transform:uppercase}
.atalhos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.atalhos a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:16px;border:1px solid var(--line);background:var(--s1);color:var(--ink);font-size:.78rem;font-weight:800;text-align:center;text-decoration:none}
.atalhos a span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--bg2);color:var(--acc)}
.atalhos a svg{width:19px;height:19px}
/* eventos */
.mes-rot{margin:18px 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.ev-card{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:12px;border-radius:18px;border:1px solid var(--line);background:var(--s1);color:var(--ink);cursor:pointer;font:inherit}
.ev-card.nexos{border-color:rgba(2,132,199,.45);background:linear-gradient(135deg,rgba(2,132,199,.08),transparent 60%),var(--s1)}
.ev-card .chev{flex:none;width:18px;height:18px;color:var(--dim)}
.ev-data{flex:none;width:52px;height:56px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);display:grid;place-content:center;text-align:center;line-height:1.05}
.ev-data b{font-family:var(--f-m);font-size:1.3rem}.ev-data span{font-size:.68rem;font-weight:800;text-transform:uppercase;color:var(--acc)}
.ev-nome{display:block;margin:2px 0 1px;line-height:1.25;overflow-wrap:anywhere}
.ev-card .tag{margin-bottom:2px}
.ev-info{display:grid;gap:8px;margin-top:14px;padding:12px;border-radius:14px;background:var(--bg2)}
.ev-info div{display:flex;flex-direction:column;gap:1px}.ev-info span{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--mute)}
/* calendário mensal */
.mes-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.mes-nav b{text-transform:capitalize;font-size:1.05rem}
.cal-mes{margin-top:12px;border:1px solid var(--line);border-radius:18px;background:var(--s1);padding:8px}
.cm-sem,.cm-grade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cm-sem span{text-align:center;font-size:.64rem;font-weight:800;color:var(--mute);padding:4px 0}
.cm-d{aspect-ratio:1/1.08;border-radius:12px;border:1px solid transparent;background:var(--bg2);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:5px 2px;gap:4px;font:inherit;color:var(--ink);cursor:pointer;min-width:0}
.cm-d span{font-size:.8rem;font-weight:800}
.cm-d.vazio{background:none;cursor:default}
.cm-d.passado{opacity:.7}
.cm-d.hoje{border-color:var(--acc);background:rgba(2,132,199,.1)}
.cm-d.hoje span{color:var(--acc)}
.cm-ic{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;align-items:center}
.cm-ic .pr{font-style:normal;font-size:.8rem;line-height:1}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;border:2px solid var(--c);background:transparent}
.dot.ok{background:var(--c)}
i.mu{display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--ink);opacity:.55}
.cm-leg{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin-top:10px;font-size:.74rem;color:var(--mute)}
.cm-leg span{display:inline-flex;align-items:center;gap:5px}
.ses.prova{display:block;text-decoration:none;color:var(--ink);border-color:rgba(2,132,199,.5);background:rgba(2,132,199,.08)}
@media(min-width:700px){.cm-d{aspect-ratio:auto;min-height:70px}}
.tag{white-space:nowrap}

/* ===== aviso de prova + polimento ===== */
:root{--prova:#ea580c;--prova-bg:#fff4ec;--prova-l:rgba(234,88,12,.4)}
html[data-tema="escuro"]{--prova:#fb923c;--prova-bg:rgba(251,146,60,.1);--prova-l:rgba(251,146,60,.45)}
.prova-alertas{margin-bottom:14px}
.prova-alerta{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:18px;background:var(--prova-bg);border:2px solid var(--prova);box-shadow:0 6px 22px -10px var(--prova)}
.pa-n{flex:none;width:64px;min-height:64px;border-radius:16px;background:var(--prova);color:#fff;display:grid;place-content:center;text-align:center;line-height:1;padding:6px 4px}
.pa-n b{font-family:var(--f-m);font-size:1.6rem}.pa-n span{font-size:.64rem;font-weight:800;text-transform:uppercase;margin-top:3px}
.pa-ey{display:block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--prova)}
.pa-t{display:block;font-size:1.02rem;line-height:1.25;margin:2px 0;overflow-wrap:anywhere}
.pa-s{display:block;font-size:.84rem;color:var(--mute)}
.pa-fase{display:inline-block;margin-top:6px;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:800;background:var(--prova);color:#fff}
.pa-fase.off{background:transparent;color:var(--prova);border:1px solid var(--prova-l)}
.pa-btn{display:flex;margin-top:10px;background:var(--prova)!important;border-color:var(--prova)!important;color:#fff!important;box-shadow:none}
.tag.prova{background:var(--prova);color:#fff}
.ses.prova{border-color:var(--prova)!important;background:var(--prova-bg)!important}
.ses.prova b{color:var(--prova)}
.cal-sem.sem-prova{border:2px solid var(--prova);border-radius:18px;padding:8px}
.sem-prova-l{font-size:.8rem;font-weight:800;color:var(--prova);margin:2px 4px 8px}
.pol-regra{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin-top:12px;padding:12px;border-radius:14px;background:var(--bg2);font-size:.86rem}
.pol-regra b{color:var(--prova);font-family:var(--f-m)}
.pol-l{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--s1)}
.pol-l.ja{opacity:.7}
.pol-l .perfil-int{width:90px;flex:none}
.pol-km{flex:none;font-size:.86rem;white-space:nowrap}.pol-km s{color:var(--dim)}.pol-km b{color:var(--prova)}

/* ===== painel do treinador: visão geral do aluno, seções e editor ===== */
.ov-card{padding:16px}
.fq{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}
.fq-d{display:grid;justify-items:center;gap:6px}
.fq-d i{width:38px;height:38px;border-radius:50%;border:2px solid var(--acc);display:grid;place-items:center;color:#fff}
.fq-d i svg{width:18px;height:18px}
.fq-d.ok i{background:var(--acc);border-color:var(--acc)}
.fq-d.fut i{border-color:var(--line)}
.fq-d.hoje i{box-shadow:0 0 0 3px rgba(2,132,199,.2)}
.fq-d span{font-size:.78rem;font-weight:800;color:var(--mute)}
.fq-d.hoje span{color:var(--acc)}
.ov-num{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.ov-num span{display:block;font-size:.8rem;color:var(--mute)}
.ov-num b{font-size:1.15rem}
.sec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:700px){.sec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sec-tile{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--s1);color:var(--ink);text-decoration:none;transition:border-color .2s,transform .15s}
.sec-tile:hover{border-color:var(--acc)}.sec-tile:active{transform:scale(.98)}
.sec-tile b{font-size:.95rem;margin-top:6px}
.sec-tile small{color:var(--mute);font-size:.78rem;line-height:1.3}
.st-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(2,132,199,.12);color:var(--acc);flex:none}
.st-ic svg{width:24px;height:24px}
.sec-tit{display:flex;align-items:center;gap:12px;margin:6px 0 16px}
.sec-tit .eyebrow{margin:0}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tr-acoes{margin-top:12px}.tr-acoes .btn{padding-inline:6px;font-size:.82rem}
.tr-acoes .btn svg{width:15px;height:15px}
.wletter.sm{width:48px;height:48px;font-size:1.4rem;min-height:0}
.ex-lista{border:1px solid var(--line);border-radius:18px;background:var(--s1);overflow:hidden}
.ex-li{border-bottom:1px solid var(--line)}
.ex-li:last-child{border-bottom:0}
.ex-li.aberto{border-radius:0;border-width:0 0 1px;margin:0;background:var(--bg2)}
.ex-li-h{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:0;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.ex-li.aberto .ex-li-h{padding:0}
.ex-n{font-size:.75rem;color:var(--dim);width:20px;flex:none}
.ex-li-h .exfig.thumb{width:44px;height:44px;flex:none}
.ex-li-t{min-width:0}.ex-li-t b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ex-li-t small{display:block;color:var(--mute);font-size:.8rem}
.ex-chev{flex:none;color:var(--dim);transform:rotate(90deg);transition:transform .2s}
.ex-chev.up{transform:rotate(-90deg)}
.ex-chev svg{width:18px;height:18px}
.ex-fig-g .exfig{width:min(220px,48vw);height:auto;aspect-ratio:4/3;border-radius:14px}
.tr-card.prox{border-color:rgba(2,132,199,.45)}

/* ===== fotos da equipe ===== */
.foto{display:inline-grid;place-items:center;border-radius:50%;object-fit:cover;object-position:50% 20%;flex:none;background:var(--s3);color:var(--ink);font-family:var(--f-h);font-weight:800;border:2px solid var(--s1)}
.foto.sm{width:30px;height:30px;font-size:.66rem}
.foto.md{width:52px;height:52px;font-size:.9rem}
.foto.lg{width:72px;height:72px;font-size:1.15rem}
.foto-edit{position:relative;padding:0;border:0;background:none;cursor:pointer;flex:none}
.foto-edit i{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--acc);color:#fff;border:2px solid var(--s1)}
.foto-edit i svg{width:14px;height:14px}
.treinador-top{display:flex;align-items:center;gap:14px;margin-top:8px;padding:14px;border-radius:20px;background:var(--s1);border:1px solid var(--line)}
.fotos-eq{display:flex;flex:none}
.fotos-eq .foto+.foto{margin-left:-14px}
.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin:0 2px 1px 0;vertical-align:middle}
.b-linha{display:flex;align-items:flex-end;gap:8px}
.b-linha .bubble{margin:0}
.b-autor{display:block;font-size:.72rem;font-weight:800;color:var(--acc);margin-bottom:2px}
.b-linha{align-self:flex-start;max-width:88%}.b-linha .bubble{max-width:100%}
.av.com-foto{padding:0;overflow:visible}
.av.com-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;border-radius:inherit;display:block}
.outros-al summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:12px 14px;border-radius:16px;border:1px dashed var(--line)}
.outros-al summary::-webkit-details-marker{display:none}

/* ===== séries diferentes ===== */
.sd-on{display:block;margin-top:10px;font-size:.84rem}
.ser-det{margin-top:12px;display:grid;gap:6px}
.sd-h,.sd-l{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 30px;gap:6px;align-items:center}
.sd-l b{font-size:.8rem;color:var(--mute)}
.sd-l .input{padding:10px 6px}
.sd-x{width:30px;height:30px;border-radius:9px;border:0;background:none;color:var(--dim);display:grid;place-items:center;cursor:pointer}
.sd-x svg{width:15px;height:15px}
.sd-acoes{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:4px}
.sd-acoes .link-btn{display:inline-flex;align-items:center;gap:4px}.sd-acoes svg{width:14px;height:14px}
.ser-ex{display:grid;gap:6px;margin-top:10px}
.se-l{display:grid;grid-template-columns:30px minmax(0,1fr) auto 26px;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);font:inherit;font-size:.9rem;text-align:left;cursor:pointer}
.se-l b.mono{color:var(--mute);font-size:.8rem}
.se-l i{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:transparent}
.se-l i svg{width:14px;height:14px}
.se-l.ok{border-color:rgba(14,154,95,.4);background:rgba(14,154,95,.08)}
.se-l.ok i{background:var(--ok);border-color:var(--ok);color:#fff}
.se-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== central de atenção e status dos alunos ===== */
.nivel{flex:none;font-size:.74rem;font-weight:800;padding:4px 9px;border-radius:999px}
.n-alta{background:rgba(220,38,38,.12);color:var(--err)}
.n-media{background:rgba(217,119,6,.14);color:#b45309}
.n-baixa{background:var(--s2);color:var(--mute)}
html[data-tema="escuro"] .n-media{color:#fbbf24}
.al-st{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:3px;font-size:.78rem;font-weight:700}
.al-st .ok{color:var(--ok)}.al-st .nao{color:var(--mute)}
.pl-ok{color:var(--ok)}.pl-warn{color:#d97706}.pl-err{color:var(--err)}
.list-item.aniv{border-color:rgba(2,132,199,.35)}
.carga3{padding:14px}
.carga3.compacto{margin-bottom:12px}
.c3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.c3-i{display:grid;justify-items:center;gap:6px}
.c3-i b{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-m,monospace);font-size:1.1rem;border:3px solid}
.c3-i span{font-size:.82rem;font-weight:700;color:var(--mute)}
.c-fit{border-color:var(--ok);color:var(--ok)}.c-fad{border-color:var(--err);color:var(--err)}.c-for{border-color:var(--acc);color:var(--acc)}

/* ===== Meus Atletas ===== */
.atl-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.atl-top .seg{grid-template-columns:auto auto}.atl-top .seg button{padding:9px 14px;font-size:.86rem}
.atl-leg{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.76rem;color:var(--mute)}
.atl-leg span{display:inline-flex;align-items:center;gap:5px}
.pt-l{width:10px;height:10px;border-radius:50%;display:inline-block}
.atl-lista{display:grid;gap:8px;margin-top:8px}
.atl{display:grid;grid-template-columns:1fr;gap:10px;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:var(--s1);cursor:pointer;transition:border-color .2s}
.atl:hover{border-color:var(--acc)}
.atl-id{display:flex;gap:12px;align-items:flex-start;min-width:0}
.atl-sub{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin-top:2px;font-size:.78rem;font-weight:700}
.atl-prova{margin-top:4px;font-size:.78rem;color:var(--prova,#ea580c);font-weight:700}
.atl-prova b{font-weight:800}
.atl-ac{display:flex;gap:6px;justify-content:flex-end}
.atl-ac .icon-btn svg{width:18px;height:18px}
.sem3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.sem1{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:4px 2px;border-radius:10px}
.sem1.atual{background:rgba(2,132,199,.08)}
.pt{display:grid;justify-items:center;gap:2px}
.pt i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.pt small{font-size:.56rem;color:var(--dim);font-weight:700;line-height:1}
.pt.hoje small{color:var(--acc)}
.pt.hoje i{box-shadow:0 0 0 2px rgba(2,132,199,.35)}
.pt.feito i,.pt-l.feito{background:var(--ok)}
.pt.plan i,.pt-l.plan{background:#1e3a6e}
html[data-tema="escuro"] .pt.plan i,html[data-tema="escuro"] .pt-l.plan{background:#93b4f0}
.pt.perdeu i,.pt-l.perdeu{background:var(--err)}
.pt.extra i,.pt-l.extra{background:transparent;border:2px solid var(--ok)}
.pt.prova i,.pt-l.prova{background:#ea580c;border-radius:3px}
.pt.vazio i{background:var(--line)}
@media(min-width:900px){
  .atl{grid-template-columns:minmax(220px,1.1fr) minmax(330px,1.3fr) auto;align-items:center}
  .pt i{width:12px;height:12px}
}

/* Corrida | Força (Meus Atletas e planilha do atleta) */
.mod-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--bg2);margin-bottom:0}
.mod-tabs a,.mod-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;border:0!important;border-radius:10px!important;padding:10px 12px!important;background:transparent!important;color:var(--mute)}
.mod-tabs a.on,.mod-tabs button.on{background:var(--acc)!important;color:var(--on-acc)!important}
.mod-tabs svg{width:17px;height:17px}
.plan-head{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:10px}
.ph-id{display:flex;gap:12px;align-items:center;min-width:0;flex:1 1 260px}
.ph-id .h2{margin:0}
.ph-ev{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--warn,#f59e0b) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn,#f59e0b) 35%,transparent);flex:0 1 auto;min-width:0}
.ph-ev b{font-size:.92rem}
/* semana de força */
.fsem{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg2)}
.fdia{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line);min-height:54px}
.fdia:first-child{border-top:0}
.fdia.hoje{background:color-mix(in srgb,var(--acc) 7%,transparent)}
.fdia.hoje .fdia-n{background:var(--acc);color:var(--on-acc)}
.fdia-h{display:flex;align-items:center;gap:8px;padding:10px;border-right:1px solid var(--line)}
.fdia-h span{font-weight:700;font-size:.86rem}
.fdia.passado .fdia-h span{color:var(--mute)}
.fdia-n{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:.8rem;background:var(--s1);flex:none}
.fdia-h .cal-add{margin-left:auto}
.fdia-c{display:flex;flex-direction:column;gap:6px;padding:8px 10px;justify-content:center;min-width:0}
.ftr{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--s1);border-left:3px solid var(--acc);min-width:0}
.ftr small{display:block;color:var(--mute);font-size:.74rem;margin-top:1px}
.ftr.feito{border-left-color:var(--ok,#22c55e)}
.ftr.feito small{color:var(--ok,#22c55e)}
.ftr.perdeu{border-left-color:var(--err,#ef4444)}
.ftr.extra{border-left-color:var(--mute);opacity:.9}
.ftr .sd-x{flex:none}
@media (max-width:520px){.fdia{grid-template-columns:1fr}.fdia-h{border-right:0;border-bottom:1px dashed var(--line);padding:8px 10px}}
/* trava a rolagem enquanto arrasta um treino */
html.trava-scroll,html.trava-scroll body{overflow:hidden!important;overscroll-behavior:none;touch-action:none}
html.trava-scroll .biblio-l,html.trava-scroll .sheet,html.trava-scroll .subtabs{overflow:hidden!important;touch-action:none}
