/* MyFitJourney: estilo do app (antes ficava dentro do index.html). Carregado com ?v=<versão> para não ficar preso no cache. */
:root{
  --bg:#F2F4F6; --surface:#FFFFFF; --ink:#1E2630; --muted:#5A6672; --line:#E3E7EB;
  --accent:#3E6A86; --accent-ink:#FFFFFF; --fill:#6F96B2; --fill-soft:#DCE6EE;
  --warn:#9E4523; --eat:#E8875A; --bad:#B3362F; --warn-soft:#FBEAE0; --ok:#2E6B4C;
  --sky:#8CC8E8; --sky-soft:#E0F0F9; --sky-text:#2A5F7E; --border-strong:#C7CED5;
  --sun:#E8875A; --sun-soft:#FBEAE0; --sun-text:#9E4523; --moss:#5FA47E; --moss-soft:#E2F1E8; --moss-text:#2E6B4C;
  --display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --body:"Figtree", "Segoe UI", system-ui, sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#1E2630; --surface:#262F3A; --ink:#F2F4F6; --muted:#C7CED5; --line:#313B45;
    --accent:#8CC8E8; --accent-ink:#1E2630; --fill:#6F96B2; --fill-soft:#2B4D63;
    --warn:#F2A47E; --eat:#E8875A; --bad:#FF8A80; --warn-soft:#3A2A24; --ok:#7FC29B;
    --sky:#8CC8E8; --sky-soft:#1B4057; --sky-text:#B8DDF1; --border-strong:#5A6672;
    --sun:#E8875A; --sun-soft:#3A2A24; --sun-text:#F2A47E; --moss:#7FC29B; --moss-soft:#22382D; --moss-text:#7FC29B;
  }
}
:root[data-theme="dark"]{
  --bg:#1E2630; --surface:#262F3A; --ink:#F2F4F6; --muted:#C7CED5; --line:#313B45;
    --accent:#8CC8E8; --accent-ink:#1E2630; --fill:#6F96B2; --fill-soft:#2B4D63;
    --warn:#F2A47E; --eat:#E8875A; --bad:#FF8A80; --warn-soft:#3A2A24; --ok:#7FC29B;
    --sky:#8CC8E8; --sky-soft:#1B4057; --sky-text:#B8DDF1; --border-strong:#5A6672;
    --sun:#E8875A; --sun-soft:#3A2A24; --sun-text:#F2A47E; --moss:#7FC29B; --moss-soft:#22382D; --moss-text:#7FC29B;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.45;padding-bottom:88px}
.wrap{max-width:640px;margin:0 auto;padding:20px 18px 24px}
h1,h2,h3{font-family:var(--display);font-weight:700;margin:0;line-height:1.1}
h1{font-size:1.6rem;letter-spacing:-.01em}
@media (max-width:400px){header.top h1{font-size:1.18rem}}
h2{font-size:1.35rem;margin-bottom:4px}
h3{font-size:1.05rem;font-weight:500}
p{margin:.3em 0}
.muted{color:var(--muted)}
.small{font-size:.86rem}

header.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.sync{font-size:.78rem;color:var(--muted)}

.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:22px}
.strip div{background:var(--surface);padding:10px 12px}
.strip b{display:block;font-family:var(--display);font-size:1.25rem;font-weight:700}
.strip span{font-size:.8rem;color:var(--muted)}

section.tab{display:none}
section.tab.on{display:block}
.block{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;margin:14px 0}
.lead{margin-bottom:12px}

label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:4px}
.field{margin-bottom:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row3{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}
input,select{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 11px;min-height:44px}
input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.unit{position:relative}
.unit input{padding-right:48px}
.unit em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted);font-size:.9rem;pointer-events:none}

button{font:inherit;cursor:pointer;border-radius:10px;min-height:44px}
.btn{background:var(--accent);color:var(--accent-ink);border:0;padding:10px 16px;font-weight:700;width:100%}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg button{flex:1;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:8px 10px}
.wchart-seg{flex-wrap:nowrap;gap:4px}
.wchart-seg button{min-width:0;padding:7px 2px;font-size:.8rem;white-space:nowrap}
@media (max-width:380px){.wchart-seg button{font-size:.72rem}}
.wchart-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 8px}
.wchart-nav b{font-size:.95rem;text-align:center;flex:1}
.wchart-nav .iconbtn{width:40px;height:40px;font-size:1.4rem;line-height:1}
.wchart-nav .iconbtn:disabled{opacity:.3}
.wchart-sum{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}
.wchart-sum div{background:var(--bg);border-radius:12px;padding:8px 12px}
.wchart-sum span{display:block;font-size:.78rem;color:var(--muted)}
.wchart-sum b{font-size:1.25rem}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}

/* Seringa */
.syringe-out{margin:6px 0 4px}
.bigdose{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.bigdose b{font-family:var(--display);font-size:3.4rem;line-height:1;letter-spacing:-.02em}
.bigdose span{font-size:1.1rem}
svg.syr{width:100%;height:auto;display:block;margin:10px 0 4px}
.note{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:.9rem;margin-top:10px}
.compare{width:100%;border-collapse:collapse;font-size:.95rem}
.compare td{padding:9px 4px;border-top:1px solid var(--line)}
.compare tr.sel td{font-weight:700;color:var(--accent)}
.compare td:last-child{text-align:right;white-space:nowrap}

.list{list-style:none;margin:0;padding:0}
.list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.list li:first-child{border-top:0}
.list .main{min-width:0}
.list .main b{font-weight:700}
.del{background:transparent;border:1px solid var(--line);color:var(--muted);padding:4px 10px;font-size:.85rem;min-height:36px;flex-shrink:0}
.del.arm{border-color:var(--warn);color:var(--warn)}
.empty{color:var(--muted);font-size:.92rem;padding:6px 0}

.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.metric{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}
.metric .v{font-family:var(--display);font-size:2rem;font-weight:700;line-height:1.05}
.metric .k{font-size:.85rem;color:var(--muted)}
.metric .c{font-size:.9rem;margin-top:4px}
.scale{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-top:10px;position:relative}
.scale i{flex:1}
.pin{position:absolute;top:-4px;width:3px;height:16px;background:var(--ink);border-radius:2px}
.chart-box{overflow-x:auto}
svg.chart{width:100%;height:auto;display:block}

nav.bar{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);z-index:5}
nav.bar .in{max-width:640px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr)}
.iconbtn{background:transparent;border:1px solid var(--line);color:var(--ink);width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:50%}
.iconbtn svg{width:22px;height:22px}
.clsum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.clsum div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:2px}.clsum b{font-family:var(--display);font-size:1.7rem;line-height:1;color:var(--ok)}.clsum span{font-size:.82rem;color:var(--muted)}
.clgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px}.cldow{text-align:center;font-size:.78rem;color:var(--muted);padding-bottom:2px}.clday{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:54px;padding:6px 0 4px;border:0;border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;cursor:pointer}.clday b{font-size:.95rem}.clday.today{box-shadow:inset 0 0 0 2px var(--accent)}.clday.tr{background:color-mix(in srgb,var(--ok) 16%,var(--bg))}.clday[aria-pressed="true"]{outline:2px solid var(--accent);outline-offset:1px}.clic{display:flex;gap:2px;align-items:center;justify-content:center;flex-wrap:wrap;color:var(--muted);min-height:12px}
.cldot{display:inline-block;width:9px;height:9px;border-radius:5px;background:var(--ok);flex:none}.clleg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:.82rem;color:var(--muted)}.clleg span{display:inline-flex;align-items:center;gap:5px}.clist{list-style:none;margin:6px 0 0;padding:0}.clist li{padding:8px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap}.clist li:last-child{border-bottom:0}.clsess{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.sdrow{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.sdrow:last-child{border-bottom:0}.sdrow .ic{flex:none;color:var(--accent);margin-top:2px}.sdrow span{flex:1;min-width:0}.sdrow small{display:block;color:var(--muted);font-size:.8rem}
.agper{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.agper button{min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:.92rem;font-weight:600;white-space:nowrap;padding:0 4px;cursor:pointer}.agper button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink,#fff);font-weight:800}
.agweek{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px}.agweek button{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;padding:6px 0;color:var(--ink);font:inherit;cursor:pointer;min-height:0}.agweek span{font-size:.78rem;color:var(--muted)}.agweek b{width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:1.05rem}.agweek .today b{box-shadow:inset 0 0 0 2px var(--accent)}.agweek button[aria-pressed="true"] b{background:var(--accent);color:var(--accent-ink,#fff)}.agweek i{width:5px;height:5px;border-radius:3px;background:var(--accent)}.agweek i[hidden]{visibility:hidden;display:block}
.agweek.month{row-gap:2px}.agweek.month b{width:36px;height:36px;font-size:.98rem}.agweek .agdow{text-align:center;font-size:.78rem;color:var(--muted)}.agweek .out b{color:var(--muted);opacity:.55}.aggrip{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;background:none;border:0;padding:8px 0 0;color:var(--muted);font:inherit;font-size:.8rem;cursor:pointer;min-height:0}.aggrip i{width:40px;height:5px;border-radius:3px;background:var(--line)}
.agday{margin:14px 0 6px;font-size:1.02rem}.agday:first-child{margin-top:0}.agitem{display:flex;gap:12px;width:100%;text-align:left;background:none;border:0;padding:10px 0;color:var(--ink);font:inherit;cursor:pointer;align-items:stretch;min-height:0}.agt{display:flex;flex-direction:column;width:58px;flex:none;font-size:.9rem}.agt span{color:var(--muted);font-size:.82rem}.agbar{width:4px;border-radius:2px;background:var(--accent);flex:none}.agitem.av .agbar{background:repeating-linear-gradient(45deg,var(--accent) 0 3px,transparent 3px 6px);box-shadow:inset 0 0 0 1px var(--accent)}.agtx{display:flex;flex-direction:column;min-width:0}.agtx span{color:var(--muted);font-size:.86rem}
.agfab{position:fixed;right:22px;bottom:26px;width:60px;height:60px;border-radius:30px;border:0;background:var(--accent);color:var(--accent-ink,#fff);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(30,38,48,.3);z-index:5;cursor:pointer;min-height:0;padding:0}
.sxstars{display:inline-flex;gap:2px;margin-top:2px}.sxstars button{background:none;border:0;padding:0 2px;font-size:28px;line-height:1;color:var(--line);cursor:pointer;min-height:0}.sxstars button[aria-pressed="true"]{color:#E0A21B}
.iconbtn[hidden]{display:none}
.ppchk>label{display:flex;align-items:center;gap:10px;padding:10px 0;margin:0;color:var(--ink);font-size:.98rem;cursor:pointer}.ppchk input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:0}.ppchk .field{margin:0 0 6px 30px}.ppchk .field[hidden]{display:none}.ppchk>label:first-child{border-bottom:1px solid var(--line);margin-bottom:4px}
#ppSend{margin-top:10px}
#themeBtn{display:none!important}
@media (max-width:420px){.hbtns:has(#workBtn:not([hidden])){gap:6px!important}.hbtns:has(#workBtn:not([hidden])) .iconbtn{width:40px;height:40px}}

body:has(.sheet:not([hidden])) .worktip{display:none}
.worktip{position:fixed;width:230px;background:var(--accent);color:#fff;padding:12px 14px;border-radius:14px;font-size:.88rem;line-height:1.35;z-index:55;box-shadow:0 8px 24px rgba(0,0,0,.25)}.worktip i{position:absolute;top:-7px;width:14px;height:14px;background:var(--accent);transform:rotate(45deg)}.worktip span{opacity:.88}.worktip button{display:block;margin-top:8px;background:#fff;color:#2F5570;border:0;border-radius:99px;padding:6px 14px;font-weight:700;font-size:.88rem}
.legend{display:flex;gap:14px;font-size:.85rem;color:var(--muted);margin:6px 0}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.hero-num{font-family:var(--display);font-weight:700;font-size:2.8rem;line-height:1;letter-spacing:-.02em}
nav.bar button{background:transparent;border:0;color:var(--muted);padding:10px 1px 12px;border-radius:0;font-size:.68rem;display:flex;flex-direction:column;align-items:center;gap:2px}
nav.bar button svg{width:22px;height:22px}
#goPerfil[aria-current="page"],nav.bar button[aria-current="page"]{color:var(--accent);font-weight:700}
.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:12px;font-weight:700;max-width:90vw;z-index:60;transition:opacity .2s,transform .2s}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast.err{background:var(--warn);color:#fff}
.toast.act{pointer-events:auto;display:flex;align-items:center;gap:14px}
.toastbtn{background:transparent;border:0;color:inherit;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;min-height:36px;padding:4px 6px;cursor:pointer}
.daytot{display:flex;justify-content:space-between;font-family:var(--display);font-weight:700;padding:12px 0 4px;border-top:1px solid var(--line);margin-top:6px}
.daytot:first-child{border-top:0;margin-top:0;padding-top:0}
#login{max-width:440px;margin:0 auto;padding:40px 22px}
#login h1{font-size:2rem;margin-bottom:8px}
body.out #login{min-height:100vh;min-height:100dvh;box-sizing:border-box;display:flex;flex-direction:column}
/* login: mesmo clima da página inicial (aurora suave, título grande, cartão leve) */
body.out{background:radial-gradient(70% 45% at 85% 0%,rgba(140,200,232,.45),transparent 70%),radial-gradient(60% 40% at 0% 8%,rgba(62,106,134,.14),transparent 70%),var(--bg);background-attachment:fixed}
.lmain{display:flex;flex-direction:column;flex:1}
.lside{display:none}
#login .lhead{text-align:left;margin-bottom:18px}
#login .lbrand{display:flex;align-items:center;gap:10px;margin-bottom:26px}
#login .lbrand img{border-radius:11px;box-shadow:0 8px 20px -10px rgba(30,38,48,.45)}
#login .lbrand .wordmark{font-size:1.55rem;margin:0}
#login .leye{margin:0 0 6px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
#login .ltitle{margin:0;font-family:var(--display);font-size:2.1rem;line-height:1.05;letter-spacing:-.03em;font-weight:800;color:var(--ink)}
#login .lsub{margin:10px 0 0;max-width:34ch}
#lStep1,#lReset{border-radius:24px;padding:20px;border:1px solid var(--line);box-shadow:0 24px 48px -28px rgba(30,38,48,.35)}
#lStep1 .seg{padding:4px;border-radius:999px;gap:4px;border:1px solid var(--line)}
#lStep1 .seg button{border:0;border-radius:999px;min-height:44px;background:transparent;font-weight:600}
#lStep1 .seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px -2px rgba(30,38,48,.22)}
.lfield{position:relative}
.lfield label{font-weight:600;font-size:.88rem}
.lfield .lico{position:absolute;left:14px;bottom:15px;color:var(--muted);display:flex;pointer-events:none}
.lfield input{padding-left:44px !important;min-height:52px}
#lPass{padding-right:48px !important}
.leye-btn{position:absolute;right:4px;bottom:4px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);border-radius:12px;cursor:pointer}
.leye-btn[aria-pressed="true"]{color:var(--accent)}
#lGo{box-shadow:0 12px 28px -12px rgba(62,106,134,.7)}
#lGoogle,#lMicrosoft{font-weight:600}
@media (min-width:1024px){
  body.out{background:var(--bg)}
  body.out #login{max-width:none;padding:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  .lside{display:block;position:relative;overflow:hidden;isolation:isolate;color:#fff;background:#0A131C}
  .lmain{width:100%;max-width:440px;margin:0 auto;padding:48px 24px;justify-content:center}
  #login .lbrand{display:none}
  body.out #login .lpriv{margin-top:28px}
  body.out{padding-bottom:0}
}
#lMsg{text-align:center}
.lcfic{width:64px;height:64px;margin:4px auto 12px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.lcfmail{text-align:center;font-weight:800;margin:4px 0 10px;overflow-wrap:anywhere}
.lerr{display:flex;gap:8px;align-items:flex-start;margin:-4px 0 12px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad);font-weight:600;font-size:.92rem}
.lerr[hidden]{display:none}
#login input[aria-invalid="true"]{border-color:var(--bad) !important;box-shadow:0 0 0 1px var(--bad) !important}
#login .lpriv{margin-top:auto;padding-top:22px;text-align:center}
body.out .wrap, body.out nav.bar{display:none}
body:not(.out) #login{display:none}
#aLast{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.lastedit{display:inline-flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--line);color:var(--accent);border-radius:999px;padding:5px 12px;min-height:0;font-size:.82rem;font-weight:700;flex-shrink:0}
.lastedit svg{vertical-align:0}
.ftabs{display:flex;gap:4px;margin:10px 0 14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:4px;box-shadow:0 1px 2px rgba(30,38,48,.06)}
.ftabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:46px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:.95rem;font-weight:600;padding:0 6px;cursor:pointer;position:relative;transition:background .18s,color .18s}
.ftabs button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink,#fff);font-weight:800;box-shadow:0 1px 3px rgba(30,38,48,.15)}
.ftabs button svg{flex-shrink:0}
.ftabs button[hidden]{display:none}
.fbadge{min-width:20px;height:20px;border-radius:10px;background:#C2702E;color:#fff;font-size:.72rem;font-weight:800;font-style:normal;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;box-sizing:border-box}
.fbadge.soft{background:var(--line);color:var(--ink)}
.ftabs button[aria-pressed="true"] .fbadge.soft{background:rgba(255,255,255,.25);color:#fff}
@media (max-width:480px){.ftabs button{flex-direction:column;gap:2px;font-size:.78rem;min-height:56px;padding:6px 2px;position:relative}.ftabs .fbadge{position:absolute;top:4px;right:6px;min-width:18px;height:18px;font-size:.68rem}}
.seg.pills{background:transparent !important;gap:8px}
.seg.pills button{border-radius:999px;background:var(--surface);border:1.5px solid var(--line);font-weight:600;box-shadow:none}
.seg.pills button[aria-pressed="true"]{background:var(--fill-soft,#E1EBF2);border-color:var(--accent);color:var(--accent);font-weight:800;box-shadow:none}
#aLast{display:none !important}
#aAdd{position:relative;z-index:1}
#aLast .lastedit{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%}
#aLast .lastedit span{display:none}
.atvswipe{animation:atvIn .22s ease}
.atvswipe.l{animation-name:atvInL}
@keyframes atvIn{from{opacity:.4;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes atvInL{from{opacity:.4;transform:translateX(-24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.atvswipe{animation:none}}
.cpick{width:100%;display:flex;align-items:center;gap:12px;min-height:52px;box-sizing:border-box;border:1.5px solid var(--line);border-radius:14px;padding:0 14px;background:var(--surface);color:var(--ink);font:inherit;font-size:1rem;font-weight:700;text-align:left;cursor:pointer}
.cpick .cptx{flex:1}.cpick.empty .cptx{color:var(--muted);font-weight:500}.cpick.err{border-color:var(--warn)}
.cpi{width:36px;height:36px;border-radius:10px;background:var(--fill-soft,#E6EEF4);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cpick.empty .cpi{display:none}
.cgrab{width:44px;height:5px;border-radius:3px;background:var(--line);margin:-4px auto 12px}
.cclose{width:44px;height:44px;border-radius:50%;border:0;background:var(--fill-soft,#F2F4F6);color:var(--ink);display:flex;align-items:center;justify-content:center;min-height:0;padding:0}
.cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cgrid button{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:1rem;font-weight:600;text-align:left;cursor:pointer}
.cgrid button svg{color:var(--accent);flex-shrink:0}
.cgrid button[aria-pressed="true"]{border:2px solid var(--accent);background:var(--fill-soft,#E6EEF4);font-weight:800}
.linkbtn{background:none;border:0;color:var(--accent);padding:8px 0;min-height:0;text-decoration:underline;font-size:.95rem}
.rbig{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:14px 0 2px}
.rbig input.rnum{width:4.6ch !important;min-width:0;border:0 !important;background:transparent !important;box-shadow:none !important;text-align:right;font-family:var(--display);font-weight:800;font-size:4rem;line-height:1;letter-spacing:-.02em;color:var(--ink);padding:0;min-height:0;box-shadow:none}
.rbig input.rnum:focus{outline:0;border-bottom:2px solid var(--accent) !important;border-radius:0 !important}
.rbig em{font-style:normal;font-weight:800;font-size:1.5rem;color:var(--muted)}
.ruler{position:relative;margin:4px -16px 0;height:78px;-webkit-user-select:none;user-select:none}
.ruler .rtrack{display:flex;overflow-x:auto;overflow-y:hidden;height:100%;scrollbar-width:none;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);touch-action:pan-x}
.ruler .rtrack::-webkit-scrollbar{display:none}
.ruler .rpad{flex:0 0 50%}
.ruler .rstrip{position:relative;flex:none;height:100%;--c1:var(--ink);--c2:color-mix(in srgb,var(--ink) 55%,transparent);--c3:color-mix(in srgb,var(--ink) 25%,transparent);
  background-image:linear-gradient(90deg,var(--c1) 2px,transparent 2px),linear-gradient(90deg,var(--c2) 1.5px,transparent 1.5px),linear-gradient(90deg,var(--c3) 1px,transparent 1px);
  background-repeat:repeat-x;background-position:-1px 6px,-.75px 6px,-.5px 6px}
.ruler .rstrip span{position:absolute;top:46px;transform:translateX(-50%);font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}
.ruler .rneedle{position:absolute;left:50%;top:0;width:3px;height:48px;margin-left:-1.5px;border-radius:2px;background:var(--accent);pointer-events:none}
.ruler .rneedle::after{content:"";position:absolute;left:50%;top:34px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--accent)}
.rhint{text-align:center;margin:6px 0 4px}
.rimc{margin:10px 0 14px}.rimc .rimct{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.rimc .scale{margin-top:0}
.rlbody{max-width:520px;width:100%;margin:0 auto}
#rlSheet{z-index:18}
.rtap{cursor:pointer;caret-color:transparent}
.wiopen{text-align:center;margin-top:4px}.wiopen .linkbtn{font-size:.88rem;padding:8px 6px}
.wiopt{display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;margin:0 0 12px;color:var(--ink);font:inherit;cursor:pointer}
.wiopt .ico{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.wiopt b{display:block;margin-bottom:2px}
.wilist{list-style:none;margin:0 0 14px;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.wilist li{border-top:1px solid var(--line)}.wilist li:first-child{border-top:0}
.wilist label{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;margin:0}
.wilist input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--accent)}
.wilist .d{flex:1;min-width:0}.wilist .k{font-weight:800;white-space:nowrap}
.wilist .dup{opacity:.6}
.btn.danger{background:transparent;color:var(--warn);border:1px solid var(--warn)}
.stack > * + *{margin-top:10px}
[hidden]{display:none !important}
#themeBtn svg{width:22px;height:22px}
.foodres li{padding:0}
.foodbtn{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);padding:10px 2px;font:inherit;border-radius:8px}
.foodbtn:active{background:var(--bg)}
details.block summary::-webkit-details-marker{color:var(--accent)}
input.bad{border-color:var(--warn);outline-color:var(--warn)}
.slidebox{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px 14px 10px;margin-bottom:12px}
.slidehead{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:var(--display);font-weight:500}
.slideval{display:flex;align-items:baseline;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:2px 10px}
.slideval input{width:4.2em;border:0;background:transparent;text-align:right;font-family:var(--display);font-weight:700;font-size:1.35rem;color:var(--accent);padding:4px 0;min-height:0}
.slideval input:focus-visible{outline:none}
.slideval em{font-style:normal;color:var(--muted);font-size:.9rem}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;border:0;padding:0;margin:12px 0 2px;min-height:0;touch-action:pan-y}
input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(var(--accent),var(--accent)) 0/var(--p,50%) 100% no-repeat,var(--line)}
input[type=range]::-moz-range-track{height:8px;border-radius:4px;background:var(--line)}
input[type=range]::-moz-range-progress{height:8px;border-radius:4px;background:var(--accent)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:var(--accent);border:4px solid var(--surface);box-shadow:0 0 0 1px var(--line),0 2px 6px rgba(0,0,0,.25);margin-top:-10px}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);border:4px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.slideticks{position:relative;height:1.2em;margin:0 14px;font-size:.78rem;color:var(--muted)}
.slideticks span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.slideticks span:first-child{transform:translateX(-14px)}
.slideticks span:last-child{transform:translateX(calc(-100% + 14px))}
.daynav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.daynav .iconbtn{font-size:1.5rem;line-height:1}
.mbar{height:10px;border-radius:5px;background:var(--line);overflow:hidden;margin-top:4px}
.mbar i{display:block;height:100%;border-radius:5px}
.macros3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.macros3 .k{font-size:.82rem;color:var(--muted)}
.macros3 b{font-family:var(--display);font-size:1.15rem}
.mealcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin:10px 0;overflow:hidden}
.mealhead{display:flex;align-items:center;gap:12px;width:100%;padding:16px;background:transparent;border:0;color:var(--ink);font:inherit;text-align:left;border-radius:0;min-height:64px}
.mealhead .ico{font-size:1.6rem;width:34px;text-align:center}
.mealhead .nm{flex:1;font-family:var(--display);font-weight:700;font-size:1.15rem}
.mealhead .kc{color:var(--muted);font-size:.92rem;margin-right:6px}
.mealhead .plus{font-size:1.9rem;line-height:1;color:var(--ok);font-weight:700}
.mealitems{list-style:none;margin:0;padding:0 16px 8px}
.mxres{margin:6px 0 0;padding:10px 12px;border-radius:12px;background:var(--bg)}.mxmult button{flex:1 1 0;min-width:0;padding:0 6px}
.mxitem{cursor:pointer;flex:1;min-width:0}.mxitem:active{opacity:.6}.mxpen{color:var(--accent);vertical-align:-2px}
.mealitems li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
/* água (card da Nutrição) */
.wacard{position:relative;cursor:pointer}
.wahead{display:flex;align-items:center;gap:10px}
.wahead .nm{flex:1;font-family:var(--display);font-weight:700;font-size:1.15rem}
.wahead .nm small{display:block;font-family:var(--body);font-weight:500;font-size:.86rem;color:var(--muted)}.wahead .nm small b{color:var(--ink);font-variant-numeric:tabular-nums}
.warow .waadd{width:auto;min-height:40px;padding:0 14px;flex:none}
.warow{display:flex;align-items:center;gap:12px;margin-top:10px}.warow .wabar{flex:1;margin:0}.wahead .nm small{white-space:nowrap}.wawhy{margin:8px 0 0}.wawhy .linkbtn{padding:0;font-size:inherit;color:var(--accent)}

.wahead .iconbtn{width:40px;height:40px;border:0;color:var(--muted)}
.wanum{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.wanum .hero-num{font-size:2.4rem}
.waadd{width:auto;min-height:48px;padding:0 20px;border-radius:999px;white-space:nowrap;font-weight:700}
.wabar{height:12px;border-radius:6px;margin-top:14px}
.wabar i{background:#4F9AC4;border-radius:6px}
.wascale{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:.8rem;color:var(--muted)}
.wagoal{display:inline-flex;align-items:center;gap:4px;background:var(--fill-soft);color:var(--ink);border-radius:999px;padding:2px 9px;font-weight:600}
.walist{list-style:none;margin:12px 0 0;padding:0}
.walist li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.wamenu{position:absolute;top:58px;right:10px;z-index:6;background:var(--surface-solid,var(--surface));border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:6px;min-width:220px;cursor:default}
.wamenu button{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);font:inherit;padding:12px 14px;border-radius:10px;min-height:44px}
.wamenu button:hover,.wamenu button:focus-visible{background:var(--bg)}
.wadq button[aria-pressed="true"]{border-style:solid;border-color:var(--accent);background:var(--fill-soft)}
.waplot{position:relative;height:160px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid var(--line);margin-top:16px}
.wac{position:relative;flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.wac .v{font-size:.7rem;color:var(--muted);white-space:nowrap}
.wac i{display:block;width:100%;max-width:28px;border-radius:8px 8px 3px 3px;background:#8CC8E8}
.wac i.hit{background:#4F9AC4}
.wamk{position:absolute;left:4px;right:4px;border-top:2px dashed var(--muted);opacity:.75;pointer-events:none}
.wadays{display:flex;gap:8px;margin-top:6px}
.wadays span{flex:1;min-width:0;text-align:center;font-size:.76rem;color:var(--muted);line-height:1.25}
.wadays span.on{color:var(--ink);font-weight:700}
.wastats{display:flex;gap:10px}
.wastats>div{flex:1;min-width:0;background:var(--bg);border-radius:12px;padding:10px 12px}
.wastats b{display:block;font-family:var(--display);font-size:1.3rem}
.sheet{position:fixed;inset:0;z-index:15;background:var(--bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}
.sheethead{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
.sheetbody{flex:1;overflow-y:auto;padding:14px 16px 110px;max-width:640px;width:100%;margin:0 auto;box-sizing:border-box}
.fqk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}
.fqk button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px 10px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 2px 8px -4px rgba(30,38,48,.18)}
.fqk button span{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--fill-soft);color:var(--accent);margin-bottom:4px}
.fqk button b{font-size:.95rem}.fqk button small{font-size:.74rem;color:var(--muted);line-height:1.2;text-align:center}
.fqk button:active{transform:scale(.97)}
.ffav{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:10px 0 2px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}
.ffav .chev{transition:transform .2s;color:var(--muted)}.ffav[aria-expanded="true"] .chev{transform:rotate(180deg)}
.sheetbar{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.sheetbar button{display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;border:0;color:var(--ink);font:inherit;font-size:.78rem;padding:6px 18px;border-radius:999px;min-height:52px}
.sheetbar button span{font-size:1.35rem;line-height:1}
.sheetbar button:active{background:var(--bg)}
.pickcard{background:var(--surface);border:1px solid var(--accent);border-radius:14px;padding:14px;margin:8px 0 12px}
.revrow{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.revrow input[type=checkbox]{width:22px;height:22px;min-height:0;margin-top:2px;accent-color:var(--accent)}
.penart{background:var(--bg);border-radius:14px;padding:14px 10px 6px;margin-bottom:12px}
#bellBtn{position:relative}
#bellBadge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--bad);color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg)}
.npanel{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));right:max(12px,calc((100vw - 640px)/2 + 12px));width:min(390px,calc(100vw - 24px));max-height:70vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,.25);z-index:14;overflow:hidden}
.nhead{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.nhead .linkbtn{text-decoration:none;font-size:.82rem;margin-left:10px;color:var(--muted)}
.nlist{overflow-y:auto;flex:1}
.nlist li{padding:0;border-top:1px solid var(--line)}
.nlist li:first-child{border-top:0}
.nitem{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);font:inherit;padding:12px 14px;border-radius:0}
.nitem:active{background:var(--bg)}
.ndot{width:9px;height:9px;border-radius:50%;margin-top:6px;flex-shrink:0}
.nfoot{display:flex;justify-content:space-around;border-top:1px solid var(--line);padding:6px}
.nfoot .linkbtn{text-decoration:none;color:var(--ink);padding:8px 12px}
.permrow{display:flex;gap:10px;align-items:center;width:100%;margin-top:10px;padding:10px 12px;border-radius:14px;background:var(--bg);border:0;color:inherit;font:inherit;cursor:pointer;text-align:left}
.permsw{padding:12px 0;border-top:1px solid var(--line)}
.swrow{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--display);font-weight:500;cursor:pointer}
.swrow input{position:absolute;opacity:0;width:1px;height:1px}
.swrow i{width:46px;height:26px;border-radius:13px;background:var(--line);position:relative;flex-shrink:0;transition:background .2s}
.swrow i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}
.swrow input:checked+i{background:var(--ok)}
.swrow input:checked+i::after{transform:translateX(20px)}
.swrow input:focus-visible+i{outline:3px solid var(--accent);outline-offset:2px}
.trow{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.tsel{width:auto;min-width:110px}
.parts{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.parts::-webkit-scrollbar{display:none}
.pslide{flex:0 0 80%;scroll-snap-align:center;position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--bg);box-shadow:0 1px 3px rgba(30,38,48,.12)}
.pslide>img{width:100%;height:100%;object-fit:cover;display:block}
.pslide .pphoto{height:100%;min-height:0;border-radius:16px;box-sizing:border-box}
.pslide .pphoto img{max-height:none;height:100%;object-fit:contain}   /* 2.175.3: foto inteira na prévia do post (antes cortava os lados de foto mais larga e a marca d’água ficava cortada) */
.plabel{display:none;position:absolute;left:10px;top:10px;background:rgba(20,30,40,.72);color:#fff;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:999px;pointer-events:none}
.parts.single{margin:0;padding:0;overflow:visible}
.parts.single .pslide{flex:1 1 auto;aspect-ratio:auto;box-shadow:none;overflow:visible}
.parts.single .pslide .pphoto{min-height:180px}
.parts.single .plabel{display:none}
.pslide.load::after{content:"Gerando arte…";position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:.9rem}
.pdots{display:flex;justify-content:center;gap:7px;margin:10px 0 0}
.pdots button{width:8px;height:8px;min-height:0;padding:0;border-radius:50%;border:0;background:var(--line);cursor:pointer}
.pdots button[aria-current="true"]{background:var(--accent);width:22px;border-radius:4px}
.pphoto{background:var(--bg);border:1px dashed var(--line);border-radius:14px;min-height:180px;display:grid;place-items:center;overflow:hidden}
.wmopts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.wmopt{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:0;font:inherit;font-size:.85rem;font-weight:700;color:var(--muted);min-height:0}
.wmth{display:block;width:100%;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:var(--bg);border:2px solid var(--line)}
.wmth img{width:100%;height:100%;object-fit:cover;display:block}
.wmopt[aria-checked="true"]{color:var(--accent)}.wmopt[aria-checked="true"] .wmth{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.pphoto img{width:100%;max-height:60vh;object-fit:contain;display:block}
.post{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin:12px 0;overflow:hidden}
.posthead{display:flex;align-items:center;gap:10px;padding:12px 14px}
.avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-weight:700;color:#fff;flex-shrink:0}
.post img.pimg{width:100%;display:block;max-height:min(78vh,720px);object-fit:contain;background:var(--bg)}   /* 2.95.1: foto inteira (antes cortava em cima e embaixo e a marca d’água sumia) */
.postbody{padding:10px 14px 12px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.chip{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.82rem}
.pactions{display:flex;gap:6px;border-top:1px solid var(--line);padding:6px 8px}
.pactions button{background:transparent;border:0;color:var(--ink);font:inherit;padding:8px 10px;border-radius:10px;min-height:40px}
.pactions button[aria-pressed="true"]{color:var(--accent);font-weight:700}
.comments{border-top:1px solid var(--line);padding:8px 14px 12px}
.comments p{margin:6px 0;font-size:.92rem}
.gnai{border:1.5px solid var(--accent)}
.rtimer{display:flex;align-items:center;gap:14px;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:0 0 14px}
.rtimer.run{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.rtimer.run .muted{color:color-mix(in srgb,var(--surface) 75%,transparent) !important}
.rtclock{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rtlbl{font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;opacity:.8}
.rtclock b{font-family:var(--display);font-size:2.3rem;line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.rtbtns{display:flex;align-items:center;gap:10px}
.rtbtn{width:60px;height:60px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;min-height:0;padding:0}
.rtbtn.play{background:var(--accent);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 40%,transparent)}
.rtbtn.play.on{background:#E8875A}
.rtbtn.ghost{width:46px;height:46px;background:var(--surface);color:var(--ink);border:1.5px solid var(--line)}
.rtimer.run .rtbtn.ghost{background:transparent;color:var(--surface)}
.rtbtn.stop{width:52px;height:52px;background:#fff;color:#C2412E;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.rmodebtn{display:block;margin:0 auto 4px;background:none;border:0;color:var(--accent);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0 12px;cursor:pointer}
.rsum{border:1.5px solid var(--accent);border-radius:18px;padding:14px 16px;margin:0 0 14px;background:var(--surface)}
.rsum h3{margin:0 0 6px}
.rsumrow{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.rsumrow:last-of-type{border-bottom:0}
.rsumrow span:first-child{flex:1;color:var(--muted)}
.rsumrow b{font-family:var(--display);font-size:1.35rem}
.rsave{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.rsave .btn{width:auto;min-width:150px;flex:1}
@media (min-width:1024px){.rsave .btn{flex:0 0 auto}}
#aForm[data-mode="timer"] #aRowDD,#aForm[data-mode="timer"] #aBoxMin,#aForm[data-mode="timer"] #aBoxKcal,#aForm[data-mode="timer"] .rsave,#aForm[data-mode="timer"] #rSum{display:none}
#aForm[data-mode="timer"][data-state="done"] #aRowDD,#aForm[data-mode="timer"][data-state="done"] .rsave{display:flex}
#aForm[data-mode="timer"][data-state="done"] #rSum{display:block}
#aForm[data-mode="timer"][data-state="done"].edmin #aBoxMin,#aForm[data-mode="timer"][data-state="done"].edkcal #aBoxKcal{display:block}
#aForm[data-mode="timer"][data-state="done"] #rModeBtn{display:none}
#aForm[data-mode="manual"] #rTimer,#aForm[data-mode="manual"] #rMap,#aForm[data-mode="manual"] #rSum,#aForm[data-mode="manual"] #rDiscard{display:none !important}
#aForm[data-mode="manual"] #rModeBtn{margin:-4px 0 10px;text-align:left;padding-left:0}
.rmap,.rbmap{position:relative;z-index:0;isolation:isolate}
.rbmap{height:min(58vh,520px);border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--bg)}
.rblegend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 2px 0;font-size:.85rem;color:var(--muted)}.rblegend:empty{display:none}.rblegend span{display:inline-flex;align-items:center;gap:6px}.rblegend i{width:18px;height:6px;border-radius:3px;display:inline-block}.rblegend i.gapi{background:repeating-linear-gradient(90deg,#5E6B78 0 3px,transparent 3px 7px)}
/* 2.85.0: marca do Strava (botão oficial, "Powered by Strava" e "View on Strava") */
.cnbtns{display:grid;gap:10px}   /* 2.86.1: botões das conexões (Health Connect e Strava) um embaixo do outro */
.cnbtns .btn{width:100%;margin:0}
@media (min-width:1024px){.cnbtns,#strvBox .strvfoot{max-width:360px}}
.strvbtn{background:none;border:0;padding:0;margin:0;cursor:pointer;display:inline-block;line-height:0;border-radius:6px}
.strvbtn img{height:48px;width:auto;display:block}
.strvfoot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-top:14px;text-align:center}
.strvpow{height:13px;width:auto;display:block}
.strvpow.escuro{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .strvpow{display:none}:root:not([data-theme="light"]) .strvpow.escuro{display:block}}
:root[data-theme="dark"] .strvpow{display:none}
:root[data-theme="dark"] .strvpow.escuro{display:block}
.strvfoot a{color:#FC5200;font-weight:700;text-decoration:underline}
.rbstats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.rbplay{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 12px}.rbplay[hidden]{display:none}
.rbpbtn{width:44px;height:44px;border-radius:22px;border:0;background:var(--accent);color:var(--accent-ink,#fff);font-size:1.1rem;padding:0;min-height:0;cursor:pointer}
.rbspd{min-width:48px;height:36px;border-radius:18px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:800;font-size:.85rem;padding:0 8px;min-height:0;cursor:pointer}
#rbSeek{width:100%;accent-color:var(--accent)}
.rbpinfo{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;font-size:.88rem;color:var(--muted)}.rbpinfo b{color:var(--ink);font-size:1rem}
.rbeff{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px}.rbeff h3{margin:0 0 8px;font-size:1rem}
.effrow{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.effrow:first-of-type{border-top:0}
.medal{width:34px;height:34px;border-radius:17px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.72rem;color:#fff;flex:none;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.medal.m1{background:#E0A21B}.medal.m2{background:#9AA5B1}.medal.m3{background:#C9733A}.medal.m0{background:var(--line);color:var(--muted)}
.effrow b{display:block}.effrow small{color:var(--muted)}
.splits{width:100%;border-collapse:collapse;font-size:.92rem}.splits td{padding:6px 4px;border-top:1px solid var(--line)}.splits tr:first-child td{border-top:0}.splits td:first-child{width:46px;color:var(--muted);font-weight:700}.splits td:nth-child(2){width:64px;font-weight:700;font-variant-numeric:tabular-nums}
.splits .bar{height:10px;border-radius:5px;background:var(--fill-soft,#DCE6EE)}.splits tr.fast .bar{background:#2F9E5B}.splits tr.fast td:nth-child(2){color:#2F9E5B}
.rbpin{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:11px;background:#fff;border:2px solid #1E2630;color:#1E2630;font:800 10px/1 sans-serif;box-sizing:border-box}.rbpin.pr{width:30px;height:30px;border-radius:15px;background:#E0A21B;border-color:#fff;color:#fff;font-size:11px}.rbpin.fast{background:#2F9E5B;border-color:#fff;color:#fff}
.prchip{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:8px;background:#E0A21B;color:#fff;font-size:.72rem;font-weight:800;vertical-align:1px}
.prtab{width:100%;border-collapse:collapse;font-size:.95rem}.prtab td{padding:8px 4px;border-top:1px solid var(--line)}.prtab tr.hd td{border-top:0;padding-top:12px;font-weight:800}.prtab td:nth-child(2){font-weight:800;font-variant-numeric:tabular-nums}.prtab tr[data-route]{cursor:pointer}.prtab tr[data-route]:hover td{background:var(--bg)}
.rbstats div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column}
.rbstats span{font-size:.82rem;color:var(--muted);font-weight:600}.rbstats b{font-family:var(--display);font-size:1.5rem}
@media (min-width:700px){.rbstats{grid-template-columns:repeat(4,minmax(0,1fr))}}
#aList li[data-route]{cursor:pointer}
.ptnew{border-bottom:1px solid var(--line);padding-bottom:16px}
.ptlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ptnote{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--surface)}.ptnote.pub{border-left:4px solid #2F7D5B}.ptnote.priv{border-left:4px solid var(--line)}
.pthead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pthead .del{margin-left:auto}
.ptnote p,.ptreply p{margin:8px 0 0;line-height:1.5}
.ptreply{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--bg)}.ptreply.new{background:color-mix(in srgb,var(--accent) 12%,var(--surface));outline:1.5px solid var(--accent)}.ptreply.mine{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
.ntmsg p{margin:0;line-height:1.55;font-size:1.02rem}
.nreply{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:.82rem;font-weight:800;color:var(--accent)}
.cdue{border-left:4px solid #D99A2B}.cdue .clast li{flex-wrap:wrap}.cdue .clast li>span:nth-child(2){min-width:150px !important}
.cpai{border:1.5px solid var(--accent)}.cpai h3{display:flex;align-items:center;gap:6px;margin:0}
.cpmeal{flex:1;min-width:0;border:0 !important;background:transparent !important;font:inherit;font-weight:800;font-size:1.05rem;padding:4px 0 !important;color:var(--ink)}
.cpitem{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.6fr) 70px 70px 40px;gap:6px;align-items:center;margin-top:8px}
.cpitem input{min-height:40px;padding:6px 8px !important;font-size:.9rem;min-width:0}
@media (max-width:600px){.cpitem{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}.cpitem [data-f="a"]{grid-column:1/-1}.cpitem [data-f="q"]{grid-column:1/-1}}
#feValid{margin:0 0 14px}
#bodyCard .tile{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);flex-shrink:0}
.bfmini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.bfmini span{font-size:.78rem;color:var(--muted)}.bfmini b{display:block;font-family:var(--display);font-size:1.25rem}
.bftips{list-style:none;margin:6px 0 0;padding:0}.bftips li{display:flex;gap:10px;padding:7px 0}.bfck{width:24px;height:24px;border-radius:50%;background:#E3F1EA;color:#2F7D5B;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bfpriv{display:flex;gap:12px;align-items:flex-start;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--ink)}.bfpriv>svg{color:var(--accent);flex-shrink:0}
.bfagree{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;font-size:.95rem;line-height:1.45}.bfagree input{width:22px !important;height:22px !important;min-height:0 !important;margin:2px 0 0;flex:none;accent-color:var(--accent)}
.bfgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bfslot{display:flex;flex-direction:column;gap:8px}
.bfpic{position:relative;aspect-ratio:3/4;border-radius:18px;border:2px dashed color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--bg));color:var(--accent);display:flex;align-items:center;justify-content:center;overflow:hidden}
.bfpic.on{border:0}.bfpic img{width:100%;height:100%;object-fit:cover;display:block}
.bftag{position:absolute;left:8px;top:8px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:800;padding:3px 10px;border-radius:999px}
.bfpic.on .bftag{background:rgba(20,30,40,.75)}
.bfok{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;background:#2F7D5B;color:#fff;display:flex;align-items:center;justify-content:center}
.bfbtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.bfbtns .btn{min-height:44px;padding:0;display:flex;align-items:center;justify-content:center}
.bfslot>.btn{min-height:44px}
#bfGo{margin-top:14px}#bfGo:disabled{opacity:.55}
.bfhero{background:linear-gradient(135deg,var(--accent),#24435A);color:#fff;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.bfhero span{font-size:.85rem;opacity:.85;font-weight:700}.bfhero b{font-family:var(--display);font-size:2.6rem;line-height:1}.bfhero small{opacity:.9}
.bftab{list-style:none;margin:0;padding:0}.bftab li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.bftab li:last-child{border-bottom:0}.bftab li>span{flex:1;min-width:0}.bftab li>b{white-space:nowrap;font-size:1.05rem}
@media (min-width:1024px){#bodySheet .sheetbody{max-width:640px}}
.pltabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.pltabs button{flex:none;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}
.pltabs button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:800}
.pltot{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}.pltot b{font-family:var(--display);font-size:1.4rem}.pltot .small{margin-left:auto}
.plmh{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.plmh h3{margin:0}
.plmeal ul{list-style:none;margin:8px 0 12px;padding:0}.plmeal li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.plmeal li:last-child{border-bottom:0}
.plmeal li>span:last-child{white-space:nowrap;text-align:right}
.plmeal .btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px}
.pldicas{margin:8px 0 0;padding-left:18px}.pldicas li{margin:4px 0}
#planCard>.block{margin-bottom:14px}#planCard .tile,#nutCons .tile{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);flex-shrink:0}
@media (min-width:1024px){#tab-alim>#planCard{grid-column:2;grid-row:4;margin-top:16px}#planSheet .sheetbody{max-width:880px}}
.rbempty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;color:var(--muted)}.rbempty b{color:var(--ink);font-size:1.1rem}
#aList li[data-route] .main b::after{content:" · ver percurso";font-weight:600;font-size:.82rem;color:var(--accent)}
.rmapbox{border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:0 0 14px;background:var(--surface)}
.rmap{height:220px;background:var(--bg)}
.rmapstats{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:10px 14px}
.rmapstats b{font-family:var(--display);font-size:1.35rem}
.rmapstats .small{margin-left:auto}
@media (min-width:1024px){.rmap{height:280px}}
.pqaroles{display:flex;flex-direction:column;gap:8px}
.pqaroles button{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer}
.pqaroles button[aria-pressed="true"]{border-color:var(--accent);background:var(--sky-soft)}
.pqaroles button .pqack{margin-left:auto;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:#fff}
.pqaroles button[aria-pressed="true"] .pqack{background:var(--accent);border-color:var(--accent)}
#pqaRegs .field{margin:8px 0 0}
.rtlkbar{display:flex;align-items:center;gap:12px;margin:-4px 0 14px}.rtlkbar .btn{flex:1;min-height:46px}.rtlkbar .linkbtn{flex:0 0 auto;padding:8px 4px}
.rtlk{position:fixed;inset:0;z-index:80;background:#0f1720;color:#fff;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:contain}
.rtlk[hidden]{display:none}
.rtlkin{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px;text-align:center}
.rtlklbl{font-size:.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#9fc3dc}
.rtlktime{font-size:4.2rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.rtlkstats{display:flex;gap:22px;font-size:1.05rem;color:#cfdbe6}.rtlkstats b{font-size:1.8rem;color:#fff;font-variant-numeric:tabular-nums}
.rtlkhint{margin:18px 0 0;font-size:.9rem;color:#9aa8b5;line-height:1.45}
.rtlkhold{position:relative;width:96px;height:96px;border-radius:50%;border:0;background:#1d2a36;color:#fff;display:grid;place-items:center;touch-action:none;cursor:pointer}
.rtlkring{position:absolute;inset:8px;width:80px;height:80px;transform:rotate(-90deg)}
.rtlkring circle{fill:none;stroke:#2c3d4d;stroke-width:5}
.rtlkring circle+circle{stroke:#9fc3dc;stroke-dasharray:226.2;stroke-dashoffset:226.2;stroke-linecap:round}
.rtlkhold.on .rtlkring circle+circle{transition:stroke-dashoffset 2s linear;stroke-dashoffset:0}
.admbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.admbtns .btn{width:auto;flex:0 0 auto;min-height:40px;padding:8px 16px;font-size:.92rem;white-space:nowrap}
.obstep{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}
.obstep span{font-size:.8rem;font-weight:800;letter-spacing:.04em;color:var(--accent);text-transform:uppercase}
.obstep b{display:block;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.obstep i{display:block;height:6px;border-radius:3px;background:var(--accent)}
.psave{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom,0px));padding:12px 0 4px;background:linear-gradient(transparent,var(--bg) 35%);z-index:3}
body.firstrun .psave{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
body.firstrun nav.bar,body.firstrun #pBack{display:none !important}
@media (min-width:1024px){ body.firstrun:not(.out){padding-left:0} body.firstrun .wrap{max-width:760px} .psave{bottom:0} #pSave{width:auto;min-width:240px;display:block;margin-left:auto} }
.fieldbad input,.fieldbad .seg{outline:2px solid var(--bad);outline-offset:2px;border-radius:12px}
.gnobs{display:block;width:100%;box-sizing:border-box;min-height:96px;margin-top:10px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;font-size:1rem;line-height:1.45;resize:vertical}
.gnobs:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.gnquick{display:flex;flex-wrap:wrap;gap:8px}
.gnquick button{min-height:36px;padding:0 12px;border-radius:999px;border:1.5px dashed var(--line);background:var(--surface);color:var(--accent);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}
.gnquick button[aria-pressed="true"]{border-style:solid;border-color:var(--accent);background:var(--fill-soft,#E1EBF2)}
.genlist .gcombo{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--fill-soft,#E1EBF2);color:var(--accent);font-size:.72rem;font-weight:800;vertical-align:1px}
.fdpick{position:relative;margin-bottom:10px}
.fdpickbtn{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:8px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.fdpickbtn b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fdpickbtn .chev{color:var(--muted);transition:transform .2s}.fdpickbtn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.fdmenu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(20,30,40,.18);padding:6px;max-height:60vh;overflow-y:auto}
.fdmenu button{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.fdmenu button span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fdmenu button[aria-checked="true"]{background:var(--sky-soft);font-weight:700;color:var(--accent)}
.fdmlbl{margin:4px 10px 2px;font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.fdmenu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
@media (min-width:1024px){.fdpick{max-width:420px}}
.gchips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:6px}
.gchips button{flex:0 0 auto;background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:6px 14px;font:inherit;min-height:38px}
.gchips button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}
.backbtn{background:transparent;border:0;color:var(--accent);font:inherit;font-weight:700;padding:4px 0;margin-bottom:6px;min-height:36px}
.hubgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hubcard{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;color:var(--ink);font:inherit;min-height:120px}
.hubcard .hi{font-size:1.7rem;line-height:1}
.hubcard b{font-family:var(--display);font-size:1.05rem}
.hubcard .hs{font-size:.84rem;color:var(--muted)}
.hubcard.wide{grid-column:1/-1;min-height:0;flex-direction:row;align-items:center}
nav.bar .in{display:flex !important}
nav.bar .in button{flex:1 1 0;min-width:0}
.meav{width:84px;height:84px;border-radius:50%;flex-shrink:0;overflow:hidden;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:2rem;color:#fff;background:var(--accent);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.meav img,.avatar img,#goPerfil img{width:100%;height:100%;object-fit:cover;display:block}
#goPerfil{overflow:hidden;padding:0}
.hubgrid{grid-template-columns:1fr !important}
#homeCards [data-card]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative}
#homeCards.editing [data-card]{outline:2px dashed var(--accent);outline-offset:-2px;cursor:grab;animation:wob .35s ease-in-out infinite alternate}
#homeCards.editing [data-card].dragging{opacity:.85;transform:scale(1.02);box-shadow:0 14px 34px rgba(0,0,0,.25);animation:none;z-index:3}
@keyframes wob{from{transform:rotate(-.25deg)}to{transform:rotate(.25deg)}}
@media (prefers-reduced-motion:reduce){#homeCards.editing [data-card]{animation:none}}
.cardmove{position:absolute;top:8px;right:8px;display:none;gap:6px;z-index:2}
#homeCards.editing .cardmove{display:flex}
.cardmove button{width:34px;height:34px;min-height:0;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:1rem;padding:0}
#editBar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:12;display:flex;align-items:center;gap:12px;background:var(--ink);color:var(--bg);padding:10px 12px 10px 16px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25);white-space:nowrap}
#editBar button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:8px 16px;min-height:0;font-weight:700}
.adrow{display:flex;align-items:center;gap:12px;margin:10px 0}
.adico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.05rem;flex-shrink:0}
.adval{font-family:var(--display);font-weight:700;font-size:1.9rem;line-height:1}
.adval small{font-family:var(--body);font-weight:400;font-size:1rem;color:var(--muted);margin-left:4px}
.wkbars{display:flex;align-items:flex-end;gap:10px;height:110px}
.wkbars div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.wkbars i{display:block;width:12px;border-radius:6px;background:#3E6A86;min-height:0}
.wkbars span{font-size:.78rem;color:var(--muted)}
.wkbars span.sun{color:var(--bad)}
.wkbars span.today{color:var(--ink);font-weight:700}
.clickcard{cursor:pointer}
.sess{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:8px 0}
.sess .t{font-family:var(--display);font-weight:700;font-size:1.15rem;color:#3E6A86}
.sess .k{font-family:var(--display);font-weight:700;font-size:1.15rem;color:#E8875A;margin-left:8px}
.dayhead{display:flex;justify-content:space-between;font-size:.9rem;font-weight:700;margin:14px 2px 2px}
.addbtn{width:40px;height:40px;min-height:0;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);font-size:1.4rem;font-weight:700;line-height:1;display:grid;place-items:center;flex-shrink:0;padding:0}
#homeCards.editing .addbtn{visibility:hidden}
.ic{flex-shrink:0;display:inline-block}
.ilabel{display:inline-flex;align-items:center;gap:8px}
.tile{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.chip{display:inline-flex;align-items:center;gap:5px}
.sheetbar button span .ic{display:block}
.pactions button{display:inline-flex;align-items:center;gap:6px}
.pactions button[aria-pressed="true"] .ic{fill:currentColor}
.mealhead .tile{margin-right:2px}
.hubcard .tile{margin-right:4px}
.cropview{width:min(280px,76vw);aspect-ratio:1;margin:14px auto;border-radius:50%;overflow:hidden;position:relative;touch-action:none;background:#111;cursor:grab;box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--line)}
.cropview:active{cursor:grabbing}
#cropImg{position:absolute;left:0;top:0;transform-origin:0 0;user-select:none;-webkit-user-drag:none;pointer-events:none;max-width:none;max-height:none}
.commbar{padding:10px 14px}
.commact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.commact .btn{width:auto;padding:7px 12px;min-height:36px;font-size:.88rem}
.dangerbtn{color:var(--bad) !important;border-color:var(--bad) !important}
.dangerbtn.arm{background:var(--bad);color:#fff !important}
.wordmark{font-family:"Quicksand","Nunito","Segoe UI",sans-serif;font-weight:700;letter-spacing:-.035em;white-space:nowrap;text-transform:none}
.wordmark span{color:var(--accent)}
header.top .wordmark{font-size:1.3rem}
header.top img[src="logo.svg"],header.top > div > svg{width:34px;height:34px}
#login .wordmark{font-size:2.2rem}
.likedby{padding:0 14px}
.likedbtn{display:flex;align-items:center;gap:8px;background:transparent;border:0;padding:2px 0 8px;color:var(--ink);font:inherit;font-size:.88rem;min-height:0;text-align:left}
.lbstack{display:flex}
.lbav{margin-left:-8px;border-radius:50%;box-shadow:0 0 0 2px var(--surface)}
.lbav:first-child{margin-left:0}
.lbav .avatar{width:22px;height:22px;font-size:.62rem}
.post .pactions{border-top:0;padding:6px 8px 0}
.post .likedby{padding:0 14px}
.likedbtn{font-size:.92rem !important;padding:4px 0 2px !important;gap:10px !important}
.lbav .avatar{width:26px !important;height:26px !important;font-size:.7rem !important}
.lbav{margin-left:-9px}
.post .postbody{padding:4px 14px 12px}
.pcap{margin:4px 0}
.ptext{margin:0;padding:2px 14px 6px;font-size:1.05rem;line-height:1.45}
.pmore{background:transparent;border:0;padding:2px 0;min-height:0;color:var(--muted);font:inherit;font-size:.9rem}
.ptime{margin:4px 0 0;font-size:.82rem;color:var(--muted)}
.fichacard{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:0 0 10px;color:var(--ink);font:inherit;min-height:72px}
.fletter{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;font-family:"Quicksand",var(--display);font-weight:700;font-size:1.4rem;color:#fff;background:var(--accent)}
.startbox{background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:16px;padding:16px;text-align:center;margin-bottom:12px}
.startbox p{margin:10px 0 0;color:var(--accent);font-weight:700}
.startbtn{background:#8CC8E8 !important;color:#fff !important;border-color:#8CC8E8 !important}
.trbar{position:sticky;top:calc(8px + env(safe-area-inset-top,0px));z-index:5;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#11151F;color:#fff;border-radius:14px;padding:14px 16px;margin-bottom:12px;font-size:1.2rem}
.trbar .small{color:#F0B455;font-size:.95rem}
.excard{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:10px}
.excard.ok{opacity:.6}
.excard.ok .exname{text-decoration:line-through}
.exname{font-family:var(--display);font-size:1.12rem;display:block;margin-bottom:4px}
.exline{margin:2px 0;font-size:.95rem}
.exnum{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--line);font-weight:700;font-size:.9rem;flex-shrink:0}
.excheck{width:32px;height:32px;min-height:0;border-radius:50%;border:2px solid var(--ink);background:transparent;display:grid;place-items:center;padding:0;flex-shrink:0;color:#fff}
.excheck[aria-pressed="true"]{background:#8CC8E8;border-color:#8CC8E8}
.exrest{display:inline-flex;align-items:center;gap:6px;padding:4px 0;font-size:.95rem}
.exedit{padding:0 4px;font-style:italic;font-weight:700}
.editbtn{width:auto !important;min-height:0;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;font-size:.92rem;flex-shrink:0}
.probadge{font-size:.72rem;font-weight:700;color:var(--accent);background:var(--fill-soft);border-radius:999px;padding:2px 8px;white-space:nowrap}
#ficheSheet,#genSheet,#kbSheet{z-index:19}
.iconbtn.sm{width:34px;height:34px;min-height:0;font-size:.95rem}
.feex{padding:14px}
.exthumb{position:relative;width:96px;height:120px;flex-shrink:0;border-radius:12px;overflow:hidden;border:0;padding:0;background:#000;min-height:0}
.exthumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9}
/* 2.96.0: vídeos 3D dos exercícios */
.exthumb.ex3d{background:#E0F0F9}.exthumb.ex3d img{opacity:1}
.exlth.ex3d{position:relative;background:#E0F0F9}.exlth.ex3d img{object-fit:cover}.exlth.ex3d .ex3dplay{right:3px;bottom:3px;width:22px;height:22px}
.ex3dplay{position:absolute;right:6px;bottom:6px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(30,38,48,.72);color:#fff}
.x3card{max-width:520px;width:calc(100% - 24px);margin:0 auto calc(14px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 30px);overflow-y:auto}
.x3vid{position:relative;border-radius:16px;overflow:hidden;background:#E0F0F9;aspect-ratio:720/590}
.x3vid video{display:block;width:100%;height:100%;object-fit:cover}
.x3slow{position:absolute;right:10px;bottom:10px;min-height:0;padding:7px 12px;border-radius:99px;border:0;font-size:.8rem;font-weight:700;background:rgba(30,38,48,.72);color:#fff}
.x3slow[aria-pressed="true"]{background:var(--accent);color:var(--surface)}
.x3chips{display:flex;gap:6px;flex-wrap:wrap}.x3chips .chip{font-weight:700}.x3chips .x3on{background:color-mix(in srgb,#E8634A 16%,transparent);color:#C44A33}
.x3ficha{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--bg)}
.ytplay{position:absolute;inset:0;margin:auto;width:42px;height:42px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center}
.exvid{display:inline-flex;align-items:center;gap:6px;padding:4px 0;font-size:.92rem}
.ytframe{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden}
.ytframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sugwrap{position:relative}
.sugbox{position:absolute;left:0;right:0;top:calc(100% - 4px);z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.18);max-height:280px;overflow-y:auto;padding:4px}
.sugbox button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);font:inherit;font-size:.98rem;padding:11px 10px;border-radius:8px;min-height:44px}
.sugbox button .ic{color:var(--muted)}
.sugbox button:hover,.sugbox button:focus-visible{background:var(--bg)}
.exgrid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr) minmax(0,1fr);gap:10px}
.exgrid .field,.feex .row .field{min-width:0}
.exgrid input,.exgrid select,.feex input{width:100%;min-width:0;box-sizing:border-box}
.feex .field label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wrapchips{flex-wrap:wrap;overflow:visible}
/* 2.122.0: Monte o meu treino pela rotina e dias da semana das fichas */
.gnvez{overflow:visible;flex-wrap:wrap}
.gnvez button{min-width:52px}
.gndias{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:8px}
.gndias button{aspect-ratio:1;max-height:46px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:700;padding:0;min-height:38px}
.gndias button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.gnrot{border-top:1px solid var(--line);padding:10px 0}
.gnrot:last-child{padding-bottom:0}
.gnrot summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}
.gnrot summary::-webkit-details-marker{display:none}
.gnrot summary::after{content:"›";margin-left:auto;color:var(--muted);font-size:1.3rem;transition:transform .2s}
.gnrot[open] summary::after{transform:rotate(90deg)}
.gnrot .fletter{width:38px;height:38px;font-size:1.15rem;border-radius:10px}
.gnrotn{flex:1;min-width:0}
.gnrotn span{display:block}
.gnrot .genlist{margin-top:8px}
.gntroca{border:1.5px solid var(--accent)}
.fichacard.fhoje{border:1.5px solid var(--accent);box-shadow:0 4px 14px rgba(62,106,134,.14)}
.fhojetag{display:table;font-size:.7rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:2px 8px;margin-bottom:4px}
.fdias{color:var(--accent);font-weight:700}
.genlist{margin:0;padding-left:20px}
.genlist li{margin:7px 0;line-height:1.3}
.genlist li span{display:block}
#tour{position:fixed;inset:0;z-index:40;background:var(--bg)}
/* tour em carrossel: prints das telas com dados de exemplo (site/tour/) */
.tv{position:absolute;inset:0;display:flex;flex-direction:column;background:radial-gradient(120% 60% at 50% 0%,color-mix(in srgb,var(--accent) 16%,var(--bg)),var(--bg))}
.tvtop{display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top) + 8px) 16px 0}
.tvtop .linkbtn{font-weight:700;color:var(--accent);padding:10px 4px}
.tvtrack{flex:1;min-height:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.tvtrack::-webkit-scrollbar{display:none}
.tvs{flex:0 0 100%;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;padding:6px 16px 0;min-height:0;box-sizing:border-box}
.tvph{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.tvfr{position:relative;height:100%;max-height:560px;aspect-ratio:1/2;box-sizing:border-box;border-radius:30px;padding:7px;background:#11161c;box-shadow:0 24px 60px -20px rgba(20,40,60,.45)}
.tvfr img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:24px;background:#fff}
.tvtag{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);background:var(--accent);color:var(--accent-ink);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:999px;white-space:nowrap}
.tvph.stack{justify-content:center;gap:28px;padding:16px 0 8px}
.tvcrop{position:relative;max-width:100%;padding-top:16px;box-sizing:content-box;border-radius:18px;background:#fff;box-shadow:0 18px 40px -18px rgba(20,40,60,.45),0 0 0 1px var(--line)}
.tvcrop img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:0 0 18px 18px}
.tvcrop .tvtag{top:-12px;bottom:auto}
.tvhero{flex:1;display:grid;place-items:center}
.tvhero img{width:96px;height:96px;border-radius:26px;box-shadow:0 20px 50px -18px rgba(30,60,90,.6)}
.tvtx{width:100%;max-width:420px;text-align:center;padding:22px 8px 4px}
.tvtx h3{font-family:var(--display);font-weight:800;font-size:1.45rem;line-height:1.15;margin:0}
.tvtx p{color:var(--muted);line-height:1.45;margin:8px 0 0;min-height:4.35em}
.tvbot{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 16px calc(env(safe-area-inset-bottom) + 16px)}
.tvnav{display:flex;gap:10px;width:100%;max-width:420px}
.tvnav .btn{flex:1;min-height:50px;border-radius:999px}
.tvnav .btn[hidden]{display:none}
#tourDots{display:flex;gap:5px}
#tourDots i{width:7px;height:7px;border-radius:50%;background:var(--line);transition:width .2s}
#tourDots i.on{background:var(--accent);width:18px;border-radius:4px}
body.touring{overflow:hidden}
@media (max-height:640px){.tvtx p{min-height:0}.tvtx{padding-top:16px}}
@media (max-width:520px){#coachSheet .sheethead>div[style*="flex:1"]{display:none}#coachSheet .sheethead{justify-content:space-between}}
#coachRoles button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
#coachSheet{background:var(--bg)}
.chdr{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 24px !important;background:var(--surface);border-bottom:1px solid var(--line)}
.clogo{border-radius:12px;display:block;flex-shrink:0}
.ctl{display:flex;flex-direction:column;line-height:1.15}.ctl b{font-family:var(--display);font-size:1.3rem}
.croles{display:flex;gap:4px;background:var(--bg);border-radius:12px;padding:4px;margin-left:12px}
.croles button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.croles button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink,#fff);font-weight:800}
.usolist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:12px}
.usol{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.usol span{min-width:0}
.usob{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin:4px 0 2px}.usob i{display:block;height:100%;border-radius:99px;background:var(--accent)}
.usodias{display:flex;align-items:flex-end;gap:3px;height:120px;margin-top:10px}.usodias>div{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.usodias i{display:block;width:100%;max-width:28px;min-height:2px;border-radius:4px 4px 0 0;background:var(--accent)}.usodias span{font-size:.68rem;color:var(--muted);white-space:nowrap;height:1em}
.usoper{margin-left:0}
.usogrid{display:grid;gap:0}
@media (min-width:1024px){.usogrid{grid-template-columns:1fr 1fr;gap:14px}.usogrid>.block{margin:14px 0}}
.ccount{font-style:normal;font-size:.78rem;font-weight:800;border-radius:10px;padding:1px 7px;background:var(--line);color:var(--ink)}
.croles button[aria-pressed="true"] .ccount{background:rgba(255,255,255,.25);color:#fff}
#coachInvBtn,#coachClose{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;white-space:nowrap}
.cwrap{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);flex:1;min-height:0}
.cside{background:var(--surface);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}
.cmain{padding:24px 28px 48px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;min-width:0}
.csearch{display:flex;align-items:center;gap:8px;height:44px;border:1.5px solid var(--line);border-radius:12px;padding:0 12px;color:var(--muted);margin-bottom:6px}
.csearch input{border:0 !important;outline:0;flex:1;min-width:0;background:transparent !important;padding:0 !important;box-shadow:none !important;font:inherit}
.cnav{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}
.cnav[aria-current="true"]{background:var(--fill-soft,#E1EBF2);font-weight:800;box-shadow:inset 3px 0 0 var(--accent)}
/* 2.56.0: Financeiro */
.fintabs{max-width:560px}
.cnavsub{display:none}
.cinvnav{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin:2px 0 6px;padding:0 12px;border:1.5px dashed var(--accent);border-radius:12px;background:transparent;color:var(--accent);font:inherit;font-weight:800;text-align:left;cursor:pointer}.cinvnav[aria-pressed="true"]{background:var(--fill-soft,#E1EBF2);border-style:solid}
.cinvlink{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.cinvlink .btn{width:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:0 16px}
.cvlogin{display:flex;gap:10px;align-items:flex-start;background:var(--fill-soft,#E1EBF2);color:var(--ink);border-radius:16px;padding:12px 14px;margin:0 0 12px;font-size:.92rem}.cvlogin>svg{flex:none;color:var(--accent);margin-top:1px}
@media (min-width:901px){.cnavsub{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px 22px;padding-left:10px;border-left:2px solid var(--line)}.cnavsub .cnav{min-height:38px;font-size:.92rem;font-weight:500;color:var(--muted)}.cnavsub .cnav[aria-current="true"]{color:var(--accent);font-weight:800}.ctabs.ftabs.fintabs{display:none}}
.finper{flex-wrap:wrap;gap:6px;margin:14px 0 12px}
.fingrid{margin-bottom:14px}
.finbars{display:flex;flex-direction:column;gap:10px}
.finbarr{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:.9rem}
.finbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finbt{display:block;height:10px;border-radius:5px;background:var(--bg)}.finbt i{display:block;height:100%;border-radius:5px}
.finbarr b{font-variant-numeric:tabular-nums}
.finsec{margin:4px 0 8px;font-weight:700}.finbars+.finsec{margin-top:14px}
.fints{display:none}
.finbarr{justify-content:flex-end}
@media (max-width:480px){.ctabs.ftabs.fintabs{overflow-x:auto;scrollbar-width:none}.ctabs.ftabs.fintabs::-webkit-scrollbar{display:none}.ctabs.ftabs.fintabs button{flex:0 0 auto;min-width:62px;flex-direction:column;gap:2px;font-size:.76rem;min-height:56px;padding:6px 8px}.ctabs.ftabs.fintabs button span{overflow:visible;max-width:none}.fintabs .fintl{display:none}.fintabs .fints{display:inline}}
.finbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0 12px}
.finmes{display:flex;align-items:center;gap:6px}.finmes b{min-width:150px;text-align:center;font-family:var(--display);font-size:1.05rem}
.finbar>.btn{width:auto;padding:0 16px;display:inline-flex;align-items:center;gap:6px}
.finkpis{margin-bottom:14px}
@media (max-width:700px){.finkpis{grid-template-columns:1fr 1fr;gap:8px}.finkpis .ckpi{padding:12px}.finkpis .ckpi b{font-size:1.2rem}.finbar>.btn{flex:1;justify-content:center}.finmes{width:100%;justify-content:space-between}}
.finfilt{flex-wrap:wrap;gap:6px}
.finlist{list-style:none;margin:8px 0 0;padding:0}
.finrow{border-top:1px solid var(--line);padding:4px 0}.finrow:first-child{border-top:0}
.finrowb{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.fintx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.fintx>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.finamt{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none;text-align:right}.finamt b{font-variant-numeric:tabular-nums}
.finbig{font-family:var(--display);font-size:1.3rem;font-variant-numeric:tabular-nums}
.finpill{display:inline-block;font-size:.72rem;font-weight:800;padding:2px 9px;border-radius:999px;white-space:nowrap;background:var(--fill-soft,#E1EBF2);color:var(--accent)}
.finpill.paga{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}
.finpill.atrasada{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}
.finpill.cancelada{background:var(--bg);color:var(--muted)}
.cfin{display:block;width:max-content;margin:6px 0 0 auto}
.finlate{color:var(--bad);font-weight:700}
.finav,.finavp{display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-weight:700;font-size:.82rem}
.finacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px 50px}
.finacts .btn,.finsum+.row .btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
@media (min-width:701px){.finacts{display:flex;justify-content:flex-end;margin:0 0 8px}.finacts .btn{width:auto;padding:0 16px}}
.finsetup{display:flex;gap:12px;align-items:flex-start;border-color:var(--sun)}.finsetup>svg{color:var(--sun-text,#9E4523);flex:none;margin-top:2px}
.finsum{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.finpix{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.finqr{background:#fff;border-radius:12px;padding:6px;width:180px;max-width:100%;margin:12px auto 0}.finpix .finqr{margin:0}.finqr svg{display:block;width:100%;height:auto}
.finpixr{flex:1;min-width:200px;display:flex;flex-direction:column;gap:8px}
.fincode{display:block;font-family:ui-monospace,Menlo,monospace;font-size:.72rem;word-break:break-all;background:var(--bg);border-radius:10px;padding:8px 10px;color:var(--muted);max-height:76px;overflow:auto;user-select:all;-webkit-user-select:all}
.finpixr .btn,.finmine .btn,#finCpMsg,.finwa{display:flex;align-items:center;justify-content:center;gap:8px}
.finwa{background:#1F8F55;color:#fff;border-color:#1F8F55}
.finapp{display:flex;align-items:center;justify-content:center;gap:8px}.finapp:disabled{opacity:.6;cursor:default}
.finforma{flex-wrap:wrap;gap:6px}
.cbh>#finPlNew,.cbh>#finAsNew{display:inline-flex;align-items:center;gap:6px;padding:0 16px}
.finplsel{display:flex;gap:8px;align-items:center}.finplsel select{flex:1;min-width:0}.finplsel .btn{width:auto;flex:none;padding:0 14px;display:inline-flex;align-items:center;gap:4px;min-height:44px}
#finMsg{width:100%;box-sizing:border-box;font:inherit;color:var(--ink);padding:10px}
.finmine.late{border-color:var(--bad)}
.finstrip{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:10px 12px;border:0;border-radius:14px;background:color-mix(in srgb,var(--sun) 16%,transparent);color:var(--sun-text,#9E4523);font:inherit;font-size:.88rem;text-align:left;cursor:pointer}
.finstrip span{flex:1;min-width:0}.finstrip.late{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}
.finpagb{position:relative;display:inline-flex;align-items:center;justify-content:center}
.finbadge{position:absolute;top:-7px;right:-4px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--sun);color:#fff;font-style:normal;font-size:.72rem;font-weight:800;display:grid;place-items:center;box-sizing:border-box}
.findesv{display:block;margin:10px auto 0;color:var(--muted);font-size:.85rem}
.clabel{font-size:.74rem;font-weight:800;letter-spacing:.06em;color:var(--muted);margin:12px 12px 4px}
.cside .stu{border:0;margin:0;padding:10px 12px;border-radius:12px;background:transparent;cursor:pointer}
.cside .stu[aria-current="true"]{background:var(--fill-soft,#E1EBF2);box-shadow:inset 3px 0 0 var(--accent)}
.cside .stu:hover{background:var(--bg)}
.cstl{display:inline-flex;align-items:center;gap:6px}
.cdot{width:8px;height:8px;border-radius:50%;background:var(--line);display:inline-block;flex-shrink:0}
.cdot.ok{background:#2F7D5B}.cdot.warn{background:#D99A2B}.cdot.bad{background:#C2412E}
.cpend{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px dashed var(--line);border-radius:12px;color:var(--muted)}
.cchip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}
.cchip.ok{background:#E3F1EA;color:#2F7D5B}.cchip.warn{background:#FBEFD9;color:#8A5A10}.cchip.bad{background:#F9E1DC;color:#A3321F}
.cchip.na{background:var(--bg);color:var(--muted)}
.cdelta{font-size:.82rem;font-weight:700}.cdelta.down{color:#2F7D5B}.cdelta.up{color:#B85A1E}.cdelta.eq{color:var(--muted)}
.ctitle h1{margin:0;font-family:var(--display);font-size:1.9rem}.ctitle p{margin:4px 0 0}
.ckpis4{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.ckpi{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:2px}
.ckpi span{font-size:.88rem;color:var(--muted);font-weight:600}.ckpi b{font-family:var(--display);font-size:1.9rem;line-height:1.15}.ckpi small{color:var(--muted);font-size:.8rem}
.ckpi b.acc{color:var(--accent)}.ckpi b.ok{color:#2F7D5B}.ckpi b.warn{color:#B85A1E}.ckpi b.bad{color:#C2412E}
.ctblhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.ctblhead h2{margin:0;font-size:1.2rem}
.cfilt{display:flex;gap:8px}.cfilt button{min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}
.cfilt button[aria-pressed="true"]{border-color:var(--accent);background:var(--fill-soft,#E1EBF2);color:var(--accent);font-weight:800}
.ctbl{overflow-x:auto}.ctbl table{width:100%;border-collapse:collapse}
.ctbl th{text-align:left;font-size:.8rem;color:var(--muted);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.ctbl td{padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
.ctbl tr:last-child td{border-bottom:0}
tr.cclick{cursor:pointer}tr.cclick:hover td{background:var(--fill-soft)}
.cgobtn{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:var(--accent);font-weight:600;font-size:.9rem;border:1px solid var(--line);border-radius:999px;padding:6px 12px}
tr.cclick:hover .cgobtn{border-color:var(--accent)}
td.cgo{white-space:nowrap}
.cgowrap{display:inline-flex;align-items:center;gap:6px}
@media (min-width:701px){.ctbl td.cst .cchip{white-space:normal;text-align:center;line-height:1.25;border-radius:12px}.ctbl .cgobtn{width:38px;height:38px;padding:0;justify-content:center;border-radius:50%;box-sizing:border-box}.ctbl .cgobtn .cgotx{display:none}}
.cmsgbtn{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--accent);vertical-align:middle;cursor:pointer}
.cmsgbtn:hover{border-color:var(--accent)}
.cmsgbtn{position:relative}
.cmsgn{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#C2702E;color:#fff;font-size:.68rem;font-weight:800;font-style:normal;display:grid;place-items:center;box-sizing:border-box;box-shadow:0 0 0 2px var(--surface)}
.csorth{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;font:inherit;font-weight:inherit;color:inherit;text-align:left;cursor:pointer}
.csorth:hover,.csorth.on{color:var(--accent)}
.csortar{font-size:.85em;opacity:.55}.csorth.on .csortar{opacity:1}
.csortbar{display:none;align-items:center;gap:8px;margin:0 0 10px}
.csortbar select{flex:1;min-height:42px}
@media (max-width:700px){.csortbar{display:flex}.ctbl.ccards .cgowrap{display:flex;gap:8px;width:100%}.ctbl.ccards td.cgo .cgobtn{flex:1}.ctbl.ccards .cmsgbtn{width:46px;height:42px;border-radius:999px;margin:0 6px 0 0}.ctbl.ccards td.cgo{grid-column:1/-1}.ctbl.ccards .cgobtn{display:flex;justify-content:center;min-height:42px;font-size:.95rem}}
.crow{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);font:inherit;padding:0;min-height:44px;cursor:pointer}.crow:hover b{color:var(--accent);text-decoration:underline}
.c7{display:inline-flex;gap:4px}.c7 i{width:12px;height:12px;border-radius:4px;background:var(--line);display:inline-block}.c7 i.on{background:var(--accent)}
.chead{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.chead .btn{display:inline-flex;align-items:center;gap:8px}
.ctabbar{position:sticky;top:0;z-index:6;background:var(--bg);margin:-8px 0 -6px;padding:8px 0 6px}
.ctabbar .ctabs.ftabs{margin:0}
#coachDetail #cBody{min-height:calc(100dvh - 190px)}
.cgrid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px}
.cgrid2>.block{margin:0}
.cbh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.cbh h3{margin:0}
.clegend{display:flex;gap:14px;font-size:.82rem;color:var(--muted)}.clegend span{display:inline-flex;align-items:center;gap:6px}.clegend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.clast{list-style:none;margin:8px 0 0;padding:0}.clast li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.clast li:last-child{border-bottom:0}
.cico{width:40px;height:40px;border-radius:12px;background:var(--fill-soft,#E1EBF2);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cfreq{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-top:12px;max-width:400px}.cfreq span{aspect-ratio:1;border-radius:6px;background:var(--bg)}.cfreq span.on{background:var(--accent)}.cfreq span.today{outline:2px solid var(--ink);outline-offset:1px}
.cinv{margin:0}
.cinvopts{display:grid;gap:10px}
.cinvopt{display:flex;align-items:flex-start;gap:14px;width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.cinvopt>svg{flex:none;margin-top:2px;color:var(--accent)}
.cinvopt b{display:block;font-size:1rem}.cinvopt small{display:block;margin-top:2px;color:var(--muted);font-size:.86rem;line-height:1.35}
.cinvopt:hover{border-color:var(--accent)}
.cinvopt:disabled{opacity:.6}
@media (min-width:700px){.cinvopts{grid-template-columns:1fr 1fr}}
#admSheet{background:var(--bg)}
#admSheet .cmain{display:flex;flex-direction:column;gap:18px;padding:20px 16px 48px}
#admSheet .block{margin:0}
.admbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.admu{display:inline-flex;align-items:center;gap:10px;white-space:normal}
.admseen{display:block;margin-top:2px;color:var(--muted)}.admseen b{color:var(--ink);white-space:nowrap}
@media (min-width:1024px){.admseen{display:none}}
.admacts{display:inline-flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.admacts .btn{width:auto;min-height:38px;padding:0 14px;font-size:.88rem;display:inline-flex;align-items:center;gap:6px}
.admrole{min-height:40px;border-radius:10px;padding:0 10px;font:inherit}
.admchk{display:flex;align-items:center;gap:6px;font-weight:600;white-space:nowrap}
.admchk input{width:20px !important;height:20px !important;min-height:0 !important;padding:0 !important;margin:0;flex:none;accent-color:var(--accent)}
.admreg{margin-top:6px;max-width:170px;min-height:36px;padding:4px 10px}
tr.admpend td{background:#FBEFD9}
@media (max-width:600px){.ckpis4{grid-template-columns:repeat(2,minmax(0,1fr))}.ckpi b{font-size:1.5rem}}
html[data-theme="dark"] tr.admpend td{background:rgba(217,154,43,.15)}
#coachDetail>.block{margin:0}
#coachDetail #cBody{display:flex;flex-direction:column;gap:16px}
#coachDetail #cBody>.block{margin:0}
@media (max-width:900px){.cwrap{display:block;overflow-y:auto;-webkit-overflow-scrolling:touch}.cwrap>.cside,.cwrap>.cmain{overflow:visible}.cwrap{grid-template-columns:1fr}.cside{border-right:0;border-bottom:1px solid var(--line);max-height:none}.cmain{padding:16px}.chdr{padding:10px 14px !important}.croles{margin-left:0}.cgrid2{grid-template-columns:1fr}}
@media (max-width:520px){.ctl span{display:none}#coachInvBtn span{display:none}#coachInvBtn{padding:0 12px}}
/* celular: cabeçalho em 2 linhas (marca + botões, depois Alunos/Pacientes) e tabela da visão geral em cartões */
@media (max-width:700px){
  .chdr{gap:10px}.chdr .clogo{width:38px;height:38px}.ctl b{font-size:1.12rem}
  .croles{order:5;flex-basis:100%;margin:0}.croles button{flex:1;justify-content:center}
  #coachRoles{min-width:0;box-sizing:border-box}#coachRoles button{flex:1 1 0;min-width:0;padding:0 6px;gap:5px;font-size:.92rem}
  #admSheet .croles{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}#admSheet .croles::-webkit-scrollbar{display:none}
  #admSheet .croles button{flex:none;padding:0 14px;white-space:nowrap;text-align:center;font-size:.92rem;scroll-snap-align:center}   /* 2.152.1: abas da Administração em uma linha, roláveis para o lado */
  #coachClose span{display:none}#coachClose,#coachInvBtn{width:44px !important;min-height:44px;padding:0 !important;justify-content:center}
  .ctbl.ccards{overflow:visible}.ctbl.ccards table,.ctbl.ccards tbody{display:block}.ctbl.ccards thead{display:none}
  .ctbl.ccards tr{display:grid;gap:10px 14px;padding:14px 0;border-bottom:1px solid var(--line)}.ctbl.ccards tr:last-child{border-bottom:0}
  .ctbl.ccards td{display:block;padding:0;border:0;white-space:normal}
  .ctbl.ccards tr{grid-template-columns:1fr 1fr}
  .ctbl.ccards td.cnm{grid-column:1/2}.ctbl.ccards td.cst{grid-column:2/3;grid-row:1;justify-self:end;align-self:center}
  .ctbl.ccards td[data-th]{grid-column:auto;font-size:.92rem;min-width:0;overflow-wrap:anywhere}
  .ctbl.ccards td[data-th]::before{content:attr(data-th);display:block;color:var(--muted);font-size:.78rem;font-weight:600;margin-bottom:2px}
  .ctbl.ccards td[colspan]{grid-column:1/-1}
}
.stu{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:8px;color:var(--ink);font:inherit;min-height:0}
.stu[aria-current="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--fill-soft)}
.stu:disabled{opacity:1;cursor:default}
.ctabs{display:flex;gap:14px;border-bottom:1px solid var(--line);margin:12px 0 14px;overflow-x:auto}
.ctabs button{border:0;background:transparent;padding:10px 0;border-bottom:3px solid transparent;color:var(--muted);font:inherit;font-weight:700;min-height:44px;white-space:nowrap;border-radius:0}
.ctabs button[aria-pressed="true"]{color:var(--accent);border-color:var(--accent)}
.ctabs.ftabs{overflow:visible;border:1px solid var(--line);margin:12px 0 2px}
.ctabs.ftabs button{border:0;border-radius:12px;padding:0 6px;color:var(--ink);font-weight:600;white-space:nowrap;min-width:0}
.ctabs.ftabs button[aria-pressed="true"]{color:var(--accent-ink,#fff);font-weight:800}
.ctabs.ftabs button span{overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media (min-width:1024px){.ctabbar .ctabs.ftabs{max-width:820px;margin-left:auto;margin-right:auto}}
/* 2.55.0: no computador quem rola é a coluna da direita, que tem 24 px de margem no topo: a barra sobe até a borda e cobre essa faixa */
@media (min-width:901px){.ctabbar{top:-46px;margin-top:-32px;padding-top:32px;padding-bottom:10px;box-shadow:0 10px 12px -12px rgba(20,30,40,.25)}}
@media (max-width:480px){.ctabs.ftabs{gap:2px;padding:3px}.ctabs.ftabs button{padding:6px 1px;font-size:.74rem;letter-spacing:-.01em}}
.ckpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.ckpis>div{background:var(--bg);border-radius:12px;padding:12px}.ckpis b{display:block;font-family:var(--display);font-size:1.35rem}
.cdays{display:flex;gap:6px;overflow-x:auto;margin-bottom:10px}.cdays button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:6px 12px;min-height:38px;font:inherit;font-weight:700;white-space:nowrap}
.cdays button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.cmeal{border-top:1px solid var(--line);padding:8px 0}.cmeal:first-of-type{border-top:0}
.coachcard{border:2px solid var(--accent) !important}
.nreq{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.sharebtn{width:38px;height:38px;min-height:0;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--accent);display:grid;place-items:center;padding:0;flex-shrink:0}
.combo{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 0 14px;margin-bottom:10px}
.combo.ok{opacity:.6}
.combohead{display:flex;gap:14px;align-items:center;padding:0 16px 10px}
.comboscroll{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 16px 4px;-webkit-overflow-scrolling:touch}
.combocard{flex:0 0 82%;max-width:340px;scroll-snap-align:start;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--bg)}
.combocard .exthumb{width:100%;height:150px;margin-top:8px}
.ccname{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}
.ccname b{font-family:var(--display);font-size:1.02rem}
.cletter{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;flex-shrink:0}
.felink{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:-4px 0 10px;background:transparent;border:1.5px dashed var(--line);border-radius:12px;color:var(--muted);font:inherit;font-size:.9rem;font-weight:700;min-height:40px;padding:6px}
.felink[aria-pressed="true"]{border-style:solid;border-color:var(--accent);color:var(--accent);background:var(--fill-soft)}
.feex.linked{border-color:var(--accent)}
.wnrel{border-top:1px solid var(--line);padding:12px 0}.wnrel:first-child{border-top:0;padding-top:4px}
.wnhead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
.wnrel ul{list-style:none;margin:0;padding:0}.wnrel li{display:flex;gap:8px;align-items:flex-start;margin:6px 0;font-size:.95rem;line-height:1.4}
.wntag{flex-shrink:0;font-size:.72rem;font-weight:700;border-radius:999px;padding:2px 8px;margin-top:1px}
.wntag.new{background:var(--fill-soft);color:var(--accent)}
.wntag.fix{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}
.wntag.imp{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
#updBar{position:fixed;left:50%;transform:translateX(-50%);top:calc(10px + env(safe-area-inset-top,0px));z-index:35;display:flex;align-items:center;gap:12px;background:var(--ink);color:var(--bg);padding:8px 8px 8px 16px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25);font-weight:700;font-size:.92rem;white-space:nowrap}
#updBar button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:8px 14px;min-height:0;font-weight:700}
#instBar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:13;width:min(560px,calc(100vw - 20px));display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:10px 8px 10px 12px;box-shadow:0 12px 32px rgba(0,0,0,.22)}
.ihsteps{list-style:none;margin:12px 0 16px;padding:0}
.ihsteps li{display:flex;gap:12px;align-items:flex-start;margin:12px 0;line-height:1.45}
.ihn{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;flex-shrink:0}
.obopts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.obopts button{border:1.5px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:14px;padding:10px;min-height:46px;font:inherit;font-weight:600;font-size:.92rem}
.obopts button[aria-pressed="true"]{border-color:var(--accent);background:var(--fill-soft)}
.obopts #obGoogle{grid-column:1/-1}
.trendic{display:inline-flex}
.trendic .ic{stroke-width:2.4}
.exanim{position:relative;width:96px;height:96px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fff;padding:0;flex-shrink:0;min-height:0}
.exanim img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.exanim img:nth-child(2){animation:exflip 2.4s steps(1) infinite}
@keyframes exflip{0%{opacity:0}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.exanim img:nth-child(2){animation:none;opacity:0}}
.combocard .exanim{width:100%;height:150px;margin-top:8px}
.exipair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.exipair figure{margin:0;text-align:center}.exipair img{width:100%;border-radius:12px;border:1px solid var(--line);background:#fff}
.exipair figcaption{font-size:.85rem;color:var(--muted);margin-top:4px}
.bdanger{color:var(--bad) !important;border-color:var(--bad) !important}
.bdangerfill{background:var(--bad) !important;color:#fff !important}
.bhero{background:linear-gradient(135deg,#3E6A86,#2B4D63) !important;border-color:transparent !important;color:#fff}
#cardBets{background:linear-gradient(135deg,#3E6A86,#2B4D63) !important;border-color:transparent !important;color:#fff;cursor:pointer}
.bchip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700}
.bchip.sky{background:var(--sky-soft,var(--fill-soft));color:var(--sky-text,var(--accent))}.bchip.moss{background:var(--moss-soft,var(--fill-soft));color:var(--moss-text,var(--ok))}.bchip.sun{background:var(--sun-soft,var(--warn-soft));color:var(--sun-text,var(--warn))}.bchip.gray{background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.bmod{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-top:10px}.bmod.on{border-color:var(--accent);background:var(--fill-soft)}
.brule{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:.94rem}.brule:first-of-type{border-top:0}
.bchk{display:flex;align-items:center;gap:10px;padding:8px 0;cursor:pointer}.bchk input{width:22px;height:22px;accent-color:#3E6A86}
.bsteps{display:flex;gap:6px;margin-bottom:14px}.bsteps i{flex:1;height:5px;border-radius:3px;background:var(--line)}.bsteps i.on{background:var(--accent)}
.bsl{margin:10px 0 4px}.bslh{display:flex;justify-content:space-between;font-weight:600}.bslh b{font-family:var(--display);color:var(--accent)}
.bsum.bad{background:var(--sun-soft,var(--warn-soft)) !important;color:var(--sun-text,var(--warn)) !important}
.bsrc{border:1px solid var(--line);border-radius:14px;padding:4px 12px;margin-top:4px}
.bsum{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px;background:var(--moss-soft,var(--fill-soft));color:var(--moss-text,var(--ok));font-weight:700;margin-top:10px}
.bcardbtn{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.brank li{display:flex;align-items:center;gap:12px}.bpos{width:28px;text-align:center;font-family:var(--display);font-weight:700}
.bme{background:var(--fill-soft);border-radius:12px;padding-left:6px !important;padding-right:6px !important}
.bpart{cursor:pointer;border-radius:12px;transition:background .15s}.bpart:active{background:var(--fill-soft)}
.bchev{color:var(--muted);font-size:1.4rem;line-height:1;margin-left:-4px}
.bpday{border-top:1px solid var(--line);padding:12px 0}.bpday:first-child{border-top:0;padding-top:4px}
.bpdh{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bpln{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;font-size:.92rem}
.bpln .ilabel{gap:6px}
#bdBody .bregbtn{width:auto;min-height:36px;height:36px;padding:0 12px;font-size:.88rem;white-space:nowrap}
.bregpts{display:flex;align-items:center;gap:8px;flex-shrink:0;white-space:nowrap}
#bdBody .bregpts .bregbtn{min-width:0}
.bregact{display:flex;gap:8px;margin-top:10px}#bdBody .bregact .bregbtn{flex:1 1 0;padding:0 6px}
#atvBets.bdet>.seg button{flex:1 1 auto;white-space:nowrap}
.bbk{display:grid;grid-template-columns:1fr auto;gap:4px 12px}
.bchart{display:flex;align-items:flex-end;gap:4px;height:120px;margin-top:10px}.bchart div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.bchart i{width:100%;max-width:20px;border-radius:6px 6px 3px 3px;background:var(--accent)}.bchart i.best{background:var(--sky,#8CC8E8)}.bchart span{font-size:.66rem;color:var(--muted)}
.blink{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.banner{background:var(--fill-soft);border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:.95rem}
@media (max-width:380px){.row3{grid-template-columns:1fr 1fr}.row3 .full{grid-column:1/-1}.bigdose b{font-size:2.8rem}}
@media (prefers-reduced-motion:no-preference){.fillbar{transition:width .35s ease}.stopper{transition:transform .35s ease}}

/* ===== Identidade "Serra e ardósia" ===== */
.wordmark{font-family:var(--display) !important;font-weight:600 !important;letter-spacing:-.035em !important;color:var(--ink)}
.wordmark span{color:#3E6A86 !important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wordmark span{color:#8CC8E8 !important}}
:root[data-theme="dark"] .wordmark span{color:#8CC8E8 !important}
.btn{border-radius:999px !important;min-height:52px}
.btn.ghost{border-width:1.5px !important}
.btn:hover:not(:disabled){filter:none}
.btn:not(.ghost):active{background:#2B4D63}
.startbtn{background:var(--sky) !important;color:#1E2630 !important;border-color:var(--sky) !important}
.startbox{background:var(--sky-soft) !important}.startbox p{color:var(--sky-text) !important}
input,select,textarea{border:1.5px solid var(--border-strong) !important;border-radius:14px !important;background:var(--surface) !important}
input:focus,select:focus,textarea:focus{border:2px solid var(--accent) !important;box-shadow:0 0 0 4px var(--fill-soft) !important;outline:none !important}
.seg{background:var(--bg) !important}
.seg button[aria-pressed="true"]{box-shadow:0 1px 3px rgba(30,38,48,.12)}
nav.bar{border-top:1px solid var(--line)}
nav.bar button[aria-current="page"]{font-weight:600}
.excheck[aria-pressed="true"]{background:var(--accent) !important;border-color:var(--accent) !important}
.adval small,.muted,.small.muted{color:var(--muted)}
.cletter{background:var(--sky) !important;color:#1E2630 !important}
.probadge,.badge{background:var(--sky-soft) !important;color:var(--sky-text) !important}
#bellBadge,.hbadge{background:#3E6A86 !important}
.chip.ok{color:var(--accent)}
.trbar{background:#1E2630 !important}.trbar .small{color:var(--sky) !important}

/* ---- cores de apoio: Pôr do sol (energia/calorias) e Musgo (saúde/conquista) ---- */
.strip{background:rgba(255,255,255,.18) !important;border-color:transparent !important;color:#fff;background-image:linear-gradient(135deg,#3E6A86,#2B4D63) !important}
.strip div{background:transparent !important}
.strip{box-shadow:inset 0 0 0 0 transparent}
.strip > div + div{box-shadow:-1px 0 0 rgba(255,255,255,.22)}
.strip b{color:#fff !important}.strip span{color:#DCE6EE !important}.strip > div + div{border-color:rgba(255,255,255,.22) !important}
#cardTreinos{background:linear-gradient(135deg,#3E6A86,#2B4D63) !important;border-color:transparent !important;color:#fff}
#cardTreinos h3,#cardTreinos .hero-num{color:#fff !important}#cardTreinos .muted{color:#DCE6EE !important}
#cardTreinos .wkbars i{background:#8CC8E8 !important}#cardTreinos .wkbars span{color:#DCE6EE !important}#cardTreinos .wkbars span.today{color:#fff !important}#cardTreinos .wkbars span.sun{color:#F2A47E !important}
.sess .k{color:var(--sun-text) !important}
.pactions button[aria-pressed="true"]{color:var(--sun) !important}
.wntag.fix{background:var(--moss-soft) !important;color:var(--moss-text) !important}
.chip.ok{color:var(--moss-text) !important}
.wkbars span.sun{color:var(--sun-text)}


/* página inicial (marketing) */
#landing{display:none}
body.out.lp #landing{display:block}
body.out.lp #login{display:none !important}
body.out.lpwait #login{visibility:hidden}
.lpback{display:inline-block;margin:0 0 14px;font-weight:700;text-decoration:none;color:var(--accent)}

/* MyBets 2.25: criação simples e pontos explicados */
.bfs{border:0;padding:0;margin:16px 0 0;min-width:0}.bfs legend{font-weight:700;margin-bottom:8px;padding:0;color:var(--ink)}
.bgrid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bgrid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bpick{min-height:46px;border-radius:12px;border:1.5px solid var(--border-strong,var(--line));background:var(--surface);color:var(--ink);font-weight:700;padding:6px}
.bpick[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.bpick.tall{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px}.bpick.tall span{font-size:.75rem;font-weight:500;opacity:.85}
.bseg2{display:flex;padding:3px;gap:3px;border-radius:12px;background:var(--bg)}
.bseg2 button{flex:1;min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:700}
.bseg2 button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(30,38,48,.14)}
.bmrow{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.bmrow:last-child{border-bottom:0}
.bmrow>span:first-child{flex:1;display:flex;flex-direction:column;min-width:0}.bmrow label{color:var(--ink);font-weight:700;margin:0;font-size:.95rem}
.bmrow input{width:88px;flex:none;text-align:center;font-weight:700}
.bwmrow{display:flex;align-items:center;gap:6px}.bwmrow .bchk{flex:1}
.bwsw{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding:8px 12px;border-radius:12px;background:var(--bg)}.bwsw .linkbtn{padding:0;min-height:36px}
.bwfoot{position:sticky;bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:2;margin-top:16px;padding:14px 0 4px;background:linear-gradient(transparent,var(--bg) 22%)}
.bprev{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);margin:16px 0 0;font-size:.88rem}
.bprev>span:first-child{width:38px;height:38px;border-radius:19px;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:.78rem;flex-shrink:0}
.bconta{font-variant-numeric:tabular-nums;font-size:.88rem;padding:9px 12px;border-radius:10px;background:var(--bg);margin-top:12px;line-height:1.5}
.bfaq details{border-top:1px solid var(--line)}
.bfaq summary{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;cursor:pointer;list-style:none}
.bfaq summary::-webkit-details-marker{display:none}.bfaq summary::after{content:"+";font-size:1.25rem;color:var(--muted)}.bfaq details[open] summary::after{content:"–"}
.bfaq p{margin:0 0 12px;font-size:.92rem;color:var(--muted)}
.bfalta{display:flex;gap:8px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;font-size:.95rem;font-weight:600}
.bhelp{width:42px;height:42px;min-height:42px;border-radius:21px;border:0;background:rgba(255,255,255,.16);color:#fff;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}
.bex{font-variant-numeric:tabular-nums;font-size:.92rem;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:var(--bg);margin-top:8px}
@media (min-width:1024px){.bwfoot{bottom:0}#bdBody.bt-fator>:nth-child(4){grid-column:1/-1}}
/* ---------- versão para computador ---------- */
.sbtop,.sbfoot,.dtl{display:none}
@media (min-width:1024px){
  body:not(.out){padding-left:256px}
  body:not(.out) nav.bar{display:flex}
  nav.bar{top:0;bottom:0;right:auto;width:256px;border-top:0;border-right:1px solid var(--line);flex-direction:column;padding:22px 16px 18px;box-sizing:border-box;overflow-y:auto;z-index:6}
  nav.bar .in{display:flex;flex-direction:column;gap:4px;max-width:none;margin:0;grid-template-columns:none}
  nav.bar button{flex-direction:row;justify-content:flex-start;gap:12px;font-size:1rem;font-weight:600;color:var(--ink);padding:0 14px;min-height:46px;border-radius:12px}
  nav.bar button svg{width:21px;height:21px;flex-shrink:0}
  nav.bar button[aria-current="page"]{background:var(--accent);color:var(--accent-ink,#fff);font-weight:800}
  nav.bar button:not([aria-current="page"]):hover{background:var(--bg)}
  .sbtop{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}
  .sbrand{display:flex;align-items:center;gap:10px;text-decoration:none;margin:0 6px 4px}
  .sbrand .wordmark{font-family:var(--display);font-size:1.45rem;font-weight:700}
  .sbnewwrap{position:relative}
  .sbnew{width:100%;display:flex !important;align-items:center;justify-content:center !important;gap:8px;min-height:46px;border:0;border-radius:999px !important;background:var(--ink) !important;color:var(--surface) !important;font-weight:800 !important;font-size:.95rem !important}
  .sbmenu{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(20,30,40,.18);padding:6px;z-index:8;display:flex;flex-direction:column;gap:2px}
  .sbmenu[hidden]{display:none}
  .sbmenu button{min-height:44px !important}
  .sbfoot{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
  .sblink{border:1.5px solid var(--line) !important;white-space:nowrap;font-size:.92rem !important}
  .sblink[hidden]{display:none !important}

  /* moldura de sistema: cabeçalho fixo e área de conteúdo */
  .wrap{max-width:1400px;padding:0 36px 56px}
  header.top{position:sticky;top:0;z-index:5;margin:0 -36px 26px;padding:18px 36px 16px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  header.top .hbrand{display:none !important}
  .dtl{display:flex;flex-direction:column;gap:2px}
  .dtl b{font-family:var(--display);font-size:1.75rem;line-height:1.1}
  .dtl span{color:var(--muted);font-size:.92rem}
  .tab>h2:first-child{display:none}
  .wrap .block{margin:0 0 16px;border-radius:18px;padding:20px 22px}
  .wrap .lead{max-width:760px}
  /* botões soltos não esticam mais */
  .wrap .block>.btn,.wrap .tab>.btn,.wrap .startbox>.btn,#aAdd{width:auto;min-width:220px;padding-left:28px;padding-right:28px}
  #aAdd{display:block;margin-left:auto}
  /* gráficos com altura controlada */
  .wrap .block svg:not(.ic){max-height:320px}
  #tab-dose .block svg:not(.ic){max-height:220px}
  .bchart{max-width:100%}

  /* Início: grade estável */
  #homeCards{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:stretch}
  #homeCards>[data-card]{grid-column:span 6;margin:0 !important;min-width:0}
  #homeCards>[data-card="resumo"]{grid-column:1/-1}
  #homeCards>[data-card].hwide{grid-column:1/-1}
  #homeCards>[data-card][hidden]{display:none}
  #homeCards+p.small{display:none}
  #homeCards .strip{margin:0}
  #homeCards .strip b{font-size:1.6rem}

  /* Nutrição */
  #tab-alim.on{display:grid !important}
  #tab-alim{grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);column-gap:24px;align-items:start}
  #tab-alim>*{grid-column:1}
  #tab-alim>.daynav{grid-column:2;grid-row:1}
  #tab-alim>#waCard{grid-column:2;grid-row:2;margin-top:6px}
  #tab-alim>#macroSum{grid-column:2;grid-row:3;position:sticky;top:110px;margin-top:6px}
  #tab-alim>#mealCards{grid-row:1/span 4}
  #tab-alim>p.small{grid-column:1/-1}

  /* Fitness */
  #tab-ativ .ftabs{max-width:560px;margin-bottom:20px}
  #atvReg{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);grid-template-rows:auto 1fr;gap:20px;align-items:start}
  #atvReg[hidden]{display:none}
  #atvReg>.block:first-child{grid-row:1/span 2;margin:0}
  #atvReg>#aSum{grid-column:2;grid-row:1;margin:0}
  #atvReg>.block:not(:first-child){grid-column:2;grid-row:2;margin:0}
  .fichagrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:16px}
  .fichagrid .fichacard{margin:0;height:100%}
  .fbtns{display:flex !important;flex-direction:column;align-items:stretch;gap:10px !important;max-width:360px;margin:6px auto 0 !important}   /* 2.75.3: um embaixo do outro, centralizados */
  .fbtns .btn{width:100%}
  .fexlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
  .fexlist>*{margin:0 !important}
  .startbox{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
  .startbox p{margin:0}
  /* MyBets */
  #atvBets.blist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
  #atvBets.blist>*{margin:0 !important;min-width:0}
  #atvBets.blist>.bhero,#atvBets.blist>#bNew,#atvBets.blist>p,#atvBets.blist>.empty{grid-column:1/-1}
  #atvBets.blist>#bNew{justify-self:start;width:auto;min-width:220px;padding:0 28px}
  #bdBody.bt-fator{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;align-items:start}
  #bdBody.bt-fator>*{margin:0 !important;min-width:0}
  #bdBody.bt-fator>:nth-child(1){grid-column:1;grid-row:1}
  #bdBody.bt-fator>:nth-child(2){grid-column:2;grid-row:1/span 2}
  #bdBody.bt-fator>:nth-child(3){grid-column:1;grid-row:2}
  #bdBody.bt-rank,#bdBody.bt-regras,#bdBody.bt-pessoas,#bdBody.bt-regs{max-width:860px}
  #bdBody .bregact .bregbtn{flex:0 1 150px}
  #atvBets.bdet .ctabs,#atvBets.bdet .bsegs{max-width:860px}

  /* Saúde */
  #tab-saude .hubgrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) !important;gap:16px}
  #tab-saude .hubgrid>*{grid-column:auto !important}
  /* telas com vários cartões: duas colunas que se equilibram */
  #tab-dose.on,#tab-peso.on,#tab-perfil.on{display:block;columns:2;column-gap:22px}
  #tab-dose>*,#tab-peso>*,#tab-perfil>*{break-inside:avoid}
  #tab-dose>.backbtn,#tab-dose>h2,#tab-dose>p,#tab-peso>.backbtn,#tab-peso>h2,#tab-peso>.lead,#tab-perfil>h2,#tab-perfil>p{column-span:all}
  #tab-dose>.block,#tab-peso>.block,#tab-perfil>.block,#tab-peso>.metrics{display:inline-block;width:100%;box-sizing:border-box}
  #tab-dose>#ampolaBox,#tab-dose>#canetaBox{display:block}
  #tab-peso .list{max-height:560px;overflow-y:auto}
  #tab-dose>#canetaBox[hidden],#tab-perfil>.block[hidden]{display:none}
  /* formulários simples não esticam */
  #tab-dados>*,#tab-metas>*,#tab-prot>*,#tab-exerc>*{max-width:900px}

  /* Feed e folhas */
  #tab-feed{max-width:760px;margin:0 auto}
  .sheet .sheetbody{max-width:880px;width:100%;margin:0 auto;box-sizing:border-box}
  #coachSheet .sheetbody{max-width:none}
  #admSheet .cmain{padding:28px 36px 56px}
}
/* ---- 2.49.0: padrão desktop (≥1024 px). Nada aqui muda o celular. ---- */
/* 2.113.0: quadro de fichas do personal (rascunho). Celular: uma ficha por vez em abas */
.kbhead{gap:10px}
.kbtit{flex:1;min-width:0;display:flex;flex-direction:column}
.kbtit b{font-family:var(--display);font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#kbStatus{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#kbStatus.bad{color:var(--warn,#B85A1E)}
.kbhead .btn{width:auto;min-height:40px;padding:0 14px;flex:none}
#kbDiscard.arm{color:var(--bad);border-color:var(--bad)}
#kbDiscard{display:inline-flex;align-items:center;gap:6px}#kbDiscard[hidden]{display:none}.kbdtxt{display:none}#kbDiscard.arm .kbdtxt{display:inline}#kbDiscard.arm .kbdic{display:none}
.kbwrap{flex:1;min-height:0;display:flex}
.kblib{display:none}
.kbmain{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}
.kbtabs{display:flex;gap:8px;padding:10px 16px;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--surface);flex:none}
.kbtabs button{flex:none;min-width:48px;height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-weight:800;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.kbtabs small{font-weight:700;font-size:.72rem;color:var(--muted)}
.kbtabs button[aria-selected="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}.kbtabs button[aria-selected="true"] small{color:#fff}
.kbcols{flex:1;overflow-y:auto;padding:14px 16px 24px}
.kbhb{display:none}
.kbfoot{flex:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface)}
.kbfoot .btn{width:100%;min-width:0;padding:0 8px;font-size:.95rem}
.kbcol{display:none}.kbcol.on{display:block}
.kbnewcol{display:none}
.kbvazio{text-align:center}
.kbch{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.kbname{flex:1;min-width:0}
.kbnew{flex:none;font-size:.7rem;font-weight:800;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 8px;border-radius:999px}
.kbdelcol{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:10px;min-width:40px;height:40px;padding:0;display:grid;place-items:center;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700}
.kbdelcol.arm{color:var(--bad);border-color:var(--bad);padding:0 10px}
.kbcards{display:flex;flex-direction:column;gap:8px;min-height:60px}
.kbcard{flex:none;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 6px 8px 12px}
.kbcard.linked{border-left:4px solid var(--accent)}
.kbcard.open{padding:10px 10px 12px 12px;box-shadow:0 6px 18px -10px rgba(30,38,48,.35)}
.kbcard.dragging{opacity:.4}
.kbtop{display:flex;align-items:flex-start;gap:4px}
.kbcmain{flex:1;min-width:0;border:0;background:none;padding:4px 0;text-align:left;font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:2px;min-height:0}
.kbn{font-weight:700;overflow-wrap:anywhere}.kbm{font-size:.85rem;color:var(--muted)}
.kbx{flex:none;border:0;background:none;color:var(--muted);width:36px;height:36px;border-radius:10px;cursor:pointer;padding:0;min-height:0;font-size:1rem}
.kbx:hover{background:var(--bg);color:var(--bad)}
.kbcombo{display:inline-flex;align-items:center;gap:4px;margin-top:2px;color:var(--accent);font-weight:700;font-size:.78rem}
.kbform{margin-top:8px;border-top:1px solid var(--line);padding-top:10px}
.kbform .field{margin-bottom:8px}
.kbgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.kbgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kbacts,.kbcopy{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.kbab{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;padding:0 10px;min-height:36px;font:inherit;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.kbab[aria-pressed="true"]{color:var(--accent);border-color:var(--accent)}.kbab:disabled{opacity:.4;cursor:default}
.kbempty{border:2px dashed var(--line);border-radius:14px;padding:16px;text-align:center;margin:0}
.kbcf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.kbcf .btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-width:0;padding:0 8px}
/* 2.130.0: equivalentes do exercício (personal no quadro; aluno no treino) */
.kbalt{display:grid;gap:6px;margin:2px 0 8px;padding:10px;border-radius:12px;background:var(--sky-soft);min-width:0}
.kbaltl{font-size:.8rem;font-weight:700;color:var(--ink)}
.kbaltc{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.kbaltx,.kbalts{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 10px;font:inherit;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;max-width:100%;text-align:left}
.kbaltx{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.kbalts{border-style:dashed;color:var(--accent);font-weight:600}
.kbaltq{width:100%;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:.85rem}
.kbaltres{display:grid;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.kbaltres button{border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:inherit;font-size:.85rem;text-align:left;padding:8px 10px;cursor:pointer;display:grid}
.kbaltres button:first-child{border-top:0}.kbaltres small{color:var(--muted);font-size:.74rem}
.kballtodos{grid-column:1/-1;font-size:.85rem;justify-self:center;padding:4px 0}
.excard{flex-wrap:wrap}.exaltrow{flex:1 0 100%;min-width:0}.exaltrow .exalt{margin-top:0}
.exalt{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--sky-soft);font-size:.86rem}
.exalt>b{display:block;font-size:.8rem;margin-bottom:2px}
.exalt .exaltit{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:0 10px;padding:7px 0;border-top:1px solid var(--line);min-width:0}
.exalt .exaltit .exlth{grid-row:span 2;width:48px;height:48px;border-radius:9px}
.exalt .exaltit:first-of-type{border-top:0}
.exalt .exaltit>span:not(.exlth){min-width:0;align-self:end;line-height:1.3}
.exalt .exaltit>.linkbtn{justify-self:start;align-self:start}
.exalt .exaltit .linkbtn,.exswap .linkbtn,.exbusca{padding:2px 0;font-size:.82rem;font-weight:700;white-space:nowrap}
.exswap{display:block;margin-top:4px;font-size:.82rem;color:var(--ok);font-weight:600}
.exbusca{display:inline-flex;align-items:center;gap:4px;margin-top:6px;text-decoration:none}
.eqvloc{margin-bottom:10px}
.eqvres{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.eqvres:first-of-type{border-top:0}
.eqvres .exlth{flex:none}
.eqvres>div{flex:1;min-width:0}
.eqvres .eqvwhy{display:block;font-size:.8rem;color:var(--muted)}
.eqvacts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.eqvacts .kbab{min-height:32px;font-size:.8rem}
.ctroca{display:block;color:var(--ok);font-weight:600;margin-top:2px}
.kbph{height:4px;border-radius:2px;background:var(--accent);flex:none}
.kbpub{position:absolute;inset:0;z-index:5;background:rgba(14,22,30,.5);display:flex;align-items:flex-end;justify-content:center}
.kbpub[hidden]{display:none}
.kbpubc{background:var(--bg);width:100%;max-height:92%;overflow-y:auto;border-radius:22px 22px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));box-sizing:border-box}
.kbsum{list-style:none;margin:8px 0 14px;padding:0}.kbsum li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.kbsum li>span:last-child{flex:none;font-weight:700;color:var(--accent)}.kbsum li.del>span:last-child{color:var(--bad)}
.kbpubb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.kbpubb .btn{width:100%;min-width:0}
.kbban{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.kbban>div{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}.kbbic{color:var(--accent);display:flex}
.kbban .btn{width:auto}

@media (min-width:1024px){
  /* agenda da Área de Trabalho */
  .agdesk{padding:0 !important;overflow:hidden}
  .agdbar{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}
  .agdbar h2{margin:0 0 0 6px;font-size:1.25rem;font-family:var(--display)}
  .agdbar .btn.agdtoday{min-width:0;min-height:40px;padding:0 18px}
  .agdbar #agNewD{min-height:44px}
  .agdbar .seg.pills button{min-height:40px;padding:0 18px}
  .agdhead{display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2}
  .agdh{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;border:0;background:none;color:var(--ink);font:inherit;cursor:pointer;min-height:0}
  .agdh span{font-size:.78rem;color:var(--muted);text-transform:capitalize}.agdh b{font-size:1.35rem;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}
  .agdh.today b{background:var(--accent);color:var(--accent-ink,#fff)}
  .agdbody{display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr));max-height:calc(100vh - 290px);overflow-y:auto}
  .agdgut span{display:block;box-sizing:border-box;padding:0 8px 0 0;text-align:right;font-size:.75rem;color:var(--muted);transform:translateY(-.55em)}
  .agdgut span:first-child{visibility:hidden}
  .agdcol{position:relative;border-left:1px solid var(--line)}
  .agdcol.today{background:color-mix(in srgb,var(--accent) 5%,transparent)}
  .agslot{position:absolute;left:0;right:0;border:0;border-top:1px solid var(--line);background:none;padding:0;min-height:0;cursor:pointer;border-radius:0}
  .agslot:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
  .agdev{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;overflow:hidden;text-align:left;border:0;border-left:4px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--ink);font:inherit;padding:4px 8px;cursor:pointer;min-height:0;box-shadow:0 1px 2px rgba(0,0,0,.08)}
  .agdev b{font-size:.86rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .agdev span{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .agdev.av{border-left-color:#7C6FD6;background:color-mix(in srgb,#7C6FD6 14%,var(--surface))}
  .agdev:hover{filter:brightness(.97);box-shadow:0 4px 12px rgba(0,0,0,.12)}
  .agnow{position:absolute;left:-1px;right:0;height:2px;background:var(--bad);z-index:2;pointer-events:none}
  .agnow::before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:5px;background:var(--bad)}
  .agdmh{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line)}
  .agdmh span{padding:10px 12px;font-size:.8rem;color:var(--muted);font-weight:700}
  .agdmg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
  .agdcell{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 6px 8px;display:flex;flex-direction:column;gap:3px;min-width:0}
  .agdcell:nth-child(7n){border-right:0}
  .agdcell.out{background:color-mix(in srgb,var(--bg) 60%,transparent)}.agdcell.out .agdnum{color:var(--muted)}
  .agdnum{align-self:flex-start;border:0;background:none;font:inherit;font-weight:700;color:var(--ink);width:30px;height:30px;border-radius:15px;padding:0;min-height:0;cursor:pointer}
  .agdcell.today .agdnum{background:var(--accent);color:var(--accent-ink,#fff)}
  .agdchip{display:block;width:100%;text-align:left;border:0;border-radius:6px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--ink);font:inherit;font-size:.8rem;padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:0;cursor:pointer}
  .agdchip.av{background:color-mix(in srgb,#7C6FD6 14%,var(--surface))}
  .agdmore{border:0;background:none;color:var(--accent);font:inherit;font-size:.8rem;font-weight:700;text-align:left;padding:2px 6px;min-height:0;cursor:pointer}
  .agdadd{position:absolute;right:6px;top:6px;width:28px;height:28px;border-radius:14px;border:0;background:var(--accent);color:var(--accent-ink,#fff);font-size:1.1rem;line-height:1;padding:0;min-height:0;cursor:pointer;opacity:0;transition:opacity .15s}
  .agdcell:hover .agdadd,.agdadd:focus-visible{opacity:1}


  /* 2.113.0: quadro de fichas no computador: biblioteca à esquerda e uma coluna por ficha */
  .kbdtxt{display:inline}.kbdic{display:none}
  .kbhb{display:flex;gap:10px}.kbfoot{display:none}
  .kblib{display:flex;flex-direction:column;gap:8px;width:300px;flex:none;border-right:1px solid var(--line);background:var(--surface);min-height:0;padding:14px}
  .kblibtabs{margin:0}
  .kbliblist{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin:0 -6px;padding:0 6px}
  .kbit{flex:none;display:flex;align-items:center;gap:10px;border:1px solid transparent;background:none;border-radius:12px;padding:6px;text-align:left;font:inherit;color:var(--ink);cursor:grab;min-height:0;width:100%}
  .kbit:hover{background:var(--bg);border-color:var(--line)}.kbit>svg{color:var(--muted);flex:none}
  .kbit>span:not(.exlth){flex:1;min-width:0;display:flex;flex-direction:column}.kbit b{font-size:.9rem;font-weight:600}.kbit small{color:var(--muted);font-size:.75rem}
  .kbit .exlth{width:44px;height:44px}
  .kbmore{margin-top:6px}
  .kbtabs{display:none}
  .kbcols{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;align-items:flex-start;padding:16px 20px}
  .kbcol,.kbcol.on{display:flex;flex-direction:column;width:310px;flex:none;max-height:100%;box-sizing:border-box;background:color-mix(in srgb,var(--ink) 3%,var(--bg));border:1px solid var(--line);border-radius:18px;padding:12px}
  .kbcol.on{border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}
  .kbcol.over{outline:2px dashed var(--accent);outline-offset:2px}
  .kbcards{flex:1;min-height:80px;overflow-y:auto;margin:0 -4px;padding:2px 4px}
  .kbcard[draggable="true"]{cursor:grab}
  .kblibm{display:none!important}
  .kbcf{grid-template-columns:1fr}
  .kbnewcol{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:200px;flex:none;height:120px;border:2px dashed var(--line);border-radius:18px;background:none;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}
  .kbnewcol:hover{color:var(--accent);border-color:var(--accent)}
  .kbvazio{margin:40px auto;max-width:420px}
  .kbpub{align-items:center}
  .kbpubc{max-width:520px;border-radius:22px;padding:24px}

  /* folhas viram janelas centralizadas sobre o app escurecido (clique fora ou Esc fecha) */
  .sheet{--sw:720px}
  .sheet:has(>.sheethead+.sheetbody):not(#routeBox){background:rgba(14,22,30,.52);padding:5vh max(32px,calc((100vw - var(--sw))/2));justify-content:center;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
  .sheet:has(>.sheethead+.sheetbody):not(#routeBox)>.sheethead{flex:none;border-radius:22px 22px 0 0;padding:16px 22px;border-bottom:1px solid var(--line)}
  .sheet:has(>.sheethead+.sheetbody):not(#routeBox)>.sheetbody{flex:0 1 auto;min-height:0;max-width:none;margin:0;width:100%;background:var(--bg);border-radius:0 0 22px 22px;padding:20px 22px 24px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45)}
  .sheet:has(>.sheethead+.sheetbody):not(#routeBox)>.sheethead>.iconbtn[aria-label="Fechar"]{order:9;margin-left:auto}
  #sdSheet,#agSheet,#noteSheet,#goalSheet,#cpSheet,#likeSheet,#memSheet,#peopleSheet{--sw:600px}
  #clSheet,#sxSheet,#planSheet,#avSheet,#afSheet,#ficheSheet,#genSheet,#bodySheet,#wiSheet{--sw:1000px}
  .sheet .sheetbody>.block:last-child{margin-bottom:0}

  /* botões com largura natural, como em sistemas de computador */
  .wrap .btn,.sheet .btn,.cwrap .btn{width:auto;min-width:150px;padding-left:24px;padding-right:24px}
  .chdr .btn{min-width:0}
  .row:not(:has(>.field)):has(>.btn){display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}
  .row>.btn{flex:0 0 auto}
  .row>.btn{justify-self:start}
  /* campos de formulário com largura de leitura, não de tela */
  .wrap .block .field,.cmain .block .field{max-width:600px}
  .wrap .block .row,.cmain .block .row{max-width:760px}
  .wrap .block .row .field,.cmain .block .row .field{max-width:none}
  #vtMap,.ppchk .field,.ppchk .row{max-width:570px !important}
  .ppchk .row{grid-template-columns:auto minmax(0,1fr) !important}
  .ppchk .row .field{max-width:none !important}
  .field:has(>#vtBio){max-width:570px;margin-left:30px}
  #vtSave{margin-left:30px}
  /* campos pequenos para valores pequenos: números, listas de escolha e seletores */
  .wrap .block .row,.cmain .block .row{grid-template-columns:repeat(2,minmax(0,280px));max-width:none}
  .wrap .block .field:has(input[inputmode="decimal"],input[inputmode="numeric"],input[type="number"],input[type="date"],input[type="time"]),
  .cmain .block .field:has(input[inputmode="decimal"],input[inputmode="numeric"],input[type="number"],input[type="date"],input[type="time"]){max-width:280px}
  .wrap .block select,.cmain .block select{max-width:420px}
  #vialRow{grid-template-columns:repeat(2,150px)}
  #vialRow .field,.field:has(>.unit>#mg){max-width:150px}
  .hjlist{display:block !important}.hjlist .hjrow:nth-child(2){border-top:1px solid var(--line) !important}
  .wrap .block .seg:not(.pills):not(.ftabs),.cmain .block .seg:not(.pills):not(.ftabs){max-width:360px}
  /* Área de Trabalho: conteúdo centralizado em telas largas */
  .cmain>*{width:100%;max-width:1320px;margin-left:auto !important;margin-right:auto !important;box-sizing:border-box}
  #atvReg .seg{max-width:none}
  .wrap label.btn{display:inline-grid !important}
  #tab-dados>*,#tab-metas>*,#tab-prot>*,#tab-exerc>*{margin-left:auto;margin-right:auto}
  #tab-dados>.backbtn,#tab-metas>.backbtn,#tab-prot>.backbtn,#tab-exerc>.backbtn{display:block;width:100%;text-align:left}
  .cmain .cgrid4 b,.cmain .kpi b{overflow-wrap:anywhere}
  .seg:not(.ftabs){max-width:480px}
  .seg.pills{max-width:360px}

  /* Fitness › Personal: cartões lado a lado */
  #atvPersonal:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
  #atvPersonal>.block{margin:0}
  #atvPersonal .agnextb{max-width:520px}

  /* Meu calendário: mês à esquerda, detalhes do dia à direita */
  #clBody{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:18px;align-items:start}
  #clBody>.clsum{grid-column:1/-1;margin:0}
  #clBody>.block{margin:0}
  #clBody>.block:last-child{position:sticky;top:0}
  .clgrid .clday{min-height:64px}

  /* busca de personal: cartões em duas colunas */
  #sxBody>.list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  #sxBody>.list>li{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;margin:0}
  #sxBody:has(#sxSend){display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:18px;align-items:start}
  #sxBody:has(#sxSend)>.backbtn{grid-column:1/-1}
  #sxBody:has(#sxSend)>.block{margin:0}

  /* Área de Trabalho */
  .cmain{padding:28px 36px 56px}
  .ptnew{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:18px;align-items:center}
  .ptnew>label,.ptnew>textarea{grid-column:1/-1}
  .ptnew>.seg{margin-top:12px !important;grid-column:1}
  .ptnew>#ptHint{grid-column:2;margin:12px 0 0 !important}
  .ptnew>#ptSave{grid-column:3;margin-top:12px}
  #vtHost:has(>.block){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
  #vtHost>.block{margin:0;grid-column:1}
  #vtHost>.block:last-child{grid-column:2;grid-row:1/span 6}
  #vtHost>.block:only-child{grid-column:1/-1}
}
@media (min-width:1024px){
  .ptnew .seg button{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px}
  .ptnew>.seg{min-width:250px}
  .agdbar h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .agdbar>*{flex-shrink:0}.agdbar>h2{flex-shrink:1}
  .agdbar #agNewD{white-space:nowrap}
}
/* 2.49.0: uma coluna central, rolando a página (sem telas divididas lado a lado) */
@media (min-width:1024px){
  .wrap .tab{max-width:900px;margin-left:auto;margin-right:auto}
  .wrap .tab>.block,.wrap .tab>section{margin:0 0 16px}
  #homeCards:not([hidden]){display:block !important}
  #homeCards>[data-card]{margin:0 0 16px !important}
  #tab-alim.on{display:block !important}
  #tab-alim>#macroSum{position:static !important}
  #tab-alim>*{margin-top:0 !important;margin-bottom:16px}
  #tab-ativ .ftabs{margin-left:auto;margin-right:auto}
  #atvReg:not([hidden]){display:block !important}
  #atvReg>*{margin:0 0 16px !important}
  .fichagrid{grid-template-columns:1fr !important}
  .fexlist:not([hidden]){display:block !important}.fexlist>*{margin:0 0 14px !important}
  #atvBets.blist:not([hidden]){display:block !important}#atvBets.blist>*{margin:0 0 16px !important}
  #bdBody.bt-fator:not([hidden]){display:block !important}#bdBody.bt-fator>*{margin:0 0 16px !important}
  #tab-dose.on,#tab-peso.on,#tab-perfil.on{columns:auto !important}
  #tab-dose>.block:not([hidden]),#tab-peso>.block:not([hidden]),#tab-perfil>.block:not([hidden]),#tab-config>.block:not([hidden]),#tab-peso>.metrics{display:block !important}
  #atvPersonal:not([hidden]){display:block !important}
  #atvPersonal>.block{margin:0 0 16px !important}
  /* janelas */
  #clBody,#sxBody,#sxBody:has(#sxSend){display:block !important}
  .cmain .block svg:not(.ic){max-height:260px}
  #clBody>*,#sxBody:has(#sxSend)>.block{margin:0 0 14px !important;position:static !important}
  #sxBody>.list{display:block !important}#sxBody>.list>li{margin:0 0 12px !important}
  #clSheet,#sxSheet{--sw:720px}
  /* Área de Trabalho: coluna central (a agenda usa a largura toda) */
  .cmain>*{max-width:1200px}
  /* 2.55.0: a visão geral (tabela de alunos) usa mais da tela larga */
  .cmain:has(.ctitle)>*{max-width:1600px}
  .ctbl td{white-space:normal}.ctbl td:first-child,.ctbl td[data-th]:not([data-th^="Último"]):not([data-th="Próxima sessão"]){white-space:nowrap}
  .ctbl td[data-th^="Último"] .small,.ctbl td[data-th="Próxima sessão"] .small{display:block;max-width:240px}
  .ctbl th{white-space:normal}
  /* 2.132.1: nome completo e próxima sessão quebram linha, para a lista de alunos caber no cartão sem rolar para o lado */
  .ctbl td.cnm,.ctbl td[data-th="Próxima sessão"],.ctbl td[data-th^="Peso"]{white-space:normal}.ctbl td[data-th="Próxima sessão"] b{white-space:normal !important}
  .ctbl td.cnm .crow{text-align:left}.ctbl td.cnm .crow>:first-child{flex-shrink:0}.ctbl td[data-th^="Peso"] .cdelta{display:block}
  .ctbl.ccards td.cgo .cgowrap{flex-direction:column}.ctbl.ccards td.cst .cchip{max-width:124px}
  .cmain:has(#agHost)>*{max-width:1320px}
  .cgrid2{grid-template-columns:1fr !important}
  #vtHost:has(>.block){display:block !important}
  #vtHost>.block{margin:0 0 16px !important}
}
@media (min-width:1280px){
  .chdr{position:relative}
  #coachSheet .chdr>.croles{position:absolute;left:50%;transform:translateX(-50%);margin:0}
}
@media (min-width:1024px) and (max-width:1279px){
  .chdr{flex-wrap:nowrap}.ctl span{display:none}.ctl b{white-space:nowrap}.chdr>*{flex-shrink:0}
  #coachClose span{display:none}#coachClose{width:44px !important;min-width:0 !important;padding:0 !important;justify-content:center}
  .cwrap{grid-template-columns:240px minmax(0,1fr)}
  .ctbl th,.ctbl td{padding:10px 8px}
  .ctbl td:nth-child(2) .small{max-width:150px}
  .ctbl .cdots i,.ctbl .c7 i{width:8px;height:8px}
  .cmain{padding:22px 22px 48px}
  .agdbar{flex-wrap:wrap}.agdbar>span[style]{display:none}.agdbar>h2{flex-basis:100%;order:-1;margin:0 0 4px}
  #vtHost:has(>.block){grid-template-columns:1fr}
  #vtHost>.block:last-child{grid-column:1;grid-row:auto}
  #atvPersonal:not([hidden]){grid-template-columns:1fr}
}
/* 2.132.1: notebook de 1280 a 1439 px: a lista de alunos cabe no cartão com menos espaço entre as colunas */
@media (min-width:1280px) and (max-width:1439px){
  .ctbl th,.ctbl td{padding:10px 9px}
  .ctbl .c7{gap:3px}.ctbl .c7 i{width:9px;height:9px}
}
@media (min-width:1024px) and (max-width:1199px){
  .fexlist{grid-template-columns:1fr}
  #bdBody.bt-fator{grid-template-columns:1fr}
  #bdBody.bt-fator>*{grid-column:1 !important;grid-row:auto !important}
}

/* ---- 2.30.0: toques e animações ---- */
html{touch-action:manipulation}
:root{--heart:#D9485F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--heart:#FF8A9A}}
:root[data-theme="dark"]{--heart:#FF8A9A}
/* botão que afunda ao toque */
.btn,.rtbtn,.toastbtn,.excheck{transition:transform .12s ease,background-color .12s ease,box-shadow .12s ease}
.btn:active:not(:disabled),.rtbtn:active,.toastbtn:active{transform:translateY(1px) scale(.97)}
/* exercício concluído: caixa vira check e nome é riscado */
.excheck.pop{animation:exPop .35s cubic-bezier(.3,1.6,.5,1)}
.excheck.pop .ic path{stroke-dasharray:24;stroke-dashoffset:24;animation:exDraw .28s ease .08s forwards}
.excard.ok .exname{text-decoration:none;background:linear-gradient(currentColor,currentColor) left 58%/100% 2px no-repeat}
.excard.pop .exname{animation:exStrike .35s ease .1s backwards}
.excard.pop,.combo.pop{animation:exFade .45s ease}
@keyframes exPop{0%{transform:scale(.7)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes exDraw{to{stroke-dashoffset:0}}
@keyframes exStrike{from{background-size:0 2px}}
@keyframes exFade{from{opacity:1}}
/* caixas de marcar com check desenhado */
.wilist input,.revrow input[type=checkbox],.bfagree input,.bchk input{-webkit-appearance:none;appearance:none;margin:0;flex:none;padding:0 !important;min-height:0 !important;border:2px solid var(--border-strong) !important;border-radius:7px !important;background:var(--surface) !important;cursor:pointer;transition:background-color .2s,border-color .2s}
.wilist input:checked,.revrow input[type=checkbox]:checked,.bfagree input:checked,.bchk input:checked{border-color:var(--ok) !important;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/72% no-repeat !important;animation:exPop .3s cubic-bezier(.3,1.6,.5,1)}
.wilist input:focus,.revrow input[type=checkbox]:focus,.bfagree input:focus,.bchk input:focus{box-shadow:none !important}
.wilist input:focus-visible,.revrow input:focus-visible,.bfagree input:focus-visible,.bchk input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
/* chave com ✓ e ✕ */
.swrow i::after{background:#fff center/12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A949E' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E");box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.swrow input:checked+i::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E6B4C' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
/* curtir: coração com raios */
.pactions button[data-plike][aria-pressed="true"]{color:var(--heart)}
.lkh{position:relative;display:inline-flex}
.lkr{position:absolute;inset:-12px;pointer-events:none}
.lkr i{position:absolute;left:50%;top:50%;width:2px;height:7px;margin:-3.5px -1px;border-radius:2px;background:var(--heart);opacity:0}
.lkr i:nth-child(2){--a:60deg}.lkr i:nth-child(3){--a:120deg}.lkr i:nth-child(4){--a:180deg}.lkr i:nth-child(5){--a:240deg}.lkr i:nth-child(6){--a:300deg}
button.pop .lkh .ic{animation:exPop .45s cubic-bezier(.3,1.8,.5,1)}
button.pop .lkr i{animation:lkRay .5s ease-out}
@keyframes lkRay{0%{opacity:1;transform:rotate(var(--a,0deg)) translateY(-9px) scaleY(.4)}70%{opacity:1}100%{opacity:0;transform:rotate(var(--a,0deg)) translateY(-22px)}}
/* carregando com blocos */
.skl{background:var(--line);border-radius:8px;position:relative;overflow:hidden;display:block}
.skl::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 70%,transparent),transparent);animation:sklShim 1.3s infinite}
.sklpost{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.sklrow{display:flex;gap:10px;align-items:center}
@keyframes sklShim{to{transform:translateX(100%)}}
.fdin{animation:fdIn .3s ease}
@keyframes fdIn{from{opacity:0;transform:translateY(4px)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* segurar para confirmar */
.hold{position:relative;overflow:hidden;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.holdbar{display:none}
.hold .holdbar{display:block;position:absolute;inset:0;z-index:-1;background:currentColor;opacity:.2;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.hold.holding .holdbar{transform:scaleX(1);transition:transform var(--hold,1100ms) linear}
/* aviso de conquista */
.celtoast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 12px);width:min(420px,calc(100vw - 24px));transform:translate(-50%,calc(-100% - 24px));z-index:61;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 32px rgba(15,23,32,.22);padding:12px;display:flex;align-items:center;gap:12px;pointer-events:none;visibility:hidden;transition:transform .45s cubic-bezier(.2,1.2,.4,1),visibility 0s .45s}   /* escondido de verdade: a sombra aparecia no topo da tela */
.celtoast.on{transform:translate(-50%,0);pointer-events:auto;visibility:visible;transition:transform .45s cubic-bezier(.2,1.2,.4,1),visibility 0s}
.celmedal{width:44px;height:44px;border-radius:14px;flex:none;display:grid;place-items:center;background:var(--moss-soft);color:var(--ok)}
.celtx{flex:1;min-width:0}.celtx b{display:block;font-family:var(--display)}.celtx small{color:var(--muted)}
.celbtn{flex:none;min-height:40px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:700;padding:0 16px}
@media (prefers-reduced-motion:reduce){.excheck.pop,.excard.pop,.combo.pop,.excard.pop .exname,button.pop .lkh .ic,button.pop .lkr i,.fdin,.skl::after,.wilist input:checked,.revrow input:checked,.bfagree input:checked,.bchk input:checked{animation:none}.excheck.pop .ic path{animation:none;stroke-dashoffset:0}.celtoast,.btn,.rtbtn{transition:none}.hold.holding .holdbar{transition:transform var(--hold,1100ms) linear}}

/* ---- 2.31.0: como você está depois da dose ---- */
.dfcard h3{margin:0}
.dfq{margin-top:12px}
.dffaces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}
.dfface{border:1.5px solid var(--line);background:var(--surface);border-radius:16px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:600;font-size:13px;color:var(--muted);min-height:66px;transition:border-color .2s,background-color .2s,color .2s}
.dfface svg{width:30px;height:30px;transition:transform .3s cubic-bezier(.3,1.8,.5,1)}
.dfface[aria-pressed="true"]{color:var(--dfc);border-color:var(--dfc);background:var(--dfs)}
.dfface[aria-pressed="true"] svg{transform:scale(1.12)}
.df-ok{--dfc:var(--ok);--dfs:var(--moss-soft)}.df-mid{--dfc:var(--accent);--dfs:var(--fill-soft)}.df-bad{--dfc:var(--sun-text);--dfs:var(--sun-soft)}
.dfcard .btn{margin-top:14px}
.dfx{background:transparent;border:0;color:var(--muted);min-height:40px;width:40px;display:grid;place-items:center;padding:0;flex:none}
.dfchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.dfchip{font-size:12px;font-weight:600;border-radius:999px;padding:3px 9px;color:var(--dfc);background:var(--dfs)}
/* ---- 2.31.0: reações no Feed ---- */
.pactions button[data-rxk="forca"]{color:var(--accent)}.pactions button[data-rxk="fogo"]{color:var(--sun)}.pactions button[data-rxk="inspirou"]{color:var(--sun-text)}.pactions button[data-rxk="meta"]{color:var(--ok)}
.pactions button[data-rxk="forca"] .ic,.pactions button[data-rxk="inspirou"] .ic,.pactions button[data-rxk="meta"] .ic{fill:none !important}
.pactions button[data-plike]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.rxbar{position:fixed;z-index:62;display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px;box-shadow:0 12px 32px rgba(15,23,32,.22);transform-origin:left bottom;animation:rxIn .28s cubic-bezier(.3,1.6,.5,1)}
.rxbar button{width:46px;height:46px;min-height:0;border-radius:50%;border:0;background:var(--bg);display:grid;place-items:center;padding:0;transition:transform .15s}
.rxbar button:active{transform:scale(1.2)}
.rxbar button[aria-pressed="true"]{background:var(--fill-soft)}
.rxc-amei{color:var(--heart)}.rxc-forca{color:var(--accent)}.rxc-fogo{color:var(--sun)}.rxc-inspirou{color:var(--sun-text)}.rxc-meta{color:var(--ok)}
.rxc-amei .ic,.rxc-fogo .ic{fill:currentColor}
.rxsum{display:inline-flex;margin-right:6px}.rxsum span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--surface);margin-left:-4px;box-shadow:0 0 0 2px var(--surface)}.rxsum span:first-child{margin-left:0}
@keyframes rxIn{from{opacity:0;transform:scale(.6) translateY(8px)}}
@media (prefers-reduced-motion:reduce){.rxbar{animation:none}.dfface,.dfface svg{transition:none}}

/* ---- 2.32.0: card Hoje no Início ---- */
.hjhi{margin:2px 2px 12px}
.hjhi small{display:block;color:var(--muted);font-size:13px}
.hjhi b{display:block;font-family:var(--display);font-size:1.45rem;font-weight:700;line-height:1.2;margin-top:2px;text-wrap:balance}
.hjstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.hjst{--c:var(--accent);--cs:var(--fill-soft);display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;text-align:left;background:var(--cs);border:0;border-radius:18px;padding:12px 12px 13px;color:var(--ink);min-height:0}
.hjst .hjic{width:32px;height:32px;border-radius:10px;background:var(--surface);color:var(--c);display:grid;place-items:center;flex:none}
.hjst .hjtx2{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:100%}
.hjst .hjk{font-size:12px;font-weight:600;color:var(--muted);line-height:1.2}
.hjst b{font-family:var(--display);font-size:1.2rem;font-weight:800;line-height:1.05;color:var(--c);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.hjst-ok{--c:var(--ok);--cs:var(--moss-soft)}.hjst-up{--c:var(--warn);--cs:var(--warn-soft)}.hjst-dose{--c:var(--sun-text);--cs:var(--sun-soft)}
.hjst:active{transform:scale(.97)}
.hjcard{padding-bottom:6px}
.inscard{padding:6px 16px}
.inscard.open{padding-bottom:10px}
.inscard .instop{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:0;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer}
.inscard .instop h3{margin:0;font-size:1rem;flex:1;min-width:0}
.inscard .inscount{flex:none;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--fill-soft);color:var(--muted);font-size:.8rem;font-weight:700;display:inline-grid;place-items:center}
.inscard .inscount.warn{background:var(--sun-soft);color:var(--sun-text,var(--warn))}
.inscard .insload .insd{animation:insPulse 1s ease-in-out infinite alternate}
@keyframes insPulse{from{opacity:.25}to{opacity:1}}
.insask{background:var(--sky-soft);border-radius:14px;padding:12px;margin:8px 0 4px}
.insask p{margin:0 0 10px;font-size:.88rem;line-height:1.4}
.insask .row .btn{min-height:42px}
.insfoot{margin:6px 0 2px;font-size:.78rem;color:var(--muted)}
.insfoot .linkbtn{border:0;background:none;padding:0;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.inscard .chev{flex:none;transition:transform .2s;color:var(--muted)}.inscard.open .chev{transform:rotate(180deg)}
.inscard .instop .insai{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--sky-soft);color:var(--sky-text,var(--accent))}
.inslist{list-style:none;margin:0;padding:0}
.insrow{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:.92rem;line-height:1.35}
.insrow:first-child{border-top:0}
.insrow .insd{flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--accent)}
.insrow.ok .insd{background:var(--ok)}
.insrow.warn .insd{background:var(--warn)}
.hjlist .hjrow:first-child{border-top:0}
@media (min-width:1024px){.hjstats{gap:14px}.hjst{flex-direction:row;align-items:center;gap:12px;padding:14px 16px}.hjst .hjic{width:40px;height:40px}.hjst b{font-size:1.5rem}.hjhi small{display:none}}
.hjtop{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.hjtop h3{margin:0}
.hjcount{font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}
.hjbar{height:8px;border-radius:999px;background:var(--fill-soft);margin:10px 0 4px;overflow:hidden}
.hjbar i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .45s cubic-bezier(.3,1.2,.5,1)}
.hjcard.full .hjbar i{background:var(--ok)}
.hjrow{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:6px 0}
.hjmain{flex:1;min-width:0;display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:4px 0;text-align:left;color:var(--ink);min-height:48px;border-radius:12px}
.hjchk{width:26px;height:26px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;flex:none;color:#fff;box-sizing:border-box}
.hjchk .ic{opacity:0}
.hjrow.ok .hjchk{background:var(--ok);border-color:var(--ok)}
.hjrow.ok .hjchk .ic{opacity:1}
.hjtx{flex:1;min-width:0}.hjtx b{display:inline;font-weight:700}.hjtx small{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}
.hjrow.ok .hjtx b{color:var(--muted);background:linear-gradient(currentColor,currentColor) left 58%/100% 2px no-repeat}
.hjrow.late .hjtx small{color:var(--warn)}
.hjrow.pop .hjchk{animation:exPop .35s cubic-bezier(.3,1.6,.5,1)}
.hjrow.pop .hjchk .ic path{stroke-dasharray:24;stroke-dashoffset:24;animation:exDraw .28s ease .08s forwards}
.hjrow.pop .hjtx b{animation:exStrike .35s ease .1s backwards}
.hjmini{flex:none;min-height:38px;border:1.5px solid var(--accent);background:var(--surface);color:var(--accent);border-radius:999px;padding:0 14px;font-weight:700;font-size:14px}
.hjmini:active{transform:scale(.96)}
@media (min-width:1024px){.hjlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.hjlist .hjrow:nth-child(2){border-top:0}}
.hjdone{margin:8px 0 4px;color:var(--ok);font-weight:700;font-size:14px}
@media (prefers-reduced-motion:reduce){.hjbar i{transition:none}.hjrow.pop .hjchk,.hjrow.pop .hjtx b{animation:none}.hjrow.pop .hjchk .ic path{animation:none;stroke-dashoffset:0}}

/* ---- 2.33.0: primeiro uso, resumo da semana, repetir refeição, detalhes no (i) ---- */
/* 2.45.0: avaliações físicas */
.avins h3{display:flex;align-items:center;gap:6px;margin:0}.avins ul{margin:4px 0 10px;padding-left:20px}.avins li{margin:3px 0}
.avinst{margin:10px 0 2px;font-weight:800;font-size:.9rem;color:var(--accent)}.avinst.ok{color:var(--ok)}.avinst.warn{color:var(--warn)}
.avlist{display:flex;flex-direction:column;gap:10px}
.avcard{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;color:var(--ink);font:inherit;min-height:0}
.avcardv{text-align:right;flex:none}.avcardv b{display:block;font-family:var(--display);font-size:1.25rem}.avcardv small{color:var(--muted);font-size:.75rem}
.avhead{display:flex;flex-direction:column;gap:3px}.avhead b{font-family:var(--display);font-size:1.15rem}
.avstats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.avstats>div{background:var(--bg);border-radius:14px;padding:10px 12px;min-width:0}
.avstats span{display:block;font-size:.8rem;color:var(--muted)}.avstats b{display:block;font-family:var(--display);font-size:1.3rem;color:var(--ink)}.avstats small{color:var(--muted);font-size:.78rem}
.avd,.avstats span.avd{display:inline-block;width:auto;font-size:.75rem;font-weight:800;padding:1px 6px;border-radius:999px;background:var(--fill-soft);color:var(--muted);margin-left:4px}.avd.ok{color:var(--ok)}.avd.bad{color:var(--warn)}
.avcomp{display:flex;height:12px;border-radius:6px;overflow:hidden;margin-top:14px}.avcomp i:first-child{background:#4F9AC4}.avcomp i:last-child{background:#E8875A}
.avcompl{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:.82rem;color:var(--muted)}.avcompl i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;background:#4F9AC4}.avcompl span:last-child i{background:#E8875A}
.avtbl{width:100%;border-collapse:collapse;margin-top:6px}.avtbl td{padding:9px 10px;border-bottom:1px solid var(--line)}.avtbl tr:nth-child(odd) td{background:var(--bg)}.avtbl td:last-child{text-align:right;font-weight:700;white-space:nowrap}
.avfotos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.avfotos figure{margin:0;text-align:center}.avfotos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;cursor:zoom-in;background:var(--bg)}.avfotos figcaption{font-size:.82rem;color:var(--muted);margin-top:4px}
.avph{display:grid;place-items:center;align-content:center;gap:4px;width:100%;aspect-ratio:3/4;border-radius:12px;background:var(--bg);color:var(--muted)}
.avtags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.avtags span{background:var(--fill-soft);color:var(--accent);font-weight:700;font-size:.82rem;border-radius:999px;padding:4px 10px}
/* 2.135.0: Medidas */
.mdstage{position:relative;max-width:340px;margin:0 auto;aspect-ratio:380/580;border-radius:18px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#1b3550 0%,#0b1724 72%)}
.mdstage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mdpt{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;min-height:0}
.mdpt::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff;border:3px solid #3E6A86;box-shadow:0 0 0 4px rgba(62,106,134,.22)}
.mdpt.tem::after{background:#3E6A86;border-color:#fff}
.mdpt.on::after{inset:5px;background:#E8875A;border-color:#fff;box-shadow:0 0 0 5px rgba(232,135,90,.3)}
.mdchip{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:#fff;color:#1E2630;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px rgba(30,38,48,.2);pointer-events:none}
.mdchip i,.mdside i,.mdrow i{font-style:normal;font-weight:800;margin-left:6px;color:var(--muted)}
.mdchip i.mddn,.mdside i.mddn,.mdrow i.mddn{color:var(--moss,var(--ok))}.mdchip i.mdup,.mdside i.mdup,.mdrow i.mdup{color:#C0663A}
.mdchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:12px -4px 0;padding:2px 4px}.mdchips::-webkit-scrollbar{display:none}
.mdchips button{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;font-weight:600;min-height:36px;white-space:nowrap}
.mdchips button.ok{border-color:var(--moss,var(--ok));color:var(--moss-text,var(--ok))}.mdchips button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#fff)}
.mdhist{margin-top:10px}.mdhist li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0}.mddel{color:var(--bad);min-height:36px;padding:0 4px}.mddel.arm{font-weight:700}
.mdlist li{padding:0}.mdrow{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 4px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;border-radius:10px;min-height:44px}
.mdrow.on{background:var(--fill-soft,#E1EBF2)}
@media (min-width:1024px){.mdgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:16px;align-items:start;max-width:1000px}.mdgrid .block{margin-top:0}.mdstage-b{position:sticky;top:16px}.mdside .block+.block{margin-top:16px}}
.afgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.afgrid .field{margin-bottom:8px}
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.row3 .field{min-width:0}
.afslots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.afslot{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}.afslot img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px}
.afslotb{display:flex;flex-wrap:wrap;gap:6px;width:100%}.afslotb .btn{min-height:38px;padding:6px 8px;font-size:.86rem}.afslotb label.btn{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;white-space:nowrap}.afslotb button.afrm{flex:1 1 100%;width:100%;display:flex;align-items:center;justify-content:center;gap:4px}
@media (min-width:1024px){.avstats{grid-template-columns:repeat(3,minmax(0,1fr))}.afgrid{grid-template-columns:repeat(4,minmax(0,1fr))}.avfotos,.afslots{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* 2.43.0: primeiro acesso guiado */
#paSheet{z-index:31}
.pahead{display:flex;align-items:center;gap:12px;padding:10px 16px;max-width:560px;width:100%;margin:0 auto;box-sizing:border-box}
.pahead .iconbtn{font-size:1.6rem;line-height:1;flex:none}
.pahead .linkbtn{flex:none;min-width:56px;text-align:right;text-decoration:none;font-weight:700}
.pabar{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.pabar i{display:block;height:100%;width:0;background:var(--accent);border-radius:3px;transition:width .3s}
.pabody{flex:1;overflow-y:auto;padding:6px 16px 24px;max-width:560px;width:100%;margin:0 auto;box-sizing:border-box}
.pabody h2{font-family:var(--display);font-size:1.55rem;line-height:1.15;margin:6px 0 6px;color:var(--ink)}
.pabody .palead{margin:0 0 18px;color:var(--muted)}
.pafoot{padding:10px 16px calc(22px + env(safe-area-inset-bottom,0px));max-width:560px;width:100%;margin:0 auto;box-sizing:border-box}
.pasec{margin:20px 0 8px;font-weight:700;color:var(--ink)}
.pachips{display:flex;flex-wrap:wrap;gap:8px}
.pachips button{min-height:42px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.95rem;font-weight:600}
.pachips button[aria-pressed="true"]{border-color:var(--accent);background:var(--fill-soft);color:var(--accent);font-weight:800}
.pachips.days button{flex:1 1 0;min-width:0;padding:0}
.pacard{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0}
.paeta{display:flex;gap:12px;align-items:center}
.paeta b{font-family:var(--display);font-size:1.25rem;color:var(--ink)}
.paerr{color:var(--warn);margin:10px 0 0}
.pastats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.pastats>div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px}
.pastats span{display:block;font-size:.82rem;color:var(--muted)}
.pastats b{display:block;font-family:var(--display);font-size:1.5rem;color:var(--ink);margin-top:2px}
.pastats small{color:var(--muted)}
.pachart svg{display:block;width:100%;height:auto}
.pabuild{display:flex;flex-direction:column;gap:18px;margin-top:26px}
.pabuild div{display:flex;flex-direction:column;gap:8px;font-weight:600;color:var(--ink)}
.pabuild b{display:block;height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.pabuild i{display:block;height:100%;width:0;background:var(--accent);border-radius:4px;animation:pafill .8s ease-out forwards}
.plwait i{animation-duration:11s;animation-timing-function:linear}
/* 2.93.0: espera com a logo e o círculo girando */
.mfjload{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:18px 8px 8px}
.mfjload b{margin-top:10px;font-size:1.05rem;color:var(--ink)}
.mfjload small{color:var(--muted);font-size:.88rem;max-width:300px}
.mfjring{position:relative;width:100px;height:100px;display:grid;place-items:center}
.mfjring img{position:relative;z-index:1;width:58px;height:58px;border-radius:50%;box-shadow:0 0 0 3px var(--surface),0 0 22px rgba(140,200,232,.55);animation:mfjglow 1.8s ease-in-out infinite}
/* 2.93.2: arco de luz por fora (gira rápido) e, por dentro, dois arcos menores girando ao contrário, com aceleração */
.mfjring::before,.mfjring::after{content:"";position:absolute;border-radius:50%}
.mfjring::before{inset:0;background:conic-gradient(from 0deg,transparent 0 45%,rgba(140,200,232,.2) 60%,#8CC8E8 85%,var(--accent) 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));
  filter:drop-shadow(0 0 5px #8CC8E8);animation:mfjspin 1s linear infinite}
.mfjring::after{inset:8px;background:conic-gradient(from 180deg,transparent 0 20%,rgba(140,200,232,.15) 30%,var(--accent) 50%,transparent 50% 70%,rgba(140,200,232,.15) 80%,#8CC8E8 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));
  filter:drop-shadow(0 0 4px #8CC8E8);animation:mfjspin 1.6s cubic-bezier(.5,.15,.5,.85) infinite reverse}
@keyframes mfjspin{to{transform:rotate(360deg)}}
@keyframes mfjglow{50%{box-shadow:0 0 0 3px var(--surface),0 0 30px rgba(140,200,232,.9)}}
@media (prefers-reduced-motion:reduce){.mfjring::before{animation-duration:2.4s}.mfjring::after,.mfjring img{animation:none}}
.pacover{position:fixed;inset:0;z-index:30;background:var(--bg);display:grid;place-items:center}.pacover[hidden]{display:none}
.mfjload.sm{padding:8px 4px 4px}.mfjload.sm .mfjring{width:60px;height:60px}.mfjload.sm .mfjring img{width:36px;height:36px}.mfjload.sm .mfjring::after{inset:6px}
.sharewait{width:100%;aspect-ratio:4/5;border-radius:14px;margin:12px 0 8px;background:var(--bg);display:grid;place-items:center}.sharewait[hidden]{display:none}
#wsBoot .mfjring img{border-radius:50%}#shareImg[hidden]{display:none !important}
/* 2.95.0: sem internet */
.offbar{position:fixed;left:0;right:0;z-index:6;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 14px;background:#5A4A1E;color:#FFF3D6;font-size:.8rem;font-weight:600;line-height:1.3}.offbar[hidden]{display:none}.offbar svg{flex:none;width:18px;height:18px}
.offblk{display:flex;gap:12px;align-items:flex-start}.offblk p{margin:4px 0 0}.offic{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted)}
.mfjwait{position:fixed;inset:0;z-index:58;background:rgba(20,30,40,.5);display:grid;place-items:center;padding:16px}.mfjwait[hidden]{display:none}
.mfjwcard{background:var(--surface);border-radius:22px;padding:14px 22px 22px;width:100%;max-width:320px;box-shadow:0 12px 40px rgba(0,0,0,.25)}
@keyframes pafill{to{width:100%}}
.paok{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ok);color:#fff;font-size:.8rem;margin-right:6px;vertical-align:-4px}
.qsopts{display:flex;flex-direction:column;gap:10px}
.qsopts button{display:flex;align-items:center;gap:14px;text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:14px;color:var(--ink);min-height:0;font:inherit}
.qsopts button[aria-checked="true"],.qsopts button.qsact:active{border:2px solid var(--accent);background:var(--fill-soft)}
.qsic{width:44px;height:44px;border-radius:12px;flex:none;display:grid;place-items:center;background:var(--fill-soft);color:var(--accent)}
.qsopts b{display:block;font-size:1rem}.qsopts small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.infobtn{display:inline-grid;place-items:center;width:28px;height:28px;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);vertical-align:middle;margin-left:2px;flex:none}
.infobtn:active{background:var(--fill-soft)}
.infodlg{position:fixed;inset:0;z-index:59;background:rgba(30,38,48,.55);display:flex;align-items:flex-end;justify-content:center;padding:12px}
.infodlg .block{max-width:460px;width:100%;margin:0;padding:18px 18px 16px}
.infodlg h3{margin:0 0 8px}.infodlg p{margin:0 0 14px;white-space:pre-line;line-height:1.5;color:var(--ink)}
@media (min-width:1024px){.infodlg{align-items:center}}
.repbtn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--fill-soft);border:0;border-radius:16px;padding:12px 14px;margin:0 0 12px;color:var(--ink);min-height:0;font:inherit}
.repbtn .repic{width:36px;height:36px;border-radius:11px;background:var(--surface);color:var(--accent);display:grid;place-items:center;flex:none}
.repbtn b{display:block}.repbtn small{display:block;color:var(--muted);font-size:13px}
.wkcard .wkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.wkcard .wkt{background:var(--bg);border-radius:14px;padding:10px 12px}
.wkcard .wkt span{display:block;font-size:12px;color:var(--muted)}
.wkcard .wkt b{font-family:var(--display);font-size:1.25rem;font-variant-numeric:tabular-nums}
.wkcard .wkbest{background:var(--moss-soft);color:var(--ok);border-radius:14px;padding:10px 12px;font-weight:600;font-size:14px;margin:0 0 10px}
@media (min-width:1024px){.wkcard .wkgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* ---------- 2.57.0: revisão de design ---------- */
.block[hidden]{display:none !important}
/* letras e áreas de toque */
nav.bar button{font-size:.75rem}
.infobtn{position:relative}.infobtn::after{content:"";position:absolute;inset:-8px;border-radius:50%}
/* seletor de opções com um desenho só em todo o app (abas trocam de tela; chips filtram listas) */
body:not(.out) .seg{background:var(--bg) !important;border:1px solid var(--line);border-radius:14px;padding:4px;gap:4px}
body:not(.out) .seg button{border:0 !important;border-radius:10px !important;background:transparent !important;color:var(--ink) !important;font-weight:600 !important;box-shadow:none !important;min-height:40px}
body:not(.out) .seg button[aria-pressed="true"]{background:var(--accent) !important;color:var(--accent-ink,#fff) !important;font-weight:800 !important;box-shadow:0 1px 3px rgba(30,38,48,.15) !important}
/* ilustração da trilha */
.trailart{display:block;width:100%;max-width:320px;height:auto;margin:0 auto 10px}.trailart.sm{max-width:180px;margin:0}
.hjdone{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;margin:12px 0 6px}.hjdone p{margin:0;color:var(--ok);font-weight:700;font-size:14px}
.metric.emptyinv{display:flex;align-items:center;gap:14px}.emptyinv .trailart{width:120px;flex:none}.emptyinv .k{color:var(--ink);font-weight:700}.emptyinv .c{color:var(--muted);font-size:.88rem;margin-top:2px}
@media (max-width:420px){.metric.emptyinv{flex-direction:column;align-items:flex-start}.emptyinv .trailart{width:100%;max-width:220px}}
.adgo{width:auto;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;margin-bottom:8px}
/* Início: cards extras recolhidos no celular */
.hfold{display:none !important}
.homemore{margin:0 0 16px}
/* Saúde em painel */
.hubstats{margin:4px 0 14px}
/* Perfil › Configurações */
.cfglink{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;color:var(--ink);font:inherit;min-height:0}
.cfgtx{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.cfgtx b{font-size:1.02rem}.cfgarr{font-size:1.6rem;line-height:1;color:var(--muted)}
#sbPro,#sbPerfil{display:none !important}
@media (min-width:1024px){
  #tab-perfil>.cfglink:not([hidden]){display:flex !important}
  /* Início em duas colunas: "Hoje" à esquerda, os cards à direita */
  /* 2.57.1: saudação, números e Insights em faixa inteira; "Hoje" e os cards em duas colunas equilibradas (mural) */
  .wrap #tab-home{max-width:1180px}
  #tab-home.on{display:block !important;columns:2;column-gap:20px}
  #tab-home>#hjCard,#tab-home #homeCards:not([hidden]){display:contents !important}
  #tab-home .hjhi,#tab-home .hjstats,#tab-home .inscard,#tab-home>#dfCard,#tab-home>#wkCard,#tab-home>p,#tab-home>#homeMoreBtn{column-span:all}
  #tab-home .hjstats{margin-bottom:16px}
  #tab-home .inscard{margin:0 0 20px !important}
  #tab-home .hjcard,#tab-home #homeCards>[data-card]{break-inside:avoid;display:block;margin:0 0 20px !important}
  #tab-home #homeCards>[data-card][hidden]{display:none !important}
  #tab-home .hjlist{display:block}
}
/* 2.57.1: menu lateral do computador com Área de Trabalho, Calendário, Notificações e Perfil */
nav.bar .sbwork,nav.bar .sbmore{display:none}
@media (min-width:1024px){
  /* 2.58.0: Calendário, Notificações, Aparência e Perfil voltam ao topo, só ícone; a Área de Trabalho fica no menu */
  header.top .hbtns #workBtn{display:none !important}
  header.top .hbtns #themeBtn{display:grid !important}
  body:not(.out) header.top .iconbtn{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.12)}
  body:not(.out) header.top .iconbtn:hover{background:rgba(255,255,255,.22)}
  nav.bar .sbwork:not([hidden]){display:flex;margin:0 0 10px}
  .sbbadge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#C2702E;color:#fff;font-style:normal;font-size:.72rem;font-weight:800;display:inline-grid;place-items:center;box-sizing:border-box}
  .sbbadge[hidden]{display:none}
  nav.bar button[aria-current="page"] .sbbadge{background:#fff;color:var(--accent)}
  .npanel{top:96px;right:32px}
}
/* 2.57.1: Área de Trabalho no computador: "Alternar para versão usuário" no menu substitui o botão Sair do topo */
.cswitch{color:var(--accent);font-weight:700}
@media (min-width:1024px){#coachClose{display:none !important}}
/* 2.57.1: Área de Trabalho com a logo no topo e a área de conteúdo em painel de cantos arredondados */
.ctl .cwm{font-size:1.45rem}.ctl .cwm span{display:inline !important;color:var(--accent)}
@media (min-width:901px){
  #coachSheet{background:var(--surface)}
  #coachSheet .chdr{border-bottom:0 !important}
  #coachSheet .cside{border-right:0}
  #coachSheet .cside>*{flex-shrink:0}
  #coachSheet .cwrap{padding:0 14px 14px 0}
  #coachSheet .cmain{background:var(--bg);border:1px solid var(--line);border-radius:28px}
}
/* 2.57.1: tema da Área de Trabalho "A+B": topo em degradê (petróleo ao céu), menu em azul-petróleo escuro e conteúdo claro */
#coachSheet{--cw-side:#E8F0F6;--cw-mut:#93A7B7;--cw-line:rgba(255,255,255,.12);background:linear-gradient(160deg,#16232E,#22405A 70%) !important;color:var(--cw-side)}
#coachSheet .chdr{background:linear-gradient(100deg,#2D5672 0%,#3E6A86 30%,#4F8DB0 65%,#8CC8E8 100%) !important;border-bottom:0 !important;box-shadow:0 6px 20px -12px rgba(0,0,0,.55);position:relative;z-index:40;color:#fff}
#coachSheet .ctl .cwm{color:#fff}#coachSheet .ctl .cwm span{color:#D6EEFB !important}
#coachSheet .croles{background:rgba(255,255,255,.16)}
#coachSheet .croles button{color:#fff}
#coachSheet .croles button[aria-pressed="true"]{background:#fff;color:#2D5672}
#coachSheet .croles .ccount{background:rgba(255,255,255,.22);color:#fff}
#coachSheet .croles button[aria-pressed="true"] .ccount{background:#E1EEF6;color:#2D5672}
#coachSheet #coachClose{background:rgba(255,255,255,.14) !important;border-color:rgba(255,255,255,.35) !important;color:#fff !important}
#coachSheet .cside{background:transparent;color:var(--cw-side)}
#coachSheet .csearch{border-color:var(--cw-line);background:rgba(255,255,255,.07);color:var(--cw-mut)}
#coachSheet .csearch input{color:#fff}#coachSheet .csearch input::placeholder{color:var(--cw-mut)}
#coachSheet .cside .cnav{color:#C9D7E2}
#coachSheet .cside .cnav:hover{background:rgba(255,255,255,.06)}
#coachSheet .cside .cnav[aria-current="true"]{background:rgba(140,200,232,.16);color:#fff;box-shadow:inset 3px 0 0 #8CC8E8}
#coachSheet .cside .cswitch{color:#8CC8E8}
#coachSheet .cnavsub{border-left-color:var(--cw-line)}
#coachSheet .cnavsub .cnav{color:#A9BBC9}#coachSheet .cnavsub .cnav[aria-current="true"]{color:#fff}
#coachSheet .clabel{color:#7E93A4}
#coachSheet .cside .stu{color:var(--cw-side)}#coachSheet .cside .stu b{color:#fff}
#coachSheet .cside .stu .muted,#coachSheet .cside .stu .small{color:var(--cw-mut)}
#coachSheet .cside .stu:hover{background:rgba(255,255,255,.06)}
#coachSheet .cside .stu[aria-current="true"]{background:rgba(140,200,232,.16);box-shadow:inset 3px 0 0 #8CC8E8}
#coachSheet .cinvnav{border-color:#8CC8E8;color:#8CC8E8}#coachSheet .cinvnav[aria-pressed="true"]{background:rgba(140,200,232,.14)}
#coachSheet .cpend{border-color:var(--cw-line);color:var(--cw-mut)}#coachSheet .cpend b{color:#fff}
#coachSheet .cpend .del{background:transparent;border-color:var(--cw-line);color:#C9D7E2}
#coachSheet .cmain{background:var(--bg);color:var(--ink)}
@media (max-width:900px){#coachSheet .cmain{border-radius:24px 24px 0 0}#coachSheet .cside{border-bottom:0 !important}}
@media (min-width:901px){#coachSheet .cwrap{padding-top:14px}#coachSheet .cmain{border-color:rgba(255,255,255,.06)}}
/* 2.57.1: versão usuário no computador com o mesmo tema da Área de Trabalho:
   menu em azul-petróleo escuro, topo em degradê e o conteúdo num painel de cantos arredondados */
@media (min-width:1024px){
  body:not(.out){background:linear-gradient(160deg,#16232E,#22405A 70%) fixed !important}
  body:not(.out) nav.bar{background:transparent !important;border-right:0 !important;color:#E8F0F6}
  body:not(.out) .sbrand .wordmark{color:#fff}body:not(.out) .sbrand .wordmark span{color:#8CC8E8 !important}
  body:not(.out) .sbnew{background:#fff !important;color:#2D5672 !important;box-shadow:0 8px 20px -10px rgba(0,0,0,.45)}
  body:not(.out) nav.bar .in button,body:not(.out) .sbwork,body:not(.out) .sbmore button{color:#C9D7E2 !important;background:transparent}
  body:not(.out) nav.bar .in button:not([aria-current="page"]):hover,body:not(.out) .sbwork:hover,body:not(.out) .sbmore button:not([aria-current="page"]):hover{background:rgba(255,255,255,.06) !important}
  body:not(.out) nav.bar .in button[aria-current="page"],body:not(.out) .sbmore button[aria-current="page"]{background:rgba(140,200,232,.16) !important;color:#fff !important;box-shadow:inset 3px 0 0 #8CC8E8}
  body:not(.out) .sbmore{border-top-color:rgba(255,255,255,.12)}
  body:not(.out) .sbfoot{border-top-color:rgba(255,255,255,.12)}
  body:not(.out) .sblink{background:rgba(255,255,255,.06) !important;border-color:rgba(255,255,255,.16) !important;color:#E8F0F6 !important}
  body:not(.out) .sblink:hover{background:rgba(255,255,255,.1) !important}
  /* painel do conteúdo */
  body:not(.out) .wrap{background:var(--bg);border-radius:28px;margin:14px 14px 14px 0;max-width:none;min-height:calc(100vh - 28px);overflow:clip;box-sizing:border-box}
  body:not(.out) header.top{background:linear-gradient(100deg,#2D5672 0%,#3E6A86 30%,#4F8DB0 65%,#8CC8E8 100%) !important;border-bottom:0 !important;box-shadow:0 6px 20px -12px rgba(0,0,0,.45);backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff}
  body:not(.out) header.top .dtl b{color:#fff}body:not(.out) header.top .dtl span{color:#E3F1FA}
  body.firstrun:not(.out) .wrap{margin:14px auto;max-width:760px}
}

/* 2.57.2: F5 com o Workspace aberto já mostra a moldura dele (sem passar pela tela do usuário) */
#wsBoot{display:none}
html.wsboot #wsBoot{display:flex;flex-direction:column;position:fixed;inset:0;z-index:80;background:linear-gradient(160deg,#16232E,#22405A 70%)}
html.wsboot body{overflow:hidden}
#wsBoot .wsbtop{height:68px;display:flex;align-items:center;gap:14px;padding:0 24px;flex-shrink:0;background:linear-gradient(100deg,#2D5672 0%,#3E6A86 30%,#4F8DB0 65%,#8CC8E8 100%);box-shadow:0 6px 20px -12px rgba(0,0,0,.55)}
#wsBoot img{border-radius:12px}#wsBoot .wordmark{font-size:1.45rem;font-weight:800;color:#fff}#wsBoot .wordmark span{color:#fff !important}
#wsBoot .wsbpanel{flex:1;margin:14px 14px 14px 300px;border-radius:28px;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted);font-weight:600}
#wsBoot .wsbpanel i{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:#4F8DB0;animation:wsbspin .8s linear infinite}
@keyframes wsbspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){#wsBoot .wsbpanel i{animation:none}}

/* 2.58.1: no computador, os botões que trocam de tela crescem um pouco ao passar o mouse */
@media (hover:hover) and (pointer:fine){
  nav.bar .in button,nav.bar .sbwork,#coachSheet .cnav,#coachSheet .stu,.croles button,.ctabs button,.ftabs button,.pltabs button,.seg button{transition:transform .18s cubic-bezier(.2,.7,.2,1),background-color .18s,color .18s,box-shadow .18s}
  nav.bar .in button:hover,nav.bar .sbwork:hover,#coachSheet .cnav:hover,#coachSheet .stu:hover{transform:scale(1.05);transform-origin:left center}
  .croles button:hover,.ctabs button:hover,.ftabs button:hover,.pltabs button:hover,.seg button:not(:disabled):hover{transform:scale(1.07)}
  .ctabs button:not([aria-selected="true"]):not([aria-pressed="true"]):hover,.ftabs button:not([aria-selected="true"]):not([aria-pressed="true"]):hover,.pltabs button:not([aria-selected="true"]):not([aria-pressed="true"]):hover{background:rgba(79,141,176,.12)}
}
@media (prefers-reduced-motion:reduce){nav.bar .in button,nav.bar .sbwork,#coachSheet .cnav,.croles button,.ctabs button,.ftabs button,.pltabs button,.seg button{transform:none !important}}

/* 2.58.2: Sair da conta no Perfil e no rodapé do menu do computador */
.melogout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;margin:4px auto 0;color:var(--warn) !important;border-color:var(--line) !important}
.melogout svg{flex:none}
@media (min-width:1024px){
  body:not(.out) nav.bar .sbfoot .sbout{color:#F2B8A8 !important}
  body:not(.out) nav.bar .sbfoot .sbout:hover{background:rgba(242,184,168,.12) !important;border-color:rgba(242,184,168,.4) !important}
}

/* 2.58.3: no celular, os módulos da Área de Trabalho viram uma barra embaixo (como no app do usuário);
   a lista de alunos aparece só no Workspace, e Agenda, Avulsas, Financeiro e a ficha do aluno abrem direto no topo */
.cnsh{display:none}
.cmods{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.cmobinv,.cmobpend{display:none}
@media (max-width:900px){
  #coachSheet .cswitch{display:none}
  #coachSheet .cmods{position:fixed;left:0;right:0;bottom:0;z-index:1200;display:flex;flex-direction:row;align-items:stretch;gap:2px;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 20px -12px rgba(0,0,0,.25)}
  #coachSheet .cmods>.cnav{flex:1 1 0;min-width:0;flex-direction:column;justify-content:center;gap:3px;min-height:54px;padding:4px 2px;border-radius:12px;background:transparent !important;box-shadow:none !important;color:var(--muted) !important;font-size:.72rem;font-weight:600;position:relative;text-align:center}
  #coachSheet .cmods>.cnav svg{width:22px;height:22px}
  #coachSheet .cmods>.cnav[aria-current="true"]{color:var(--accent) !important;font-weight:800}
  #coachSheet .cmods>.cnav>span{flex:none !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  #coachSheet .cmods>.cnav:has(.cnsh)>span:not(.cnsh):not(.pill){display:none}
  #coachSheet .cmods>.cnav .cnsh{display:block}
  #coachSheet .cmods>.cnav .pill{position:absolute;top:2px;left:calc(50% + 6px);height:18px !important;min-width:18px;padding:0 5px !important;font-size:11px !important;justify-content:center}
  #coachSheet .cmods .cnavsub{display:none !important}
  #coachSheet .agfab{bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:1201}
  #coachSheet .finper{flex-wrap:nowrap;gap:6px}
  #coachSheet .finper button{flex:1 1 0;min-width:0;padding:0 6px;white-space:nowrap;font-size:.86rem}
  #coachSheet .cmain{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px)) !important}
  #coachSheet .cside{padding:0 !important;margin:0 !important;min-height:0 !important;height:0;overflow:visible !important;border:0 !important;background:none !important}
  #coachSheet .cside>*:not(.cmods){display:none !important}
  #coachSheet .cmain{min-height:calc(100% - 4px)}
  #coachSheet .cmobinv{position:absolute;top:18px;right:16px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border:0;border-radius:20px;background:var(--accent);color:var(--accent-ink,#fff);font:inherit;font-weight:800;font-size:.92rem;cursor:pointer}
  #coachSheet .cmain:has(.cmobinv){position:relative}
  #coachSheet .cmain:has(.cmobinv) .ctitle{padding-right:130px}
  #coachSheet .cmobpend{display:flex;flex-direction:column;gap:8px}
  #coachSheet .cmobpend h3{margin:0 0 2px}
  #coachSheet .cmobpend .cpend{border-color:var(--line);color:var(--muted)}#coachSheet .cmobpend .cpend b{color:var(--ink)}
  #coachSheet .cmobpend .del{color:var(--warn);border:1px solid var(--line);background:transparent;border-radius:999px;padding:6px 12px;font-weight:700}
}

/* 2.58.3: na Área de Trabalho (celular), "Meu app" com a foto e o símbolo de troca no lugar do ícone de sair */
#coachSheet #coachClose.cmeapp{width:auto !important;min-width:0 !important;height:44px;min-height:44px;padding:0 14px 0 4px !important;gap:8px;border-radius:22px;justify-content:flex-start;font-weight:800;border-width:1.5px !important}
#coachSheet #coachClose.cmeapp span{display:inline-flex !important}
#coachSheet #coachClose .cmeav{width:34px;height:34px;border-radius:50%;overflow:hidden;align-items:center;justify-content:center;background:#C2702E;color:#fff;font-weight:800;font-size:.95rem;flex:none}
#coachSheet #coachClose .cmeav img{width:100%;height:100%;object-fit:cover}
#coachSheet #coachClose .cmetx{white-space:nowrap}
@media (max-width:380px){#coachSheet .chdr #coachClose .cmetx{display:none !important}#coachSheet .chdr #coachClose.cmeapp{padding:0 10px 0 4px !important}#coachSheet .chdr #coachClose{margin-left:auto}}

/* 2.59.0: Área de Trabalho mais limpa — menu só com destinos, Workspace com "Hoje" e "Pendências", tela de Alunos, ações rápidas na ficha */
.cnavc{margin-left:auto;min-width:22px;height:20px;padding:0 7px;border-radius:10px;background:var(--line);color:var(--ink);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
#coachSheet .cside .cnavc{background:rgba(255,255,255,.14);color:#E8F0F6}
.cnavn{color:#fff;height:20px;padding:0 8px;font-size:12px;border-radius:10px;display:inline-flex;align-items:center}
.ctitle.chd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.chdact{display:flex;gap:8px;flex:none}
.cinvbtn{width:auto !important;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px}
.ctblhead .cqbox{flex:1;max-width:380px;margin:0}
.ckpis3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.chome{display:flex;flex-direction:column;gap:16px}
#coachSheet .chome>.block{margin:0}
.chlist,.pdlist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}
.chitem{display:flex;align-items:center;gap:12px;width:100%;padding:12px 4px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.chlist li:last-child .chitem{border-bottom:0}
.chtime{flex:none;min-width:52px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}
.chtx,.pdtx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chtx b,.pdtx b{font-weight:700;line-height:1.3}
.chitem>svg{flex:none;color:var(--muted)}
.chempty{margin:6px 0 10px}
.pdi{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.pdlist li:last-child{border-bottom:0}
.pdic{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--bg);color:var(--accent)}
.pdi.ok .pdic{background:#E2F1E8;color:#2E6B4C}.pdi.warn .pdic{background:#FBEAE0;color:#9E4523}.pdi.bad .pdic{background:#F8E1DF;color:#9B2C25}
.pdbtn{width:auto !important;min-height:38px !important;padding:0 14px !important;flex:none;font-size:.9rem}
.pdn{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;margin-left:6px;border-radius:11px;background:#C2702E;color:#fff;font-size:12px;font-weight:800;vertical-align:2px}
.cempty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:8px 4px 6px}
.cempty .trailart{width:100%;max-width:260px;height:auto;margin-bottom:6px}
.cempty b{font-size:1.02rem}.cempty p{margin:0;max-width:34em}.cempty .btn{margin-top:8px}
.cback{display:inline-flex;align-items:center;gap:4px;margin:0 0 8px;padding:6px 10px 6px 6px;border:0;border-radius:10px;background:none;color:var(--accent);font:inherit;font-weight:700;cursor:pointer}
.cback:hover{background:var(--bg)}
.chead{flex-wrap:wrap}
.cstchip{margin-top:6px}
.cqa{display:flex;gap:8px;flex-wrap:wrap}
.cqab{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--accent);font:inherit;font-weight:700;font-size:.92rem;cursor:pointer}
.cqab:hover{border-color:var(--accent)}
.cts2{display:none}
.c7r{margin:2px 0 6px;min-height:1.4em}
.c7w svg .c7g{cursor:pointer}
.c7w:has(.c7g.on) .c7g:not(.on) rect:not(.c7hit){opacity:.35}
.ptnew:not(.open) .ptopts{display:none}
.ptnew:not(.open) textarea{min-height:0;resize:none}
.finacts{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.finacts .btn{width:auto}
.finmore{width:40px !important;height:40px !important;flex:none}
.vtst{display:flex;align-items:center;gap:12px}
.vtst>div{display:flex;flex-direction:column;gap:2px}
.vtdot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 4px var(--bg)}
.vtdot.on{background:#3F9A6B;box-shadow:0 0 0 4px #E2F1E8}
.vtsw{margin:0;flex:none}
.vted{border-top:1px solid var(--line);margin-top:14px}
.crolesel{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pdi.ok .pdic{background:rgba(95,164,126,.18);color:#8FD1AE}:root:not([data-theme="light"]) .pdi.warn .pdic{background:rgba(232,135,90,.18);color:#F2A77E}:root:not([data-theme="light"]) .pdi.bad .pdic{background:rgba(217,72,59,.2);color:#F0948B}}
:root[data-theme="dark"] .pdi.ok .pdic{background:rgba(95,164,126,.18);color:#8FD1AE}:root[data-theme="dark"] .pdi.warn .pdic{background:rgba(232,135,90,.18);color:#F2A77E}:root[data-theme="dark"] .pdi.bad .pdic{background:rgba(217,72,59,.2);color:#F0948B}
#coachSheet .cpendb .cpend{border-color:var(--line);color:var(--muted)}#coachSheet .cpendb .cpend b{color:var(--ink)}
#coachSheet .cpendb .del{color:var(--warn);border:1px solid var(--line);background:transparent;border-radius:999px;padding:6px 12px;font-weight:700}
.cpendb{display:flex;flex-direction:column;gap:8px}.cpendb h3{margin:0 0 2px}
#coachSheet .croles:empty{display:none}
@media (min-width:901px){
  #coachSheet .ctbl th{font-size:.8rem;text-transform:none;letter-spacing:0}
  #coachSheet .cchip{font-size:.8rem}
  #coachSheet .ckpi span{font-size:.88rem}#coachSheet .ckpi small{font-size:.82rem}
  #coachSheet .cnav{font-size:.95rem}
  #coachSheet .small{font-size:.85rem}
  .chead .cqa{margin-left:auto}
}
@media (max-width:900px){
  .ckpis3{gap:8px}.ckpis3 .ckpi{padding:12px}.ckpis3 .ckpi b{font-size:1.5rem}.ckpis3 .ckpi span{font-size:.8rem;line-height:1.2}.ckpis3 .ckpi small{display:none}
  .ctitle.chd h1{font-size:1.6rem}
  .chead .cqa{flex-basis:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:4px}
  .cqab{flex-direction:column;gap:4px;min-height:60px;padding:6px 2px;font-size:.74rem;justify-content:center}
  .ctl2{display:none}.cts2{display:inline}
  #finHost .ctitle p{display:none}
  .finfilt{flex-wrap:nowrap !important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.finfilt::-webkit-scrollbar{display:none}.finfilt button{flex:none;white-space:nowrap}
  .pdi{flex-wrap:wrap}.pdi .pdbtn{margin-left:48px}
  #coachSheet .chdr>.croles:has(.crolesel){order:0;flex-basis:auto;margin:0 0 0 auto;padding:0;background:none}
  #coachSheet .croles:has(.crolesel) button{display:none}
  #coachSheet .crolesel{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 10px 0 12px;border-radius:22px;background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.4);color:#fff;position:relative}
  #coachSheet .crolesel select{appearance:none;-webkit-appearance:none;background:transparent !important;background-image:none !important;border:0 !important;box-shadow:none !important;color:#fff !important;-webkit-text-fill-color:#fff;font:inherit;font-weight:800;font-size:.92rem;padding:0 2px !important;height:auto !important;min-height:0 !important;width:auto !important;max-width:150px}
  #coachSheet .cmods .cnavc{display:none}
  #coachSheet .crolesel select option{color:#1E2630}
  #coachSheet .chdr:has(.crolesel) .ctl{display:none !important}
  #coachSheet .chdr:has(.crolesel) #coachClose{margin-left:0}
}
@media (max-width:420px){#coachSheet .chdr:has(.crolesel) #coachClose .cmetx{display:none !important}#coachSheet .chdr:has(.crolesel) #coachClose.cmeapp{padding:0 10px 0 4px !important}}

/* 2.59.1: seletor de área no celular (o topo fica só com a logo e o "Meu app") e convite em card no Workspace */
.carea{display:none;align-items:center;gap:6px;white-space:nowrap;height:42px;padding:0 12px;border-radius:21px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:800;font-size:.92rem;cursor:pointer}
.carea .ic:first-child{color:var(--accent)}
.careabar{display:none}
.cinvcard{display:flex;align-items:center;gap:12px}
.cinvt{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--sky-soft,#E0F0F9);color:var(--accent)}
.cinvcard>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cinvcard>div span{color:var(--muted);font-size:.88rem}
.cinvcard .btn{width:auto !important;min-height:42px;padding:0 16px;flex:none}
.careash{position:fixed;inset:0;z-index:58;background:rgba(20,30,40,.45);display:flex;align-items:flex-end;justify-content:center;animation:careaIn .18s ease-out}
.careapn{width:100%;max-width:520px;background:var(--surface);color:var(--ink);border-radius:24px 24px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 30px rgba(0,0,0,.2)}
.careagr{width:40px;height:5px;border-radius:3px;background:var(--line);margin:4px auto 12px}
.careapn h3{margin:0 0 4px}.careapn>p{margin:0 0 12px;color:var(--muted);font-size:.9rem}
.careaopt{display:flex;align-items:center;gap:12px;width:100%;padding:12px;margin-bottom:8px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.careaopt.on{border-color:var(--accent)}
.careaopt>.ic:last-child{margin-left:auto;color:var(--accent)}
.careat{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--bg);color:var(--accent)}
.careatx{display:flex;flex-direction:column;gap:2px}.careatx span{color:var(--muted);font-size:.86rem}
@keyframes careaIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.careash{animation:none}}
@media (max-width:900px){
  #coachSheet .chdr>.croles{display:none !important}
  .carea{display:inline-flex}
  .careabar{display:flex;justify-content:flex-end;margin:0 0 10px}
  #coachSheet .chdact{align-items:center;gap:8px}
  #coachSheet .chdact .cinvbtn{padding:0 14px}
  #coachSheet .ctitle.chd{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}
  #coachSheet .ctitle.chd>div:first-child{display:contents}
  #coachSheet .ctitle.chd h1{grid-column:1;grid-row:1}
  #coachSheet .ctitle.chd .chdact{grid-column:2;grid-row:1}
  #coachSheet .ctitle.chd p{grid-column:1/-1;grid-row:2;margin-top:0}
}
@media (max-width:380px){#coachSheet .chdact .cinvbtn span{display:none}#coachSheet .chdact .cinvbtn{width:42px !important;padding:0 !important;justify-content:center}}

/* 2.59.1: no celular, quem é profissional vê uma cápsula: "⇄ ⌘" (vai para o Workspace) e a foto (Perfil) */
.ucap{display:inline-flex;align-items:center}
@media (max-width:1023px){
  .ucap:has(#workBtn:not([hidden])){height:44px;border:1px solid var(--line);border-radius:22px;background:var(--surface);padding:0 2px 0 0;gap:0}
  .ucap #workBtn:not([hidden]){display:inline-flex;align-items:center;justify-content:center;width:auto !important;height:40px !important;min-height:0 !important;padding:0 6px 0 12px;border:0;background:none;color:var(--accent)}
  .ucap #workBtn svg{width:19px;height:19px}
  .ucap:has(#workBtn:not([hidden]))::after{content:"";order:1;width:1px;height:24px;background:var(--line);margin:0 2px}
  .ucap:has(#workBtn:not([hidden])) #goPerfil{order:2;flex:none;width:36px !important;height:36px !important;min-height:0 !important;min-width:0 !important;max-height:36px;aspect-ratio:1;border-radius:50%;border:0}
  .hbtns:has(#workBtn:not([hidden])){gap:6px!important}
}
@media (max-width:400px){.hbtns:has(#workBtn:not([hidden])){gap:4px!important}.hbtns:has(#workBtn:not([hidden]))>.iconbtn{width:38px;height:38px}}
@media (max-width:370px){.ucap #workBtn:not([hidden]){padding:0 4px 0 10px}.hbtns:has(#workBtn:not([hidden]))>.iconbtn{width:36px;height:36px}}

/* 2.59.2: card "Convide seus amigos" no Perfil */
.meinv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 14px;align-items:center}
.meinvtx{display:flex;flex-direction:column;gap:2px}.meinvtx b{font-size:1.02rem}
.meinv .btn{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px}
@media (min-width:700px){.meinv{grid-template-columns:auto minmax(0,1fr) auto}.meinv .btn{grid-column:auto;width:auto;padding:0 18px}}

/* 2.63.0: biblioteca de exercícios e "Meus exercícios" (Área de Trabalho) */
.exltabs button{flex:1 1 0;min-width:0;padding:8px 6px;font-size:.88rem;line-height:1.2}
.exlchips{margin:0 0 4px}
.exlchips button{min-height:34px;padding:4px 12px;font-size:.88rem}
.exllist{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.exlitem{display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px 6px 6px 6px}
.exlitem.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.exlmain{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:0}
.exlth{position:relative;width:58px;height:58px;flex:none;border-radius:10px;overflow:hidden;background:var(--fill-soft);display:grid;place-items:center;color:var(--accent)}
.exlth img,.exlth video{width:100%;height:100%;object-fit:cover;display:block}
.exlth .ytplay{transform:scale(.8)}
.exlinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.exlinfo b{font-size:.95rem;line-height:1.25;overflow-wrap:anywhere}
.exltags{display:flex;flex-wrap:wrap;gap:4px}
.exltags span{font-size:.74rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px}
.exlck{width:26px;height:26px;flex:none;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:var(--accent-ink,#fff)}
.exlitem.on .exlck{background:var(--accent);border-color:var(--accent)}
.exlstar,.exledit{width:40px;height:40px;flex:none;border:0;background:none;color:var(--muted);display:grid;place-items:center;padding:0;min-height:0;border-radius:50%;cursor:pointer}
.exlyt{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:50%;background:rgba(217,48,37,.12);color:#D93025;text-decoration:none}
.exlyt svg{fill:currentColor}
.exlmore{margin:6px 0 4px}
.exlstar[aria-pressed="true"]{color:#E0A21B}.exlstar[aria-pressed="true"] svg{fill:currentColor}
.exlbar{position:sticky;bottom:0;display:flex;align-items:center;gap:12px;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 10px 10px 16px;margin-top:14px;box-shadow:0 -8px 24px -12px rgba(0,0,0,.25)}
.exlbar .btn{width:auto;padding:0 18px;flex:none}
#exlSheet{z-index:20}#exmSheet{z-index:21}
.exlfil{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 4px}
.exlfb{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px 6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;max-width:100%}
.exlfb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exlfb.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#fff)}
.exlfb[aria-expanded="true"] svg{transform:rotate(180deg)}
.exlmenu{position:absolute;left:0;top:calc(100% + 6px);z-index:5;min-width:240px;max-width:100%;max-height:min(60vh,420px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:6px}
.exlmenu button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:10px;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.exlmenu button span:first-child{flex:1}
.exlmenu button[aria-selected="true"]{background:var(--fill-soft);font-weight:700;color:var(--accent)}
#exlSheet .sheetbody{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
#feLib{margin-bottom:10px}
.exmfile{display:flex;gap:12px;align-items:center;margin:4px 0 4px}
.exmprev{flex:none}.exmprev .exlth,.exmprev .exthumb{width:96px;height:120px}
.exmprev img,.exmprev video{width:96px;height:120px;object-fit:cover;border-radius:12px;display:block;background:#000}
.exmpick{display:inline-flex;align-items:center;justify-content:center;width:auto;padding:0 16px;cursor:pointer}
.exmwork{position:fixed;left:0;top:0;width:2px;height:2px;opacity:0;pointer-events:none}
.exmidph{display:grid;place-items:center;width:100%;height:100%;color:#fff;opacity:.8}
.exthumb.exmid video{width:100%;height:100%;object-fit:cover;display:block}
.ytframe:has(>video),.ytframe:has(>img){aspect-ratio:auto;max-height:80vh;display:flex;justify-content:center}
.ytframe>video,.ytframe>img{max-width:100%;max-height:80vh;display:block;margin:0 auto}
@media (min-width:1024px){
  #exlSheet{--sw:760px}#exmSheet{--sw:600px}
  .exlchips{flex-wrap:wrap;overflow:visible}
}
/* 2.64.0: anamnese (Prontuário do profissional e resposta do aluno) */
.anitem{border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:8px;background:var(--surface)}
.anhead{display:flex;align-items:center;gap:10px}
.anitem .del{margin-top:6px}
.andet summary{cursor:pointer;color:var(--accent);font-weight:700;margin-top:8px;font-size:.92rem}
.anresp{margin:8px 0 0;display:grid;gap:4px}
.anresp dt{font-size:.85rem;color:var(--muted);margin-top:8px}
.anresp dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.anresp dd.ansim{color:var(--bad)}
.anq{border:1px solid var(--line);border-radius:14px;padding:12px;margin:0 0 10px;background:var(--surface);min-width:0}
.anq legend{display:contents}
.anq legend{font-weight:600;line-height:1.35}
.anq>legend+*{margin-top:10px}
.anqn{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--fill-soft);color:var(--accent);font-size:.8rem;font-weight:700;margin-right:8px;vertical-align:1px}
.anq .seg{margin-top:10px}
.anq textarea{margin-top:10px;width:100%;box-sizing:border-box}
.anq.anfalta{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad) inset}
.anobs{background:var(--fill-soft);border-radius:12px;padding:10px 12px;margin:8px 0}
.anobs p{margin:4px 0 0;overflow-wrap:anywhere}
.anacts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px}
.anacts .linkbtn{display:inline-flex;align-items:center;gap:6px;padding:4px 0}
.anacts .del{margin:0 0 0 auto}
.anmods{display:grid;gap:8px;margin-top:10px}
.anmod{border:1px dashed var(--line);border-radius:14px;padding:10px 12px}
.anmodn{display:flex;flex-direction:column;gap:2px}
.anmodb{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.anmodb .btn{flex:1 1 150px;width:auto;padding:0 12px}
/* 2.75.3: no computador, botões pequenos à direita do nome do modelo */
@media (min-width:1024px){ .anmod{display:flex;align-items:center;gap:16px} .anmodn{flex:1;min-width:0} .anmodb{margin:0;flex-wrap:nowrap} .anmodb .btn{flex:none;min-height:38px;padding:0 16px;font-size:.9rem} }
.anobsf{margin-top:6px}.anobsf textarea{width:100%;box-sizing:border-box}


/* 2.65.0: equilíbrio muscular (aba Fitness) */
.eqcard h3{margin:0 0 10px}
.eqrow{display:grid;grid-template-columns:minmax(0,9.5em) 1fr 4.6em;align-items:center;gap:10px;padding:5px 0}
.eqn{font-size:.95rem;line-height:1.2;min-width:0}
.eqn small{display:block;color:var(--muted);font-size:.76rem}
.eqbar{height:12px;border-radius:99px;background:var(--fill-soft);overflow:hidden}
.eqbar i{display:block;height:100%;border-radius:99px;background:var(--moss)}
.eqd{text-align:right;color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}
.eq-mid .eqbar i{background:var(--sun)}
.eq-late .eqbar i{background:var(--bad)}
.eq-late .eqd{color:var(--bad);font-weight:700}
.eqnote{margin:10px 0 0}
.eqgo{margin-top:10px;width:100%}
@media (min-width:1024px){ .eqgo{width:auto} }
.eqtip{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:var(--warn-soft);color:var(--warn)}

/* 2.67.0: copiar ficha/plano, mensagem para vários, presença, cargas, planos recorrentes (Área de Trabalho) */
.cpklist,.cgl,.cpres,.cglist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cpk{width:100%;display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:56px}
.cpk b{flex:1;min-width:0;overflow-wrap:anywhere}
.chd p:has(.cgrplink){display:flex;flex-wrap:wrap;align-items:center;column-gap:14px;row-gap:2px}
.cgrplink{display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:4px 0;margin:0;font:inherit;font-weight:700;color:var(--accent);cursor:pointer;min-height:0;white-space:nowrap}
.cgfil{margin-bottom:10px;flex-wrap:wrap}.cgfil button{flex:1 1 auto}
.cgl label{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 12px;cursor:pointer}
.cgl label>span:not(.avatar){flex:1;min-width:0;overflow-wrap:anywhere}
.cgl .avatar,.cpk .avatar{flex:none}
.cgl input{width:20px;height:20px;flex:none;accent-color:var(--accent)}
.agpres{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:0 0 12px;background:var(--surface)}
.agpres .seg{margin-top:6px}
.cpresi{width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:0}
.cpresi>span:first-child{grid-column:1;font-size:.85rem;color:var(--muted)}
.cpresi>b{grid-column:1;font-size:.95rem;overflow-wrap:anywhere}
.cpresi>.cchip{grid-column:2;grid-row:1/3}
.ccg{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface)}
.cglist li{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:8px 0}
.cglist li:last-child{border-bottom:0}
.cgn{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cgn b{overflow-wrap:anywhere}
.cgv{white-space:nowrap;color:var(--accent)}
.finpld{display:block;margin-top:2px}
#grpAskChips button,#aeGrpChips button{min-height:34px;padding:4px 12px;font-size:.92rem}

/* 2.68.0: Fichas — Nova ficha / Montar com IA / Importar (empilhados e centralizados), escolha da Nova ficha e importação */
.cfacts{display:flex;flex-direction:column;align-items:stretch;gap:10px;max-width:380px;margin:14px auto 0}
.cfacts .btn{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 6px;width:100%}
.cfacts .btn small{flex-basis:100%;text-align:center;font-weight:500;font-size:.78rem;opacity:.8;margin-top:-2px}
#fImp{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 6px}
#fImp small{flex-basis:100%;text-align:center;font-weight:500;font-size:.78rem;opacity:.8;margin-top:-2px}
#cfImp{min-height:62px}
.cfacts .linkbtn{align-self:center;margin-top:2px}
.cfesc{display:grid;gap:10px}
.cfopt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;font:inherit;color:inherit;cursor:pointer;min-height:0}
.cfopt>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.cfopt small{color:var(--muted);font-size:.86rem;line-height:1.35}
a.cfopt{text-decoration:none;box-sizing:border-box}
/* 2.69.0: ficha recolhida na ficha do aluno (toque abre os exercícios) */
.cfhead{display:flex;gap:12px;align-items:center;flex:1;min-width:200px;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:0}
.cfinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cfchev{color:var(--muted);display:grid;place-items:center;transition:transform .2s}
.cfhead[aria-expanded="true"] .cfchev{transform:rotate(180deg)}
.cfbtns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}
.cfb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;padding:8px 4px;border-radius:14px;border:1.5px solid var(--line);background:transparent;color:var(--accent);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.cfb:active{background:var(--surface)}
.cfb:disabled{opacity:.5}
.cfdel{color:var(--muted)}
.cfdel.arm{border-color:var(--bad);color:var(--bad)}
@media (min-width:1024px){ .cfbtns{grid-template-columns:repeat(4,96px);width:auto} }
.cfimp.ok{opacity:.7}
.cfimpl{margin:6px 0 12px;padding-left:20px;display:grid;gap:6px}
.cfimpl li b{display:block;overflow-wrap:anywhere}
/* 2.72.0: local no post (como no Instagram) */
.psloc{margin:0 0 14px}
.psloc .pslocbtn{display:flex;align-items:center;gap:10px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:0}
.psloc .pslocbtn>span{flex:1;min-width:0}
.psloc .pslocbtn small{display:block;color:var(--muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.psloc .pslocbtn .ic{color:var(--accent);flex-shrink:0}
.psloc .pslocx{background:none;border:0;color:var(--muted);font-size:1.1rem;padding:4px 6px;cursor:pointer;min-height:0}
.plclist{margin-top:12px;display:grid;gap:2px}
.plcit{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 4px;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:0}
.plcit>span{flex:1;min-width:0}
.plcit small{display:block;color:var(--muted);font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plcit .ic{color:var(--muted);flex-shrink:0}
.plocal{display:inline-flex;align-items:center;gap:3px;color:var(--ink);font-size:.82rem;text-decoration:none;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.plocal .ic{color:var(--accent);flex-shrink:0}
/* 2.73.0: editar post */
.fpeimg{margin:0 0 14px;border-radius:14px;overflow:hidden;max-height:260px;display:flex;justify-content:center;background:var(--surface)}
.fpeimg img{max-width:100%;max-height:260px;object-fit:contain;display:block}
/* 2.74.0: menu de três pontinhos no post */
.posthead{position:relative}
.pmenubtn{background:none;border:0;color:var(--muted);padding:6px;margin:-6px -6px -6px 0;border-radius:50%;display:grid;place-items:center;cursor:pointer;min-height:0;flex-shrink:0}
.pmenubtn[aria-expanded="true"]{background:var(--bg);color:var(--ink)}
.pmenu{position:absolute;right:12px;top:calc(100% - 6px);z-index:5;min-width:190px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.28);padding:6px;display:grid}
.pmenu[hidden]{display:none}
/* 2.90.0: denunciar e bloquear */
.cmrep{background:none;border:0;padding:0 2px;margin-left:4px;color:var(--muted);font:inherit;font-size:.8rem;text-decoration:underline;cursor:pointer}
.denlist{display:grid;gap:6px}
.denop{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;margin-top:6px}
.denop input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--accent)}
.denlist .denop{margin-top:0}
.pmenu.up{top:auto;bottom:calc(100% - 6px)}
.mxdots{position:relative;flex-shrink:0;display:flex}
.mxdots .pmenu{right:0;top:100%}
.mxdots .pmenu.up{top:auto;bottom:100%}
.pmenu button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:10px;padding:11px 12px;font:inherit;font-size:.95rem;color:var(--ink);text-align:left;cursor:pointer;min-height:0}
.pmenu button:active{background:var(--bg)}
.pmenu .pmdel{color:var(--bad)}
.pmenu .pmdel.arm{background:var(--bad);color:#fff}

/* 2.74.1: no celular a busca de alunos ocupa a linha toda (com poucos alunos ela dividia a linha com os filtros e ficava espremida) */
@media (max-width:1023px){ .ctblhead .cqbox{flex:1 1 100%;max-width:none} }
/* 2.77.0: topo do feed (botão + e contadores como no Instagram) */
.fdplus{width:46px;height:46px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;cursor:pointer;flex-shrink:0;min-height:0;padding:0}
.fdplus:active{transform:scale(.95)}
.fdstats{display:flex;flex-direction:column;align-items:stretch;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 10px}
.fdsme{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;min-height:0;max-width:96px;flex-shrink:0}
.fdsme b{font-size:.82rem;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fdsme .fdsav{width:58px;height:58px;font-size:1.3rem}
.fdsnums{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;text-align:center}
.fdsn{display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:0;padding:6px 2px;border-radius:12px;font:inherit;color:inherit;min-height:0}
button.fdsn{cursor:pointer}button.fdsn:active{background:var(--bg)}
.fdsn b{font-family:var(--display);font-size:1.25rem;line-height:1.1}
.fdsn small{color:var(--muted);font-size:.82rem}
.fdmine{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.fdmine b{margin-left:auto;font-family:var(--display)}
.fdback{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:6px 0;font:inherit;font-weight:700;color:var(--accent);cursor:pointer;min-height:0}
.fdsn[aria-pressed="true"]{background:var(--bg)}
.fdsrow{display:flex;align-items:center;gap:14px}
.fdsfol .btn{width:100% !important;padding:9px 14px !important}
.plperfil{display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:0;flex:1;min-width:0}
/* 2.79.0: selo do treino importado do relógio (Health Connect) */
.hcsrc{display:inline-flex;align-items:center;gap:3px;color:var(--ok)}

/* 2.97.0: visual com degradê. Fundo do app em degradê suave (azul no topo) e brilho só nos destaques:
   botões (os cheios em gradiente; os de contorno com o contorno em gradiente), barra de progresso do dia, "journey" do nome,
   ícone da tela atual na barra de baixo, opções marcadas e os cartões azuis do MyBets.
   O gradiente vai do azul da marca (#3E6A86) ao azul-claro da paleta (#8CC8E8). Cartões comuns e cores de status ficam como eram. */
:root{--neon:#4F8DB0;--grad:linear-gradient(120deg,#3E6A86 0%,#5B91B5 55%,#8CC8E8 100%);--glow:0 8px 22px -8px rgba(91,145,181,.6);
  --heroGrad:linear-gradient(135deg,#2B4D63 0%,#3E6A86 45%,#6FA3C6 100%);
  --fundo:linear-gradient(180deg,#DCEAF3 0%,#E9F0F5 38%,#F2F4F6 70%,#EEF1F4 100%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--neon:#8CC8E8;--grad:linear-gradient(120deg,#3E6A86 0%,#4F8DB0 50%,#8CC8E8 100%);--glow:0 0 20px -4px rgba(140,200,232,.5);
  --heroGrad:linear-gradient(135deg,#22384A 0%,#3E6A86 50%,#5B91B5 100%);
  --fundo:linear-gradient(180deg,#24384B 0%,#1F2C3A 35%,#1B232D 70%,#171E27 100%)}}
:root[data-theme="dark"]{--neon:#8CC8E8;--grad:linear-gradient(120deg,#3E6A86 0%,#4F8DB0 50%,#8CC8E8 100%);--glow:0 0 20px -4px rgba(140,200,232,.5);
  --heroGrad:linear-gradient(135deg,#22384A 0%,#3E6A86 50%,#5B91B5 100%);
  --fundo:linear-gradient(180deg,#24384B 0%,#1F2C3A 35%,#1B232D 70%,#171E27 100%)}
/* degradê numa camada fixa atrás de tudo (o iPhone ignora background-attachment:fixed) */
body:not(.out){background:transparent}
body:not(.out)::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--fundo);pointer-events:none}
.btn:not(.ghost):not(.danger):not(.agdtoday):not(:disabled){background:var(--grad);color:#fff;box-shadow:var(--glow)}
.btn:not(.ghost):not(.danger):not(.agdtoday):not(:disabled):active{filter:brightness(.92)}
/* botões de contorno: o contorno vira gradiente (o miolo fica na cor do cartão) */
.btn.ghost:not(.danger):not(:disabled){border-color:transparent !important;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--grad) border-box}
.btn.ghost:not(.danger):not(:disabled):active{filter:brightness(.95)}
#cardBets,.bhero{background:var(--heroGrad) !important;box-shadow:var(--glow)}
.hjbar i{background:var(--grad);box-shadow:0 0 10px rgba(111,170,208,.45)}
.hjcard.full .hjbar i{background:var(--ok);box-shadow:none}
.wordmark span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent !important}
.chip[aria-pressed="true"],.seg button[aria-pressed="true"]{background:var(--grad);color:#fff;box-shadow:var(--glow)}
@media (max-width:1023px){
  nav.bar button[aria-current="page"]{color:var(--neon);position:relative}
  nav.bar button[aria-current="page"] svg{filter:drop-shadow(0 0 6px rgba(111,170,208,.7))}
  nav.bar button[aria-current="page"]::after{content:"";position:absolute;top:3px;left:50%;width:18px;height:3px;margin-left:-9px;border-radius:3px;background:var(--grad);box-shadow:0 0 8px var(--neon)}
}
@media (prefers-reduced-motion:reduce){.btn:not(.ghost){box-shadow:none}}
/* 2.97.2: o degradê azul em todos os cartões e botões azul-escuros (antes só no MyBets e nos .btn) */
#cardTreinos,.strip{background:var(--heroGrad) !important;box-shadow:var(--glow)}
body:not(.out) .seg button[aria-pressed="true"],.agper button[aria-pressed="true"],.ftabs button[aria-pressed="true"],.pltabs button[aria-pressed="true"],
.croles button[aria-pressed="true"],.cdays button[aria-pressed="true"],.gchips button[aria-pressed="true"],.bpick[aria-pressed="true"],.exlfb.on,.x3slow[aria-pressed="true"],
#coachSheet .cmobinv,#editBar button,#updBar button,.celbtn,.rbpbtn,.rtbtn.play,.addbtn,.fdplus,.agfab,.agdadd,.tvtag{background:var(--grad) !important;border-color:transparent !important;color:#fff !important;box-shadow:var(--glow) !important}
.agweek button[aria-pressed="true"] b,.agdh.today b,.agdcell.today .agdnum,.excheck[aria-pressed="true"],.exlitem.on .exlck,.pqaroles button[aria-pressed="true"] .pqack{background:var(--grad) !important;border-color:transparent !important;color:#fff !important}
.worktip{background:var(--heroGrad)}.worktip i{background:#2F5570}
.usob i,.pabar i,.pabuild i,.obstep i,.bsteps i.on,.pdots button[aria-current="true"],#tourDots i.on{background:var(--grad)}
/* 2.97.3: barras de progresso dos cartões em degradê da própria cor (mais clara no começo, mais forte na ponta),
   por cima da cor que cada barra já tem; assim verde, laranja, vermelho e azul continuam com o mesmo significado */
.mbar i,.eqbar i,.finbt i,.avcomp i,.gcfill,.mbstack span,.splits .bar{background-image:linear-gradient(90deg,rgba(255,255,255,.32) 0%,rgba(255,255,255,.08) 55%,rgba(0,0,0,.10) 100%) !important}
/* 2.98.0: no celular, a barra de baixo vira uma barra flutuante arredondada (fundo translúcido, desfoque e sombra) */
@media (max-width:1023px){
  body:not(.out){padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
  nav.bar{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));padding:0 6px;border:1px solid var(--line) !important;border-radius:30px;
    background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 32px -10px rgba(20,40,60,.35)}
  nav.bar .in button{padding:10px 1px 11px}
  nav.bar button[aria-current="page"]::after{top:2px}
  .toast,#instBar{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  #editBar{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
  .psave{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .bwfoot{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:900px){
  #coachSheet .cmods{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));padding:6px;border:1px solid var(--line);border-radius:30px;
    background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 32px -10px rgba(20,40,60,.35)}
  #coachSheet .cmods>.cnav{border-radius:24px}
  #coachSheet .agfab{bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  #coachSheet .cmain{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px)) !important}
}
/* 2.99.0: cartões do topo do Início (peso, desde o início, próxima dose) em degradê da própria cor, ícone colorido com brilho
   e uma linha de detalhe (variação da semana, barra até a meta, remédio e dose; pontinho aceso quando a dose é hoje) */
.hjst{--g1:#FFFFFF;--g2:#E6EFF6;--g3:#CFE0EC;--i1:#8CC8E8;--i2:#3E6A86;--sub:#2A5F7E;
  background:linear-gradient(150deg,var(--g1) 0%,var(--g2) 45%,var(--g3) 100%) !important;box-shadow:0 8px 20px -12px rgba(30,50,70,.35),inset 0 1px 0 rgba(255,255,255,.9)}
.hjst-ok{--g2:#E8F4EC;--g3:#CDE7D6;--i1:#9FDDB8;--i2:#2E6B4C;--sub:#2E6B4C}
.hjst-up,.hjst-dose{--g2:#FCEEE5;--g3:#F7D6C3;--i1:#FFC2A0;--i2:#E8875A;--sub:#9E4523}
.hjst .hjic{background:linear-gradient(135deg,var(--i1),var(--i2)) !important;color:#fff !important;box-shadow:0 6px 14px -4px color-mix(in srgb,var(--i2) 70%,transparent)}
.hjst .hjsub{display:block;font-size:11.5px;font-weight:600;line-height:1.25;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.hjmeta{display:block;width:100%;height:5px;border-radius:3px;background:color-mix(in srgb,var(--i2) 18%,transparent);margin:4px 0 1px;overflow:hidden}
.hjmeta i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--i1),var(--i2))}
.hjst .hjtx2{width:100%}
.hjst{position:relative}.hjdot{position:absolute;top:14px;right:14px;width:9px;height:9px;border-radius:50%;background:var(--i2);box-shadow:0 0 0 3px color-mix(in srgb,var(--i2) 25%,transparent);animation:hjpulse 1.6s ease-in-out infinite}
@keyframes hjpulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--i2) 0%,transparent),0 0 10px var(--i2)}}
@media (prefers-reduced-motion:reduce){.hjdot{animation:none}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hjst{--g1:#4A7697;--g2:#30485E;--g3:#263A4D;--i1:#B8DDF1;--i2:#8CC8E8;--sub:#B8DDF1;box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
  :root:not([data-theme="light"]) .hjst-ok{--g1:#3F6E52;--g2:#2A4334;--g3:#22352A;--i1:#B9EBCD;--i2:#7FC29B;--sub:#B9EBCD}
  :root:not([data-theme="light"]) .hjst-up,:root:not([data-theme="light"]) .hjst-dose{--g1:#7A4A36;--g2:#46302A;--g3:#382622;--i1:#FFC9AC;--i2:#F2A47E;--sub:#FFC9AC}
  :root:not([data-theme="light"]) .hjst .hjic{color:#16202A !important;box-shadow:0 0 16px -2px color-mix(in srgb,var(--i2) 70%,transparent)}}
:root[data-theme="dark"] .hjst{--g1:#4A7697;--g2:#30485E;--g3:#263A4D;--i1:#B8DDF1;--i2:#8CC8E8;--sub:#B8DDF1;box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
:root[data-theme="dark"] .hjst-ok{--g1:#3F6E52;--g2:#2A4334;--g3:#22352A;--i1:#B9EBCD;--i2:#7FC29B;--sub:#B9EBCD}
:root[data-theme="dark"] .hjst-up,:root[data-theme="dark"] .hjst-dose{--g1:#7A4A36;--g2:#46302A;--g3:#382622;--i1:#FFC9AC;--i2:#F2A47E;--sub:#FFC9AC}
:root[data-theme="dark"] .hjst .hjic{color:#16202A !important;box-shadow:0 0 16px -2px color-mix(in srgb,var(--i2) 70%,transparent)}
/* 2.100.0: botão de pausar o treino na barra do relógio */
.trpause{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}
.trpause:active{background:rgba(255,255,255,.18)}
.trbar #trRest{margin-left:auto}
/* 2.103.0: no computador, o fundo atrás do menu lateral volta a ser o azul-petróleo escuro também no modo claro
   (desde a 2.97.2 a camada do degradê claro cobria esse fundo e o menu, de letras claras, ficava apagado) */
@media (min-width:1024px){body:not(.out)::before{background:linear-gradient(160deg,#16232E,#22405A 70%)}}
/* 2.104.0: Vyta, coach de IA (botão no Início, dica e conversa) */
.vyfab{position:fixed;right:16px;bottom:calc(74px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:29px;padding:0;min-height:0;z-index:6;cursor:pointer;
 background:radial-gradient(circle at 32% 26%,#2C7898,#0F2938 72%);border:2px solid #5FD8FF;color:#fff;display:flex;align-items:center;justify-content:center;
 box-shadow:0 0 0 4px rgba(95,216,255,.16),0 0 18px rgba(95,216,255,.65),0 8px 18px rgba(0,0,0,.3)}
.vyfab[hidden],.vytip[hidden]{display:none}
.vyfab svg{width:36px;height:36px;filter:drop-shadow(0 0 4px rgba(200,246,255,.9)) drop-shadow(0 0 10px rgba(110,210,255,.7))}
.vydot{position:absolute;top:0;right:0;width:15px;height:15px;border-radius:8px;background:var(--sun);border:2.5px solid var(--bg)}
.vytip{position:fixed;right:84px;bottom:calc(83px + env(safe-area-inset-bottom,0px));z-index:6;display:flex;align-items:center;gap:8px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;
 border:1.5px solid var(--sky);border-radius:99px;padding:5px 14px 5px 5px;font-weight:700;font-size:.95rem;box-shadow:0 6px 18px rgba(0,0,0,.18);min-height:0}
.vytip::after{content:"";position:absolute;right:-7px;top:50%;width:12px;height:12px;background:var(--surface);border-right:1.5px solid var(--sky);border-top:1.5px solid var(--sky);transform:translateY(-50%) rotate(45deg)}
.vytip img{width:36px;height:36px;border-radius:50%;box-shadow:0 0 0 2px #5FD8FF}
.vytip small{display:block;font-weight:500;color:var(--muted);font-size:.78rem}
.vysheet{z-index:16}
.vysheet .vyhead{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface)}
.vysheet .vyhead.plain{border:0;background:transparent}
.vysheet .vyhead b{font-family:var(--display);font-size:1.12rem}
.vyst{font-size:.8rem;color:var(--ok);display:flex;align-items:center;gap:5px}.vyst::before{content:"";width:7px;height:7px;border-radius:4px;background:var(--ok)}
.vyib{width:44px;height:44px;border-radius:22px;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0;min-height:0;flex:none;cursor:pointer}
.vyav img{width:40px;height:40px;border-radius:50%;display:block;box-shadow:0 0 0 2px #5FD8FF,0 0 10px rgba(90,190,255,.5)}
.vybody{flex:1;overflow-y:auto;padding:14px 16px 12px;display:flex;flex-direction:column;gap:10px;max-width:640px;width:100%;margin:0 auto}
.vyhero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;margin:6px 0 4px}
.vyhero-av{position:relative;width:132px;height:132px;margin:18px 0 6px;border-radius:50%;box-shadow:0 0 50px rgba(90,190,255,.45)}
.vyhero-av img{width:100%;height:100%;border-radius:50%;display:block}
.vyhero-av::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px dashed rgba(140,200,232,.55)}
.vyhero-av::after{content:"";position:absolute;inset:-21px;border-radius:50%;border:1px solid rgba(140,200,232,.22)}
.vyhero-av i{position:absolute;border-radius:50%;background:#8CF0FF;box-shadow:0 0 8px #8CF0FF,0 0 16px #5B8CFF;width:9px;height:9px;top:-3px;right:3px}
.vyhero-av i.o2{width:6px;height:6px;top:auto;right:auto;bottom:13px;left:-17px;background:#C9B6FF;box-shadow:0 0 8px #A98BFF,0 0 14px #A98BFF}
.vyhero h2{font-size:1.7rem;margin:10px 0 0;display:flex;align-items:center;gap:6px}
.vyspark{color:var(--sky);display:inline-flex}
.vyhero p{margin:0;color:var(--muted);font-size:.9rem}.vyon{color:var(--ok)}
.vyb{max-width:86%;padding:10px 13px;border-radius:16px;font-size:.95rem;line-height:1.42;overflow-wrap:anywhere}
.vyb.v{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px;align-self:flex-start}
.vyb.u{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:5px;align-self:flex-end;white-space:pre-wrap}
.vyb p{margin:0 0 6px}.vyb p:last-child{margin:0}
.vyb.vyerr{border-color:var(--warn);color:var(--ink)}
.vyt{font-size:.72rem;color:var(--muted);margin:-4px 2px 0}.vyt.r{align-self:flex-end}
.vytyping{display:flex;gap:5px;padding:14px 16px}.vytyping i{width:7px;height:7px;border-radius:4px;background:var(--muted);animation:vyDot 1s infinite}
.vytyping i:nth-child(2){animation-delay:.15s}.vytyping i:nth-child(3){animation-delay:.3s}
@keyframes vyDot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.vygrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vygrid button{display:flex;align-items:center;gap:9px;min-height:50px;padding:8px 11px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.88rem;font-weight:600;text-align:left;line-height:1.2;cursor:pointer}
.vygrid svg{color:var(--accent);flex:none}
.vychips{display:flex;gap:6px;flex-wrap:wrap}
.vychips button{border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:99px;padding:6px 12px;font:inherit;font-size:.84rem;font-weight:600;min-height:36px;cursor:pointer;text-align:left}
.vyfoot{display:flex;align-items:flex-end;gap:8px;padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface)}
.vyin{flex:1;min-width:0;min-height:44px;border-radius:22px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:11px 16px;font:inherit;font-size:1rem;line-height:1.3;resize:none;display:flex;align-items:center;gap:10px}
.vysend{width:44px;height:44px;border-radius:22px;border:0;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;flex:none;padding:0;min-height:0;cursor:pointer}
.vydel{color:var(--bad)}
.vyred{width:10px;height:10px;border-radius:5px;background:var(--bad);flex:none;animation:vyPulse 1s infinite}
@keyframes vyPulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--bad) 25%,transparent)}}
.vywave{display:flex;align-items:center;gap:2px;height:22px;flex:1;min-width:0;overflow:hidden}
.vywave i{width:2.5px;border-radius:2px;background:currentColor;opacity:.75;height:30%;flex:none}
.vywave i:nth-child(3n){height:80%}.vywave i:nth-child(4n+1){height:55%}.vywave i:nth-child(5n+2){height:95%}
.vyrecbar .vywave{color:var(--accent)}.vyrecbar .vywave i{animation:vyWave 1s infinite alternate}
.vyrecbar .vywave i:nth-child(2n){animation-delay:.3s}
@keyframes vyWave{to{transform:scaleY(.4)}}
.vyaud{display:flex;align-items:center;gap:9px;min-width:170px}.vyaud small{font-size:.78rem;opacity:.85}
.vyplay{width:30px;height:30px;border-radius:15px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex:none}.vyplay svg{width:16px;height:16px}
.vytr{align-self:flex-end;max-width:86%;font-size:.84rem;color:var(--muted);font-style:italic;text-align:right;margin-top:-4px}
.vycard{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 12px 10px}
.vycard h4{margin:0 0 4px;font-family:var(--display);font-size:1rem;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.vycard h4 span{font-family:var(--body);font-weight:500;font-size:.76rem;color:var(--muted)}
.vycard svg{display:block}
.vystats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}
.vystats div{background:var(--bg);border-radius:11px;padding:7px 9px;min-width:0}
.vystats small{display:block;font-size:.72rem;color:var(--muted)}
.vystats b{display:block;font-family:var(--display);font-size:1.05rem}
.vystats em{font-style:normal;font-size:.7rem;color:var(--muted);font-weight:600;display:block;line-height:1.2}
.vylog{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1.5px solid var(--sky);border-radius:16px;padding:11px 12px;font-size:.9rem}
.vylog b{display:block;font-size:.95rem}.vylog small{color:var(--muted);font-size:.8rem}
.vylog ul{list-style:none;margin:6px 0 0;padding:0}.vylog li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid var(--line);font-size:.86rem}.vylog li:last-child{border:0}
.vylog li em{font-style:normal;color:var(--muted);white-space:nowrap}
.vylog.ok{border-color:var(--line);align-items:center}.vylog.off{opacity:.6}
.vyck{width:30px;height:30px;border-radius:15px;background:var(--moss-soft);color:var(--ok);display:flex;align-items:center;justify-content:center;flex:none}
.vyundo{color:var(--accent);font-weight:700;font-size:.88rem;background:transparent;border:0;padding:6px;min-height:40px;cursor:pointer}
.vybt{display:flex;gap:8px;margin-top:10px}
.vybt button{flex:1;border-radius:12px;padding:10px 6px;font:inherit;font-weight:700;font-size:.92rem;min-height:44px;cursor:pointer}
.vybt .p{background:var(--accent);color:var(--accent-ink);border:0}.vybt .g{border:1px solid var(--accent);color:var(--accent);background:transparent}
.vyok{background:var(--surface);border:1.5px solid var(--sky);border-radius:16px;padding:14px;font-size:.9rem;line-height:1.42}
.vyok b{font-family:var(--display);font-size:1.02rem}.vyok p{margin:6px 0}.vyok ul{margin:6px 0 8px;padding-left:18px}.vyok li{margin:2px 0}
.vynote{font-size:.76rem;color:var(--muted);text-align:center;margin:2px 8px 0}
.vywarn{display:flex;gap:8px;align-items:flex-start;font-size:.8rem;color:var(--muted);background:var(--surface);border-radius:10px;padding:8px 10px}
/* 2.105.0: Vyta fase 2 (anexos, exame, ficha, dose, peso, busca de profissional) */
.vyanx{position:fixed;inset:0;z-index:17}.vyanx[hidden]{display:none}
.vyanx-bg{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.vyanx-m{position:absolute;left:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));width:min(320px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 32px rgba(0,0,0,.28);padding:6px}
.vyanx-m [role=menuitem]{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-weight:600;font-size:.95rem;text-align:left;cursor:pointer;min-height:56px}
.vyanx-m [role=menuitem]+[role=menuitem]{border-top:1px solid var(--line);border-radius:0}
.vyanx-m small{display:block;font-weight:400;color:var(--muted);font-size:.78rem}
.vyanx-h{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;font-size:1rem;padding:8px 10px 10px;cursor:pointer;min-height:48px}
.vyanx-m .vyanx-h i{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:1rem}
.vyanx-n{margin:2px 12px 6px;font-size:.88rem;color:var(--ok);font-weight:700}
.vyanx-m i{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;font-style:normal;font-size:1.15rem}
.vyfile{align-self:flex-end;display:flex;align-items:center;gap:10px;background:var(--accent);color:var(--accent-ink);border-radius:16px;border-bottom-right-radius:5px;padding:10px 12px;max-width:86%;min-width:0}
.vyfile i{width:36px;height:44px;border-radius:6px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;font-size:.66rem;flex:none}
.vyfile b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vyfile small{display:block;opacity:.8;font-size:.76rem}
.vyex{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px}
.vyex h4{margin:0 0 2px;font-family:var(--display);font-size:1rem}
.vyex .sub{color:var(--muted);font-size:.78rem;margin-bottom:6px}
.vyex table{width:100%;border-collapse:collapse;font-size:.84rem}
.vyex td{padding:6px 0;border-top:1px solid var(--line);vertical-align:middle}
.vyex td:nth-child(2){text-align:right;font-weight:700;padding:6px 8px}
.vyex td small{display:block;color:var(--muted);font-size:.72rem;font-weight:400}
.vyex td:last-child{text-align:right;width:84px}
.vytag{display:inline-block;border-radius:99px;padding:2px 8px;font-size:.72rem;font-weight:700;white-space:nowrap}
.vytag.ok{background:var(--moss-soft);color:var(--moss-text)}.vytag.at{background:var(--sun-soft);color:var(--sun-text)}.vytag.fo{background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad)}.vytag.sr{background:var(--bg);color:var(--muted)}
.vylegal{display:flex;gap:9px;align-items:flex-start;background:var(--sun-soft);color:var(--ink);border-radius:12px;padding:10px 12px;font-size:.82rem;line-height:1.4}
.vylegal b{color:var(--sun-text)}
.vypro{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.vypro .ph{width:44px;height:44px;border-radius:50%;flex:none;background:var(--fill-soft);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--accent);font-family:var(--display)}
.vypro b{display:block;font-size:.93rem}.vypro small{display:block;color:var(--muted);font-size:.78rem}
.vypro .go{margin-left:auto;border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:99px;padding:6px 14px;font:inherit;font-weight:700;font-size:.84rem;min-height:36px;cursor:pointer;flex:none}
.vywarn2{display:flex;gap:7px;align-items:flex-start;color:var(--sun-text);font-size:.8rem;margin-top:6px}
.vychips button[disabled]{opacity:.6;cursor:default}
/* 2.109.0: Vyta, academias perto */
.vygym{padding:9px 0;border-top:1px solid var(--line)}
.vygym b{display:block;font-size:.93rem}.vygym small{display:block;color:var(--muted);font-size:.78rem}
.vygym .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px;align-items:center}
.vypill{border-radius:99px;padding:2px 9px;font-size:.72rem;font-weight:700}
.vypill.wh{background:#FFE6EE;color:#B3164A}.vypill.tp{background:#E4F1FF;color:#0B5CAD}.vypill.md{background:var(--fill-soft);color:var(--accent)}
.vygym .map{margin-left:auto;color:var(--accent);font-weight:700;font-size:.82rem;text-decoration:none;padding:6px 0}
.vysrc{font-size:.74rem;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.vysrc a{color:var(--accent)}
.vycount{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:3px 10px;align-self:flex-start}
.vybairro{width:100%;margin-top:8px;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;padding:10px 12px}
@media (min-width:1024px){
  .vyfab{bottom:28px;right:28px}
  .vytip{bottom:37px;right:96px}
  .vyanx-m{left:auto;right:452px;bottom:84px}
  .vysheet{left:auto;width:440px;border-left:1px solid var(--line);box-shadow:-12px 0 32px rgba(0,0,0,.18)}
}
/* 2.105.3: aviso de versão nova do app Android (abaixo do aviso de versão nova do site) */
#apkBar{position:fixed;left:50%;transform:translateX(-50%);top:calc(10px + env(safe-area-inset-top,0px));z-index:34;display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--bg);padding:8px 6px 8px 16px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25);font-weight:700;font-size:.92rem;white-space:nowrap;max-width:calc(100% - 24px)}
#apkBar[hidden]{display:none}
#apkBar span{overflow:hidden;text-overflow:ellipsis}
#apkBar #apkGo{background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:8px 14px;min-height:0;font-weight:700}
#apkBar #apkX{background:transparent;border:0;color:var(--bg);font-size:1.3rem;line-height:1;padding:4px 10px;min-height:0;opacity:.8}
#updBar:not([hidden])~#apkBar{top:calc(64px + env(safe-area-inset-top,0px))}
/* 2.105.7: botão da Vyta com o rosto dela, selo da estrela de IA e "Fale com a Vyta" embaixo (o balão saiu) */
.vyfab.vyface{width:auto;height:auto;border-radius:0;background:none;border:0;box-shadow:none;flex-direction:column;gap:3px;bottom:calc(86px + env(safe-area-inset-bottom,0px));right:12px}
.vyface .vyfr{position:relative;width:60px;height:60px;display:block}
.vyface .vyfr img{width:60px;height:60px;border-radius:50%;object-fit:cover;display:block;border:3px solid var(--surface);box-sizing:border-box;box-shadow:0 0 0 2px #5FD8FF,0 0 16px rgba(95,216,255,.6),0 8px 18px rgba(0,0,0,.25)}
.vyface .vyselo{position:absolute;right:-4px;bottom:-2px;width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#2C7898,#0F2938 72%);border:2px solid var(--surface);display:grid;place-items:center}
.vyface .vyselo svg{width:15px;height:15px;filter:drop-shadow(0 0 3px rgba(200,246,255,.9))}
.vyface .vydot{top:-1px;right:-1px;width:14px;height:14px}
.vyface small{font-size:.68rem;font-weight:800;color:var(--sky-text);background:color-mix(in srgb,var(--surface) 85%,transparent);border-radius:99px;padding:1px 7px;white-space:nowrap;line-height:1.4}
@media (min-width:1024px){.vyfab.vyface{bottom:24px;right:24px}}
/* 2.108.0: histórico de treinos em tela própria (botão em Registros) */
#atvReg:not(.ahopen)>#ahView{display:none}
#atvReg.ahopen>:not(#ahView){display:none !important}
.ahbtn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.ahbtn .ahic{width:40px;height:40px;border-radius:12px;flex-shrink:0;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center}
.ahbtn .ahtx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ahbtn .ahchev{font-size:1.6rem;color:var(--accent);line-height:1}
.ahfilt{margin:10px 0 0;justify-content:center}
.ahfilt .exlmenu{left:50%;transform:translateX(-50%)}
#ahMore{margin-top:10px;width:100%}
@media (min-width:1024px){ #atvReg.ahopen:not([hidden]){display:block} }
/* 2.110.0: apresentação da Vyta (conta nova, uma vez) */
.vyintro{z-index:31;overflow-y:auto}
.vyintro .vyi-in{flex:1;padding:24px 20px 8px;max-width:520px;width:100%;margin:0 auto;box-sizing:border-box}
.vyi-top{position:relative;width:112px;height:112px;margin:8px auto 14px}
.hcf-top{width:112px;height:112px;margin:8px auto 14px;border-radius:50%;display:grid;place-items:center;font-size:3.6rem;line-height:1;background:var(--sky-soft);box-shadow:0 0 0 5px var(--surface),0 0 0 8px rgba(140,200,232,.55)}   /* 2.124.0: convite do Health Connect */
.vyi-top img{width:112px;height:112px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 0 0 5px var(--surface),0 0 0 8px rgba(140,200,232,.55),var(--glow)}
.vyi-top .vyselo{position:absolute;right:2px;bottom:4px;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#2C7898,#0F2938 72%);display:grid;place-items:center;box-shadow:0 0 0 3px var(--surface)}
.vyi-top .vyselo svg{filter:drop-shadow(0 0 3px rgba(200,246,255,.9))}
.vyi-top .vyselo svg{width:24px;height:24px}
.vyintro h2{text-align:center;margin:0;font-size:1.6rem}
.vyi-lead{text-align:center;color:var(--muted);margin:8px 0 18px;line-height:1.45}
.vyi-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.vyi-lista li{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.vyi-ic{width:38px;height:38px;border-radius:12px;background:var(--fill-soft,var(--bg));display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.vyi-lista b{display:block}.vyi-lista small{display:block;color:var(--muted);font-size:.86rem;line-height:1.35;margin-top:2px}
.vyi-nota{display:flex;gap:8px;font-size:.84rem;color:var(--muted);margin:16px 2px 0;line-height:1.4}
.vyi-bt{display:flex;flex-direction:column;gap:8px;padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px));max-width:520px;width:100%;margin:0 auto;box-sizing:border-box;position:sticky;bottom:0;background:var(--bg);box-shadow:0 -10px 18px -12px rgba(0,0,0,.25)}
@media (min-width:1024px){
  .vyintro{background:rgba(30,38,48,.55);align-items:center;justify-content:center}
  .vyintro .vyi-in,.vyintro .vyi-bt{background:var(--bg)}
  .vyintro .vyi-in{flex:0 0 auto;border-radius:24px 24px 0 0;max-width:480px;padding-top:28px}
  .vyintro .vyi-bt{border-radius:0 0 24px 24px;max-width:480px;flex-direction:row-reverse;position:static;box-shadow:none}
  .vyintro .vyi-bt .btn{flex:1}
}
/* 2.111.0: cartão "Quer que eu te lembre?" no Início */
.ntask{padding:14px 16px}
.ntask-in{display:flex;gap:12px;align-items:flex-start}
.ntask-in b{display:block;margin-bottom:2px}
.ntask-ic{width:40px;height:40px;border-radius:12px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ntask-bt{display:flex;gap:8px;margin-top:12px}
.ntask-bt .btn{flex:1;min-height:42px;padding:8px 12px}

/* 2.113.3: Workspace com cara de sistema web.
   Topo com sino (todas as larguras); no computador também agenda, aparência e foto, e a mesma moldura do app do usuário:
   logo no menu lateral, faixa em degradê dentro do painel de conteúdo, botões e cartões padronizados. */
.chbtns{display:flex;align-items:center;gap:8px}
.chbtns .iconbtn{position:relative;color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.12);width:40px;height:40px}
.chbtns .iconbtn:hover{background:rgba(255,255,255,.22)}
.chdesk{display:none !important}
.cbelln{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#C2702E;color:#fff;font-size:.7rem;font-weight:800;display:grid;place-items:center;box-sizing:border-box;border:2px solid #3E6A86}
.cbelln[hidden]{display:none}
.cmebtn{overflow:hidden;padding:0 !important}
.cmebtn .cmeav{width:100%;height:100%;display:grid;place-items:center;font-weight:800;background:transparent}
.cmebtn .cmeav img{width:100%;height:100%;object-fit:cover;display:block}
.cbrand{display:none}
body:has(#coachSheet:not([hidden])) .npanel{z-index:30}
@media (max-width:480px){#coachSheet .chdr>.ctl{display:none}#coachSheet .chdr{flex-wrap:nowrap}}
@media (min-width:1024px){
  .chdesk{display:grid !important}
  .cbrand{display:flex;align-items:center;gap:10px;padding:4px 6px 18px}
  .cbrand img{width:40px;height:40px;border-radius:10px}
  .cbrand .wordmark{font-size:1.45rem;color:#fff}.cbrand .wordmark span{color:#8CC8E8 !important}
  #coachSheet .cside .cswitch{font-size:.9rem;white-space:nowrap}
  /* moldura: menu à esquerda em toda a altura; faixa do topo e conteúdo formam um painel só */
  #coachSheet:not([hidden]){display:grid !important;grid-template-columns:256px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  #coachSheet .cwrap{display:contents}
  #coachSheet .cside{grid-column:1;grid-row:1 / span 2;padding:20px 16px;min-height:0}
  #coachSheet .chdr{grid-column:2;grid-row:1;margin:14px 14px 0 0;border-radius:28px 28px 0 0;padding:18px 28px !important;min-height:56px;box-shadow:none}
  #coachSheet .chdr>.clogo,#coachSheet .chdr>.ctl{display:none}
  #coachSheet .chdr>.croles{position:static;transform:none;margin:0}
  #coachSheet .cmain{grid-column:2;grid-row:2;margin:0 14px 14px 0;border-radius:0 0 28px 28px;border-top:0 !important;padding:24px 32px 48px;gap:16px}
  #coachSheet .cmain>*{max-width:1600px}
  /* botões no padrão de sistema: mesma altura, cantos discretos, sem brilho */
  #coachSheet .cmain .btn,#kbSheet .btn,#coachSheet .chdr .btn{border-radius:10px !important;min-height:40px;min-width:0;padding:0 18px;font-size:.95rem;box-shadow:none !important}
  #coachSheet .cmain .btn.ghost,#kbSheet .btn.ghost{border-width:1px !important}
  #coachSheet .cqab{min-height:40px;border-radius:10px;border-width:1px}
  #coachSheet .cmain .block{border-radius:16px;padding:18px 20px;margin:0}
  #coachSheet .cmain .ckpi,#coachSheet .cmain .kpi{border-radius:14px}
}

/* 2.113.4: gráficos do aluno no estilo BI (cores validadas para daltonismo no claro e no escuro) */
:root{--cg-gasto:#2E78A8;--cg-cons:#E07B45;--cg-peso:#2E78A8}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--cg-gasto:#4596D4;--cg-cons:#D2703C;--cg-peso:#8CC8E8}}
:root[data-theme="dark"]{--cg-gasto:#4596D4;--cg-cons:#D2703C;--cg-peso:#8CC8E8}
.bisum{margin:2px 0 4px;color:var(--muted)}.bisum b{color:var(--ink)}
.biw{position:relative;width:100%;min-height:200px;margin-top:6px;user-select:none;-webkit-user-select:none}
.biw svg{display:block;overflow:visible}
.bigrid{stroke:var(--line);stroke-width:1}.bigrid.base{stroke:color-mix(in srgb,var(--ink) 25%,transparent)}
.biax{font-size:11.5px;fill:var(--muted)}
.bival{font-size:11.5px;font-weight:700;fill:var(--ink)}.bival.last{font-size:13px}
.bihit{fill:transparent;cursor:pointer}
.big path{transition:opacity .15s}
.biw.hov .big:not(.on) path,.biw.hov .big:not(.on) .bival{opacity:.35}
.big.on .bihit{fill:color-mix(in srgb,var(--ink) 5%,transparent)}
.bidot{stroke:var(--surface);stroke-width:2}
.bicross{stroke:color-mix(in srgb,var(--ink) 35%,transparent);stroke-width:1;stroke-dasharray:3 3}
.bifoc{stroke:var(--surface);stroke-width:3;pointer-events:none}
.bicross[hidden],.bifoc[hidden]{display:none}
.bitip{position:absolute;z-index:3;pointer-events:none;min-width:170px;max-width:260px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:0 10px 28px -8px rgba(0,0,0,.35);font-size:.85rem;display:flex;flex-direction:column;gap:5px}
.bitip[hidden]{display:none}
.bitt{font-size:.9rem}
.bitr{display:flex;align-items:center;gap:8px;color:var(--muted)}.bitr i{width:10px;height:10px;border-radius:3px;flex:none}.bitr b{margin-left:auto;color:var(--ink);padding-left:12px;font-variant-numeric:tabular-nums}
.bitf{border-top:1px solid var(--line);padding-top:6px;color:var(--muted);font-size:.8rem}
.bival.soft{fill:var(--muted);font-weight:600}
.bioutk{background:color-mix(in srgb,var(--cg-gasto) 22%,var(--surface));outline:1px dashed var(--cg-gasto);outline-offset:-1px}
/* 2.113.5: período do Financeiro com atalhos e personalizado */
.finper2{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:14px 0 12px}
.finper2 .finper{margin:0;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
.finper2 .finper::-webkit-scrollbar{display:none}
#coachSheet .finper2 .finper button{flex:none;padding:0 12px}
.finrange{display:flex;gap:10px;flex-wrap:wrap}
.finrange label{display:flex;align-items:center;gap:6px;color:var(--muted);font-weight:600}
.finrange select{min-height:38px;width:auto;padding:0 10px;border-radius:10px}
/* 2.113.6: Treinos feitos com resumo, semanas e "Mostrar mais" */
.ctsum{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:.9rem;color:var(--muted)}
.ctsum b{color:var(--ink);font-size:1.05rem}
.ctfilt{margin:10px 0 2px}
.ctsem{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin:14px 2px 4px}
.ctlist{margin-top:0}
.ctpse{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px}
.ctpsec{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;font-size:.74rem;font-weight:700;color:var(--pc);background:color-mix(in srgb,var(--pc) 13%,transparent)}
.ctinfo{width:24px;height:24px;min-width:24px;min-height:24px !important;max-height:24px;box-sizing:border-box;border-radius:50%;border:1.5px solid var(--accent);background:transparent;color:var(--accent);font:800 .8rem/1 Georgia,serif;font-style:italic;display:inline-grid;place-items:center;cursor:pointer;padding:0;flex:none}
.ctinfo[aria-expanded="true"]{background:var(--accent);color:#fff}
.ctobs{display:block;margin-top:6px;padding:8px 10px;border-radius:10px;background:var(--soft,rgba(46,120,168,.08));font-size:.86rem;line-height:1.4;white-space:pre-wrap}
.finpsebox{margin-top:12px}
.finpsebox>b{display:block;font-size:.92rem;margin-bottom:8px}
.finpse{display:flex;flex-wrap:wrap;gap:6px}
.finpse button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px 0 6px;border-radius:999px;border:1.5px solid var(--line,#D5DEE6);background:transparent;color:inherit;font-family:inherit;font-size:.86rem;font-weight:600;line-height:1.1;cursor:pointer}
.finpse button b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--pc) 15%,transparent);color:var(--pc);font-size:.8rem}
.finpse button[aria-checked="true"]{border-color:var(--pc);background:var(--pc);color:#fff}
.finpse button[aria-checked="true"] b{background:rgba(255,255,255,.25);color:#fff}
.cmais{display:flex;margin:10px auto 0;width:auto}
/* ---------- 2.114.0: CRM do profissional ---------- */
.cmods2{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.cnavh{display:block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8FA6B8;padding:12px 12px 4px}
.cmorebtn{display:none !important}
@media (max-width:900px){#coachSheet .cmods>.cmorebtn{display:flex !important;position:relative}}
.chbtns .iconbtn.crmkhd{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;width:auto;min-width:40px;padding:0 10px;border-radius:12px;white-space:nowrap}
.crmkpis .ckpi small em{font-style:normal;font-weight:800}
.crmkhdt,.crmkhdk{display:none}
@media (min-width:1024px){.crmkhdt{display:inline;font-size:.88rem;font-weight:600}.crmkhdk{display:inline-block}.chbtns .iconbtn.crmkhd{padding:0 12px}}
kbd,.crmkhdk{font:600 .72rem/1 var(--body,inherit);padding:3px 6px;border-radius:6px;border:1px solid currentColor;opacity:.7}
.crmmsearch{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--muted);cursor:pointer;margin-bottom:6px}
.crmmh{margin:16px 4px 6px;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.crmmg{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.crmmi{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 14px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}
.crmmi:first-child{border-top:0}.crmmi>span:nth-child(2){flex:1}.crmmi>svg:last-child{color:var(--muted)}
.crmmic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--fill-soft);color:var(--accent);flex:none}
.crmmn{font-size:.72rem;font-weight:800;background:#C2702E;color:#fff;border-radius:999px;padding:2px 8px}
.crmper{margin:0 0 12px;flex-wrap:wrap}
.ckpis5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
@media (min-width:700px){.ckpis5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){.ckpis5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.crmkpis .ckpi small{line-height:1.35}
.crmbar{display:block;height:6px;border-radius:3px;background:var(--fill-soft);margin:4px 0 4px;overflow:hidden}.crmbar i{display:block;height:100%;border-radius:3px;background:var(--cg-gasto)}
.crmup{color:var(--ok)}.crmdn{color:var(--bad)}
.crmmini{padding:0 !important;font-size:inherit !important;min-height:0 !important}
.crmg2{margin-bottom:16px}
.crmg3{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}
@media (min-width:1024px){.crmg3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.crmg3 .block,.crmg2 .block{margin:0}
.crmrk{margin-left:4px;vertical-align:1px}
.crmtl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.crmt{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.crmt:first-child{border-top:0}
.crmt.ok .crmttx b{text-decoration:line-through;color:var(--muted)}
.crmttx{flex:1;min-width:0;display:flex;flex-direction:column}
.crmtck{position:relative;width:26px;height:26px;flex:none;cursor:pointer}.crmtck input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.crmtck span{position:absolute;inset:0;border-radius:8px;border:2px solid var(--border-strong,var(--line))}
.crmtck input:checked+span{background:var(--ok);border-color:var(--ok)}.crmtck input:checked+span::after{content:"";position:absolute;left:8px;top:3px;width:6px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.crmtck input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.crmtag{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0 9px;border-radius:999px;font-size:.76rem;font-weight:700;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border:0;font-family:inherit;cursor:default}
button.crmtag{cursor:pointer}.crmtag.soft{background:var(--fill-soft);color:var(--ink)}
.crmtag button{border:0;background:transparent;color:inherit;padding:0;display:grid;place-items:center;cursor:pointer;min-height:0}
.crmtags{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}
.crmchoice{display:flex;flex-wrap:wrap;gap:8px}.crmchoice .btn{width:auto}.crmchoice .btn[aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.crmnota{margin:8px 2px 16px}
/* funil */
.crmfsum{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.crmfsum>div:first-child{display:flex;flex-direction:column;gap:2px}
.crmfnums{display:flex;flex-wrap:wrap;gap:6px 18px}.crmfnums b{font-size:1.25rem;margin-right:3px}
.crmftabs{margin:0 0 10px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.crmftabs button{flex:none}
.crmkanban{display:block}
.crmcol{display:none;flex-direction:column;gap:8px;background:var(--fill-soft);border-radius:18px;padding:10px;min-width:0}
.crmcol.on{display:flex}
.crmcol header{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 2px}
.crmcn{min-width:24px;height:22px;border-radius:11px;background:var(--surface);display:grid;place-items:center;font-size:.78rem;font-weight:800}
.crmcolb{display:flex;flex-direction:column;gap:8px;min-height:60px}
.crmcol.over{outline:2px dashed var(--accent);outline-offset:-2px}
.crmlead{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.crmlead.dragging{opacity:.5}.crmlead.sx{border-left:4px solid #C2702E}
.crmleadb{display:flex;flex-direction:column;gap:2px;width:100%;padding:12px 12px 6px;border:0;background:transparent;text-align:left;color:var(--ink);font:inherit;cursor:pointer}
.crmleadb .cchip{margin-top:6px;align-self:flex-start}
.crmleada{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 12px}.crmleada .btn{min-height:36px !important;font-size:.84rem;padding:0 12px}
.crmadd{border:1.5px dashed var(--border-strong,var(--line));background:transparent;border-radius:12px;min-height:42px;color:var(--accent);font:inherit;font-weight:700;cursor:pointer}
.crmvazio{margin:6px 4px;font-size:.84rem;color:var(--muted)}
.crmperd{display:grid;gap:8px;margin-top:10px}
@media (min-width:1024px){.crmftabs{display:none}.crmkanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.crmcol{display:flex}.crmperd{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* tabelas que viram cartões no celular */
.crmtbl{display:flex;flex-direction:column}
.crmtr{display:grid;grid-template-columns:1fr;gap:4px;padding:12px 0;border-top:1px solid var(--line);background:transparent;border-left:0;border-right:0;border-bottom:0;text-align:left;color:var(--ink);font:inherit;width:100%}
button.crmtr{cursor:pointer}
.crmth{display:none}
.crmtr>[data-l]::before{content:attr(data-l) ": ";color:var(--muted);font-weight:500;font-size:.8rem}
.crmtn{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.crmval{text-align:right}
@media (min-width:1024px){.crmtr{grid-template-columns:2fr .8fr 2.2fr 1fr .8fr auto;align-items:center;gap:12px}.crmth{display:grid;font-size:.78rem;font-weight:700;color:var(--muted);border-top:0;padding-top:0}.crmtr>[data-l]::before{display:none}
  .crmdesp .crmtr{grid-template-columns:2fr 1fr 1fr 1fr}.crmpa .crmtr{grid-template-columns:2fr 1.2fr 1fr 1fr 1fr 1fr}}
.crmtot{font-weight:800}
/* cadastro */
.crmcad{align-items:start}.crmcad>div>.block:first-child{margin-top:0}
.crmtagsed{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crmtagadd input{min-height:32px !important;width:130px;border-radius:999px !important;padding:4px 12px;font-size:.86rem}
.crmhist{list-style:none;margin:0;padding:0}.crmhist li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.crmhist li:first-child{border-top:0}.crmhist li>span:nth-child(2){flex:1;min-width:0}
/* mensagens */
.crmmsg{display:grid;gap:16px}
@media (min-width:1024px){.crmmsg{grid-template-columns:320px 1fr;align-items:start}}
.crmmsg .block{margin:0}
.crmmods{display:flex;flex-direction:column;gap:4px}
.crmmod{display:flex;flex-direction:column;gap:2px;text-align:left;border:0;border-radius:12px;padding:10px 12px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.crmmod[aria-pressed="true"]{background:var(--fill-soft);box-shadow:inset 3px 0 0 var(--accent)}
.crmvars{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crmbolha{background:#DCF8C6;color:#1d2a33;border-radius:14px 14px 4px 14px;padding:10px 14px;max-width:460px;line-height:1.45;font-size:.94rem}
:root[data-theme="dark"] .crmbolha{background:#1F4D3A;color:#E9F5EE}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .crmbolha{background:#1F4D3A;color:#E9F5EE}}
.crmauto{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.crmauto>div{display:flex;flex-direction:column;gap:2px}
.crmsw{position:relative;width:44px;height:26px;flex:none;cursor:pointer}.crmsw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.crmsw span{position:absolute;inset:0;border-radius:13px;background:var(--border-strong,#C9D6E0);transition:background .2s}.crmsw span::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.crmsw input:checked+span{background:var(--ok)}.crmsw input:checked+span::after{transform:translateX(18px)}.crmsw input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.crmdias select{min-height:34px !important;width:auto;padding:2px 8px;margin-left:4px}
.crmdias{font-size:.86rem;margin-top:4px}
/* busca */
.crmk{position:fixed;inset:0;z-index:70;background:rgba(15,25,35,.5);display:flex;align-items:flex-start;justify-content:center;padding:8vh 12px 12px}
.crmkp{width:100%;max-width:640px;background:var(--surface);border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column;max-height:80vh}
.crmki{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--line)}.crmki input{flex:1;border:0 !important;box-shadow:none !important;background:transparent !important;min-height:58px;font-size:1.05rem;padding:0}
.crmkr{overflow-y:auto;padding:6px}
.crmkg{margin:10px 10px 4px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.crmkit{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.crmkit[aria-selected="true"],.crmkit:hover{background:var(--fill-soft)}
.crmkic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--fill-soft);color:var(--accent);flex:none}
.crmktx{flex:1;min-width:0;display:flex;flex-direction:column}.crmktx b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crmkf{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--line)}
@media (max-width:700px){.crmkf{display:none}.crmk{padding-top:12px}}
.crmbig{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:0 18px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;font-size:1rem;text-align:left;cursor:pointer;margin-bottom:14px}.crmbig span{flex:1}
@media (max-width:700px){.crmbig kbd{display:none}}
.crmtagf{margin:0 0 12px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.crmtagf button{flex:none}
/* relatório */
.crmrelw{display:grid;gap:16px}
.crmrelbox{min-width:0}
@media (min-width:1024px){.crmrelw{grid-template-columns:minmax(0,1fr) 300px;align-items:start}}
.crmrelopt{margin:0}
.crmrel{background:#fff;color:#1d2a33;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px -18px rgba(20,40,60,.4)}
.crmrel header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;background:#3E6A86;color:#fff;padding:20px}
.crmrel header small{color:#CFE3F1;font-weight:700;letter-spacing:.04em}.crmrel header h2{margin:4px 0;font-size:1.5rem}.crmrel header p{margin:0;color:#E3F1FA;font-size:.88rem}
.crmrelpro{display:flex;flex-direction:column;text-align:right;font-size:.86rem}.crmrelpro span{color:#E3F1FA}
.crmrelk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px}
@media (min-width:700px){.crmrelk{grid-template-columns:repeat(4,minmax(0,1fr))}}
.crmrelk>div{background:#F1F6FA;border-radius:14px;padding:12px;display:flex;flex-direction:column}.crmrelk span{font-size:.74rem;font-weight:700;color:#5d6b76;text-transform:uppercase}.crmrelk b{font-size:1.5rem}.crmrelk small{font-size:.8rem;color:#5d6b76}
.crmrel h4{margin:8px 16px 6px}.crmrel .biw{margin:0 16px}
.crmrelc{list-style:none;margin:0 16px;padding:0}.crmrelc li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #E3E9EE}.crmrelc b{color:#2F7D5B}
.crmrel textarea{display:block;width:calc(100% - 32px);margin:0 16px;font:inherit;padding:10px 12px;background:#FDF3EC !important;color:#1d2a33}
.crmrel footer{display:flex;justify-content:space-between;padding:16px;font-size:.78rem;color:#8a97a1}
/* assistente */
.crmiag{display:grid;gap:16px}
@media (min-width:1024px){.crmiag{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.crmchat{grid-row:span 2}}
.crmia{margin:0;border-color:color-mix(in srgb,#8C6BB1 35%,var(--line))}
.crmiab{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,#8C6BB1 16%,transparent);color:#6B4FA0}
:root[data-theme="dark"] .crmiab{color:#C9B5EE}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .crmiab{color:#C9B5EE}}
.crmial{list-style:none;margin:0;padding:0}.crmial li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line);line-height:1.4}.crmial li:first-child{border-top:0}.crmial li>span:nth-child(2){flex:1;min-width:0}
.crmdot{width:8px;height:8px;border-radius:50%;flex:none;margin-top:7px;background:var(--accent)}.crmdot.bad{background:var(--bad)}.crmdot.warn{background:#E07B45}.crmdot.ok{background:var(--ok)}
.crmiaact{display:flex;gap:6px;flex-wrap:wrap}.crmiaact .btn{min-height:34px !important;padding:0 10px;font-size:.82rem}
.crmchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.crmchatl{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto;margin-bottom:10px}
.crmb{max-width:88%;padding:9px 12px;border-radius:14px;line-height:1.45;font-size:.94rem}.crmb.eu{align-self:flex-end;background:var(--accent);color:#fff;border-radius:14px 14px 4px 14px}.crmb.ia{align-self:flex-start;background:var(--fill-soft);border-radius:14px 14px 14px 4px}
.crmchatf{display:flex;gap:8px;align-items:center}.crmchatf input{flex:1;border-radius:999px !important}
#crmMic.on{background:var(--bad);color:#fff}
.crmrules{margin:0;padding-left:18px;line-height:1.6}
/* agenda */
.crmagx{margin-top:16px}.crmagx .block{margin:0}
.crmfx{list-style:none;margin:0;padding:0}.crmfx button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.crmfx li:first-child button{border-top:0}.crmfx button>span:nth-child(2){flex:1;display:flex;flex-direction:column;min-width:0}
.crmagleg{display:flex;flex-wrap:wrap;gap:14px;padding:10px 4px 0;font-size:.8rem;color:var(--muted)}.crmagleg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;background:var(--tc);vertical-align:-1px}
.t-fixa{--tc:#2E78A8}.t-experimental{--tc:#8C6BB1}.t-reposicao{--tc:#C2702E}.t-bloqueio{--tc:#8A97A1}
.agdev.t-fixa,.agdev.t-experimental,.agdev.t-reposicao,.agdev.t-bloqueio{border-left-color:var(--tc) !important;background:color-mix(in srgb,var(--tc) 14%,var(--surface)) !important}
.agdev.t-bloqueio{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--tc) 14%,var(--surface)) 0 6px,var(--surface) 6px 12px) !important}
.agdchip.t-fixa,.agdchip.t-experimental,.agdchip.t-reposicao,.agdchip.t-bloqueio{background:color-mix(in srgb,var(--tc) 16%,var(--surface)) !important}
.agitem.t-fixa .agbar,.agitem.t-experimental .agbar,.agitem.t-reposicao .agbar,.agitem.t-bloqueio .agbar{background:var(--tc) !important}
.crmdow{flex-wrap:wrap}
.crmleada .btn,.crmhdbtn,.crmiaact .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
@media (max-width:520px){.crmhdbtn{width:44px !important;min-width:44px;padding:0 !important}.crmhdbtn span{display:none}}
.crmtt{display:flex !important}.crmtt button,.crmftabs button,.crmtagf button{white-space:nowrap}
/* 2.114.2: período numa linha só no celular; relatórios; abas do aluno */
.crmper{flex-wrap:nowrap !important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.crmper::-webkit-scrollbar{display:none}.crmper button{flex:none;white-space:nowrap}
@media (max-width:480px){.crmper{gap:6px}.crmper button{padding:0 12px;font-size:.88rem;min-height:38px}}
.crmrelbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.crmrelbar .cqbox{flex:1;min-width:180px;margin:0}.crmrelbar .btn{width:auto}
.crmrell{list-style:none;margin:10px 0 0;padding:0}.crmrell li.empty{padding:12px 0}
.crmrelli{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.crmrelli>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}.crmrelli svg:last-child{color:var(--muted);flex:none}
@media (min-width:1024px){.ctabbar .ctabs.ftabs{max-width:1060px}}
@media (max-width:480px){.ctabbar .ctabs.ftabs{overflow-x:auto;scrollbar-width:none}.ctabbar .ctabs.ftabs::-webkit-scrollbar{display:none}.ctabbar .ctabs.ftabs button{flex:0 0 auto;min-width:58px}}
/* 2.114.3: carregando do quadro de fichas no meio da tela; busca avançada no centro do topo (computador) */
.kbcols>.mfjload:only-child{flex:1;align-self:stretch;justify-content:center;min-height:60vh}
/* busca do topo: no computador abre a caixa de texto no lugar do botão, com os resultados logo abaixo */
.crmk.dd{background:transparent;padding:0;display:block}
.crmk.dd .crmkp{position:fixed;width:min(460px,calc(100vw - 24px));max-height:min(70vh,620px);border-radius:14px;box-shadow:0 18px 50px rgba(10,20,30,.35)}
.crmk.dd .crmki{min-height:0;height:40px;padding:0 12px}.crmk.dd .crmki input{min-height:38px;font-size:.95rem}
.crmk.dd .crmkf{display:none}
/* 2.114.3: funil com cor por etapa e títulos em seta */
.crmcol{background:transparent !important;padding:0 !important;gap:10px}
.crmar{position:relative;display:flex;flex-direction:column;gap:3px;min-height:96px;padding:12px 30px 10px 24px !important;box-sizing:border-box;background:var(--surface);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%,18px 50%);filter:drop-shadow(0 1px 0 var(--line))}
.crmar.first{clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%);padding-left:16px !important}
.crmar::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c)}
.crmart{display:flex;align-items:center;gap:8px}.crmart b{color:var(--c);font-size:1rem}
.crmarn{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:.84rem;font-weight:700;color:var(--muted)}
.crmarp{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-height:22px}
.crmpill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font:inherit;font-size:.72rem;font-weight:700;white-space:nowrap;cursor:pointer;border:1px solid}
.crmpill.bad{color:#B42318;border-color:#F3B8B2;background:#FDECEA}.crmpill.warn{color:#B85A1E;border-color:#F3CFB3;background:#FDF1E7}
.crmpill.on{outline:2px solid currentColor;outline-offset:1px}
.crmconv{margin-left:auto;font-size:.74rem;font-weight:800;color:var(--muted);white-space:nowrap}
.crmlead{position:relative;border-left:4px solid var(--c) !important;display:flex;align-items:flex-start}
.crmlead .crmleadb{flex:1;min-width:0;padding:12px 6px 12px 12px;gap:3px}
.crmlead .crmleadb b{font-size:.98rem}
.crmlt{align-self:flex-start;display:inline-flex;align-items:center;min-height:20px;padding:1px 8px;border-radius:999px;font-size:.74rem;font-weight:700;margin-top:3px;background:var(--fill-soft);color:var(--ink);max-width:100%}
.crmlt.bad{background:#FDECEA;color:#B42318}.crmlt.warn{background:#FDF1E7;color:#B85A1E}.crmlt.exp{background:#F1E8FA;color:#6B3FA0}
.crmlv{font-weight:800;font-size:.95rem;margin-top:2px}
.crmgo{flex:none;width:32px;height:32px;margin:12px 10px 0 0;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--muted);display:grid;place-items:center;cursor:pointer;padding:0}
.crmgo.hot{background:#F29A2E;border-color:#F29A2E;color:#fff}
.crmgo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.crmfval{display:block;font-size:1.25rem;margin:2px 0}
.crmarrows{display:flex;gap:3px;margin:0 0 12px;overflow-x:auto;scrollbar-width:none}.crmarrows::-webkit-scrollbar{display:none}
.crmar2{flex:none;position:relative;display:flex;flex-direction:column;justify-content:center;gap:1px;height:52px;padding:0 24px 0 20px;border:0;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%)}
.crmar2.first{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);padding-left:12px}
.crmar2::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c)}
.crmar2 b{font-size:.86rem;white-space:nowrap}.crmar2 small{font-size:.7rem;color:var(--muted);white-space:nowrap}
.crmar2[aria-pressed="true"]{background:var(--c);color:#fff}.crmar2[aria-pressed="true"] small{color:rgba(255,255,255,.85)}
@media (min-width:1024px){.crmarrows{display:none}.crmkanban{gap:14px}}
@media (max-width:1023px){.crmcol>.crmar{display:none}}
.crmcol>.crmar{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left}
.crmcol .crmpill{min-height:0 !important;height:22px}
.crmcol .crmgo{min-height:0 !important}
.crmper,.crmtagf,.crmarrows,.crmftabs,.crmtt{flex-shrink:0}   /* no computador o conteúdo é uma coluna flexível: sem isso a fileira encolhia até sumir */
/* 2.115.0: detalhes do treino do relógio */
.twtabs{margin:2px 0 14px;flex-wrap:nowrap}.twtabs button{border-radius:999px;min-height:40px}
.twtiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.twtiles div,.twsec{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;min-width:0}
.twtiles div{display:flex;flex-direction:column}.twtiles span{font-size:.82rem;color:var(--muted);font-weight:600}.twtiles b{font-family:var(--display);font-size:1.45rem;overflow-wrap:anywhere}
.twsec{margin-top:12px}.twsec h4{margin:0 0 8px;font-family:var(--display);font-size:1.02rem}
.twlink{cursor:pointer}.twlink:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.twrows>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line)}.twrows>div:first-child{border-top:0}.twrows span{color:var(--muted);min-width:0;overflow-wrap:anywhere}.twrows b{white-space:nowrap}
.twx2{display:inline-block;font-size:.72rem;font-weight:800;background:var(--ink);color:var(--bg);border-radius:999px;padding:1px 6px;margin-left:4px}
.twbig2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px}.twbig2 b{font-family:var(--display);font-size:1.6rem}.twbig2 span{display:block;font-size:.82rem;color:var(--muted)}
.twchart{width:100%;height:auto;display:block}.twgl{stroke:var(--line);stroke-width:.6}.twax{fill:var(--muted);font-size:8.5px}.twmed{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:4 3}
.twleg{margin:2px 0 0;text-align:center}
.twz{padding:6px 0}.twzt{display:flex;justify-content:space-between;gap:8px;font-size:.88rem}.twzt>span:first-child{min-width:0}.twzt>span:last-child{white-space:nowrap}
.twzb{height:8px;border-radius:99px;background:var(--line);margin-top:6px;overflow:hidden}.twzb i{display:block;height:100%;border-radius:99px}
.twzmini{display:flex;height:12px;border-radius:99px;overflow:hidden;gap:2px}.twzmini i{display:block;height:100%}
.twvazio{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 14px;border-radius:16px;background:var(--surface);border:1px dashed var(--line);color:var(--muted);font-size:.9rem}.twvazio svg{flex-shrink:0;color:var(--heart,#D9485F)}
.twsrc{display:flex;align-items:center;gap:6px;margin:14px 0 0;color:#2F7D5B}
.twrbbtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px}
@media (min-width:1024px){ #twSheet .sheetbody{max-width:720px;margin:0 auto;width:100%} }
.twrows .twx2{color:var(--bg)}.twsec .linkbtn{min-height:0;padding:0;display:inline;vertical-align:baseline}
/* 2.116.0: compartilhar treino com artes para deslizar e sua foto */
.shparts{margin:12px -16px 0}.shparts .pslide{flex-basis:84%}.shparts .plabel{display:block;left:auto;right:10px}
.shfoto{display:grid;place-items:center;border:1px dashed var(--line)}
.shpick{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;color:var(--muted);font:inherit;padding:20px;min-height:0;cursor:pointer;text-align:center}.shpick b{color:var(--ink)}
.shfoto>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shusefoto{display:block;margin:12px auto 0;font-weight:700}
@keyframes twInL{from{opacity:.3;transform:translateX(28px)}to{opacity:1;transform:none}}@keyframes twInR{from{opacity:.3;transform:translateX(-28px)}to{opacity:1;transform:none}}
#twBody.twin-l>*{animation:twInL .22s ease-out}#twBody.twin-r>*{animation:twInR .22s ease-out}
@media (prefers-reduced-motion:reduce){#twBody.twin-l>*,#twBody.twin-r>*{animation:none}}
/* 2.116.2: Painel com "Olá, nome" e seis números; no celular, o topo da Área de Trabalho no mesmo padrão do modo usuário (logo com o nome, botões pequenos, fundo em degradê suave, sem a curva) */
.ctitle .cola{display:block;color:var(--ink);font-size:1.08rem;font-weight:700;margin-bottom:2px}
@media (min-width:1280px){.ckpis5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1500px){.ckpis5{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:900px){
  #coachSheet{background:var(--bg) !important;color:var(--ink)}
  #coachSheet::before{content:"";position:absolute;inset:0;z-index:0;background:var(--fundo);pointer-events:none}
  #coachSheet>*{position:relative;z-index:1}
  #coachSheet .chdr{background:transparent !important;box-shadow:none !important;color:var(--ink);padding:12px 16px 4px !important;gap:8px;flex-wrap:nowrap}
  #coachSheet .chdr .clogo{width:34px;height:34px;border-radius:9px}
  #coachSheet .chdr .ctl{display:flex !important}
  #coachSheet .chdr .ctl .cwm{color:var(--ink) !important;font-size:1.32rem}#coachSheet .chdr .ctl .cwm span{color:var(--accent) !important}
  #coachSheet .chdr .chbtns{gap:8px}
  #coachSheet .chdr .chbtns .iconbtn{width:44px !important;height:44px !important;min-width:44px;min-height:44px;padding:0 !important;border-radius:50% !important;background:transparent !important;border:1px solid var(--line) !important;color:var(--ink) !important;box-shadow:none !important}
  #coachSheet .chdr .crmkhd .crmkhdt,#coachSheet .chdr .crmkhd .crmkhdk{display:none !important}
  #coachSheet .chdr #coachClose.cmeapp{height:44px;min-height:44px;padding:0 10px 0 4px !important;gap:6px;border-radius:22px;background:var(--surface) !important;border:1px solid var(--line) !important;color:var(--ink) !important;box-shadow:none !important}
  #coachSheet .chdr #coachClose .cmetx{display:none !important}
  #coachSheet .chdr #coachClose .cmeav{width:34px;height:34px}
  #coachSheet .cwrap{background:transparent}
  #coachSheet .cmain{background:transparent !important;border-radius:0 !important;border:0 !important;padding-top:10px}
}
@media (max-width:360px){#coachSheet .chdr .ctl .cwm{font-size:1.12rem}#coachSheet .chdr .chbtns{gap:6px}}
/* 2.117.0: busca de alimento sem resultado: cartão de progresso e o que fazer */
.bscard{margin-top:10px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px 16px 14px}
.bscard .mfjload{padding:6px 4px 2px}.bscard .mfjload b{margin-top:6px;font-size:1rem}
.bssteps{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:.9rem;color:var(--muted)}
.bssteps li{display:flex;align-items:center;gap:10px}
.bsi{width:20px;height:20px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;border:2px solid var(--line);box-sizing:border-box}
.bss-ok .bsi{background:#2F7D5B;border-color:#2F7D5B;color:#fff}
.bss-no .bsi{background:var(--line);color:var(--muted)}
.bss-busy{color:var(--ink);font-weight:700}.bss-busy .bsi{border-color:var(--accent);border-top-color:transparent;animation:wsbspin .8s linear infinite}
.bsfim .bstit{display:block;font-family:var(--display);font-size:1.1rem;color:var(--ink)}
.bssug{display:flex;flex-wrap:wrap;gap:8px}
.bssug button{border:1.5px solid var(--accent);background:transparent;color:var(--accent);border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;min-height:40px;cursor:pointer}
.bsbtns{display:flex;flex-direction:column;gap:8px;margin-top:14px}.bsbtns .btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
@media (min-width:1024px){.bsbtns{flex-direction:row;flex-wrap:wrap}.bsbtns .btn{width:auto;flex:1 1 200px}}
/* 2.117.1: celular com fonte grande (ex.: Galaxy S23 com letra aumentada): a tela não pode rolar para os lados.
   A trava fica no topo da página; listas que rolam de lado (carrossel, abas) continuam rolando por dentro. */
html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden;max-width:100vw}
@supports (overflow:clip){body{overflow-x:clip}}
@media (max-width:1023px){
  header.top{min-width:0}
  header.top .hbrand{min-width:0;flex:0 1 auto;overflow:hidden}
  header.top .hbrand .wordmark{font-size:clamp(1rem,5.6vw,1.45rem);overflow:hidden;text-overflow:clip}
  header.top .hbtns{flex:0 0 auto;gap:6px !important}
}
@media (max-width:350px){
  header.top{gap:8px}
  header.top .hbrand img{width:30px;height:30px}
  header.top .hbtns>.iconbtn,header.top .ucap .iconbtn{width:38px !important;height:38px !important;min-height:38px !important}
}
@media (max-width:320px){header.top .hbrand .wordmark{display:none}}
/* com a letra grande, os números dos cartões da Início quebram linha em vez de cortar com "…" */
@media (max-width:1023px){.hjst b{white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;text-overflow:clip}}
@media (max-width:340px){.hjst{padding:10px 9px 11px}.hjst b{font-size:1.05rem}}
@media (max-width:900px){
  #coachSheet .chdr .ctl{min-width:0;flex:0 1 auto;overflow:hidden}
  #coachSheet .chdr .ctl .cwm{font-size:clamp(1rem,5.4vw,1.32rem)}
  #coachSheet .chdr>.chbtns,#coachSheet .chdr>#coachClose{flex:0 0 auto}
  #coachSheet .chdr>span[style*="flex:1"]{min-width:0}
}
@media (max-width:330px){#coachSheet .chdr .ctl{display:none !important}}
@media (max-width:900px){.ckpi{min-width:0}.ckpi b{overflow-wrap:break-word;min-width:0;max-width:100%}}
/* 2.118.5: no iPhone, a área da hora e da bateria usa a cor de fundo da página (html); sem ela, ficava uma faixa branca em cima do degradê */
html{background-color:#DCEAF3}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]){background-color:#24384B}}
html[data-theme="dark"]{background-color:#24384B}
/* 2.121.0: seringa com líquido neon animado */
svg.syr .syrliq{transform-box:fill-box;transform-origin:left center}
svg.syr .syrshine{animation:syrShine 2.8s ease-in-out infinite}
@keyframes syrShine{0%{transform:translateX(0);opacity:0}15%{opacity:.22}85%{opacity:.22}100%{transform:translateX(250px);opacity:0}}
@media (prefers-reduced-motion:no-preference){svg.syr .syrliq{transition:transform .65s cubic-bezier(.22,1,.36,1)}svg.syr .stopper,svg.syr .syrmark{transition:transform .65s cubic-bezier(.22,1,.36,1)}}
@media (prefers-reduced-motion:reduce){svg.syr .syrshine{animation:none;opacity:0}}
/* local da aplicação no corpo */
.sitebtn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;text-align:left}
.sitebtn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sitebtn svg{flex:none;color:var(--muted)}
.dsbody{width:100%;max-width:300px;height:auto;display:block;margin:4px auto 0}
.dsfig>*{fill:color-mix(in srgb,var(--ink) 10%,var(--surface));stroke:color-mix(in srgb,var(--ink) 28%,transparent);stroke-width:1.5}
.dslado{font:700 14px var(--body);fill:var(--muted)}
.dsspot{cursor:pointer;outline:none}
.dsspot .dsdot{fill:#22C7F0;stroke:#fff;stroke-width:2.5;transition:r .2s}
.dsspot .dshalo{transform-box:fill-box;transform-origin:center;animation:dsPulse 2s ease-in-out infinite}
.dsspot.ult .dsdot{fill:#9AA5AE}
.dsspot.on .dsdot{fill:#1F7BEA;r:12}
.dsspot.on .dshalo{animation-duration:1.1s}
.dsspot:focus-visible .dsdot{stroke:var(--accent);stroke-width:3.5}
@keyframes dsPulse{0%,100%{transform:scale(.7);opacity:.55}50%{transform:scale(1.15);opacity:1}}
@media (prefers-reduced-motion:reduce){.dsspot .dshalo{animation:none}}
.dscur{text-align:center;margin:8px 0 12px;font-size:1.02rem}
.dshist{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.dshist span{display:flex;align-items:center;gap:8px;font-size:.92rem;color:var(--muted)}.dshist span i{width:8px;height:8px;border-radius:50%;background:#9AA5AE;flex:none}
.dshist span:first-of-type i{background:#9AA5AE;box-shadow:0 0 0 2px color-mix(in srgb,#9AA5AE 35%,transparent)}

/* 2.123.0: comemoração da meta de peso alcançada */
.gmsheet{z-index:58;justify-content:center;align-items:center;background:radial-gradient(900px 700px at 50% 30%,#2E6E8F 0%,#173246 55%,#0E1E2A 100%);overflow:hidden}
.gmconf{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gmbox{position:relative;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;text-align:center;color:#fff;padding:24px 4px calc(16px + env(safe-area-inset-bottom,0px))}
.gmtrofeu{font-size:86px;line-height:1;filter:drop-shadow(0 10px 30px rgba(255,200,80,.45));animation:gmPop .7s cubic-bezier(.2,1.4,.4,1) both}
.gmeye{margin:14px 0 4px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:#8CC8E8}
.gmtit{margin:0;font-family:var(--display);font-size:2rem;line-height:1.15;color:#fff}
.gmsub{margin:10px 0 0;color:#C9DDEA;line-height:1.45}
.gmstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}
.gmstats div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:12px 6px}
.gmstats b{display:block;font-family:var(--display);font-size:1.3rem;color:#fff}
.gmstats span{font-size:.75rem;color:#C9DDEA}
.gmq{margin:18px 0 8px;font-weight:700;color:#fff}
.gmrow{display:flex;gap:10px}
.gmrow .btn{flex:1}
.gmsheet .gmrow .btn.ghost,.gmcard .gmrow .btn.ghost{color:#fff !important;border-color:rgba(255,255,255,.45) !important;background:rgba(255,255,255,.08) !important;box-shadow:none !important}
.gmbox .linkbtn{display:block;margin:14px auto 0;color:#C9DDEA}
@keyframes gmPop{0%{transform:scale(.3) rotate(-15deg);opacity:0}100%{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.gmtrofeu{animation:none}}
.gmcard{background:linear-gradient(135deg,#2F7A55,#1C4734);color:#fff;border-radius:18px;padding:16px 18px}
.gmcard h3{color:#fff;margin:0}
.gmcard p{color:#DDF2E6;margin:6px 0 12px}
.gmcard .gmrow .btn{border-color:rgba(255,255,255,.5)}
/* 2.131.0: no computador, o painel de conteúdo encosta no topo, na direita e embaixo (as folgas de 14 px saíram);
   só os cantos do lado do menu continuam arredondados. Vale para o app do usuário e para a Área de Trabalho. */
@media (min-width:1024px){
  body:not(.out) .wrap{margin:0;border-radius:28px 0 0 28px;min-height:100vh}
  body.firstrun:not(.out) .wrap{margin:14px auto;border-radius:28px;min-height:calc(100vh - 28px)}
  #coachSheet .chdr{margin:0;border-radius:28px 0 0 0}
  #coachSheet .cmain{margin:0;border-radius:0 0 0 28px;border-right:0;border-bottom:0}
  #wsBoot .wsbpanel{margin:0 0 0 300px;border-radius:28px 0 0 28px}
}
/* 2.132.0: Painel do profissional começa pelo dia (recado da Vyta, números do dia, Pendências e Hoje); o negócio vem depois */
.chatal{display:inline-flex;gap:8px;flex-wrap:wrap}
.chdact .chatal{display:none}.chatalm{margin:-4px 0 0}   /* celular: atalhos numa linha embaixo do título; computador: ao lado do título */
@media (min-width:1024px){.chdact .chatal{display:inline-flex}.chatalm{display:none}}
.chatal .btn{width:auto;min-height:38px;padding:0 12px;font-size:.9rem;display:inline-flex;align-items:center;gap:6px}
.chvy{display:flex;gap:14px;align-items:flex-start}
.chvyf{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px #5FD8FF,0 0 14px rgba(95,216,255,.45)}
.chvyn{display:flex;align-items:center;gap:6px;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.chvyfr{position:relative;flex:none;width:52px;height:52px}
.chvyfr .vyselo{position:absolute;right:-5px;bottom:-4px;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#2C7898,#0F2938 72%);border:2px solid var(--surface);display:grid;place-items:center;color:#C8F6FF}
.chvyfr .vyselo svg{width:14px;height:14px;filter:drop-shadow(0 0 3px rgba(200,246,255,.9))}
.chvy p{margin:4px 0 0;line-height:1.5}
.chvl{padding:0;font-size:inherit;font-weight:700}
.chday{margin:0}
/* 2.145.4: Início com duas colunas de cartões; resumo do mês; "Ver todas" nas pendências */
.chcol{display:flex;flex-direction:column;gap:16px;min-width:0}
.chcol>.block{margin:0}
.pdmore{display:block;margin:10px auto 0;font-weight:700}
.chmes{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}
.chmi{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.chmi:last-child{border-bottom:0}
.chmt{flex:1;min-width:0;display:flex;flex-direction:column;font-weight:600}
.chmv{font-size:1.02rem;white-space:nowrap}
.chmv.bad{color:var(--bad)}
.chfez{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.chfezt{display:block;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.chfezl{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.chfezb{border:0;background:none;padding:0;min-height:0;cursor:pointer;border-radius:50%}
.chfezl .small{margin-left:4px}
.chsec{font-size:1.15rem;margin:10px 0 0}
@media (min-width:1024px){
  .chome2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}
  /* 2.145.7: as duas colunas terminam na mesma linha: o último cartão de cada uma estica até o fim */
  .chome2{align-items:stretch}
  .chome2>.chcol>.block:last-child{flex:1 1 auto}
  .chome2.chmede{align-items:start}.chome2.chmede>.chcol>.block{flex:none}
}
.crmant{display:block;margin-top:4px;color:var(--muted)}
.crmspark{display:block;width:100%;height:22px;margin-top:6px;color:var(--accent);opacity:.75}
/* 2.132.0: página do aluno: selos no topo e peso com início, hoje e objetivo */
.cstrip{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cstrip:empty{display:none}
.cstrip span{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:600;color:var(--ink)}
.cstrip span.w{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.cpmeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.cpmeta em{display:block;font-style:normal;font-size:.75rem;color:var(--muted)}.cpmeta b{font-size:1rem}
/* 2.132.0: aba Fichas do personal: miniatura de cada exercício (abre a execução) e contagem de equivalentes */
.cfexl li{display:flex;align-items:center;gap:10px}
.cfexl li .exlth{width:40px;height:40px;border-radius:8px;flex:none}
.cfexl .cfexn{flex:1;min-width:0}
.cfalt{display:block;color:var(--accent);font-weight:700;font-size:.74rem;margin-top:2px}
.cres2{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
#coachSheet .cres2>.block{margin:0}
@media (min-width:1024px){.cres2{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch}}
/* 2.132.0: importar o plano alimentar */
.mpimp{display:block;margin:12px auto 0;font-size:.9rem;text-align:center}
.cpimpb{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;margin-top:10px;min-height:52px}
.cpimpb small{font-weight:500;font-size:.78rem;color:var(--muted)}
/* 2.132.2: campos de texto longo (anotação do funil e outros) com a cor do texto do tema; no modo noturno a letra ficava preta */
textarea{color:var(--ink)}
/* 2.132.2: no computador, a barra azul da Área de Trabalho mais baixa (64 px), com ícones um pouco maiores que antes (o modo usuário segue o mesmo padrão logo abaixo).
   De 1024 a 1439 px a busca fica só com o ícone, para tudo caber numa linha. */
@media (min-width:1024px){
  #coachSheet .chdr{min-height:64px;padding:8px 24px !important}
  #coachSheet .croles{padding:4px;border-radius:12px}
  #coachSheet .croles button{min-height:40px;padding:0 14px;border-radius:9px;gap:8px}
  #coachSheet .croles button svg{width:19px;height:19px}
  #coachSheet .chbtns{gap:8px}
  #coachSheet .chbtns .iconbtn{width:42px;height:42px}
  #coachSheet .chbtns .iconbtn svg{width:21px;height:21px}
  #coachSheet .chbtns .iconbtn.crmkhd{width:42px;height:42px;padding:0;border-radius:50%}
  #coachSheet .chbtns .iconbtn.crmkhd .crmkhdt,#coachSheet .chbtns .iconbtn.crmkhd .crmkhdk{display:none}
  #coachSheet #coachClose.cmeapp{height:42px;min-height:42px}
  #coachSheet .chbtns .cmebtn{width:42px;height:42px}
}
/* 2.132.2: no modo usuário, a mesma barra de 64 px: título e data menores e botões de 42 px */
@media (min-width:1024px){
  header.top{min-height:64px;box-sizing:border-box;padding:8px 36px !important}
  header.top .dtl{gap:1px}
  header.top .dtl b{font-size:1.4rem}
  header.top .dtl span{font-size:.85rem}
  header.top .hbtns>.iconbtn{width:42px;height:42px;min-height:42px}
  header.top .hbtns>.iconbtn svg,header.top #themeBtn svg{width:21px;height:21px}
  header.top #goPerfil{width:42px;height:42px;min-width:42px;min-height:42px}
}
@media (min-width:1440px){
  #coachSheet .croles button{padding:0 18px}
  #coachSheet .chbtns .iconbtn.crmkhd{width:auto;padding:0 14px;border-radius:12px;gap:8px}
  #coachSheet .chbtns .iconbtn.crmkhd svg{width:20px;height:20px}
  #coachSheet .chbtns .iconbtn.crmkhd .crmkhdt{display:inline}#coachSheet .chbtns .iconbtn.crmkhd .crmkhdk{display:inline-block}
}
/* 2.133.0: Anúncios: pedidos, agendadas e histórico, com filtro online/presencial */
.vtqk{margin-bottom:14px}
.vtqbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.vtqbar .seg{flex:0 1 auto}.vtqbar .seg button{flex:none;padding:8px 16px}.vtqbar .seg button .small{opacity:.8;margin-left:2px}
.vtqlist{margin-top:8px}
.vtqit{align-items:flex-start;gap:12px}
.vtqit .main{display:flex;gap:10px;align-items:flex-start;min-width:0}
.vtqtp{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font-size:.78rem;font-weight:700;color:var(--muted);vertical-align:1px}
.vtqacts{display:flex;flex-direction:column;gap:6px;flex:none}.vtqacts .btn{width:auto;min-height:36px;padding:0 14px}
.vtqst{flex:none;align-self:center}
@media (max-width:600px){.vtqbar .seg{width:100%}.vtqbar .seg button{flex:1;padding:8px 4px;white-space:nowrap;font-size:.92rem}.vtqbar .cfilt{width:100%}.vtqbar .cfilt button{flex:1}}
/* 2.133.0: conversa do pedido de aula ou consulta (anúncios) */
.smsheet .sheetbody{display:block;padding-bottom:12px}
.smul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.smm{align-self:flex-start;max-width:78%;background:var(--bg);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:8px 12px}
.smm.me{align-self:flex-end;background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#fff);border-radius:16px 16px 4px 16px}
.smm p{margin:0;line-height:1.45;overflow-wrap:anywhere}
.smm>span{display:block;margin-top:2px;font-size:.72rem;opacity:.75;text-align:right}
.smdia{align-self:center;margin:8px 0 2px}.smdia span{font-size:.75rem;font-weight:700;color:var(--muted);background:var(--bg);border-radius:999px;padding:2px 10px}
.smdica{align-self:stretch;font-size:.82rem;color:var(--muted);background:var(--fill-soft,#E1EBF2);border-radius:12px;padding:8px 12px;margin-bottom:6px}
.smfoot{display:flex;gap:8px;align-items:flex-end;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface)}
.smfoot textarea{flex:1;resize:none;min-height:44px;max-height:140px;font:inherit;padding:10px 12px;box-sizing:border-box;line-height:1.35}
.smfoot .btn{width:46px;min-width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;display:grid;place-items:center}
.smfim{margin:0;display:flex;align-items:center;gap:6px}
.smbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-height:36px;padding:0 14px;position:relative}
.smbtn .smn{min-width:18px;height:18px;border-radius:9px;background:#C2702E;color:#fff;font-size:.72rem;line-height:18px;text-align:center;padding:0 4px}
.smacts{display:flex;flex-direction:column;gap:6px;flex:none;align-items:stretch}
@media (min-width:1024px){
  #smSheet{--sw:600px}
  #smSheet>.sheetbody{flex:none !important;height:min(60vh,560px);border-radius:0 !important;box-shadow:none !important}
  #smSheet>.smfoot{flex:none;border-radius:0 0 22px 22px;padding:12px 22px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45)}
}
/* 2.133.0: anexos da conversa (foto, PDF ou Word) */
.smfoot .smclip{width:46px;height:46px;min-width:46px;flex:none;border-radius:50%}
.smm.anx{padding:6px}.smm.anx p{padding:4px 6px 0}.smm.anx>span{padding:0 6px}
.smimg{display:block;border-radius:12px;overflow:hidden;max-width:260px}.smimg img{display:block;width:100%;height:auto;max-height:320px;object-fit:cover}
.smarq{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--ink);text-decoration:none;min-width:180px}
.smm.me .smarq{background:rgba(255,255,255,.18);color:inherit}
.smarq span{display:flex;flex-direction:column;min-width:0}.smarq b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.smarq small{opacity:.75}
/* 2.141.0: computador: área (Personal, Nutricionista, Fisioterapeuta) no botão do perfil no canto do topo e menu da esquerda recolhível */
.crpick{display:none}.ccolap{display:none}
@media (min-width:1024px){
  #coachSheet .chdr>.croles{display:none !important}
  #coachSheet .chdr #cMe{display:none !important}
  #coachSheet .crpick{position:relative;display:block !important}
  #coachSheet .crpbtn{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px 0 5px;border-radius:22px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.14);color:#fff;font:inherit;font-weight:700;font-size:.95rem;cursor:pointer;white-space:nowrap}
  #coachSheet .crpbtn:hover{background:rgba(255,255,255,.24)}
  #coachSheet .crpbtn .cmeav{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#fff;color:#2D5672;font-weight:800;font-size:.95rem}
  #coachSheet .crpbtn .cmeav img{width:100%;height:100%;object-fit:cover}
  #coachSheet .crpbtn .ic{transition:transform .18s}#coachSheet .crpbtn[aria-expanded="true"] .ic{transform:rotate(180deg)}
  #coachSheet .crpmenu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:268px;padding:8px;border-radius:16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 40px -18px rgba(16,32,48,.45)}
  #coachSheet .crpmenu[hidden]{display:none}
  #coachSheet .crph{margin:6px 10px 6px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  #coachSheet .crpmenu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
  #coachSheet .crpmenu button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:6px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
  #coachSheet .crpmenu button:hover,#coachSheet .crpmenu button:focus-visible{background:var(--bg)}
  #coachSheet .crpmenu button[aria-checked="true"]{background:var(--fill-soft,#E1EBF2)}
  #coachSheet .crpmenu button>.ic{margin-left:auto;color:var(--accent)}
  #coachSheet .crpic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--bg);color:var(--accent);flex:none}
  #coachSheet .crptx{display:flex;flex-direction:column;line-height:1.2}#coachSheet .crptx b{font-weight:700}#coachSheet .crptx small{color:var(--muted);font-size:.8rem}
  /* menu recolhível */
  #coachSheet .ccolap{display:flex;margin-top:auto !important;border:1px solid var(--cw-line) !important;color:#A9BBC9 !important;font-size:.9rem}
  #coachSheet .cside{transition:padding .2s}
  #coachSheet.cmini:not([hidden]){grid-template-columns:92px minmax(0,1fr)}
  #coachSheet.cmini .cside{padding:18px 8px;overflow-x:hidden}
  #coachSheet.cmini .cbrand{justify-content:center;padding:0 0 10px}#coachSheet.cmini .cbrand .wordmark{display:none}
  #coachSheet.cmini .cside .cnav{flex-direction:column;justify-content:center;gap:3px;min-height:52px;padding:5px 2px;font-size:.68rem;font-weight:600;line-height:1.15;text-align:center;position:relative;white-space:normal}
  #coachSheet.cmini .cside .cnav>span{flex:none !important;white-space:normal}
  #coachSheet.cmini .cside .cnav:has(.cnsh)>span:not(.cnsh):not(.pill){display:none}
  #coachSheet.cmini .cside .cnav .cnsh{display:block}
  #coachSheet.cmini .cside .cnav .cnavc,#coachSheet.cmini .cside .cnav .cnavn{position:absolute;top:4px;right:10px;min-width:17px;height:17px;padding:0 4px;font-size:.62rem;line-height:17px;margin:0}
  #coachSheet.cmini .cside .cnavh{font-size:0;height:1px;padding:0;margin:8px 12px;background:var(--cw-line)}
  #coachSheet.cmini .cnavsub,#coachSheet.cmini .cside .stu{display:none !important}
  #coachSheet.cmini .ccolap>span{display:none}#coachSheet.cmini .ccolap{min-height:44px}
}
/* 2.141.0: topo da Área de Trabalho na mesma cor do menu (escuro), painel de conteúdo com os cantos do lado do menu arredondados,
   botões do topo discretos (fundo escuro translúcido, borda fina, cantos de 10 px) e busca em forma de campo; "Alternar para versão usuário" sai do menu (fica no botão do perfil) */
@media (min-width:1024px){
  #coachSheet .cside .cswitch{display:none !important}
  #coachSheet .chdr{background:transparent !important;box-shadow:none !important;border-radius:0 !important;padding:10px 20px 10px 24px !important}
  #coachSheet .cmain{border-radius:28px 0 0 28px !important}
  #coachSheet .chdr .chbtns{gap:10px}
  #coachSheet .chdr .chbtns .iconbtn{width:40px !important;height:40px !important;min-height:40px;border-radius:10px !important;background:rgba(255,255,255,.06) !important;border:1px solid rgba(255,255,255,.14) !important;color:#D7E3EC !important}
  #coachSheet .chdr .chbtns .iconbtn:hover{background:rgba(255,255,255,.12) !important;color:#fff !important}
  #coachSheet .chdr .chbtns .iconbtn svg{width:19px;height:19px}
  #coachSheet .chdr .chbtns .iconbtn.crmkhd{width:300px !important;justify-content:flex-start;gap:10px;padding:0 10px 0 14px !important;color:#93A7B7 !important;cursor:text}
  #coachSheet .chdr .chbtns .iconbtn.crmkhd svg{width:17px;height:17px}
  #coachSheet .chdr .chbtns .iconbtn.crmkhd .crmkhdt{display:inline !important;font-weight:500;font-size:.9rem}
  #coachSheet .chdr .chbtns .iconbtn.crmkhd .crmkhdk{display:inline-block !important;margin-left:auto;border-color:rgba(255,255,255,.2);color:#93A7B7;opacity:1}
  #coachSheet .crpbtn{height:44px;padding:0 12px 0 5px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff}
  #coachSheet .crpbtn:hover{background:rgba(255,255,255,.12)}
  #coachSheet .crpbtn .cmeav{background:#4F8DB0;color:#fff;font-size:.85rem}
  #coachSheet .crpbtn .ic{color:#93A7B7}
}
@media (min-width:1024px) and (max-width:1279px){
  #coachSheet .chdr .chbtns .iconbtn.crmkhd{width:200px !important}
  #coachSheet .chdr .chbtns .iconbtn.crmkhd .crmkhdk{display:none !important}
}
/* 2.141.3: no computador, a logo fica na barra de cima, que vai de ponta a ponta; o menu começa embaixo dela.
   Com o menu recolhido a logo continua inteira (antes ficava só o ícone, dentro do menu) */
@media (min-width:1024px){
  #coachSheet .chdr{grid-column:1 / span 2 !important;grid-row:1;padding:10px 20px 10px 22px !important;gap:12px}
  #coachSheet .cside{grid-row:2 !important;padding-top:8px !important}
  #coachSheet .cbrand{display:none !important}
  #coachSheet .chdr>.clogo{display:block !important;width:40px;height:40px;border-radius:10px}
  #coachSheet .chdr>.ctl{display:flex !important}
  #coachSheet .chdr>.ctl .cwm{font-size:1.45rem;color:#fff}#coachSheet .chdr>.ctl .cwm span{color:#8CC8E8 !important}
}
/* 2.142.0: versão usuário no computador com o mesmo visual da Área de Trabalho: barra de cima de ponta a ponta na cor do menu, com a logo;
   menu começa embaixo dela; botões discretos; menu recolhível (body.sbmini). Primeiro acesso (firstrun) e celular sem mudança */
.sbcolap{display:none !important}
@media (min-width:1024px){
  body:not(.out):not(.firstrun) header.top{position:fixed;top:0;left:0;right:0;z-index:7;margin:0 !important;height:64px;min-height:64px;padding:0 20px 0 22px !important;display:flex;align-items:center;gap:16px;background:transparent !important;box-shadow:none !important;border:0 !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
  body:not(.out):not(.firstrun) header.top .hbrand{display:flex !important;order:0;flex:0 0 auto;width:234px}
  body:not(.out):not(.firstrun) header.top .hbrand img{width:40px;height:40px;border-radius:10px}
  body:not(.out):not(.firstrun) header.top .hbrand .wordmark{font-size:1.45rem;color:#fff;margin:0}body:not(.out):not(.firstrun) header.top .hbrand .wordmark span{color:#8CC8E8 !important}
  body:not(.out):not(.firstrun) header.top .hbrand .sync{display:none !important}
  body:not(.out):not(.firstrun) header.top .dtl{order:1;flex:1;min-width:0;padding-left:56px}
  body:not(.out):not(.firstrun) header.top .hbtns{order:2;gap:10px !important}
  body:not(.out):not(.firstrun) header.top .hbtns>.iconbtn{width:40px !important;height:40px !important;min-height:40px !important;border-radius:10px !important;background:rgba(255,255,255,.06) !important;border:1px solid rgba(255,255,255,.14) !important;color:#D7E3EC !important}
  body:not(.out):not(.firstrun) header.top .hbtns>.iconbtn:hover{background:rgba(255,255,255,.12) !important;color:#fff !important}
  body:not(.out):not(.firstrun) header.top .hbtns>.iconbtn svg{width:19px !important;height:19px !important}
  body:not(.out):not(.firstrun) header.top #goPerfil{width:40px !important;height:40px !important;min-width:40px;min-height:40px !important;max-height:40px;aspect-ratio:1;border-radius:50% !important;padding:0 !important;overflow:hidden;background:rgba(255,255,255,.06) !important;border:2px solid rgba(255,255,255,.22) !important}
  body:not(.out):not(.firstrun) header.top #goPerfil img{width:100%;height:100%;object-fit:cover;border-radius:50%}
  body:not(.out):not(.firstrun) nav.bar{top:64px;padding-top:8px}
  body:not(.out):not(.firstrun) .sbrand{display:none !important}
  body:not(.out):not(.firstrun) .wrap{margin-top:64px !important;min-height:calc(100vh - 64px);padding-top:26px}
  body:not(.out):not(.firstrun) .sbcolap{display:flex !important}
  /* menu recolhido */
  body.sbmini:not(.out):not(.firstrun){padding-left:92px}
  body.sbmini:not(.out):not(.firstrun) nav.bar{width:92px;padding:8px 8px 14px;overflow-x:hidden}
  body.sbmini:not(.out):not(.firstrun) header.top .hbrand{width:auto}
  body.sbmini:not(.out):not(.firstrun) header.top .dtl{padding-left:36px}
  body.sbmini nav.bar .in button,body.sbmini nav.bar .sbwork,body.sbmini nav.bar .sblink{flex-direction:column !important;justify-content:center !important;align-items:center;gap:4px !important;min-height:54px !important;padding:5px 2px !important;font-size:.68rem !important;font-weight:600;line-height:1.15;text-align:center;white-space:normal !important;border-width:0 !important}
  body.sbmini nav.bar .sblink span{white-space:normal}
  body.sbmini nav.bar .sbwork .sbbadge,body.sbmini nav.bar .in .sbbadge{position:absolute;top:2px;right:8px;margin:0;min-width:17px;height:17px;font-size:.62rem}
  body.sbmini nav.bar .in button,body.sbmini nav.bar .sbwork{position:relative}
  body.sbmini nav.bar .sbnew{width:44px !important;height:44px;min-height:44px !important;margin:0 auto;padding:0 !important;font-size:0 !important;gap:0 !important}
  body.sbmini nav.bar .sbnew svg{width:20px;height:20px}
  body.sbmini nav.bar .sbmenu{right:auto;width:240px}
  body.sbmini nav.bar .sbcolap span{display:none}body.sbmini nav.bar .sbcolap svg{transform:rotate(180deg)}
  body.sbmini nav.bar .sbfoot{padding-top:10px}
}
@media (min-width:1024px){body.sbmini nav.bar .sblink{background:transparent !important}body.sbmini nav.bar .sblink:hover{background:rgba(255,255,255,.06) !important}}
/* 2.142.0 (ajustes da prévia): barra de cima com fundo (o mesmo degradê fixo do menu), sem o título da tela; o título volta para o conteúdo;
   foto do perfil redonda; "Novo registro" no azul da marca, cantos de 12 px */
@media (min-width:1024px){
  body:not(.out):not(.firstrun) header.top{background:linear-gradient(160deg,#16232E,#22405A 70%) fixed !important}
  body:not(.out):not(.firstrun) header.top .dtl{display:none !important}
  body:not(.out):not(.firstrun) header.top .hbtns{margin-left:auto}
  body:not(.out):not(.firstrun) .tab>h2:first-child{display:block}
  body:not(.out) nav.bar .sbnew{background:#3E6A86 !important;color:#fff !important;border:1px solid rgba(140,200,232,.35) !important;border-radius:12px !important;min-height:44px !important;font-size:.95rem !important;font-weight:700 !important;box-shadow:none !important}
  body:not(.out) nav.bar .sbnew:hover{background:#4F8DB0 !important}
}
@media (min-width:1024px){body.sbmini:not(.out) nav.bar .sbnew{width:44px !important;height:44px !important;font-size:0 !important;gap:0 !important;padding:0 !important}}
/* 2.142.1: versão usuário no computador: botão do perfil com a troca de área (profissional); sem o atalho Workspace no menu */
.urpick{display:none}
@media (min-width:1024px){
  body.upro:not(.out):not(.firstrun) .urpick:not([hidden]){display:block;position:relative}
  body.upro:not(.out):not(.firstrun) header.top #goPerfil,body.upro:not(.out):not(.firstrun) nav.bar .sbwork{display:none !important}
  .urpick .crpbtn{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px 0 5px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;font:inherit;font-weight:700;font-size:.95rem;cursor:pointer;white-space:nowrap}
  .urpick .crpbtn:hover{background:rgba(255,255,255,.12)}
  .urpick .crpbtn .cmeav{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#4F8DB0;color:#fff}
  .urpick .crpbtn .cmeav img,.urpick .crpbtn .cmeav svg{width:100%;height:100%;object-fit:cover}.urpick .crpbtn .cmeav svg{width:20px;height:20px}
  .urpick .crpbtn>.ic{color:#93A7B7;transition:transform .18s}.urpick .crpbtn[aria-expanded="true"]>.ic{transform:rotate(180deg)}
  .urpick .crpmenu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:268px;padding:8px;border-radius:16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 40px -18px rgba(16,32,48,.45)}
  .urpick .crpmenu[hidden]{display:none}
  .urpick .crph{margin:6px 10px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .urpick .crpmenu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
  .urpick .crpmenu button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:6px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
  .urpick .crpmenu button:hover,.urpick .crpmenu button:focus-visible{background:var(--bg)}
  .urpick .crpmenu button[aria-checked="true"]{background:var(--fill-soft,#E1EBF2)}
  .urpick .crpmenu button>.ic{margin-left:auto;color:var(--accent)}
  .urpick .crpic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--bg);color:var(--accent);flex:none}
  .urpick .crptx{display:flex;flex-direction:column;line-height:1.2}.urpick .crptx b{font-weight:700}.urpick .crptx small{color:var(--muted);font-size:.8rem}
}
/* 2.142.4: tela "Abrindo seu Workspace…" (ao recarregar no computador) no visual novo: barra de cima escura com a logo, painel começando ao lado do menu (aberto ou recolhido) */
#wsBoot .wsbtop{height:64px;padding:0 22px;gap:12px;background:transparent;box-shadow:none}
#wsBoot .wsbtop img{width:40px;height:40px;border-radius:10px}
#wsBoot .wordmark span{color:#8CC8E8 !important}
@media (min-width:1024px){#wsBoot .wsbpanel{margin:0 0 0 256px !important;border-radius:28px 0 0 28px}html.wsbmini #wsBoot .wsbpanel{margin-left:92px !important}}
/* 2.143.0: Administração no computador dentro do app: o menu da esquerda e a barra de cima continuam; o painel ocupa o lugar do conteúdo.
   O item Administração do menu abre um painel escuro com as telas (Usuários, Perfis profissionais, Planos, Uso do app, Denúncias) */
.sbfly{display:none}
.aplgrid{display:grid;grid-template-columns:1fr;gap:12px}.aplgrid .field{margin:0}.aplgrid textarea{width:100%;box-sizing:border-box}
.aplquem{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 18px}
.btn.ghost.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}
@media (min-width:700px){.aplgrid{grid-template-columns:1fr 1fr}.aplgrid .aplfull{grid-column:1/-1}}
@media (min-width:1024px){
  body:not(.out):not(.firstrun) #admSheet:not([hidden]){position:fixed;inset:64px 0 0 256px;z-index:5;display:flex;flex-direction:column;background:var(--bg);border-radius:28px 0 0 28px;overflow:hidden;box-shadow:none}
  body.sbmini:not(.out):not(.firstrun) #admSheet:not([hidden]){left:92px}
  body:not(.out):not(.firstrun) #admSheet .chdr{background:transparent !important;border-bottom:1px solid var(--line) !important;padding:16px 32px !important;min-height:0;box-shadow:none !important}
  body:not(.out):not(.firstrun) #admSheet .chdr .clogo,body:not(.out):not(.firstrun) #admSheet #admClose{display:none !important}
  body:not(.out):not(.firstrun) #admSheet .ctl b{font-size:1.35rem;color:var(--ink)}
  body:not(.out):not(.firstrun) #admSheet .croles{margin-left:18px}
  body:not(.out):not(.firstrun) #admSheet #admBody{flex:1;max-width:none !important;padding:24px 32px 48px !important}
  body:not(.out):not(.firstrun) #admSheet #admBody>*{max-width:1300px;margin-left:auto;margin-right:auto}
  .sbfly:not([hidden]){display:flex;flex-direction:column;position:fixed;top:64px;bottom:0;left:256px;width:250px;z-index:9;padding:16px 12px;box-sizing:border-box;background:#1A2B38;border-right:1px solid rgba(255,255,255,.08);box-shadow:12px 0 28px -16px rgba(0,0,0,.5);color:#E8F0F6;overflow-y:auto}
  body.sbmini .sbfly:not([hidden]){left:92px}
  .sbflyh{display:flex;align-items:center;justify-content:space-between;margin:0 6px 8px}.sbflyh b{font-size:1rem}
  .sbflyx{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#93A7B7;font-size:1.3rem;cursor:pointer}.sbflyx:hover{background:rgba(255,255,255,.08);color:#fff}
  .sbflyg{margin:14px 10px 4px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7F95A6}
  .sbfly [data-admgo]{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:#C9D7E2;font:inherit;font-size:.95rem;text-align:left;cursor:pointer}
  .sbfly [data-admgo]::before{content:"";width:5px;height:5px;border-radius:50%;background:#5F7A8E;flex:none}
  .sbfly [data-admgo]:hover{background:rgba(255,255,255,.06);color:#fff}
  .sbfly [data-admgo][aria-current="true"]{background:rgba(140,200,232,.16);color:#fff}.sbfly [data-admgo][aria-current="true"]::before{background:#8CC8E8}
  body.admon nav.bar #sbAdm{background:rgba(140,200,232,.16) !important;color:#fff !important;border-color:rgba(140,200,232,.4) !important}
}
.apltbl .admacts{display:inline-flex;flex-wrap:nowrap;gap:6px}.apltbl .admacts .btn{min-height:36px !important;padding:0 12px !important;font-size:.88rem;width:auto;white-space:nowrap}
.apltbl td{vertical-align:middle}
@media (min-width:1024px){body.admon nav.bar .in button[aria-current="page"],body.admon nav.bar .sbwork[aria-current="page"]{background:transparent !important;box-shadow:none !important;color:#C9D7E2 !important;font-weight:600 !important}}
.apltbl .admacts .btn{min-width:0 !important}
select[data-admplano]{min-width:170px}
@media (min-width:1024px){body:not(.out):not(.firstrun) #admSheet #admBody>:first-child{margin-top:0 !important}}
/* 2.143.0 (parte 2): Administração: título da tela no computador (as abas saem; a navegação fica no menu); funções do profissional em Usuários; indicações no Perfil */
.admsec{display:none}
.admfun{display:inline-flex;gap:4px;flex-wrap:wrap}
.admfun button{min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.admfun button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.admfun button:hover{border-color:var(--accent)}
.meindn{display:block;margin-top:4px;color:var(--accent);font-weight:700}.meindn[hidden]{display:none}
@media (min-width:1024px){
  body:not(.out):not(.firstrun) #admSheet .croles{display:none !important}
  body:not(.out):not(.firstrun) #admSheet .ctl>b,body:not(.out):not(.firstrun) #admSheet .ctl>.small{display:none !important}
  body:not(.out):not(.firstrun) #admSheet .admsec{display:flex;flex-direction:column;gap:2px}
  body:not(.out):not(.firstrun) #admSheet .admsec small{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  body:not(.out):not(.firstrun) #admSheet .admsec b{font-size:1.45rem;color:var(--ink);font-family:var(--display)}
}
/* 2.143.2: tabelas da Administração no padrão de sistema: linhas compactas, cabeçalho em maiúsculas, etiquetas pequenas e ações em ícones */
.admtag{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:6px;border:1px solid var(--line);font-size:.7rem;font-weight:800;letter-spacing:.04em;color:var(--muted);background:var(--bg);white-space:nowrap}
.admtag.ok{color:#2E7D4F;border-color:#9FD3B3;background:#EAF7EF}.admtag.warn{color:#9A5A16;border-color:#EBC18F;background:#FFF4E5}
.admsel{min-height:34px !important;height:34px;padding:0 28px 0 10px !important;border-radius:8px !important;font-size:.86rem !important;max-width:190px;width:auto}
.admicons{display:inline-flex;align-items:center;gap:2px;flex-wrap:nowrap}
.admib{width:34px;height:34px;display:inline-grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;padding:0}
.admib:hover{background:var(--bg);color:var(--accent)}.admib.del{color:var(--bad)}.admib.del:hover{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.admib.off{opacity:.3;cursor:default}.admib.off:hover{background:transparent;color:var(--muted)}
.admbt{min-height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap}
.admbt:hover{border-color:var(--accent);color:var(--accent)}.admbt.ok{background:var(--accent);border-color:var(--accent);color:#fff}
.admtb .admacts{display:inline-flex;gap:4px;align-items:center;flex-wrap:nowrap;justify-content:flex-end}
@media (min-width:901px){
  .admtb{padding:6px 8px !important}
  .admtb table{font-size:.9rem}
  .admtb th{font-size:.7rem !important;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:12px 12px !important;white-space:nowrap}
  .admtb td{padding:9px 12px !important;vertical-align:middle}
  .admtb tbody tr{border-bottom:1px solid var(--line)}.admtb tbody tr:hover{background:color-mix(in srgb,var(--bg) 70%,transparent)}
  .admtb .admu{gap:10px}.admtb .admu b{font-weight:600}
  .admtb .cchip{font-size:.72rem}
  .admtb td>select.admrole{min-height:34px !important;height:34px;font-size:.86rem !important;border-radius:8px !important}
}
@media (min-width:1024px){
  body:not(.out):not(.firstrun) #admSheet .admcrumb{font-size:.82rem !important;font-weight:500 !important;letter-spacing:0 !important;text-transform:none !important;color:var(--muted)}
  body:not(.out):not(.firstrun) #admSheet .admcrumb i{font-style:normal;margin:0 4px;opacity:.5}body:not(.out):not(.firstrun) #admSheet .admcrumb span{color:var(--ink);font-weight:700}
  body:not(.out):not(.firstrun) #admSheet .admsecd{font-size:.88rem;color:var(--muted)}
}
@media (min-width:901px){.admtb td>select.admrole{min-width:150px}}
@media (min-width:901px){.admtb select[data-admplano]{min-width:0;width:130px}.admtb td{word-break:normal}.admtb .ctbl{overflow-x:auto}}
.admfl{margin:2px 0;white-space:nowrap}.admfl .admtag{margin:0}
.admfed{display:flex;flex-direction:column;gap:6px}.admfed .admreg{max-width:180px}
@media (min-width:901px){.admtb td>select[data-admplano].admrole{min-width:0;width:140px}}
@media (min-width:901px){.admtb th{padding:12px 10px !important}.admtb td{padding:9px 10px !important}}
/* 2.143.4: painel das funções do profissional (Usuários) */
.admfbtn{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:170px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;text-align:left}
.admfbtn .ic{color:var(--muted);flex:none}.admfbtn[aria-expanded="true"]{border-color:var(--accent)}
.admfpop{position:fixed;z-index:70;width:250px;padding:12px 14px;border-radius:12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 40px -18px rgba(16,32,48,.45)}
.admfpop[hidden]{display:none}
.admfph{margin:0 0 8px;font-weight:700;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admfpop label{display:flex;align-items:center;gap:10px;min-height:38px;font-size:.95rem;cursor:pointer}
.admfpop input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin:0}
.admfpn{margin:6px 0 10px;font-size:.78rem}
.admfpa{display:flex;justify-content:flex-end;gap:8px}
.admfbtn{min-width:200px;white-space:nowrap}.admfbtn span{overflow:hidden;text-overflow:ellipsis}
/* 2.143.5: cartão "Indique e ganhe vantagens" com o total de amigos cadastrados pelo convite; "Sair da conta" no menu do perfil */
.meindn{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin:2px 0 0;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink);font-weight:600}
.meindn b{font-family:var(--display);font-size:1.7rem;line-height:1;color:var(--accent)}.meindn span{font-size:.92rem}
.meindn[hidden]{display:none}
.crpsair b{color:var(--bad)}.crpsair .crpic{color:var(--bad) !important}
/* 2.144.0: Perfil reorganizado (aparência logo abaixo do nome, Sincronização de dados com Health Connect e Strava, Administração abaixo de Configurações);
   no computador, a Administração entra pelo botão do perfil e o menu da esquerda passa a mostrar as telas dela */
#adminBlock{display:none !important}
.sinccard:not(:has(.sincin:not([hidden]))){display:none}
.sincin{padding:12px 0 0;margin-top:10px;border-top:1px solid var(--line)}.sincin h3{font-size:1rem}
.sbadm{display:none}
@media (min-width:1024px){
  body:not(.out):not(.firstrun) #sbAdm{display:none !important}
  body.admon:not(.out) nav.bar .in,body.admon:not(.out) nav.bar .sbnewwrap,body.admon:not(.out) nav.bar .sbwork{display:none !important}
  body.admon:not(.out) nav.bar .sbadm{display:flex;flex-direction:column;gap:4px}
  .sbadmh{margin:4px 12px 6px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7F95A6}
  nav.bar .sbadm button{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:#C9D7E2;font:inherit;font-size:1rem;font-weight:600;text-align:left;cursor:pointer}
  nav.bar .sbadm button:hover{background:rgba(255,255,255,.06)}
  nav.bar .sbadm button[aria-current="true"]{background:rgba(140,200,232,.16);color:#fff;box-shadow:inset 3px 0 0 #8CC8E8}
  body.sbmini nav.bar .sbadm button{flex-direction:column;justify-content:center;gap:4px;min-height:54px;padding:5px 2px;font-size:.68rem;text-align:center;line-height:1.15}
  body.sbmini .sbadmh{font-size:0;height:1px;margin:6px 12px;background:rgba(255,255,255,.12)}
  #goAdm{display:none !important}
}
.crmmsair,.crmmsair .crmmic{color:var(--bad) !important}
/* 2.144.2: "Sair da conta" visível no fim do menu da Área de Trabalho (computador), como na versão usuário */
.csairnav{display:none !important}
@media (min-width:1024px){
  #coachSheet .csairnav{display:flex !important;margin-top:6px !important;color:#F3A99B !important;border:1px solid var(--cw-line) !important}
  #coachSheet .csairnav:hover{background:rgba(255,255,255,.06) !important}
  #coachSheet.cmini .csairnav .cnsh{display:block}#coachSheet.cmini .csairnav>span:not(.cnsh){display:none}
}
/* 2.145.0: Assistente em conversa (lista de conversas à esquerda, chat ao centro, ações para confirmar) */
.crmiatabs{margin:0 0 14px}
.crmiachat{display:grid;grid-template-columns:1fr;gap:14px;min-height:60vh}
.crmialist{display:none;flex-direction:column;gap:4px;padding:12px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.crmialist.on{display:flex}
.crmianovo{width:100%;justify-content:flex-start;gap:8px;min-height:40px;border-radius:10px !important}
.crmiabusca{margin:6px 0 2px}
.crmiah{margin:10px 8px 4px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.crmiaitem{display:flex;align-items:center;border-radius:10px}.crmiaitem.on,.crmiaitem:hover{background:var(--bg)}
.crmiaitem>button:first-child{flex:1;min-width:0;display:flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.9rem;text-align:left;cursor:pointer}
.crmiaitem>button:first-child span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crmiadel{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;opacity:0}.crmiaitem:hover .crmiadel,.crmiaitem.on .crmiadel{opacity:1}.crmiadel:hover{color:var(--bad)}
.crmianota{margin:auto 8px 0;padding-top:10px}
.crmiamain{display:flex;flex-direction:column;min-width:0;gap:10px}
.crmialbtn{align-self:flex-start;display:inline-flex;align-items:center;gap:6px}
.crmiavazio{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 0 10px;gap:6px}
.crmiaico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);margin-bottom:6px}
.crmiavazio h2{margin:0;font-size:1.6rem}.crmiavazio>p{margin:0 0 14px}
.crmiabox{width:100%;max-width:760px;box-sizing:border-box;padding:12px 14px 10px;border-radius:16px;border:1.5px solid color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--surface);text-align:left}
.crmiabox textarea{width:100%;border:0 !important;outline:0;resize:none;background:transparent !important;font:inherit;color:var(--ink);padding:2px !important;box-shadow:none !important;min-height:0}
.crmiabar{display:flex;align-items:center;gap:6px;margin-top:6px}.crmiabar .small{display:inline-flex;align-items:center;gap:4px;line-height:1.3}
.crmiasug{justify-content:center;max-width:760px;margin-top:8px}
.crmiathread{display:flex;flex-direction:column;gap:8px;padding:6px 2px;max-height:62vh;overflow-y:auto}
.crmiathread .crmb{max-width:82%}
.crmiamain>.crmiabox{align-self:center}
.crmiaac{align-self:flex-start;max-width:min(560px,92%);padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}
.crmiaat{margin:0 0 8px;display:flex;align-items:center;gap:6px;font-weight:700;font-size:.92rem}
.crmiaac textarea{width:100%;box-sizing:border-box;font:inherit;padding:8px 10px;border-radius:10px}
.crmiaab{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.crmiaab .btn{width:auto}
.crmiaok{display:inline-flex;align-items:center;gap:4px;margin-top:8px;color:#2E7D4F;font-weight:700;font-size:.88rem}
@media (min-width:1024px){
  .crmiachat{grid-template-columns:250px minmax(0,1fr);gap:20px}
  .crmialist{display:flex;position:sticky;top:0;max-height:calc(100vh - 200px);overflow-y:auto}
  .crmialbtn{display:none}
  .crmiavazio{padding-top:7vh}
}
/* 2.145.2: ícones nos cartões de números (Início da Área de Trabalho, Seu negócio, Financeiro, Administração) */
.ckpiic .ckpih{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.ckpiic .ckpih>span{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.25}
.ckpii{width:32px;height:32px;flex:none;border-radius:9px;display:grid;place-items:center;font-style:normal}
.ckpii.c-b{background:#E6F0FA;color:#2F6FB0}.ckpii.c-g{background:#E7F6EC;color:#2E8B57}.ckpii.c-o{background:#FFF1E2;color:#C2702E}.ckpii.c-p{background:#F0EBFA;color:#6E56B5}.ckpii.c-r{background:#FCE9E7;color:#C0453A}
:root[data-theme="dark"] .ckpii{background:rgba(255,255,255,.08) !important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ckpii{background:rgba(255,255,255,.08) !important}}
/* 2.146.0: Meu plano (planos dos profissionais, pagamento pelo Mercado Pago) */
.cplnbtn{align-items:center;gap:7px;height:40px;padding:0 14px;border-radius:20px;border:1px solid rgba(140,200,232,.45);background:rgba(140,200,232,.12);color:#BFE3F5;font:700 .88rem/1 inherit;cursor:pointer;white-space:nowrap}
.cplnbtn:hover{background:rgba(140,200,232,.22)}
.cplnbtn:focus-visible{outline:2px solid #8CC8E8;outline-offset:2px}
@media (min-width:1024px){#coachSheet .chdr .cplnbtn{display:inline-flex !important;margin-right:4px}}
.plnsh{position:fixed;inset:0;z-index:58;background:rgba(20,30,40,.5);display:flex;align-items:stretch;justify-content:center}
.plnpn{background:var(--surface);color:var(--ink);width:100%;display:flex;flex-direction:column;overflow:hidden}
.plnhd{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line)}
.plnhd>div{flex:1;min-width:0}.plnhd h2{margin:0;font-size:1.2rem}.plnhd p{margin:2px 0 0;font-size:.9rem}
.plnlogo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#E6F0FA;color:#2F6FB0;flex:none}
.plnbd{overflow:auto;padding:16px 16px 28px;flex:1}
.plngrid{display:grid;grid-template-columns:1fr;gap:14px}
.plnc{position:relative;border:1px solid var(--line);border-radius:18px;padding:22px 18px 18px;background:var(--surface);display:flex;flex-direction:column}
.plnc h3{margin:0;font-size:1.1rem}
.plnc.eu{border:2px solid var(--ink)}
.plnc.top{border:2px solid var(--accent);background:linear-gradient(180deg,rgba(62,106,134,.06),transparent 40%)}
.plnfx{position:absolute;top:-11px;left:16px;padding:3px 10px;border-radius:10px;background:var(--ink);color:var(--surface);font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.plnfx.top{background:var(--accent);color:#fff}
.plnpv{margin:8px 0 2px;display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.plnpv .plnv{white-space:nowrap}.plnpv .plnv{font-size:2rem;line-height:1.1}.plnpv span{color:var(--muted);font-size:.9rem}
.plnds{min-height:2.6em;margin:4px 0 14px}
.plnc .btn{width:100%}
.plnrec{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px;font-size:.92rem}
.plnrec li{display:flex;gap:8px;align-items:flex-start}.plnrec li .ic{color:var(--ok,#2E8B57);flex:none;margin-top:2px}
.plnaviso{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--ink);font-size:.92rem}   /* 2.152.4: segue o tema (no modo noite ficava uma caixa branca com texto branco) */
.plnaviso{display:block !important;line-height:1.45}.plnaviso .ic{vertical-align:-3px;margin-right:6px}
.plnpe{text-align:center;margin:18px 0 0}
.plnback{display:inline-flex;align-items:center;gap:4px;margin-bottom:12px}
.plnpay{max-width:460px;margin:0 auto;border:1px solid var(--line);border-radius:18px;padding:22px 18px}
.plnpay h3{margin:0}.plnpay .plnrec{margin-bottom:16px}.plnpay .btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px}
@media (min-width:1024px){
  .plnsh{align-items:center;padding:28px}
  .plnpn{max-width:1180px;max-height:calc(100vh - 56px);border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,.25)}
  .plnhd{padding:20px 28px}.plnbd{padding:28px}
  .plngrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;align-items:stretch}
  .plnperw{justify-content:flex-end;margin-top:-6px}
}
/* 2.147.0: forma de pagamento (cartão na própria página ou Pix) */
/* 2.147.1: abas de pagamento e período no mesmo estilo (trilho com as duas opções do mesmo tamanho, centralizadas) */
.plnfp,.plnper{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:999px;background:var(--bg);border:1px solid var(--line)}
.plnfp{width:100%;margin:16px 0 12px}
.plnfp button,.plnper button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 14px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:700 .95rem/1.1 inherit;cursor:pointer;white-space:nowrap}
.plnfp button[aria-pressed="true"],.plnper button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink,#fff);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.plnfp button:focus-visible,.plnper button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.plnperw{display:flex;justify-content:center;margin:0 0 18px}
.plnper{width:100%;max-width:340px}
.plnoff{display:inline-block;padding:2px 7px;border-radius:8px;background:#E7F6EC;color:#2E8B57;font-size:.74rem;font-weight:800}
.plnper button[aria-pressed="true"] .plnoff{background:rgba(255,255,255,.25);color:#fff}
.plnde{color:var(--muted);font-size:.9rem;margin-left:6px}
.plnano{display:block;font-size:.82rem;color:var(--muted);margin:0 0 4px}
.plncard{min-height:120px}
.plnpix{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.plnpix img{width:220px;height:220px;border-radius:12px;border:1px solid var(--line);background:#fff;padding:8px}
.plnpix p{margin:0}
.plnpixc{display:flex;gap:8px;width:100%}
.plnpixc input{flex:1;min-width:0;font-size:.85rem}
.plnpixc .btn{width:auto;display:inline-flex;align-items:center;gap:6px}
.plnpixst{display:flex;gap:6px;align-items:center;justify-content:center;font-size:.9rem;color:var(--muted)}
/* 2.147.2: Meu plano */
.plnmeu{max-width:560px;margin:0 auto;border:1px solid var(--line);border-radius:20px;padding:20px 18px;background:var(--surface)}
.plnmh{display:flex;align-items:center;gap:12px}
.plnmh>div{flex:1;min-width:0}.plnmh h3{margin:0;font-size:1.35rem}
.plnst{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap;background:var(--bg);color:var(--muted)}
.plnst.ok{background:#E7F6EC;color:#2E7D52}.plnst.warn{background:#FFF1E2;color:#B5651D}.plnst.bad{background:#FCE9E7;color:#C0453A}
.plnmeu .plnpv{margin:14px 0 4px}
.plndl{margin:10px 0 0;display:flex;flex-direction:column}
.plndl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:.92rem}
.plndl dt{color:var(--muted)}.plndl dd{margin:0;text-align:right;font-weight:600}
.plnacts{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.plnacts .btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.plnacts .plncanc{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}
.plnhist{max-width:560px;margin:20px auto 0}
.plnhist h3{font-size:1rem;margin:0 0 8px}
.plnhist ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.plnhist li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line)}
.plnhist li:first-child{border-top:0}
.plnhd1,.plnhd2{display:flex;flex-direction:column;gap:3px;min-width:0}.plnhd2{align-items:flex-end}
@media (min-width:1024px){.plnacts{flex-direction:row;flex-wrap:wrap}.plnacts .btn{flex:1;min-width:180px}}
/* 2.148.0: Administração · Faturamento */
.fatper{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:2px;scrollbar-width:none}
.fatper::-webkit-scrollbar{display:none}
.fatper button{flex:none;white-space:nowrap;min-height:38px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:600 .88rem/1 inherit;cursor:pointer}
.fatper button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#fff)}
.fatlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.fatlist li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:center}
.fatdot{width:10px;height:10px;border-radius:3px}
.fatlt,.fatlv{display:flex;flex-direction:column;min-width:0}.fatlv{align-items:flex-end}
.fatlb{grid-column:1/-1;display:block;height:6px;border-radius:3px;background:var(--bg);overflow:hidden}
.fatlb i{display:block;height:100%;border-radius:3px}
/* 2.148.1: projeção do faturamento */
.fatproj{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 4px}
.fatproj>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:14px;background:var(--bg)}
.fatproj b{font-size:1.25rem}
/* 2.149.0: pagar pelo Mercado Pago do profissional (aluno) e conexão (profissional) */
.finmp{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.finmp .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.finmpst{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:10px;border:1px dashed var(--line);border-radius:14px}
.finmpst img{width:200px;height:200px;border-radius:12px;background:#fff;padding:6px;border:1px solid var(--line)}
.finauto{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.finauto>b{display:flex;align-items:center;gap:6px}
.finautor{display:flex;align-items:center;justify-content:space-between;gap:10px}
.finmpc .admtag{font-size:.7rem}
/* 2.149.1: passo a passo do Mercado Pago (profissional) */
.mpps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.mpp{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.mpp:first-child{border-top:0}
.mpp>div{flex:1;min-width:0}.mpp p{margin:2px 0 0}
.mppn{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.9rem;background:var(--bg);color:var(--muted);border:1.5px solid var(--line)}
.mpp.on .mppn{background:var(--accent);color:var(--accent-ink,#fff);border-color:var(--accent)}
.mpp.ok .mppn{background:#E7F6EC;color:#2E7D52;border-color:#BFE3CB}
.mpp.ok>div>b{color:var(--muted)}
.mppal{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:12px 14px;border-radius:14px;background:var(--bg)}
.mppal .ic{flex:none;margin-top:2px;color:var(--accent)}
.finmpav{display:flex;align-items:center;gap:12px}
.finmpav>p{flex:1;min-width:0}.finmpav>.ic{flex:none;color:var(--accent)}
.finmpav.ok>.ic{color:#2E7D52}
.finqrimg{width:160px;height:160px;border-radius:10px;background:#fff;padding:6px;border:1px solid var(--line);flex:none}
/* 2.149.3: aluno: "Meu plano" com o profissional (Treino › Personal) */
.agprohd{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:none;border:0;padding:0;margin:0;color:inherit;font:inherit}
button.agprohd{cursor:pointer;border-radius:14px}
.fplpay{display:flex;gap:12px;align-items:center;margin-top:12px;padding:12px;border-radius:14px;background:var(--bg)}
.fplic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--surface,#fff);color:var(--accent)}
.fplstop{display:block;margin:10px auto 0;color:var(--bad)}
/* 2.149.5: formulário do cartão (Mercado Pago) sempre claro, também no modo noite (campos de nome e CPF ficavam escuros) */
.plncard input,.plncard select,.plncard textarea{background:#fff !important;color:#1b1b1b !important;border-color:#c9c9c9 !important;color-scheme:light}
.plncard input::placeholder{color:#8a8a8a}
.plncard{color-scheme:light}
.mprec{margin-top:12px;padding:12px 14px;border-radius:14px;background:rgba(217,154,43,.12);border:1px solid rgba(217,154,43,.4)}
/* 2.150.0: menu da conta (computador): cabeçalho com a pessoa, plano, atalhos, modo escuro e versão */
@media (min-width:1024px){
  .crpmenu.cntmenu{min-width:300px;max-width:340px;max-height:calc(100vh - 90px);overflow-y:auto;overscroll-behavior:contain}
  .crpmenu.cntmenu button{min-height:42px}
  .crpmenu .cnthd{gap:12px;min-height:60px !important;padding:8px 10px}
  .crpmenu .cntav{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#2F6E95;color:#fff;font-weight:800;font-size:1.05rem}
  .crpmenu .cntav img{width:100%;height:100%;object-fit:cover}
  .crpmenu .cnttx{display:flex;flex-direction:column;min-width:0;line-height:1.25}.crpmenu .cnttx b{font-size:1rem}
  .crpmenu .cnttx small{color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .crpmenu .cntpl{display:inline-flex !important;width:auto !important;min-height:0 !important;gap:6px !important;align-items:center;margin:0 0 4px 66px;padding:4px 10px !important;border-radius:999px !important;background:var(--fill-soft,#E1EBF2) !important;color:var(--accent) !important;font-size:.76rem !important;font-weight:600;letter-spacing:.01em}
  .crpmenu .cntpl>.ic{margin:0 !important;color:var(--accent)}
  .crpmenu .cntsm{margin-left:auto;color:var(--muted);font-size:.78rem}
  .urpick .crpmenu .cnttema[aria-checked="true"],#coachSheet .crpmenu .cnttema[aria-checked="true"]{background:transparent}
  .urpick .crpmenu .cnttema:hover,#coachSheet .crpmenu .cnttema:hover{background:var(--bg)}
  .crpmenu .cntsw{margin-left:auto;flex:none;width:38px;height:22px;border-radius:11px;background:var(--line);position:relative;transition:background .18s}
  .crpmenu .cntsw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .18s}
  .crpmenu .cnttema[aria-checked="true"] .cntsw{background:var(--accent)}.crpmenu .cnttema[aria-checked="true"] .cntsw::after{transform:translateX(16px)}
  .crpmenu .cntdot{margin-left:auto;width:9px;height:9px;border-radius:50%;background:var(--bad,#D0563B);flex:none}
  .crpmenu.cntmenu .crptx b{font-weight:500}.crpmenu.cntmenu .crptx small{font-weight:400}
  .urpick .crpmenu.cntmenu .crptx b,#coachSheet .crpmenu.cntmenu .crptx b{font-weight:500}
  .crpmenu.cntmenu .crph{font-weight:600}
  .crpmenu .cnttx b{font-weight:700 !important}
  .crpmenu .cntver{display:flex;align-items:center;gap:6px;margin:6px 10px 4px;color:var(--muted);font-size:.76rem}
  .crpmenu .cntver img{width:18px !important;height:18px !important;border-radius:4px;flex:none}
}
/* 2.151.0: Administração › Plataforma */
.platlims{display:grid;gap:14px;margin-top:10px}
@media (min-width:1024px){.platlims{grid-template-columns:1fr 1fr}}
.platlimh{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:6px}.platlimh span{color:var(--muted);font-size:.85rem}
.platbar{display:block;height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin-bottom:4px}.platbar>i{display:block;height:100%;border-radius:4px;background:var(--accent)}
.platbar.alto>i{background:var(--warn,#D99A2B)}
.plath4{margin:0 0 6px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.platul{list-style:none;margin:0;padding:0}.platul li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:.92rem}.platul li:first-child{border-top:0}
.platul li>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platul li>b{min-width:70px;text-align:right}
.platerr{color:var(--bad)}
.platrank{list-style:none;margin:0;padding:0}.platrank li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.platrank li:first-child{border-top:0}
.platpos{width:20px;text-align:center;color:var(--muted);font-weight:700;flex:none}
.platav{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;background:#3E6A86;color:#fff;font-weight:800}
.platrank li:nth-child(2) .platav{background:#C2702E}.platrank li:nth-child(3) .platav{background:#2F7D5B}.platrank li:nth-child(4) .platav{background:#8C6BB1}
.platrt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.platrb{display:block;height:5px;border-radius:3px;background:var(--line);margin-top:4px;overflow:hidden}.platrb>i{display:block;height:100%;background:var(--accent);border-radius:3px}
.platrn{min-width:44px;text-align:right}
.platcfg{border-style:dashed}.platcfg h3{display:flex;align-items:center;gap:8px}.platcfg code{background:var(--bg);padding:1px 6px;border-radius:6px}
/* 2.152.0: custo mensal do sistema */
.pckpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 14px}
@media (min-width:1024px){.pckpis{grid-template-columns:repeat(4,1fr)}}
.pckpis>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:14px;background:var(--bg)}.pckpis b{font-size:1.35rem}
.pcok{color:var(--ok,#2F7D5B);font-weight:600}.pcneg{color:var(--bad);font-weight:600}
.pcbox .fatlv{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pcbox .fatlv .linkbtn{padding:0;font-size:.8rem}
.pcform{padding:14px;border-radius:14px;background:var(--bg)}.pcgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pcgrid .field:first-child{grid-column:1/-1}
.pcgrid .field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted);margin:0}
.pcbox .usogrid{grid-template-columns:minmax(0,1fr)}.pcbox .usogrid>div{min-width:0}.pcbox .fatlv{white-space:nowrap}
@media (min-width:1024px){.pcbox .usogrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
/* 2.153.1: primeiro acesso no computador: perguntas e botão juntos, no meio da tela (o Continuar ficava solto no canto de baixo) */
@media (min-width:1024px){
  #paSheet{justify-content:center}
  #paSheet .pabody{flex:0 1 auto;max-height:calc(100vh - 190px)}
  #paSheet .pafoot{padding-top:16px;padding-bottom:28px}
  #paSheet .pafoot .btn{width:100% !important;min-height:52px;font-size:1.02rem}
}
/* 2.153.1: tour do profissional novo (visão de usuário e botão da Área de Trabalho) */
.ptour{position:fixed;inset:0;z-index:70}
.ptourbg{position:absolute;inset:0;background:rgba(10,20,30,.6)}
.ptourh{position:absolute;border-radius:14px;box-shadow:0 0 0 9999px rgba(10,20,30,.6),0 0 0 3px var(--accent);pointer-events:none;transition:all .25s}
.ptourc{position:absolute;background:var(--surface);color:var(--ink);border-radius:18px;padding:18px 18px 16px;box-shadow:0 18px 50px -12px rgba(0,0,0,.45);box-sizing:border-box}
.ptourc h3{margin:4px 0 6px;font-size:1.15rem}.ptourc p{margin:0 0 14px;color:var(--muted);line-height:1.45;font-size:.95rem}
.ptourn{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.ptourb{display:flex;gap:8px;flex-wrap:wrap}.ptourb .btn{flex:1;min-width:120px;width:auto}
.ptoura{position:absolute;top:-8px;width:16px;height:16px;background:var(--surface);transform:rotate(45deg);border-radius:3px}
.ptourx{position:absolute;top:14px;right:16px;padding:0;font-size:.85rem}
/* 2.172.0: tela de entrada no computador com fotografia real (as mesmas do site: academia, corrida e trilha alternando), título e cartões em vidro escuro */
@media (min-width:1024px){
  .lsph,.lsshade{position:absolute;inset:0}
  .lsph{z-index:-2}
  .lsph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;opacity:0;transform:scale(1.02);transition:opacity 1.2s ease,transform 9s linear}
  .lsph img.on{opacity:1;transform:scale(1.1)}
  .lsshade{z-index:-1;background:linear-gradient(180deg,rgba(5,10,16,.78) 0%,rgba(5,10,16,.35) 38%,rgba(5,10,16,.25) 60%,rgba(5,10,16,.85) 100%)}
  .lsin{position:relative;height:100%;display:flex;flex-direction:column;padding:48px clamp(32px,5vw,72px);box-sizing:border-box}
  .lslogo{display:flex;align-items:center;gap:12px}
  .lslogo img{border-radius:12px}
  .lslogo .wordmark{font-size:1.7rem;color:#fff}
  .lslogo .wordmark span{color:#7FD3F7}
  .lstxt{margin-top:clamp(48px,12vh,140px)}
  .lshud{display:block;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#9BDDF8}
  .lsh{margin:14px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(46px,4.6vw,72px);line-height:.98;letter-spacing:-.045em;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.35)}
  .lsh em{font-style:normal;background:linear-gradient(100deg,#6FCDF5,#E4F7FF 55%,#6FCDF5);-webkit-background-clip:text;background-clip:text;color:transparent}
  .lscards{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px;transform:translate(calc(var(--lsx,0)*8px),calc(var(--lsy,0)*6px));transition:transform .4s ease-out}
  .lsc{display:flex;align-items:center;gap:12px;padding:14px 18px 14px 14px;border-radius:18px;background:rgba(10,19,28,.55);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 50px -24px rgba(0,0,0,.8)}
  .lsc i{width:30px;height:30px;border-radius:50%;flex:none}
  .lsc span{display:flex;flex-direction:column;font-size:.82rem;color:rgba(255,255,255,.75)}
  .lsc b{font-size:1.1rem;color:#fff}
}
@media (prefers-reduced-motion:reduce){.lsph img,.lsph img.on{transition:none;transform:none}.lscards{transition:none;transform:none}}
/* 2.155.0: Financeiro reorganizado (Visão geral, Alunos, Cobranças, Resultado, Configurações) */
.finchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.finchip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1.3;white-space:nowrap;background:var(--bg);color:var(--muted)}
.finchip .ic{flex:none}
.finchip.auto{background:color-mix(in srgb,#2F6FB0 14%,transparent);color:#2F6FB0}
.finchip.pix{background:color-mix(in srgb,#2BA59A 15%,transparent);color:#1E8278}
.finchip.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}
.finchip.late{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}
.finchip.soon,.finchip.warn{background:color-mix(in srgb,#D99A2B 18%,transparent);color:#A86A10}
.finchip.info{background:color-mix(in srgb,#7C6FD6 15%,transparent);color:#6556C4}
:root[data-theme="dark"] .finchip.auto{color:#8CC0F0}:root[data-theme="dark"] .finchip.pix{color:#6FD3C8}:root[data-theme="dark"] .finchip.soon,:root[data-theme="dark"] .finchip.warn{color:#F0C070}:root[data-theme="dark"] .finchip.info{color:#B3A9F2}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .finchip.auto{color:#8CC0F0}:root:not([data-theme="light"]) .finchip.pix{color:#6FD3C8}:root:not([data-theme="light"]) .finchip.soon,:root:not([data-theme="light"]) .finchip.warn{color:#F0C070}:root:not([data-theme="light"]) .finchip.info{color:#B3A9F2}}
.finneeds{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.finneed{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--bg);border-left:4px solid var(--line)}
.finneed.late{border-left-color:var(--bad)}.finneed.info{border-left-color:#7C6FD6}.finneed.soon,.finneed.warn{border-left-color:#D99A2B}
.finneedi{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--surface);color:var(--accent)}
.finneed.late .finneedi{color:var(--bad)}.finneed .fintx{flex:1;min-width:0}.finneed .btn{width:auto;flex:none;min-height:40px;padding:0 14px}
.finok{display:flex;align-items:center;gap:12px;color:var(--ok)}.finok p{margin:0;color:var(--ink)}
.finsetup2{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;border:1.5px dashed var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.finsetup2>span{flex:1;display:flex;flex-direction:column;gap:2px}.finsetup2>.ic{color:var(--accent)}
.finbarw{display:block;height:10px;border-radius:5px;background:var(--line);overflow:hidden;margin-top:4px}.finbarw>i{display:block;height:100%;border-radius:5px;background:var(--grad,var(--accent))}
.finformas{list-style:none;margin:0;padding:0}.finformas li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.finformas li:first-child{border-top:0}.finformas li b{margin-left:auto}.finformas li .small{min-width:110px;text-align:right}
.finalunos .finrowb>.ic{flex:none;color:var(--muted)}
.finficha .finfichah{display:flex;align-items:center;gap:12px}
.findl{display:grid;grid-template-columns:1fr;gap:10px;margin:14px 0 0}
@media (min-width:600px){.findl{grid-template-columns:repeat(3,1fr)}}
.findl div{padding:10px 12px;border-radius:12px;background:var(--bg)}.findl dt{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.findl dd{margin:0;font-size:.92rem}
.fincfgtab{position:relative}.fincfgdot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:#E07B45}
.finmpok{display:flex;align-items:center;gap:12px}.finmpok .fintx{flex:1;min-width:0}.finmpoki{color:var(--ok);flex:none}
/* 2.155.0: aluno: Meu plano e pagamentos; recibo */
.finmh{display:flex;align-items:center;gap:8px;margin:18px 0 8px;font-size:1.02rem}
.finmh .finbadge{position:static}
.finmeupl{border-left:3px solid var(--accent)}
.finreclk{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--accent)}
.finrec{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px}
.finrec p{margin:0;line-height:1.55}
.finrech{display:flex;align-items:center;gap:10px}
.finrech>span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0}
.finrecl{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft,rgba(46,111,160,.12));color:var(--accent);flex:none}
.finrecv{font-size:1.35rem;font-weight:800;white-space:nowrap}
.finrecass{margin-top:10px;border-top:1px dashed var(--line);padding-top:8px;display:flex;flex-direction:column}
/* 2.155.2: escolher o plano do aluno na lista de planos */
.finplops{display:flex;flex-direction:column;gap:8px}
.finplop{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}
.finplop input{width:20px;height:20px;flex:none;accent-color:var(--accent);margin:0}
.finplop .fintx{flex:1;min-width:0}
.finplop:has(input:checked){border-color:var(--accent);background:var(--accent-soft,rgba(46,111,160,.08))}
.finplopv{white-space:nowrap}
.finatual{background:var(--bg)}
.cqab[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#fff)}
/* 2.156.0: Início do profissional no celular (anel do dia, vidro e brilho). Só abaixo de 1024 px; claro e escuro */
.chneo,.cnatal,.cnsem{display:none}
.chneoW{--nb:#2A86BD;--ng:#2E9466;--nr:#D0453A;--no:#C9741F;--np:#7A5CE0;--gl:linear-gradient(160deg,rgba(255,255,255,.97),rgba(255,255,255,.82));--glb:rgba(62,106,134,.14);--gtr:rgba(62,106,134,.12);--glsh:0 12px 28px -20px rgba(30,58,82,.5);--glowA:rgba(95,195,242,.32);--glowB:rgba(156,124,255,.2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chneoW{--nb:#5FC3F2;--ng:#5FE0A0;--nr:#FF7A6E;--no:#FFB357;--np:#B49CFF;--gl:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.025));--glb:rgba(255,255,255,.1);--gtr:rgba(255,255,255,.08);--glsh:0 12px 30px -20px rgba(0,0,0,.8);--glowA:rgba(64,170,230,.3);--glowB:rgba(130,90,230,.22)}}
:root[data-theme="dark"] .chneoW{--nb:#5FC3F2;--ng:#5FE0A0;--nr:#FF7A6E;--no:#FFB357;--np:#B49CFF;--gl:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.025));--glb:rgba(255,255,255,.1);--gtr:rgba(255,255,255,.08);--glsh:0 12px 30px -20px rgba(0,0,0,.8);--glowA:rgba(64,170,230,.3);--glowB:rgba(130,90,230,.22)}
@media (max-width:1023px){
  .chneoW{position:relative}
  #coachSheet .chneoW>.chd,#coachSheet .chneoW>.chatalm,#coachSheet .chneoW>.chday{display:none !important}
  .chneo{display:block;position:relative;margin-bottom:12px}
  .cnhd{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin:2px 2px 14px}
  .cndt{display:block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--nb)}
  .cnhd h1{font-family:var(--display);font-size:1.85rem;line-height:1.1;margin:4px 0 0}
  .cnglass,.chneoW .block{background:var(--gl);border:1px solid var(--glb);border-radius:22px;box-shadow:var(--glsh);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .cnhero{display:flex;align-items:center;gap:14px;padding:14px 16px}
  /* 2.156.7: primeiro cartão no azul do MyBets (mesmo degradê do cartão MyBets), textos claros */
  .chneoW .cnhero{background:var(--heroGrad) !important;border-color:transparent;box-shadow:var(--glow);color:#fff;--nb:#BFE6FA;--ng:#A8F0C8;--no:#FFD08F;--nr:#FFB3A8;--np:#D9C9FF;--gtr:rgba(255,255,255,.2);--glb:rgba(255,255,255,.18);--glowA:rgba(255,255,255,.35)}
  .chneoW .cnhero .cnrc span,.chneoW .cnhero .cnst span{color:rgba(255,255,255,.82)}
  .cnring{position:relative;width:112px;height:112px;flex:none}.cnring svg{transform:rotate(-90deg);display:block}
  .cnrbg{fill:none;stroke:var(--gtr);stroke-width:10}
  .cnrfg{fill:none;stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--glowA))}.cnan .cnrfg{animation:cnRing 1.1s cubic-bezier(.2,.8,.2,1) both}
  .cnrc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px}
  .cnrc b{font-family:var(--display);font-size:1.75rem;font-weight:800;line-height:1}.cnrc b small{font-size:1rem;opacity:.55}
  .cnrc span{font-size:.66rem;color:var(--muted);max-width:78px;line-height:1.2}
  .cnsts{flex:1;min-width:0;display:flex;flex-direction:column}
  .cnst{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border:0;border-bottom:1px solid var(--glb);background:none;font:inherit;color:inherit;padding:9px 0;text-align:left;cursor:pointer}
  .cnst:last-child{border-bottom:0}.cnst span{font-size:.8rem;color:var(--muted);min-width:0}
  .cnst b{font-family:var(--display);font-size:1.15rem;font-weight:800;white-space:nowrap}.cnst b small{font-size:.72rem;opacity:.7}
  .cnb{color:var(--nb)}.cng{color:var(--ng)}.cno{color:var(--no)}.cnr{color:var(--nr)}
  .cnatal{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin:0 0 12px}
  .cnq{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:70px;padding:10px 4px;font:inherit;font-size:.74rem;font-weight:700;color:var(--ink);cursor:pointer}
  .cnq svg{color:var(--nb);filter:drop-shadow(0 0 4px var(--glowA))}
  .chneoW .chvy{margin-bottom:12px}
  .chneoW .chvyf{box-shadow:0 0 0 2px var(--nb),0 0 14px var(--glowA)}
  .chneoW .pdi{border-bottom-color:var(--glb)}
  #coachSheet .chneoW .pdi .pdbtn,#coachSheet .chneoW .pdi .pdbtn.ghost{background:transparent !important;border:1.5px solid currentColor !important;color:var(--nb) !important;box-shadow:none !important;border-radius:12px !important}
  #coachSheet .chneoW .pdi.bad .pdbtn{color:var(--nr) !important}#coachSheet .chneoW .pdi.warn .pdbtn,#coachSheet .chneoW .pdi.late .pdbtn{color:var(--no) !important}#coachSheet .chneoW .pdi.ok .pdbtn{color:var(--ng) !important}
  .chneoW .pdn{background:var(--nr);box-shadow:0 0 10px var(--glowA)}
  #coachSheet .chneoW .chome2{display:flex;flex-direction:column}.chneoW .chome2>.chcol{display:contents}.chneoW .chome2 [data-chmov]{order:2}.chneoW .chome2 .chhoje{order:-4}.chneoW .chome2 [data-chmov="2"]{order:-3}.chneoW .chome2 .cnsem{order:-2}
  .cnsem{display:block}
  .cnchart{width:100%;height:auto;display:block;margin-top:8px;overflow:visible}
  .cnline{fill:none;stroke:var(--nb);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 5px var(--glowA))}
  .cndot{fill:var(--surface);stroke:var(--nb);stroke-width:2}.cndot.on{fill:var(--nb)}
  .cndays{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted);margin-top:4px}.cndays .on{color:var(--nb);font-weight:800}
  .cnan .chneo,.cnan .cnatal,.cnan .block{animation:cnIn .5s ease both}.cnan .cnatal{animation-delay:.08s}
}
@keyframes cnRing{from{stroke-dashoffset:var(--c)}}
@keyframes cnIn{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){.cnan .cnrfg,.cnan .chneo,.cnan .cnatal,.cnan .block{animation:none !important}}
/* 2.157.0: tela Mais (estilo ajustes): perfil, Precisa de você hoje, ícones coloridos e frase de novidade */
.crmmpf{display:flex;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.crmmav{width:48px;height:48px;border-radius:50%;overflow:hidden;flex:none;display:grid;place-items:center;background:#C2702E;color:#fff;font-weight:800;font-size:1.2rem}
.crmmav>*{width:100% !important;height:100% !important}.crmmav img{object-fit:cover}
.crmmtx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;text-align:left}.crmmtx b{font-weight:700;font-size:.97rem}.crmmtx small{font-size:.78rem;color:var(--muted);font-weight:500}
.crmmpl{flex:none;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;border-radius:10px;padding:4px 9px;background:var(--heroGrad)}
.crmmnow{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:14px;border-radius:18px;color:#fff;background:var(--heroGrad);box-shadow:var(--glow)}
.crmmnow>svg{flex:none;margin-top:2px}.crmmnow b{font-size:.98rem}.crmmnow p{margin:4px 0 0;font-size:.86rem;line-height:1.4;opacity:.93}
.crmmchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.crmmchips button{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.16);color:#fff;border-radius:20px;padding:6px 12px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.crmmi{min-height:60px}
.crmmic.crmc-b,.crmmic.crmc-o,.crmmic.crmc-g,.crmmic.crmc-r,.crmmic.crmc-p,.crmmic.crmc-y,.crmmic.crmc-s,.crmmic.crmc-n,.crmmic[class*="crmc-"] svg{color:#fff !important}
.crmc-b{background:#3E8FD0 !important}.crmc-o{background:#E07A45 !important}.crmc-g{background:#3DA36B !important}.crmc-r{background:#D45A87 !important}.crmc-p{background:#7B61D1 !important}.crmc-y{background:#D29A12 !important}.crmc-s{background:#6B7F92 !important}.crmc-n{background:#2B4D63 !important}
.crmmn.bad{background:var(--bad)}.crmmn.ok{background:#2E9466}
.crmmsair .crmmic{background:rgba(179,54,47,.12) !important}
.crmmver{text-align:center;color:var(--muted);font-size:.76rem;margin:14px 0 4px}
/* 2.158.0: Início do usuário: cartão azul "Metas de hoje" com anéis (Água, Refeições, Treino), faixa da dose e da pesagem */
.hjneo{--hjr-a:#8FD8FF;--hjr-r:#FFC48A;--hjr-t:#A8F0C8;border-radius:24px;padding:16px;color:#fff;background:var(--heroGrad);box-shadow:var(--glow);margin-bottom:12px}
.hjrhd{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.hjrhd b{font-family:var(--display);font-size:1.05rem}.hjrhd span{font-size:.8rem;opacity:.85}
.hjrings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.hjrg{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:4px 0;border-radius:16px;-webkit-tap-highlight-color:transparent}
.hjrg:active{transform:scale(.96)}
.hjrc{position:relative;width:84px;height:84px}.hjrc>svg{transform:rotate(-90deg);display:block}
.hjrbg{fill:none;stroke:rgba(255,255,255,.18);stroke-width:9}.hjrfg{fill:none;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}
.hjrn{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--display);font-size:1.08rem;font-weight:800;line-height:1.05}
.hjrn small{font-family:var(--body);font-size:.62rem;font-weight:600;opacity:.85}
.hjrl{display:inline-flex;align-items:center;gap:5px;font-size:.84rem;font-weight:700}
.hjrhint{font-size:.66rem;opacity:.75}
.hjref{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}
.hjrefb{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:#fff;border-radius:14px;padding:9px 10px;font:inherit;cursor:pointer;min-width:0}
.hjrefb b{display:inline-flex;align-items:center;gap:4px;font-size:.8rem}.hjrefb small{font-size:.68rem;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.hjrefb.ok{background:rgba(168,240,200,.18);border-color:rgba(168,240,200,.4)}
.hjwl{display:flex;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}
.hjwl button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}
.hjwl span{font-size:.72rem;opacity:.85}.hjwl b{font-family:var(--display);font-size:1.15rem;font-weight:800}.hjwl small{font-size:.7rem;opacity:.9}.hjwl small.up{color:#FFD08F;opacity:1}.hjwl small.dn{color:#A8F0C8;opacity:1}
.hjdose,.hjpes{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:12px;padding:12px 14px;border-radius:18px;border:0;font:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg,#E6F4EC,#D3ECDD);color:#2E6B4C}
.hjdi{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex:none;background:#3DA36B;color:#fff}
.hjdt{flex:1;min-width:0;display:flex;flex-direction:column}.hjdt b{font-size:.95rem}.hjdt small{font-size:.78rem;opacity:.9}
.hjdcd{font-family:var(--display);font-size:1.15rem;font-weight:800;white-space:nowrap}
.hjdbtn{flex:none;background:#2E9466;color:#fff;font-weight:800;font-size:.82rem;border-radius:12px;padding:8px 12px}
.hjdose.hot{box-shadow:0 0 0 2px #3DA36B inset}
.hjdose.late{background:linear-gradient(135deg,#FCE4E2,#F8D2CE);color:#9B2C25;box-shadow:0 0 0 2px #C0453A inset}.hjdose.late .hjdi,.hjdose.late .hjdbtn{background:#C0453A}
.hjpes{background:linear-gradient(135deg,#E0F0F9,#CBE5F4);color:#1F4C68}.hjpes .hjdi,.hjpes .hjdbtn{background:#3E6A86}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hjdose{background:rgba(95,164,126,.16);color:#8FD1AE}:root:not([data-theme="light"]) .hjdose.late{background:rgba(255,138,128,.16);color:#FF8A80}:root:not([data-theme="light"]) .hjpes{background:rgba(140,200,232,.14);color:#B8DDF1}}
:root[data-theme="dark"] .hjdose{background:rgba(95,164,126,.16);color:#8FD1AE}:root[data-theme="dark"] .hjdose.late{background:rgba(255,138,128,.16);color:#FF8A80}:root[data-theme="dark"] .hjpes{background:rgba(140,200,232,.14);color:#B8DDF1}
@media (min-width:1024px){#tab-home .hjneo,#tab-home .hjdose,#tab-home .hjpes{column-span:all}.hjrc{width:96px;height:96px}.hjrc>svg{width:96px;height:96px}}
@media (prefers-reduced-motion:reduce){.hjrfg{transition:none}}
.hjdcd{display:flex;flex-direction:column;align-items:center;line-height:1}.hjdcd small{font-family:var(--body);font-size:.65rem;font-weight:700}
/* 2.158.5: Início do usuário com "Olá, nome" (igual ao do profissional): data em caixa alta azul, nome grande e a frase do dia embaixo */
.hjola small{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#2A86BD}
.hjola b{font-size:1.85rem;line-height:1.1;margin-top:4px}
.hjsub2{display:block;margin-top:4px;color:var(--muted);font-size:.95rem;font-weight:600}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hjola small{color:#5FC3F2}}
:root[data-theme="dark"] .hjola small{color:#5FC3F2}
/* 2.158.6: contorno neon na barra de baixo (usuário e profissional), em degradê azul com brilho suave */
@media (max-width:1023px){
  nav.bar{border:2px solid transparent !important;background:linear-gradient(color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--surface) 92%,transparent)) padding-box,linear-gradient(100deg,#3E8FD0,#9C7CFF 35%,#5FC3F2 65%,#3E8FD0) border-box !important;
    box-shadow:0 0 22px -2px rgba(110,140,255,.65),0 0 6px rgba(95,195,242,.5),0 12px 32px -10px rgba(20,40,60,.35) !important}
}
@media (max-width:900px){
  #coachSheet .cmods{border:2px solid transparent !important;background:linear-gradient(color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--surface) 92%,transparent)) padding-box,linear-gradient(100deg,#3E8FD0,#9C7CFF 35%,#5FC3F2 65%,#3E8FD0) border-box !important;
    box-shadow:0 0 22px -2px rgba(110,140,255,.65),0 0 6px rgba(95,195,242,.5),0 12px 32px -10px rgba(20,40,60,.35) !important}
}
/* 2.159.0: convidar um amigo no Início: ícone no topo, convite no dia completo (Metas de hoje) e "Desafiar um amigo" no MyBets */
.hjcel{display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px 12px;border-radius:16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26)}
.hjcele{font-size:1.5rem;flex:none}.hjcelt{flex:1;min-width:0;display:flex;flex-direction:column}.hjcelt b{font-size:.93rem}.hjcelt small{font-size:.76rem;opacity:.9}
.hjcelb{flex:none;border:0;border-radius:12px;padding:8px 12px;background:#fff;color:#2B4D63;font:inherit;font-weight:800;font-size:.82rem;cursor:pointer}
.bdesafia{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;min-height:42px;border:1px solid rgba(255,255,255,.35);border-radius:14px;background:rgba(255,255,255,.14);color:#fff;font:inherit;font-weight:800;font-size:.9rem;cursor:pointer}.bdesafia:active{transform:scale(.98)}
/* 2.160.0: Treinos como aba inicial: Próximo treino (cartão azul) e Treino sem ficha (três botões) */
.trhero{display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:22px;color:#fff;background:var(--heroGrad);box-shadow:var(--glow);margin-bottom:6px}
.trhk{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.trht{font-family:var(--display);font-size:1.3rem;font-weight:800;line-height:1.2;margin-top:2px}
.trhs{font-size:.84rem;opacity:.9}
.trhgo{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;min-height:46px;border:0;border-radius:14px;background:#fff;color:#2B4D63;font:inherit;font-weight:800;font-size:.98rem;cursor:pointer}
.trsec{margin:16px 4px 8px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.trsec[hidden]{display:none}
.trsf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.trsf[hidden]{display:none}
.trsfb{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border-radius:18px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;text-align:center;box-shadow:0 1px 2px rgba(30,38,48,.06)}
.trsfb:active{transform:scale(.97)}
.trsfi{width:44px;height:44px;border-radius:14px;color:#fff;display:grid;place-items:center;margin-bottom:2px;box-shadow:0 6px 14px -8px rgba(0,0,0,.5)}
.trsfb b{font-size:.88rem}.trsfb small{font-size:.7rem;color:var(--muted)}
.trfreehd{display:flex;align-items:center;gap:10px;margin-bottom:8px}.trfreehd .backbtn{margin:0}.trfreehd b{font-family:var(--display);font-size:1.1rem}
@media (min-width:1024px){.trsf{gap:12px}.trsf .trsfb{min-height:104px}}
/* 2.162.0: Composição corporal (balança) em Peso */
.bcxg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.bcxi{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:16px;background:var(--bg)}
.bcxi>span{font-size:.76rem;color:var(--muted)}
.bcxi b{font-family:var(--display);font-size:1.35rem;font-weight:800}.bcxi b em{font-style:normal;font-size:.8rem;font-weight:700;margin-left:3px;color:var(--muted)}
.bcxi small{font-size:.72rem;color:var(--muted)}
.bcxi .bcxd{position:absolute;top:10px;right:10px;font-weight:800;font-size:.72rem}.bcxd.ok{color:var(--ok)}.bcxd.warn{color:var(--warn)}
@media (min-width:1024px){.bcxg{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bcxg>.bcxi:last-child:nth-child(odd){grid-column:1/-1;align-items:center;text-align:center}@media (min-width:1024px){.bcxg>.bcxi:last-child:nth-child(odd){grid-column:auto;align-items:stretch;text-align:left}}
/* 2.163.0: menu recolhido abre ao passar o mouse, por cima do conteúdo (a tela não se mexe), e recolhe ao sair */
@media (min-width:1024px){
  body.sbpeek:not(.out):not(.firstrun){padding-left:92px}
  body.sbpeek:not(.out):not(.firstrun) header.top .hbrand{width:auto}
  body.sbpeek:not(.out):not(.firstrun) nav.bar{width:256px;z-index:8;background:linear-gradient(160deg,#16232E,#22405A 70%) fixed !important;box-shadow:14px 0 30px -14px rgba(0,0,0,.55);animation:mpeek .16s ease-out}
  body.sbpeek:not(.out):not(.firstrun) #admSheet:not([hidden]){left:92px}
  #coachSheet.cpeek:not([hidden]){grid-template-columns:92px minmax(0,1fr)}
  #coachSheet.cpeek .cside{width:256px;box-sizing:border-box;position:relative;z-index:8;background:linear-gradient(160deg,#16232E,#22405A 70%) fixed !important;box-shadow:14px 0 30px -14px rgba(0,0,0,.55);animation:mpeek .16s ease-out}
  @keyframes mpeek{from{clip-path:inset(0 64% 0 0)}to{clip-path:inset(0 0 0 0)}}
}
@media (prefers-reduced-motion:reduce){body.sbpeek nav.bar,#coachSheet.cpeek .cside{animation:none !important}}
@media (min-width:1024px){body.sbpeek nav.bar .sbcolap svg{transform:rotate(180deg)}}
/* 2.163.1: sem botão de recolher (o menu do computador fica sempre recolhido e abre ao passar o mouse, no formato normal);
   Registros com os números centralizados; Início: peso alinhado embaixo dos anéis */
@media (min-width:1024px){
  body:not(.out) nav.bar .sbcolap,#coachSheet .ccolap{display:none !important}
  #coachSheet .csairnav{margin-top:auto !important}
  .hjwl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .hjwl>button:nth-child(2):last-child{grid-column:3}
}
/* 2.163.2: menu aberto pelo mouse empurra a página (ela se ajusta à largura do menu) em vez de ficar por cima */
@media (min-width:1024px){
  body:not(.out):not(.firstrun){transition:padding-left .18s ease}
  body.sbpeek:not(.out):not(.firstrun){padding-left:256px}
  body.sbpeek:not(.out):not(.firstrun) nav.bar{box-shadow:none;animation:none}
  body.sbpeek:not(.out):not(.firstrun) #admSheet:not([hidden]){left:256px}
  #coachSheet:not([hidden]){transition:grid-template-columns .18s ease}
  #coachSheet.cpeek:not([hidden]){grid-template-columns:256px minmax(0,1fr)}
  #coachSheet.cpeek .cside{width:auto;box-shadow:none;animation:none}
}
@media (prefers-reduced-motion:reduce){body,#coachSheet{transition:none !important}}
/* 2.163.4: padrão do app: informação centralizada nos cards de números (celular e computador) */
.metric:not(.emptyinv),.bcxi,.bfmini>div,.avstats>div,.vystats div,.wastats>div,.twtiles div,.rbstats div,.pckpis>div,.pastats>div,.gmstats div,.ckpis>div,.ckpi{text-align:center;align-items:center}
.metric:not(.emptyinv) .c,.ckpih{justify-content:center}
.hjwl button{align-items:center;text-align:center}
.bcxi .bcxd{position:static;margin-top:2px}
/* 2.162.2: Peso: histórico das pesagens num botão */
#tab-peso:not(.whopen)>#whView{display:none !important}
#tab-peso>#whOpen{display:flex !important}
#tab-peso.whopen>:not(#whView){display:none !important}
/* 2.164.0: puxar para atualizar */
.ptr{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 10px);z-index:58;width:40px;height:40px;margin-left:-20px;border-radius:50%;background:var(--surface);color:var(--muted);box-shadow:0 6px 18px -6px rgba(0,0,0,.4);border:1px solid var(--line);display:grid;place-items:center;transform:translateY(-60px);opacity:0;pointer-events:none}
.ptr svg{width:22px;height:22px}
.ptr.pronto,.ptr.spin{color:var(--accent)}
.ptr.anim{transition:transform .25s ease,opacity .25s ease}
.ptr.spin svg{animation:ptrGira .8s linear infinite}
@keyframes ptrGira{to{transform:rotate(360deg)}}
@media (max-width:1023px){html,body{overscroll-behavior-y:contain}}
@media (prefers-reduced-motion:reduce){.ptr.spin svg{animation-duration:2s}}
/* 2.164.1: tendência nos quadros de Registros (hoje × ontem, 7 dias × 7 dias anteriores) */
.mtendw{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:8px}.mtendw small{font-size:.72rem;color:var(--muted)}
.mtend{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;padding:3px 9px;border-radius:999px;font-size:.76rem;font-weight:700;background:var(--bg);color:var(--muted)}
.mtend.up{color:var(--ok);background:color-mix(in srgb,var(--ok) 13%,transparent)}
.mtend.dn{color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,transparent)}
/* 2.163.6: Área de Trabalho no computador: mesmo espaço (16 px) entre o resumo da Vyta, os números do dia e os cards de baixo */
@media (min-width:1024px){
  #coachSheet .chneoW>.chvy{margin-bottom:16px !important}
  #coachSheet .chneoW>.chday{margin:0 0 16px !important;gap:16px}
}
/* 2.164.2: resumo da Vyta na Área de Trabalho em azul-claro, só no computador (celular sem mudança) */
@media (min-width:1024px){
  #coachSheet .chneoW>.chvy{background:linear-gradient(135deg,#E6F2FA,#D3E8F6) !important;border:1px solid #BFDDF0 !important;box-shadow:none !important}
  #coachSheet .chneoW>.chvy .chvyn{color:#2D5672 !important}
}
@media (min-width:1024px) and (prefers-color-scheme:dark){:root:not([data-theme="light"]) #coachSheet .chneoW>.chvy{background:linear-gradient(135deg,#1E3444,#24425A) !important;border-color:#2E5470 !important}:root:not([data-theme="light"]) #coachSheet .chneoW>.chvy .chvyn{color:#9FD3F2 !important}}
@media (min-width:1024px){:root[data-theme="dark"] #coachSheet .chneoW>.chvy{background:linear-gradient(135deg,#1E3444,#24425A) !important;border-color:#2E5470 !important}:root[data-theme="dark"] #coachSheet .chneoW>.chvy .chvyn{color:#9FD3F2 !important}}
/* 2.165.0: card Insights (IA) no detalhe do treino */
.twins{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--surface)),var(--surface)) !important}
.twinsh{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--accent)}.twinsh b{font-family:var(--display);font-size:1.05rem;color:var(--ink)}
.twinsia{font-size:.68rem;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:999px;background:var(--accent);color:var(--accent-ink,#fff)}
.twinsn{margin-left:auto;font-size:.74rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--bg);color:var(--ink);text-transform:capitalize}
.twinsi{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.twinsi:first-of-type{border-top:0;padding-top:2px}
.twinsic{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--bg);color:var(--accent)}
.twinsi b{font-size:.86rem}.twinsi p{margin:2px 0 0;font-size:.9rem;line-height:1.45;color:var(--ink)}
.twinsf{margin:8px 0 0;font-size:.74rem;color:var(--muted)}
.twinst{margin:0 0 10px;font-size:.9rem;color:var(--muted);line-height:1.45}
.twinsb{display:inline-flex;align-items:center;gap:6px;width:auto}
.twinsl{display:grid;gap:8px}.twinsl i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg),var(--line),var(--bg));background-size:200% 100%;animation:twinsSh 1.2s linear infinite}.twinsl i:nth-child(2){width:85%}.twinsl i:nth-child(3){width:60%}
@keyframes twinsSh{to{background-position:-200% 0}}
/* 2.165.3: Insights da semana em Fitness › Registros (usa o visual do quadro do treino) */
#aSum .rgins,#aSum2 .rgins{grid-column:1/-1;margin:0;text-align:left}
/* 2.165.4: Registros: números, histórico, gasto e Insights da semana (recolhido mostra só o Próximo treino) */
#aSum:empty{display:none}
#aSum2{margin-top:12px}#aSum2:empty{display:none}
.rgins .rgmais{display:block;margin:6px 0 0;font-size:.88rem;font-weight:700}
.rgins.rgmin .twinsi{padding-bottom:2px}
/* 2.166.0: Composição corporal com medidores (arco com faixas e ponto de luz) */
.bcxmgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.bcxm{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 4px 12px;border-radius:18px;color:var(--ink);background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--accent) 16%,var(--bg)) 0%,var(--bg) 70%);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line))}
.bcxmt{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bcxmg{display:block;width:100%;max-width:168px;height:auto;margin:2px auto 0}
.bcxmv{font-family:var(--display);font-size:25px;font-weight:800;fill:var(--ink)}.bcxmu{font-size:11px;font-weight:700;fill:var(--muted)}
.bcxms{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:800;color:color-mix(in srgb,var(--c) 62%,#000)}
.bcxms i{width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}
.bcxmi{font-size:.68rem;color:var(--muted);margin-top:1px}
.bcxm .bcxd{margin-top:3px;font-size:.7rem;font-weight:700}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bcxms{color:var(--c)}}
:root[data-theme="dark"] .bcxms{color:var(--c)}
@media (min-width:1024px){.bcxmgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){.bcxmgrid~.bcxg{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.bcxmgrid~.bcxg>.bcxi:last-child:nth-child(odd){align-items:center;text-align:center}}
.bcxhero{display:flex;align-items:center;gap:14px;margin-top:10px;padding:10px 12px;border-radius:18px;background:var(--bg)}
.bcxbody{flex:none}
.bcxhl{flex:1;display:grid;gap:2px}
.bcxhl>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:8px;padding:5px 0;border-bottom:1px solid var(--line)}.bcxhl>div:last-child{border:0}
.bcxhl span{font-size:.84rem;color:var(--muted)}.bcxhl b{font-family:var(--display);font-size:1.02rem;text-align:right}
.bcxhl .bcxd{grid-column:1/-1;text-align:right;font-size:.68rem;font-weight:700;margin:0}
.bcxtmb{margin-top:8px;padding:12px 14px;border-radius:18px;background:var(--bg)}
.bcxtmbh{display:flex;justify-content:space-between;align-items:baseline}.bcxtmbh span{font-size:.84rem;color:var(--muted)}
.bcxtmbh b{font-family:var(--display);font-size:1.3rem;font-weight:800}.bcxtmbh em{font-style:normal;font-size:.74rem;color:var(--muted);margin-left:3px}
.bcxtmbb{position:relative;display:flex;height:8px;border-radius:4px;margin:12px 0 6px}
.bcxtmbb i{display:block;opacity:.85}.bcxtmbb i:first-child{border-radius:4px 0 0 4px}.bcxtmbb i:nth-child(3){border-radius:0 4px 4px 0}
.bcxtmbb span{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--c),0 0 12px var(--c)}
.bcxtmbl{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted)}
.bcxtmbt{margin:8px 0 0;font-size:.8rem;color:var(--muted);line-height:1.4}.bcxtmbt b{color:color-mix(in srgb,var(--c) 62%,#000)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bcxtmbt b{color:var(--c)}}
:root[data-theme="dark"] .bcxtmbt b{color:var(--c)}
@media (min-width:1024px){.bcxhl{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));column-gap:18px}.bcxhl>div{border-bottom:0;border-right:1px solid var(--line);padding:4px 12px 4px 0}.bcxhl>div:last-child{border-right:0}}
/* 2.166.2: avatar da tela de Medidas no topo da Composição corporal */
.bcxav{flex:none;position:relative;width:118px;aspect-ratio:380/580;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#1b3550 0%,#0b1724 72%)}
.bcxav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (min-width:1024px){.bcxav{width:110px}}
/* 2.166.3: fundo do avatar mais claro (a imagem em modo "screen" sobre um azul mais claro: o preto da imagem some e o corpo fica por cima) */
.bcxav{background:radial-gradient(ellipse at 50% 38%,#5A93BA 0%,#2F587A 78%)}
.bcxav img{mix-blend-mode:screen;filter:brightness(1.45) contrast(1.25)}
/* 2.166.4: cards dos medidores no mesmo cinza do card de cima, sem borda */
.bcxm{background:var(--bg);border-color:transparent}
/* 2.167.0: Mapa de sintomas do GLP-1 */
.smpw{display:flex;align-items:center;gap:12px;margin-top:6px;color:var(--ink)}
.smpradar{width:190px;max-width:55%;height:auto;flex:none}
.smpleg{display:grid;gap:6px;font-size:.78rem;color:var(--muted)}.smpleg span{display:flex;align-items:center;gap:7px}.smpleg i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}
.smplegh{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 10px}
.smpidx{display:flex;align-items:center;gap:12px;margin:10px 0 4px}
.smpidx>b{font-family:var(--display);font-size:2.2rem;font-weight:800;line-height:1}.smpidx>b small{font-size:.8rem;color:var(--muted);margin-left:2px}
.smpidx span{display:block;font-weight:700;font-size:.95rem}
.smpidx em{display:inline-block;margin-top:3px;font-style:normal;font-size:.74rem;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--bg);color:var(--muted)}
.smpidx em.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 13%,transparent)}.smpidx em.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,transparent)}
.smpevo{display:block;width:100%;height:auto;margin:6px 0 2px}.smpax{font-size:10px;fill:var(--muted)}
.smpins{display:flex;gap:8px;align-items:flex-start;margin:8px 0 12px;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));font-size:.86rem;line-height:1.45;color:var(--ink)}.smpins .ic{flex:none;color:var(--accent);margin-top:2px}
.smpcard>.btn{width:100%;margin-top:6px}
.smpq{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.smpqi{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--bg);font-size:1.05rem;flex:none}
.smpq>b{flex:1;font-size:.95rem;min-width:0}
.smpqs{display:flex;gap:5px}
.smpqs button{width:38px;height:36px;min-height:0;padding:0;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;font-weight:800;cursor:pointer}
.smpqs button[aria-pressed="true"]{background:var(--c);border-color:var(--c);color:#1E2630}
@media (min-width:1024px){.smpradar{width:220px}#smpSheet .sheetbody{max-width:560px}}
/* 2.167.1: mapa de sintomas: ícones próprios, neon, etiqueta do índice; histórico de doses num botão */
.smpric{color:var(--muted)}
.smpqi{color:var(--accent)}
.smpfx{display:inline-block;font-style:normal;font-size:.72rem;font-weight:800;padding:2px 9px;border-radius:999px;margin-left:6px;vertical-align:2px;color:color-mix(in srgb,var(--c) 60%,#000);background:color-mix(in srgb,var(--c) 22%,transparent)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .smpfx{color:var(--c)}}
:root[data-theme="dark"] .smpfx{color:var(--c)}
.smpidx span .infobtn{vertical-align:-4px}
#tab-dose:not(.dhopen)>#dhView{display:none !important}
#tab-dose>#dhOpen{display:flex !important}
#tab-dose.dhopen>:not(#dhView){display:none !important}
/* 2.167.2: tela do GLP-1: seletores e campos preenchidos (sem a caixa com borda), seta própria e brilho azul ao tocar */
#tab-dose input:not([type=range]):not([type=checkbox]):not([type=radio]),#tab-dose select{
  border:1.5px solid transparent !important;border-radius:16px !important;min-height:52px;padding:12px 16px;font-weight:600;font-size:1.02rem;
  background:color-mix(in srgb,var(--accent) 8%,var(--bg)) !important;box-shadow:inset 0 1px 2px rgba(0,0,0,.06);transition:border-color .15s,box-shadow .15s,background-color .15s}
#tab-dose select{-webkit-appearance:none;appearance:none;padding-right:44px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235B92B8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 14px center !important;background-size:20px !important}
#tab-dose input:not([type=range]):focus,#tab-dose select:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 70%,#8CC8E8) !important;box-shadow:0 0 0 4px color-mix(in srgb,#5BB8F0 22%,transparent)}
#tab-dose input::placeholder{color:var(--muted);font-weight:500}
#tab-dose .unit em{font-weight:700;color:var(--accent);font-size:.88rem;background:color-mix(in srgb,var(--accent) 14%,transparent);padding:3px 9px;border-radius:999px;right:10px}
#tab-dose .unit input{padding-right:62px}
#tab-dose .field>label{font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--muted);margin-bottom:6px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #tab-dose input:not([type=range]):not([type=checkbox]):not([type=radio]),:root:not([data-theme="light"]) #tab-dose select{background-color:rgba(255,255,255,.06) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}:root:not([data-theme="light"]) #tab-dose .unit em{color:#8CC8E8;background:rgba(140,200,232,.14)}}
:root[data-theme="dark"] #tab-dose input:not([type=range]):not([type=checkbox]):not([type=radio]),:root[data-theme="dark"] #tab-dose select{background-color:rgba(255,255,255,.06) !important}
:root[data-theme="dark"] #tab-dose .unit em{color:#8CC8E8;background:rgba(140,200,232,.14)}
#tab-dose select{font-size:.95rem;padding-right:40px;text-overflow:ellipsis}
/* 2.167.3: tela do GLP-1: títulos dos campos e valores centralizados; dose desta semana na largura toda */
#tab-dose .field>label,#tab-dose #concInfo{text-align:center;display:block}
#tab-dose input:not([type=range]):not([type=checkbox]):not([type=radio]){text-align:center}
#tab-dose .unit input{padding-left:62px}
#tab-dose select{text-align:center;text-align-last:center;padding-left:40px}
#tab-dose .row:has(>.field:only-child){grid-template-columns:1fr}
#tab-dose select{padding-left:30px;padding-right:34px;background-position:right 10px center !important}
#tab-dose #syr{font-size:.88rem;padding-left:24px;padding-right:32px}
/* 2.168.0: seringa nova e lupa */
.bigdose{justify-content:center}
#doseOut>p.muted{text-align:center}
svg.syr2{margin:14px 0 2px}
svg.syr2 .syrg0{stop-color:#fff;stop-opacity:.95}svg.syr2 .syrg1{stop-color:#EEF5FA;stop-opacity:.7}svg.syr2 .syrg2{stop-color:#DCE7EF;stop-opacity:.95}
svg.syr2 .syrout{stroke:#56697A;stroke-opacity:.6;stroke-width:1.4}
svg.syr2 .syrtk{stroke:#2B3A47;stroke-width:.8;opacity:.8}svg.syr2 .syrtk.mj{stroke-width:1.3;opacity:.95}
svg.syr2 .syrnum{font-size:9.5px;fill:var(--muted);font-family:var(--body)}
svg.syr2 .syrndl{fill:#B7C4CF}svg.syr2 .syrhub,svg.syr2 .syrflg{fill:#E9EEF2;stroke:#9FB0BE}
svg.syr2 .syrrub{fill:#2C3440}svg.syr2 .syrrub2{fill:#56606E}
svg.syr2 .syrbadge{font-size:12px;font-weight:800;fill:#06202E;font-family:var(--body)}
.syllt{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:12px 2px 4px;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.syllt i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:600}
svg.syllupa{display:block;width:100%;height:auto;margin-bottom:4px}
svg.syllupa .sylbg{fill:#EAF3F9;stroke:var(--line)}
svg.syllupa .syltk{stroke:#2B3A47;stroke-width:1.4}svg.syllupa .syltk.mj{stroke-width:2}
svg.syllupa .sylnum{font-size:11px;font-weight:600;fill:var(--muted);font-family:var(--body)}svg.syllupa .sylnum.mj{font-size:13px;font-weight:800}svg.syllupa .sylnum.on{fill:var(--ink);font-weight:800}
svg.syllupa .sylpin{fill:#fff;stroke:#22C7F0;stroke-width:3}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) svg.syr2 .syrg0{stop-color:#fff;stop-opacity:.18}:root:not([data-theme="light"]) svg.syr2 .syrg1{stop-color:#3A4855;stop-opacity:.5}:root:not([data-theme="light"]) svg.syr2 .syrg2{stop-color:#2F3B47;stop-opacity:.9}
  :root:not([data-theme="light"]) svg.syr2 .syrout{stroke:#C9D7E2}:root:not([data-theme="light"]) svg.syr2 .syrtk{stroke:#C9D7E2}:root:not([data-theme="light"]) svg.syr2 .syrrub{fill:#7E8B99}:root:not([data-theme="light"]) svg.syr2 .syrrub2{fill:#A9B6C2}
  :root:not([data-theme="light"]) svg.syllupa .sylbg{fill:#2F3B47}:root:not([data-theme="light"]) svg.syllupa .syltk{stroke:#C9D7E2}}
:root[data-theme="dark"] svg.syr2 .syrg0{stop-color:#fff;stop-opacity:.18}:root[data-theme="dark"] svg.syr2 .syrg1{stop-color:#3A4855;stop-opacity:.5}:root[data-theme="dark"] svg.syr2 .syrg2{stop-color:#2F3B47;stop-opacity:.9}
:root[data-theme="dark"] svg.syr2 .syrout,:root[data-theme="dark"] svg.syr2 .syrtk,:root[data-theme="dark"] svg.syllupa .syltk{stroke:#C9D7E2}:root[data-theme="dark"] svg.syr2 .syrrub{fill:#7E8B99}:root[data-theme="dark"] svg.syr2 .syrrub2{fill:#A9B6C2}:root[data-theme="dark"] svg.syllupa .sylbg{fill:#2F3B47}
/* 2.169.0: padrão do app para campos e seletores (o da tela do GLP-1, pedido do dono): fundo preenchido, sem a caixa com borda, cantos de 16 px,
   seta própria nos seletores, brilho azul ao tocar. Especificidade baixa (:where) para que telas com estilo próprio (busca, chat, planos) continuem iguais. */
input:where(:not([type=range],[type=checkbox],[type=radio],[type=file],[type=color],[type=hidden])),select,textarea{
  border:1.5px solid transparent !important;border-radius:16px !important;background-color:color-mix(in srgb,var(--accent) 8%,var(--bg)) !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.06);min-height:48px;padding:11px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s}
textarea{min-height:88px;line-height:1.45}
select:where(:not(.plncard *)){-webkit-appearance:none;appearance:none;padding-right:40px;cursor:pointer;font-weight:600;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235B92B8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 12px center !important;background-size:18px !important}
input:where(:not([type=range],[type=checkbox],[type=radio],[type=file],[type=color])):focus,select:focus,textarea:focus{
  outline:none !important;border-color:color-mix(in srgb,var(--accent) 70%,#8CC8E8) !important;box-shadow:0 0 0 4px color-mix(in srgb,#5BB8F0 22%,transparent) !important}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.unit em{font-weight:700;color:var(--accent);font-size:.84rem;background:color-mix(in srgb,var(--accent) 14%,transparent);padding:3px 9px;border-radius:999px;right:10px}
.unit input{padding-right:62px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) input:where(:not([type=range],[type=checkbox],[type=radio],[type=file],[type=color])),:root:not([data-theme="light"]) select,:root:not([data-theme="light"]) textarea{background-color:rgba(255,255,255,.06) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
  :root:not([data-theme="light"]) .unit em{color:#8CC8E8;background:rgba(140,200,232,.14)}}
:root[data-theme="dark"] input:where(:not([type=range],[type=checkbox],[type=radio],[type=file],[type=color])),:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background-color:rgba(255,255,255,.06) !important}
:root[data-theme="dark"] .unit em{color:#8CC8E8;background:rgba(140,200,232,.14)}
/* 2.169.1: campos sempre centralizados (texto e títulos) e caixas de valor com unidade ("60 min") numa cor só, sem caixa de fora diferente */
input:where(:not([type=range],[type=checkbox],[type=radio],[type=file],[type=color])),select,textarea{text-align:center}
select{text-align-last:center;padding-left:40px}
.unit input{padding-left:62px}
.field>label,.lfield>label{display:block;text-align:center}
/* 2.172.0: na tela de entrar e criar conta, campos e títulos voltam a ficar à esquerda (o resto do app continua centralizado) */
#login input:where(:not([type=range],[type=checkbox],[type=radio],[type=file],[type=color])),#login select,#login textarea{text-align:left}
#login select{text-align-last:left}
#login .field>label,#login .lfield>label{text-align:left}
.slideval{background:color-mix(in srgb,var(--accent) 8%,var(--bg)) !important;border:1.5px solid transparent !important;border-radius:16px !important;padding:2px 12px;box-shadow:inset 0 1px 2px rgba(0,0,0,.06);justify-content:center}
.slideval:focus-within{border-color:color-mix(in srgb,var(--accent) 70%,#8CC8E8) !important;box-shadow:0 0 0 4px color-mix(in srgb,#5BB8F0 22%,transparent)}
.slideval input{background:transparent !important;background-color:transparent !important;border:0 !important;box-shadow:none !important;min-height:0 !important;padding:4px 0 !important;text-align:right;border-radius:0 !important}
.slideval input:focus{box-shadow:none !important;border:0 !important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .slideval{background:rgba(255,255,255,.06) !important}}
:root[data-theme="dark"] .slideval{background:rgba(255,255,255,.06) !important}
.unit input{padding-left:44px !important;padding-right:44px !important}
.unit em{right:7px;padding:2px 7px;font-size:.8rem}
:root .slideval input,:root:not([data-theme="light"]) .slideval input,:root[data-theme="dark"] .slideval input{background:transparent !important;background-color:transparent !important;box-shadow:none !important}
/* 2.169.2: fundo dos campos num cinza mais claro (pedido do dono), em todo o app e na tela do GLP-1 */
:root{--fieldbg:#ECF1F5}
input:where(:not([type=range],[type=checkbox],[type=radio],[type=file],[type=color])),select,textarea,#tab-dose input:not([type=range]):not([type=checkbox]):not([type=radio]),#tab-dose select,.slideval{background-color:var(--fieldbg) !important;box-shadow:inset 0 1px 1px rgba(0,0,0,.04)}
.slideval input,#tab-dose .slideval input{background-color:transparent !important;box-shadow:none !important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--fieldbg:rgba(255,255,255,.09)}
  :root:not([data-theme="light"]) input:where(:not([type=range],[type=checkbox],[type=radio],[type=file],[type=color])),:root:not([data-theme="light"]) select,:root:not([data-theme="light"]) textarea,:root:not([data-theme="light"]) #tab-dose input:not([type=range]):not([type=checkbox]):not([type=radio]),:root:not([data-theme="light"]) #tab-dose select,:root:not([data-theme="light"]) .slideval{background-color:var(--fieldbg) !important}
  :root:not([data-theme="light"]) .slideval input{background-color:transparent !important}}
:root[data-theme="dark"]{--fieldbg:rgba(255,255,255,.09)}
:root[data-theme="dark"] input:where(:not([type=range],[type=checkbox],[type=radio],[type=file],[type=color])),:root[data-theme="dark"] select,:root[data-theme="dark"] textarea,:root[data-theme="dark"] #tab-dose input:not([type=range]):not([type=checkbox]):not([type=radio]),:root[data-theme="dark"] #tab-dose select,:root[data-theme="dark"] .slideval{background-color:var(--fieldbg) !important}
:root[data-theme="dark"] .slideval input{background-color:transparent !important}

/* Entrada e saída de conta: a coach pertence à área autenticada. */
body.out #vyFab,body.out #vyTip,body.out #vySheet,body.out #vyIntro,body.out #vyAnx{display:none!important}
.psworkouts{margin:14px 0}.psworkouts input,.psworkouts .btn{box-sizing:border-box;max-width:100%}.psworkouts .field{margin-bottom:8px}.psworkouts summary{cursor:pointer;color:var(--accent);font-weight:700;padding:12px 0}.psworkout-list{display:grid;gap:8px;margin:10px 0}.psworkout-row{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border-radius:16px;cursor:pointer}.psworkout-row input{width:20px;height:20px;flex:none}.psworkout-row span{min-width:0;overflow-wrap:anywhere}.psworkout-row small{display:block;color:var(--muted)}

#fdShareImage[hidden]{display:none!important}
body.out #fdShareSheet{display:none!important}
/* 2.174.0: sugestões de amizade no feed (faixa que rola para o lado) */
.fsg{margin:0 0 14px}
.fsghead{margin:2px 2px 8px;font-size:.98rem}
.fsgrow{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.fsgrow::-webkit-scrollbar{display:none}
.fsgcard{position:relative;flex:0 0 150px;width:150px;min-width:0;box-sizing:border-box;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 10px 12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);text-align:center}
.fsgx{position:absolute;top:4px;right:4px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:.95rem}
.fsgav{border:0;background:none;padding:0;cursor:pointer;border-radius:50%}
.fsgav .avatar{width:64px;height:64px;font-size:1.4rem}
.fsgname{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}
.fsgwhy{min-height:2.5em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fsgbtn{width:100%;min-height:40px;padding:6px 10px;font-size:.9rem;margin-top:2px}
/* 2.175.0: primeiro acesso: altura e peso na mesma tela (duas réguas) */
#paSheet .pacorpo .rbig{margin-top:2px}
#paSheet .pacorpo+.pasec{margin-top:18px}
/* 2.175.0: número da régua sem caixa atrás (a regra dos campos padrão, inclusive no modo escuro, passava por cima do fundo transparente) */
:root .rbig input.rnum,:root .rbig input.rnum:focus{background:transparent !important;background-color:transparent !important;box-shadow:none !important}
/* 2.175.0: caixinhas com ícone (Treino e alimentação no primeiro acesso) */
.patiles{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:8px}
.patiles button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-height:0;padding:14px 6px 12px;border:1.5px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);font:inherit;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.patiles button b{font-size:.86rem;line-height:1.2;font-weight:700}
.patiles button[aria-checked="true"]{border:2px solid var(--accent);background:var(--fill-soft);padding:13.5px 5.5px 11.5px}
.patiles button[aria-checked="true"] .qsic{background:var(--accent);color:var(--accent-ink,#fff)}
/* 2.176.0: chamada de vídeo das aulas e consultas online */
.vcsheet{position:fixed;inset:0;z-index:58;background:#0B0F14;color:#fff;overflow:hidden}
.vcsheet[hidden]{display:none}
#vcRemoto{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#0B0F14}   /* inteiro: o profissional precisa ver o corpo todo no exercício */
#vcLocal{position:absolute;right:12px;bottom:calc(104px + env(safe-area-inset-bottom,0px));width:96px;height:136px;object-fit:cover;border-radius:14px;background:#1F2630;box-shadow:0 4px 16px rgba(0,0,0,.45);border:2px solid rgba(255,255,255,.25);z-index:2}
#vcLocal.espelho{transform:scaleX(-1)}
#vcLocal.off{visibility:hidden}
.vcespera{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;background:radial-gradient(circle at 50% 40%,#22303d,#0B0F14 70%)}
.vcespera[hidden]{display:none}
.vcespera b{font-family:var(--display);font-size:1.25rem;max-width:320px}
.vcespera .small{color:rgba(255,255,255,.72);max-width:320px}
.vcespera .vcav{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#2B3947;display:grid;place-items:center;font-size:2.2rem;font-weight:800;margin-bottom:6px;animation:vcpulso 1.8s ease-in-out infinite}
@keyframes vcpulso{0%,100%{box-shadow:0 0 0 0 rgba(140,200,232,.45)}50%{box-shadow:0 0 0 14px rgba(140,200,232,0)}}
@media (prefers-reduced-motion:reduce){.vcespera .vcav{animation:none}}
.vctopo{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(14px + env(safe-area-inset-top,0px)) 16px 28px;background:linear-gradient(rgba(0,0,0,.55),transparent)}
.vctopo b{display:block;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vctopo .small{color:rgba(255,255,255,.78)}
.vctempo{flex:none;font-variant-numeric:tabular-nums;font-weight:700;background:rgba(0,0,0,.35);padding:4px 10px;border-radius:12px}
.vcbar{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:center;gap:14px;padding:18px 16px calc(22px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,rgba(0,0,0,.6))}
.vcb{width:58px;height:58px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.vcb[hidden]{display:none}
.vcb[aria-pressed="true"]{background:#fff;color:#0B0F14}
.vcb.vcsair{background:#D93F3F}
.vcb svg{width:26px;height:26px}
.vcb:focus-visible{outline:3px solid #8CC8E8;outline-offset:2px}
.vcbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-height:36px;padding:0 14px;background:#2E8B57;border-color:#2E8B57;color:#fff}
.smch{padding:10px 16px 0}.smch .vcbtn{width:100%;min-height:44px}
@media (min-width:1024px){#vcLocal{width:200px;height:150px;right:24px;bottom:120px}.vcespera .vcav{width:120px;height:120px}}
.agvcw{display:flex;justify-content:flex-end;padding:2px 4px 10px}.agvcw .vcbtn{min-height:40px}
/* 2.176.1: janela pequena do app Android (só o vídeo do outro lado) */
.vcsheet.vcpip .vcbar,.vcsheet.vcpip .vctopo,.vcsheet.vcpip #vcLocal,.vcsheet.vcpip .vcespera .small{display:none}
.vcsheet.vcpip #vcRemoto{object-fit:cover}
.vcsheet.vcpip .vcespera b{font-size:.9rem}.vcsheet.vcpip .vcespera .vcav{display:none}
@media (max-width:360px){.vcbar{gap:10px}.vcb{width:52px;height:52px}}
/* 2.177.0: chave "Chamada de vídeo no app" no compromisso */
.agvidsw{margin:0 0 12px;border-top:0}.agvidsw>span{display:flex;gap:10px;align-items:flex-start}.agvidic{flex:none;color:var(--accent);margin-top:2px}
/* 2.177.0: sugestões de locais e endereços */
.locf{position:relative}
.locsug{position:absolute;left:0;right:0;top:100%;z-index:5;list-style:none;margin:4px 0 0;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(20,30,40,.18);max-height:300px;overflow-y:auto;text-align:left}
.locsug[hidden]{display:none}
.locsug li{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:10px;cursor:pointer}
.locsug li>svg{flex:none;color:var(--accent);margin-top:2px}
.locsug li span{display:flex;flex-direction:column;min-width:0}
.locsug li b{font-weight:700;overflow:hidden;text-overflow:ellipsis}
.locsug li[aria-selected="true"],.locsug li:hover{background:var(--bg)}
.locsug li.locvazio{cursor:default;color:var(--muted);font-size:.9rem}
.locsug li.locvazio:hover{background:none}
/* 2.177.0: aviso da chamada no topo do Início */
.vchome{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#2E5F7E,#1B3242);color:#fff;box-shadow:0 6px 20px rgba(27,50,66,.25)}
.vchome[hidden]{display:none}
.vchic{flex:none;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;animation:vcpulso 1.8s ease-in-out infinite}
.vchic svg{width:24px;height:24px}
.vchtx{flex:1;min-width:0;display:flex;flex-direction:column}.vchtx b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vchtx .small{color:rgba(255,255,255,.82)}
.vchbtn{flex:none;width:auto;min-height:40px;padding:0 18px;background:#fff !important;color:#1B3242 !important;border-color:#fff !important;font-weight:800}
@media (prefers-reduced-motion:reduce){.vchic{animation:none}}
/* 2.178.0: conversas entre amigos */
.fdtopbtns{display:flex;align-items:center;gap:10px}
.amfd{position:relative;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;min-height:0;padding:0;flex-shrink:0}
.amfd[hidden]{display:none}
.amn{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#E0464B;color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center;border:2px solid var(--bg);box-sizing:border-box}
.amn[hidden]{display:none}
nav [data-tab="feed"].amtem{position:relative}
nav [data-tab="feed"].amtem::before{content:"";position:absolute;top:6px;left:calc(50% + 8px);width:9px;height:9px;border-radius:50%;background:#E0464B;border:2px solid var(--surface)}
.amq{margin:0 0 12px}
.amul{list-style:none;margin:0;padding:0}
.amrow{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 4px;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.amrow>svg{flex:none;color:var(--accent)}
.amav{width:48px;height:48px;flex:none;font-size:1.1rem}
.amtx{flex:1;min-width:0;display:flex;flex-direction:column}
.amtx b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.amtx small{color:var(--muted);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.amrow.nova .amtx small{color:var(--ink);font-weight:700}
.amdot{flex:none;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-ink,#fff);font-size:.75rem;display:grid;place-items:center;box-sizing:border-box}
.amh{font-size:.95rem;margin:18px 0 4px}
.amdica{margin:8px 0 0;text-align:center}
.amvazio{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:28px 12px;color:var(--muted)}
.amvazio b{color:var(--ink)}
.amchead{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:0}
.amchead .amav{width:40px;height:40px}
.amchead b{display:block;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.amconv .smm.me{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
/* 2.178.0: anexos e áudio na conversa entre amigos */
.amconv .smfoot{position:relative}
.amconv .smfoot .btn[hidden]{display:none}
.ammenu{position:absolute;left:12px;bottom:calc(100% + 6px);z-index:3;display:flex;flex-direction:column;min-width:230px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(20,30,40,.18)}
.ammenu[hidden]{display:none}
.ammenu button{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;border-radius:10px;padding:12px;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:0}
.ammenu button svg{color:var(--accent);flex:none}
.ammenu button:hover,.ammenu button:focus-visible{background:var(--bg)}
.amrec{position:absolute;inset:0;display:flex;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line)}
.amrec b{font-variant-numeric:tabular-nums}

.amrecdot{width:12px;height:12px;border-radius:50%;background:#E0464B;flex:none;animation:amrec 1s ease-in-out infinite}
@keyframes amrec{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.amrecdot{animation:none}}
.smm.aud{min-width:min(240px,78%)}
.amplay{display:flex;align-items:center;gap:10px;min-width:200px}
.amplb{flex:none;width:40px;height:40px;min-height:0;padding:0;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:var(--accent);color:var(--accent-ink,#fff)}
.smm.me .amplb{background:#fff;color:var(--accent)}
.amplb:disabled{opacity:.5;cursor:default}
.amonda{flex:1;min-width:0;height:30px;display:flex;align-items:center;gap:2px;cursor:pointer}
.amonda i{flex:1;min-width:2px;max-width:4px;border-radius:2px;background:currentColor;opacity:.35;transition:opacity .15s}
.amonda i.ok{opacity:1}
.amreconda{height:28px;justify-content:flex-end;overflow:hidden;color:var(--accent);cursor:default}
.amreconda i{opacity:.9;flex:none;width:3px;height:100%;transform:scaleY(.18);transition:transform 70ms linear;will-change:transform}
.amtm{flex:none;font-size:.8rem;font-variant-numeric:tabular-nums;opacity:.9;min-width:32px;text-align:right}
/* 2.178.0: grupos de conversa e aviso no celular */
.amgav{display:grid;place-items:center;background:var(--grad) !important;color:#fff}
.amnovo{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;margin:0 0 12px;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:0}
.amnovo>svg:first-child{color:var(--accent);flex:none}.amnovo>svg:last-child{color:var(--muted);flex:none}
.amnovo span{flex:1;min-width:0;display:flex;flex-direction:column}.amnovo small{color:var(--muted);font-size:.84rem}
.ampush{display:flex;align-items:center;gap:10px;padding:12px;margin:0 0 12px;border-radius:16px;background:var(--bg);border:1px solid var(--line);font-size:.9rem}
.ampush>svg{color:var(--accent);flex:none}.ampush span{flex:1;min-width:0}
.amdot.mudo{background:var(--muted)}
.amquem{list-style:none;font-size:.75rem;font-weight:700;color:var(--muted);margin:6px 0 -2px 6px}
.amsel{cursor:pointer;position:relative}
.amsel input{position:absolute;opacity:0;width:1px;height:1px}
.amsel i{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:transparent}
.amsel input:checked+i{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#fff)}
.amsel input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}
.amgok{flex:1}
.amitopo{display:flex;align-items:center;gap:14px;margin:4px 0 16px}
.amavg{width:64px;height:64px;flex:none;font-size:1.4rem}
.aminome{font-size:1.15rem}
.amirow{display:flex;gap:8px;align-items:center}.amirow input{flex:1;min-width:0}
.amisw{margin:0 0 8px}
.amp{cursor:default}
.amtira{min-height:36px;padding:0 12px}
.amiacoes{display:flex;flex-direction:column;gap:10px;margin:20px 0 8px}
.amperigo{color:var(--bad) !important;border-color:var(--line) !important}
/* 2.178.3: riscos, mensagem apagada, menu da mensagem e edição */
.amrisco{display:inline-block;vertical-align:-2px;margin-left:3px;opacity:.8}
.amrisco.lida{color:#5CCBFF;opacity:1}
.smm:not(.me) .amrisco{display:none}
.smm.apag{opacity:.8}
.amapag{font-style:italic;display:flex;align-items:center;gap:6px}
.ammsheet{position:fixed;inset:0;z-index:30;background:rgba(10,20,30,.35);display:flex;align-items:flex-end;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px))}
.ammsheet[hidden]{display:none}
.ammbox{width:100%;max-width:420px;background:var(--surface);border-radius:20px;padding:8px;box-shadow:0 10px 40px rgba(10,20,30,.3);display:flex;flex-direction:column}
.ammbox button{display:flex;align-items:center;gap:14px;width:100%;background:none;border:0;border-radius:12px;padding:14px;font:inherit;font-weight:600;color:inherit;text-align:left;cursor:pointer;min-height:0}
.ammbox button svg{color:var(--accent);flex:none}
.ammbox button.amperigo,.ammbox button.amperigo svg{color:var(--bad)}
.ammbox button:hover,.ammbox button:focus-visible{background:var(--bg)}
.amedit{position:absolute;left:0;right:0;bottom:100%;display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg);border-top:1px solid var(--line);font-size:.88rem;font-weight:600;color:var(--accent)}
.amedit span{flex:1}
.amedit .iconbtn{width:32px;height:32px;min-height:0}
/* 2.178.4: segurar para gravar, cadeado e deslizar para cancelar */
.amconv #amMic{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.amrec{z-index:2}
.amconv .smfoot.segurando #amMic{position:relative;z-index:3;transform:scale(1.35);transition:transform .15s}
.amrec.segura{padding-right:84px}
.amrec.segura #amRecX,.amrec.segura #amRecOk,.amrec.segura .amreconda{display:none}
.amdesliza{display:none}
.amrec.segura .amdesliza{display:flex;align-items:center;gap:4px;flex:1;justify-content:center;color:var(--muted);font-size:.9rem;white-space:nowrap;overflow:hidden;
  transform:translateX(calc(var(--dx,0px) * -1));animation:amdesl 1.6s ease-in-out infinite}
@keyframes amdesl{50%{margin-right:14px}}
.amtrava{position:absolute;right:16px;bottom:calc(100% + 10px);z-index:3;width:46px;padding:10px 0 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:0 6px 20px rgba(20,30,40,.18);display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--accent);transition:transform .05s linear}
.amtrava svg:last-child{opacity:.6;animation:amsobe 1.2s ease-in-out infinite}
@keyframes amsobe{50%{transform:rotate(-90deg) translateX(4px)}}
@media (prefers-reduced-motion:reduce){.amrec.segura .amdesliza,.amtrava svg:last-child{animation:none}}
/* 2.178.8: digitando / gravando (três pontinhos, como no Instagram) */
#amCSub.amav{color:var(--accent);font-weight:600}
.amdigita{display:inline-flex;align-items:center;gap:6px;margin:8px 0 2px;padding:12px 16px;background:var(--bg);border:1px solid var(--line);border-radius:18px 18px 18px 4px;color:var(--muted)}
.amdigita svg{color:var(--accent)}
.ampts{display:inline-flex;gap:4px;align-items:center;height:10px}
.ampts i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.35;animation:ampt 1.2s infinite ease-in-out}
.ampts i:nth-child(2){animation-delay:.15s}.ampts i:nth-child(3){animation-delay:.3s}
@keyframes ampt{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
@media (prefers-reduced-motion:reduce){.ampts i{animation:none;opacity:.7}}
/* 2.179.0: foto no áudio, velocidade, foto no grupo, reações e encaminhada */
.amavaud{position:relative;flex:none;width:44px;height:44px}
.amaudav{width:44px;height:44px;font-size:1rem}
.ammic{position:absolute;right:-3px;bottom:-3px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;border:2px solid var(--surface)}
.smm.me .ammic{background:#fff;color:var(--accent);border-color:var(--accent)}
.amvel{display:none;flex:none;width:44px;height:30px;min-height:0;padding:0;border:0;border-radius:999px;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer;background:rgba(127,127,127,.22);color:inherit}
.amplay.on .amavaud{display:none}
.amplay.on .amvel{display:grid;place-items:center}
.amquem{display:flex;align-items:center;gap:6px}
.amqav{width:26px;height:26px;font-size:.7rem}
.amconv .smm.gi{margin-left:32px}
.amenc{display:flex;align-items:center;gap:4px;font-size:.72rem;font-style:italic;opacity:.75;margin-bottom:2px}
.smm{position:relative}
.smm.reag{margin-bottom:14px}
.amreac{position:absolute;bottom:-14px;right:8px;display:flex;align-items:center;gap:2px;padding:2px 7px;min-height:0;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 6px rgba(20,30,40,.12);font:inherit;font-size:.85rem;color:var(--ink);cursor:pointer}
.smm:not(.me) .amreac{right:auto;left:8px}
.amreac b{font-weight:400}
.amreac small{font-size:.72rem;color:var(--muted);margin-left:2px}
.amreac.minha{border-color:var(--accent)}
.ammemo{display:flex;justify-content:space-around;padding:6px 4px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.ammemo button{width:44px;height:44px;min-height:0;padding:0;border:0;border-radius:50%;background:none;font-size:1.6rem;cursor:pointer;display:grid;place-items:center;justify-content:center}
.ammemo button.on{background:var(--bg);box-shadow:inset 0 0 0 2px var(--accent)}
.ammemo button:active{transform:scale(1.2)}
.smm.aud{min-width:min(290px,84%)}
.smm.aud .amplay{min-width:0;gap:8px}
.smm.aud .amtm{min-width:34px}
/* 2.180.0: ligar pela conversa */
.amligb{flex:none;margin-left:6px;color:var(--accent)}
.amligb[hidden]{display:none}
.amlig{padding:0;overflow:hidden}
.amligit{display:flex;align-items:center;gap:10px;background:none;border:0;padding:10px 14px;font:inherit;color:inherit;text-align:left;cursor:default;min-height:0}
.amligit svg{width:22px;height:22px;flex:none}
.amligit span{display:flex;flex-direction:column}
.amligit b{font-weight:600}
.amligit small{font-size:.72rem;opacity:.75}
.amlig.perd .amligit svg,.amlig.perd .amligit b{color:var(--bad)}
.ligtela{position:fixed;inset:0;z-index:72;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:calc(60px + env(safe-area-inset-top,0px)) 24px calc(56px + env(safe-area-inset-bottom,0px));background:linear-gradient(160deg,#2E5F7E,#13222E);color:#fff;text-align:center}
.ligtela[hidden]{display:none}
.ligtopo{display:flex;flex-direction:column;align-items:center;gap:10px}
.ligav{width:120px;height:120px;font-size:2.6rem;box-shadow:0 0 0 10px rgba(255,255,255,.08),0 0 0 22px rgba(255,255,255,.04);animation:ligpulso 1.6s ease-in-out infinite}
.ligtopo b{font-size:1.6rem;font-family:var(--display);margin-top:16px}
.ligtopo span{opacity:.85}
@keyframes ligpulso{50%{box-shadow:0 0 0 16px rgba(255,255,255,.1),0 0 0 32px rgba(255,255,255,.04)}}
.ligbts{display:flex;justify-content:space-around;width:100%;max-width:340px}
.ligbts>div{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.9rem}
.ligb{width:72px;height:72px;min-height:0;padding:0;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;cursor:pointer}
.ligb svg{width:30px;height:30px}
.ligno{background:#E0464B}.ligsim{background:#2EB872}
@media (prefers-reduced-motion:reduce){.ligav{animation:none}}
/* 2.180.1: foto ao lado das mensagens no grupo (a sua à direita, a dos outros à esquerda) */
.amconv .smm.gi{margin-left:36px}
.amconv .smm.gm{margin-right:36px}
.amlado{position:absolute;bottom:0;left:-36px;line-height:0}
.smm.gm .amlado{left:auto;right:-36px}
.amladoav{width:28px;height:28px;font-size:.72rem}
.amquem{padding-left:42px}
/* 2.181.0: foto do grupo e chamada em grupo */
.amgfoto{overflow:hidden;background:var(--bg) !important}
.amgfoto img{width:100%;height:100%;object-fit:cover;display:block}
.amifoto{position:relative;flex:none;background:none;border:0;padding:0;cursor:pointer;min-height:0}
.amifoto>.amifcam{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;border:2px solid var(--surface)}
.amligg.ativa .amligit b{color:#2EB872}
.vggrade{position:absolute;inset:0;padding:calc(64px + env(safe-area-inset-top,0px)) 8px calc(104px + env(safe-area-inset-bottom,0px));display:grid;gap:6px;grid-template-columns:1fr;grid-auto-rows:1fr}
.vggrade[data-n="2"]{grid-template-columns:1fr}
.vggrade[data-n="3"],.vggrade[data-n="4"]{grid-template-columns:1fr 1fr}
.vggrade[data-n="5"],.vggrade[data-n="6"]{grid-template-columns:1fr 1fr}
.vggrade[data-n="3"] .vgq:first-child{grid-column:1 / -1}
.vgq{position:relative;border-radius:14px;overflow:hidden;background:#1A222C;min-height:0}
.vgq video{width:100%;height:100%;object-fit:cover;display:block}
.vgq.eu video{transform:scaleX(-1)}.vgq.eu video.costas{transform:none}
.vgsem{position:absolute;inset:0;display:none;place-items:center;background:#1A222C}
.vgq.semcam .vgsem{display:grid}.vgq.semcam video{opacity:0}
.vgav{width:72px;height:72px;font-size:1.6rem}
.vgn{position:absolute;left:8px;bottom:8px;font-size:.8rem;font-weight:700;background:rgba(0,0,0,.45);padding:2px 8px;border-radius:10px}
.vgq.liga::after{content:"Conectando…";position:absolute;top:8px;left:8px;font-size:.75rem;background:rgba(0,0,0,.45);padding:2px 8px;border-radius:10px}
.vgsheet.vcpip .vggrade{padding:0;gap:2px}
.vgsheet.vcpip .vgn,.vgsheet.vcpip .vgq.liga::after{display:none}
@media (min-width:1024px){.vggrade[data-n="2"]{grid-template-columns:1fr 1fr}.vggrade[data-n="5"],.vggrade[data-n="6"]{grid-template-columns:1fr 1fr 1fr}.vggrade{padding-left:40px;padding-right:40px}}
/* 2.182.0: compartilhar no MyFitJourney */
.shmfj{z-index:85}
.shmfjt{display:block;padding:10px 14px 6px;font-family:var(--display);font-size:1.05rem}
.shmfj .ammbox button span{display:flex;flex-direction:column}
.shmfj .ammbox button small{font-weight:400;color:var(--muted);font-size:.82rem}
.shmfj .ammbox button[hidden]{display:none}
.shmfj .shmfjx{justify-content:center;color:var(--muted)}
/* 2.183.0: Início novo: anel do dia, atalhos, faixas finas e barra ao rolar */
.hjneo.hjv2,.hjmini{--hjr-a:#1B6FA8;--hjr-r:#C96A14;--hjr-t:#177A53}
.hjneo.hjv2{background:none;box-shadow:none;color:var(--ink);padding:0;border-radius:0}
.hjanel{position:relative;display:block;width:min(244px,64vw);aspect-ratio:1;margin:2px auto 10px;border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer;border-radius:50%;min-height:0;-webkit-tap-highlight-color:transparent}
.hjanel:active{transform:scale(.98)}
.hjanel svg{width:100%;height:100%;transform:rotate(-90deg);display:block;filter:drop-shadow(0 8px 18px rgba(27,111,168,.18))}
.hjabg{fill:none;stroke:color-mix(in srgb,var(--ink) 10%,transparent)}
.hjafg{fill:none;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}
.hjac{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.hjac small{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.hjac b{font-family:var(--display);font-size:2.6rem;line-height:1;font-weight:800}
.hjac span{font-size:.82rem;color:var(--muted)}
.hjac.acima b{color:var(--bad)}
.hjleg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px;text-align:center}
.hjleg span{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.hjleg em{font-style:normal;display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted)}
.hjleg i{width:8px;height:8px;border-radius:50%;flex:none}
.hjleg b{font-family:var(--display);font-size:1.02rem;white-space:nowrap}
.hjact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hjact button{height:76px;min-height:0;border-radius:20px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}
.hjact button:active{transform:scale(.96)}
.hjact .agua svg{color:var(--hjr-t)}.hjact .ref svg{color:var(--hjr-r)}
.hjact .ok{border-color:var(--hjr-t)}
.hjact .pri{border:0;background:var(--hjr-a);color:#fff;box-shadow:0 8px 20px rgba(27,111,168,.3)}
.hjact .pri.ok{background:var(--hjr-t);box-shadow:none}
.hjv2 .hjref{margin-top:10px}
.hjv2 .hjrefb{border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.hjv2 .hjrefb.ok{border-color:var(--hjr-t);background:var(--surface)}
.hjv2 .hjwl{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.hjv2 .hjwl span{color:var(--muted);opacity:1}
.hjv2 .hjwl small.up{color:var(--hjr-r)}.hjv2 .hjwl small.dn{color:var(--hjr-t)}
.hjv2 .hjcel{margin-top:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.hjmini{position:fixed;left:12px;right:12px;top:calc(8px + env(safe-area-inset-top,0px));z-index:12;display:flex;align-items:center;gap:12px;min-height:56px;padding:0 10px 0 14px;border-radius:18px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(18,32,43,.14);color:var(--ink);font:inherit;text-align:left;cursor:pointer;animation:hjmin .2s ease-out}
.hjmini[hidden]{display:none}
.hjmini svg:first-child{transform:rotate(-90deg);flex:none}
.hjmt{flex:1;min-width:0;display:flex;flex-direction:column}
.hjmt b{font-family:var(--display);font-size:1.02rem}
.hjmt small{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hjmup{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--hjr-a);color:#fff}
@keyframes hjmin{from{opacity:0;transform:translateY(-10px)}}
@media (prefers-reduced-motion:reduce){.hjmini{animation:none}.hjafg{transition:none}}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .hjneo.hjv2,:root:not([data-theme="light"]) .hjmini{--hjr-a:#6EC1F0;--hjr-r:#F2A65A;--hjr-t:#5FD3A2}
  :root:not([data-theme="light"]) .hjanel svg{filter:drop-shadow(0 0 18px rgba(110,193,240,.28))}
  :root:not([data-theme="light"]) .hjact .pri,:root:not([data-theme="light"]) .hjmup{color:#06202F}
  :root:not([data-theme="light"]) .hjact .pri{box-shadow:0 0 22px rgba(110,193,240,.35)}
}
:root[data-theme="dark"] .hjneo.hjv2,:root[data-theme="dark"] .hjmini{--hjr-a:#6EC1F0;--hjr-r:#F2A65A;--hjr-t:#5FD3A2}
:root[data-theme="dark"] .hjanel svg{filter:drop-shadow(0 0 18px rgba(110,193,240,.28))}
:root[data-theme="dark"] .hjact .pri,:root[data-theme="dark"] .hjmup{color:#06202F}
:root[data-theme="dark"] .hjact .pri{box-shadow:0 0 22px rgba(110,193,240,.35)}
@media (min-width:1024px){.hjanel{width:276px}.hjleg,.hjact{max-width:420px;margin-left:auto;margin-right:auto}}
/* 2.183.0: anel do Início com efeito no modo dia: degradê e brilho nos arcos, trilho tingido, disco central em relevo e halo */
.hjneo.hjv2{--hjr-a2:#56C2FF;--hjr-r2:#FFB25C;--hjr-t2:#45D69C}
.hjanel{isolation:isolate}
.hjanel svg,.hjac{position:relative;z-index:1}.hjac{position:absolute}
.hjanel svg{filter:none}
.hjanel .hjabg{stroke:color-mix(in srgb,var(--c,var(--ink)) 15%,transparent)}
.hjanel .hjafg.tem{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--c) 55%,transparent))}
.hjanel::before{content:"";position:absolute;inset:-7%;border-radius:50%;z-index:0;background:radial-gradient(closest-side,rgba(86,194,255,.20),rgba(86,194,255,.07) 62%,transparent 74%)}
.hjanel::after{content:"";position:absolute;inset:23%;border-radius:50%;z-index:0;background:linear-gradient(160deg,#FFFFFF,#EEF5FA);box-shadow:0 12px 26px rgba(27,111,168,.20),0 2px 4px rgba(27,111,168,.10),inset 0 1px 0 #fff}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .hjneo.hjv2{--hjr-a2:#B5E3FB;--hjr-r2:#FFD3A1;--hjr-t2:#A6F0D0}
  :root:not([data-theme="light"]) .hjanel svg{filter:drop-shadow(0 0 18px rgba(110,193,240,.28))}
  :root:not([data-theme="light"]) .hjanel .hjabg{stroke:color-mix(in srgb,var(--ink) 10%,transparent)}
  :root:not([data-theme="light"]) .hjanel .hjafg.tem{filter:none}
  :root:not([data-theme="light"]) .hjanel::before,:root:not([data-theme="light"]) .hjanel::after{content:none}
}
:root[data-theme="dark"] .hjneo.hjv2{--hjr-a2:#B5E3FB;--hjr-r2:#FFD3A1;--hjr-t2:#A6F0D0}
:root[data-theme="dark"] .hjanel svg{filter:drop-shadow(0 0 18px rgba(110,193,240,.28))}
:root[data-theme="dark"] .hjanel .hjabg{stroke:color-mix(in srgb,var(--ink) 10%,transparent)}
:root[data-theme="dark"] .hjanel .hjafg.tem{filter:none}
:root[data-theme="dark"] .hjanel::before,:root[data-theme="dark"] .hjanel::after{content:none}
/* 2.183.0: faixas da dose e da pesagem logo acima dos insights */
#hjCard .hjneo.hjv2{margin-bottom:12px}
/* 2.183.0: Vyta como botão redondo com brilho (sem a foto e sem a legenda) */
.vyfab.vyface small{display:none}
.vyface .vyfr{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 26%,#2C7898,#0F2938 72%);box-shadow:0 0 0 2px #5FD8FF,0 0 18px rgba(95,216,255,.55),0 8px 18px rgba(0,0,0,.22)}
.vyface .vyfr img{display:none}
.vyface .vyselo{position:static;width:auto;height:auto;border:0;background:none}
.vyface .vyselo svg{width:30px;height:30px;filter:drop-shadow(0 0 4px rgba(200,246,255,.9))}
/* 2.183.0: Início: objetivo com o peso em destaque, últimos 30 dias com gráfico e compromisso do dia */
.gcv2{display:flex;flex-direction:column;gap:10px}
.gcv2h{display:flex;align-items:baseline;gap:10px;font-size:.82rem;color:var(--muted)}
.gcv2k{flex:1;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.gcv2n{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.gcv2n b{font-family:var(--display);font-size:2.1rem;line-height:1;font-weight:800}
.gcv2n span{font-size:.88rem;font-weight:700;color:var(--moss-text,var(--ok))}
.gcv2b{height:8px;margin:0}
.gcv2f{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}
.gcv2f span{flex:1;min-width:150px}
.gcv2f b{color:var(--accent);white-space:nowrap}
.p30{display:flex;align-items:center;gap:14px}
.p30t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.p30t b{font-family:var(--display);font-size:1.6rem;font-weight:800;line-height:1.1}
.p30t small{font-size:.75rem;color:var(--muted)}
.p30g{flex:none;max-width:44%}
.vchome{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:none;border-radius:20px;padding:12px 16px}
.vchome .vchic{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);animation:none}
.vchome .vchtx .small{color:var(--muted)}
.vchome .vchbtn{background:none !important;color:var(--accent) !important;border:1px solid var(--accent) !important;border-radius:999px;box-shadow:none !important}
.vchome .vchbtn:disabled{opacity:.45;cursor:default}
.vchome.agora{border-color:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 30%,transparent)}
.vchome.agora .vchic{animation:vcpulso 1.8s ease-in-out infinite}
.vchome.agora .vchbtn{background:var(--accent) !important;color:var(--accent-ink,#fff) !important}
@media (prefers-reduced-motion:reduce){.vchome.agora .vchic{animation:none}}
/* 2.183.0: avisos de dose e de pesagem no mesmo estilo dos outros cartões; o âmbar fica só no ícone e no botão da dose atrasada */
#hjCard{--hjam:#B85C0E}
#hjCard .hjdose,#hjCard .hjpes{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:12px 16px;gap:12px;margin-bottom:12px;box-shadow:none}
#hjCard .hjdi{width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
#hjCard .hjdt small{color:var(--muted);opacity:1}
#hjCard .hjdcd{color:var(--ink)}
#hjCard .hjdbtn{background:none;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:9px 16px;font-size:.88rem}
#hjCard .hjdose.hot{border-color:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 28%,transparent)}
#hjCard .hjdose.late{border-color:var(--line);box-shadow:none}
#hjCard .hjdose.late .hjdi{background:color-mix(in srgb,var(--hjam) 16%,transparent);color:var(--hjam)}
#hjCard .hjdose.late .hjdbtn{background:var(--hjam);border-color:var(--hjam);color:#fff}
#hjCard .hjdose.late .hjdt small{color:var(--hjam)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #hjCard{--hjam:#F2A65A}:root:not([data-theme="light"]) #hjCard .hjdose.late .hjdbtn{color:#2A1703}}
:root[data-theme="dark"] #hjCard{--hjam:#F2A65A}
:root[data-theme="dark"] #hjCard .hjdose.late .hjdbtn{color:#2A1703}
/* 2.183.0: faixa "Esta semana" no Início; o ícone do calendário sai do topo no celular (a faixa abre o calendário) */
.hjwk{display:block;width:100%;margin-top:12px;padding:12px 14px 10px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-height:0}
.hjwkh{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;font-size:.78rem;color:var(--muted)}
.hjwkh>span{flex:1;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.hjwkh b{color:var(--ink);font-size:.85rem}.hjwkh em{font-style:normal}
.hjwkd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.hjwkd>span{display:flex;flex-direction:column;align-items:center;gap:4px}
.hjwkd small{font-size:.68rem;color:var(--muted);font-weight:600}
.hjwkd b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:.95rem}
.hjwkd .tem b{background:color-mix(in srgb,var(--hjr-t) 18%,transparent);color:var(--hjr-t)}
.hjwkd .hj b{box-shadow:0 0 0 2px var(--hjr-a);color:var(--hjr-a)}
.hjwkd .hj.tem b{color:var(--hjr-t)}
.hjwkd .fu b{color:var(--muted)}
.hjwkd i{display:flex;gap:3px;height:6px}
.hjwkd u{width:6px;height:6px;border-radius:50%;display:block;text-decoration:none}
.hjwkd u.t{background:var(--hjr-t)}.hjwkd u.d{background:var(--hjr-r)}.hjwkd u.s{background:var(--hjr-a)}.hjwkd u.p{background:var(--muted)}
@media (max-width:1023px){#calBtn{display:none}}
/* 2.183.0: no celular, a maleta do profissional vira um botão próprio em destaque, com o número de pendências (antes dividia a cápsula com o perfil) */
.workn{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#C96A14;color:#fff;font-size:.68rem;font-weight:800;display:grid;place-items:center;border:2px solid var(--bg);box-sizing:border-box;line-height:1}
.workn[hidden]{display:none}
@media (max-width:1023px){
  .ucap:has(#workBtn:not([hidden])){height:auto;border:0;border-radius:0;background:none;padding:0;gap:6px}
  .ucap:has(#workBtn:not([hidden]))::after{content:none}
  .ucap #workBtn:not([hidden]){position:relative;width:42px !important;height:42px !important;padding:0;border-radius:50%;background:#1B6FA8;color:#fff;box-shadow:0 6px 16px rgba(27,111,168,.32)}
  .ucap #workBtn svg{width:20px;height:20px}
  body:not(.out):not(.firstrun) header.top .ucap:has(#workBtn:not([hidden])) #goPerfil{width:42px !important;height:42px !important;min-width:42px;min-height:42px !important;max-height:42px;border:1px solid var(--line) !important}
}
@media (max-width:400px){.ucap #workBtn:not([hidden]),body:not(.out):not(.firstrun) header.top .ucap:has(#workBtn:not([hidden])) #goPerfil{width:38px !important;height:38px !important;min-width:38px;min-height:38px !important;max-height:38px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ucap #workBtn:not([hidden]){background:#6EC1F0;color:#06202F;box-shadow:0 0 18px rgba(110,193,240,.4)}:root:not([data-theme="light"]) .workn{background:#F2A65A;color:#2A1703}}
:root[data-theme="dark"] .ucap #workBtn:not([hidden]){background:#6EC1F0;color:#06202F;box-shadow:0 0 18px rgba(110,193,240,.4)}
:root[data-theme="dark"] .workn{background:#F2A65A;color:#2A1703}
@media (min-width:1024px){:root .ucap #workBtn:not([hidden]){background:none;color:var(--accent);box-shadow:none}}
/* 2.183.0: botão da Vyta um pouco menor */
.vyface .vyfr{width:48px;height:48px}
.vyface .vyselo svg{width:26px;height:26px}
/* 2.183.0: botão discreto de personalizar o destaque do Início e os destaques de treino e de corpo */
.hjneo.hjv2{position:relative}
.hjfoco{position:absolute;top:0;right:0;z-index:2;width:36px;height:36px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);display:grid;place-items:center;cursor:pointer}
#hjFocoList button svg:last-child{margin-left:auto;color:var(--accent)}
.hjrxc{text-align:center;margin:0 44px 6px}.hjrxc b{display:block;font-family:var(--display);font-size:1.45rem;line-height:1.15}.hjrxc span{font-size:.8rem;color:var(--muted)}
.hjrx{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 10px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:0}
.hjrxf{position:relative;flex:none;width:158px;height:240px;isolation:isolate;border-radius:20px;background:radial-gradient(ellipse at 50% 42%,#3F6E8C,#16303F 78%);box-shadow:0 10px 24px rgba(27,111,168,.22)}
.hjrxf img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain;opacity:.9}
.hjrxf i{position:absolute;border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:color;filter:blur(3px)}
.hjrxf i.g3,.hjrxl u.g3{background:#34E0A0}.hjrxf i.g2,.hjrxl u.g2{background:#2FA57C}.hjrxf i.g0,.hjrxl u.g0{background:#FF9A3D}
.hjrxl{flex:1;min-width:0;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:.8rem}
.hjrxl li{display:flex;align-items:center;gap:7px}
.hjrxl u{width:8px;height:8px;border-radius:50%;flex:none;display:block;text-decoration:none}.hjrxl u.gn{background:color-mix(in srgb,var(--ink) 18%,transparent)}
.hjrxl span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hjrxl small{color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.hjrxl li.at span{color:var(--hjam,#B85C0E);font-weight:600}
.hjrxv{flex:1;margin:0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hjrxf{background:none;box-shadow:none;filter:drop-shadow(0 0 14px rgba(110,193,240,.35))}}
:root[data-theme="dark"] .hjrxf{background:none;box-shadow:none;filter:drop-shadow(0 0 14px rgba(110,193,240,.35))}
@media (min-width:1024px){.hjrx{max-width:420px;margin-left:auto;margin-right:auto}}
/* 2.183.0: corpo em raio X sem o quadro escuro. No modo dia o avatar (quase branco) vira uma silhueta azul recortada pela própria imagem (mask),
   e as áreas acesas ficam presas dentro do corpo; no modo noite continua a imagem com o brilho */
.hjrxf{background:none;box-shadow:none;border-radius:0;filter:drop-shadow(0 8px 14px rgba(27,111,168,.28))}
.hjrxf img{inset:0;width:100%;height:100%;opacity:1;filter:url(#hjRxDia)}
.hjrxz{position:absolute;inset:0;display:block}
.hjrxf i{mix-blend-mode:normal;opacity:.9;filter:blur(4px)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .hjrxf img{opacity:.9;filter:none}
  :root:not([data-theme="light"]) .hjrxf i{mix-blend-mode:color;opacity:1;filter:blur(3px)}
}
:root[data-theme="dark"] .hjrxf img{opacity:.9;filter:none}
:root[data-theme="dark"] .hjrxf i{mix-blend-mode:color;opacity:1;filter:blur(3px)}
/* 2.183.0: tour do botão de personalizar o destaque do Início */
.hjtip .hjtipb{display:flex;gap:8px;margin-top:10px}
.hjtip .hjtipb button{display:inline-block;margin:0;flex:1}
.hjtip .hjtipb button.sec{background:none;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.hjfoco.pulsa{color:var(--accent);border-color:var(--accent);animation:hjpulsa 1.4s ease-out infinite}
@keyframes hjpulsa{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}100%{box-shadow:0 0 0 14px transparent}}
@media (prefers-reduced-motion:reduce){.hjfoco.pulsa{animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 40%,transparent)}}

/* ===== 2.186.0: Nutrição nova (celular primeiro; computador no fim, dentro de min-width:1024px) ===== */
#nutReg .daynav{margin:0 0 4px}#nutReg .daynav .iconbtn{width:38px;height:38px;border:0;background:transparent;color:var(--muted)}
#nutReg .daynav b{font-family:var(--display);font-size:1rem}
.nxweek{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:0 0 12px}
.nxweek button{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:0;padding:8px 0 7px;border:0;border-radius:16px;background:transparent;color:var(--muted);font:inherit;font-size:.66rem;font-weight:800;letter-spacing:.04em;cursor:pointer}
.nxweek button b{font-family:var(--display);font-size:1.05rem;color:var(--ink);letter-spacing:0}
.nxweek button i{width:5px;height:5px;border-radius:50%;background:transparent}.nxweek button i.on{background:var(--ok)}
.nxweek button[aria-pressed="true"]{background:linear-gradient(160deg,#2B5876,#4F8FB5);color:#D3E8F5;box-shadow:0 10px 22px -12px #2B5876}
.nxweek button[aria-pressed="true"] b{color:#fff}.nxweek button[aria-pressed="true"] i.on{background:#fff}
.nxhero{position:relative;overflow:hidden;border-radius:26px;padding:18px 16px 12px;margin:0 0 12px;color:#fff;background:radial-gradient(120% 90% at 100% 0%,#5FA8D6 0%,transparent 55%),linear-gradient(155deg,#1E3F58,#2F6689 70%,#3F86AE);box-shadow:0 22px 38px -26px #1E3F58}
.nxtop{display:flex;align-items:center;gap:14px}
.nxgauge{position:relative;width:150px;height:150px;flex:none}.nxgauge svg{display:block}
.nxarc{filter:drop-shadow(0 0 6px rgba(140,220,255,.7))}.nxgauge.over .nxarc{filter:drop-shadow(0 0 6px rgba(255,170,120,.7))}
.nxc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.nxc small{font-size:.64rem;font-weight:800;letter-spacing:.12em;opacity:.85}.nxc b{font-family:var(--display);font-size:2.3rem;font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.nxc span{font-size:.74rem;opacity:.85;margin-top:2px}
.nxkp{flex:1;min-width:0;margin:0;display:grid}
.nxkp div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:9px 0;border-top:1px solid rgba(255,255,255,.18)}.nxkp div:first-child{border-top:0}
.nxkp dt{font-size:.8rem;opacity:.9}.nxkp dd{margin:0;font-family:var(--display);font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums}
.nxmacros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.nxm{padding:10px 10px 9px;border-radius:16px;background:rgba(255,255,255,.13);text-align:center;min-width:0}
.nxm small{display:flex;align-items:center;justify-content:center;gap:5px;font-size:.7rem;font-weight:700;opacity:.92;white-space:nowrap}.nxm small i{width:7px;height:7px;border-radius:50%;flex:none}
.nxm b{display:block;font-family:var(--display);font-size:1.2rem;font-weight:800;margin:3px 0 6px;letter-spacing:-.02em;white-space:nowrap}.nxm b span{font-family:var(--body);font-size:.68rem;font-weight:600;opacity:.8;letter-spacing:0}
.nxbar{height:5px;border-radius:9px;background:rgba(255,255,255,.22);overflow:hidden}.nxbar u{display:block;height:100%;border-radius:9px}
.nxtip{margin:10px 0 0;font-size:.82rem;text-align:center;opacity:.95}.nxhero .infobtn{color:rgba(255,255,255,.85)}
.nxquick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}
.nxq{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:0;padding:12px 4px 10px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);font:inherit;font-size:.76rem;font-weight:700;cursor:pointer;box-shadow:0 10px 24px -20px rgba(30,60,90,.6)}
.nxq span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--fieldbg);color:var(--accent)}
.nxq.main{border-color:transparent;background:linear-gradient(160deg,#2B5876,#4F8FB5);color:#fff;box-shadow:0 14px 26px -16px #2B5876}.nxq.main span{background:rgba(255,255,255,.18);color:#fff}
.nxq:active{transform:scale(.97)}
.nxwater{margin:0 0 4px;border-radius:22px;cursor:pointer}
.nxwrow{display:flex;align-items:center;gap:12px}
.nxglass{position:relative;width:46px;height:58px;border-radius:7px 7px 14px 14px;border:2px solid #38A9E4;overflow:hidden;flex:none}
.nxglass u{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#7FD0F5,#38A9E4);transition:height .5s}
.nxwt{flex:1;min-width:0;display:flex;flex-direction:column}
.nxwt small{font-size:.66rem;font-weight:800;letter-spacing:.1em;color:var(--muted)}
.nxwt b{font-family:var(--display);font-size:1.4rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.nxwt b span{font-family:var(--body);font-size:.82rem;font-weight:600;color:var(--muted);letter-spacing:0}
.nxwt em{font-style:normal;font-size:.8rem;color:var(--muted)}
.nxwater .iconbtn{width:38px;height:38px;border:0;color:var(--muted);flex:none}
.nxwchips{display:flex;gap:8px;margin-top:12px}
.nxwchips .waadd{flex:1;min-height:42px;border:0;border-radius:999px;background:var(--fieldbg);color:var(--accent);font:inherit;font-weight:800;font-size:.9rem;cursor:pointer}
.nxwchips .waadd.dobro{background:#38A9E4;color:#fff}
.nxsh{display:flex;justify-content:space-between;align-items:baseline;margin:18px 4px 2px}.nxsh h3{margin:0;font-family:var(--display);font-size:1.1rem}.nxsh span{font-size:.8rem;font-weight:700;color:var(--accent)}
.nxmeal{border-radius:22px;box-shadow:0 10px 26px -22px rgba(30,60,90,.6)}
.nxmeal .mealhead{padding:14px 14px 12px;min-height:0}
.nxmeal .mealhead .nm{font-size:1.05rem;line-height:1.2}.nxmeal .mealhead .nm small{display:block;font-family:var(--body);font-weight:500;font-size:.78rem;color:var(--muted);margin-top:1px}
.nxmeal .mealhead .kc{margin:0;font-size:.74rem;text-align:right;line-height:1.1;color:var(--muted)}.nxmeal .mealhead .kc b{display:block;font-family:var(--display);font-size:1.1rem;color:var(--ink);font-variant-numeric:tabular-nums}
.nxmeal .mealhead .plus{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:0;background:var(--fieldbg);color:var(--accent);flex:none}
.nxmeal.vazio{background:transparent;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:none}
.nxmeal.vazio .mealhead .plus{background:linear-gradient(160deg,#2B5876,#4F8FB5);color:#fff}
.nxmeal .mealitems{padding:0 14px 4px}.nxmeal .mealitems li{padding:8px 0}
.nxmeal .mxitem{display:flex;justify-content:space-between;align-items:center;gap:10px}
.nxit{min-width:0;font-size:.92rem}.nxit small{display:block;font-size:.76rem;color:var(--muted)}
.nxk{flex:none;font-size:.82rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.nxfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 14px 14px}
.nxtags{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.nxtag{padding:4px 9px;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap}
.nxtag.p{background:color-mix(in srgb,#2E9E6B 16%,transparent);color:#22805A}.nxtag.c{background:color-mix(in srgb,#E8973A 20%,transparent);color:#A9651A}.nxtag.g{background:color-mix(in srgb,#8B7BFF 16%,transparent);color:#6B5CE0}
:root[data-theme="dark"] .nxtag.p{color:#7BE7B5}:root[data-theme="dark"] .nxtag.c{color:#F2B25E}:root[data-theme="dark"] .nxtag.g{color:#B9AEFF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nxtag.p{color:#7BE7B5}:root:not([data-theme="light"]) .nxtag.c{color:#F2B25E}:root:not([data-theme="light"]) .nxtag.g{color:#B9AEFF}}
.nxpost{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 12px;border:0;border-radius:999px;background:var(--fieldbg);color:var(--accent);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;flex:none}
.nxsug{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 12px 12px;padding:10px 12px;border-radius:16px;font-size:.82rem;line-height:1.35;background:linear-gradient(120deg,color-mix(in srgb,#8CC8E8 28%,transparent),color-mix(in srgb,#8B7BFF 14%,transparent))}
.nxsug>span:nth-child(2){flex:1;min-width:150px}
.nxav{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#5CC8F2,#8B7BFF)}
.nxvy{min-height:34px;padding:0 12px;border:0;border-radius:999px;background:var(--surface);color:var(--accent);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
@media (max-width:359px){.nxgauge{width:128px;height:128px}.nxgauge svg{width:128px;height:128px}.nxc b{font-size:1.9rem}.nxm b{font-size:1.05rem}}
@media (prefers-reduced-motion:reduce){.nxglass u{transition:none}}
@media (min-width:1024px){
  #tab-alim.on{display:block !important}
  #nutReg{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);column-gap:24px;align-items:start}
  #nutReg>*{grid-column:1}
  #nutReg>.daynav{grid-column:2;grid-row:1}
  #nutReg>.nxweek{grid-column:2;grid-row:2}
  #nutReg>.nxhero{grid-column:2;grid-row:3}
  #nutReg>.nxquick{grid-column:2;grid-row:4}
  #nutReg>.nxwater{grid-column:2;grid-row:5}
  #nutReg>.nxsh{grid-row:1;margin-top:8px;align-self:end}
  #nutReg>#mealCards{grid-row:2/span 6}
  #nutReg>p.small{grid-column:1/-1}
  .nxq:hover{border-color:var(--accent)}.nxweek button:hover{background:var(--fieldbg)}.nxweek button[aria-pressed="true"]:hover{background:linear-gradient(160deg,#2B5876,#4F8FB5)}
}

/* ===== 2.187.0: Fitness novo (Treinos e Registros), no mesmo desenho da Nutrição. Celular primeiro; computador no fim ===== */
.fxweek{padding:12px 14px;margin:0 0 12px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 26px -22px rgba(30,60,90,.6)}
.fxwh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px}.fxwh b{font-family:var(--display);font-size:.98rem}.fxwh span{font-size:.78rem;font-weight:700;color:var(--accent)}
.fxwd{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.fxwd span{display:flex;flex-direction:column;align-items:center;gap:5px}
.fxwd small{font-size:.62rem;font-weight:800;letter-spacing:.04em;color:var(--muted)}
.fxwd i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--display);font-size:.9rem;font-weight:700;color:var(--muted);background:var(--fieldbg)}
.fxwd .on i{color:#fff;background:linear-gradient(145deg,#2E9E6B,#56C493);box-shadow:0 8px 16px -10px #2E9E6B}
.fxwd .hj small{color:var(--accent)}.fxwd .hj:not(.on) i{box-shadow:inset 0 0 0 2px var(--accent);color:var(--ink);background:transparent}
.fxhero{position:relative;overflow:hidden;gap:4px;padding:18px 16px 16px;border-radius:26px;margin-bottom:12px;background:radial-gradient(120% 90% at 100% 0%,#5FA8D6 0%,transparent 55%),linear-gradient(155deg,#1E3F58,#2F6689 70%,#3F86AE);box-shadow:0 22px 38px -26px #1E3F58}
.fxhero::after{content:"";position:absolute;right:-34px;top:-34px;width:150px;height:150px;border-radius:50%;border:22px solid rgba(255,255,255,.07);pointer-events:none}
.fxhero .trht{font-size:1.55rem;letter-spacing:-.02em}
.fxchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.fxchips span{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.15);font-size:.76rem;font-weight:700}
.fxhero .trhgo{position:relative;z-index:1;min-height:50px;border-radius:16px;margin-top:14px;font-size:1rem;box-shadow:0 12px 24px -14px rgba(0,0,0,.6)}
.fxsf{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:4px}
.fxsf .trsfb{padding:12px 2px 10px;border-radius:20px;box-shadow:0 10px 24px -20px rgba(30,60,90,.6)}
.fxsf .trsfb b{font-size:.78rem}.fxsf .trsfb small{font-size:.66rem}
.fxsf .trsfi{width:40px;height:40px;border-radius:13px}
.fxia{border-color:transparent;background:linear-gradient(160deg,#2B5876,#4F8FB5);color:#fff}.fxia .trsfi{background:rgba(255,255,255,.18);box-shadow:none}.fxia small{color:rgba(255,255,255,.8)}
.fxsh{margin:18px 4px 10px}
.fxficha{border-radius:22px;padding:14px;box-shadow:0 10px 26px -22px rgba(30,60,90,.6)}
.fxficha .fletter{border-radius:15px;background:linear-gradient(160deg,#2B5876,#4F8FB5);box-shadow:0 8px 16px -10px #2B5876}
.fxficha.fhoje .fletter{background:linear-gradient(145deg,#2E9E6B,#56C493);box-shadow:0 8px 16px -10px #2E9E6B}
.fxbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.fxbtns .btn{margin:0}.fxbtns .btn small{display:none}
/* Registros */
#aSum{display:block}
.fxreg{position:relative;overflow:hidden;border-radius:26px;padding:18px 16px 12px;color:#fff;background:radial-gradient(120% 90% at 100% 0%,#5FA8D6 0%,transparent 55%),linear-gradient(155deg,#1E3F58,#2F6689 70%,#3F86AE);box-shadow:0 22px 38px -26px #1E3F58}
.fxrtop{display:flex;align-items:stretch;gap:16px}
.fxbars{flex:none;width:150px;height:118px;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end}
.fxbars span{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}
.fxbars i{display:block;width:100%;border-radius:6px;background:rgba(255,255,255,.18)}
.fxbars .on i{background:linear-gradient(180deg,#C6ECFF,#5CC8F2);box-shadow:0 0 10px -2px rgba(140,220,255,.8)}
.fxbars small{font-size:.56rem;font-weight:800;letter-spacing:.02em;opacity:.8}.fxbars .hj small{opacity:1}
.fxrk{flex:1;min-width:0;margin:0;display:grid;align-content:center}
.fxrk div{padding:8px 0;border-top:1px solid rgba(255,255,255,.18);text-align:center}.fxrk div:first-child{border-top:0}
.fxrk dt{font-size:.74rem;opacity:.9}.fxrk dd{margin:0;font-family:var(--display);font-size:1.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}.fxrk dd small{font-family:var(--body);font-size:.74rem;font-weight:600;opacity:.85;letter-spacing:0}
.fxtend{display:inline-block;margin-top:3px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.15);font-size:.7rem;font-weight:800;white-space:nowrap}.fxtend small{font-weight:600;opacity:.85}
.fxtend.up{color:#A8F5CE}.fxtend.dn{color:#FFD0B0}
.fxrm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.fxrm div{padding:10px 8px 9px;border-radius:16px;background:rgba(255,255,255,.13);text-align:center}
.fxrm small{display:block;font-size:.7rem;font-weight:700;opacity:.92}.fxrm b{display:block;font-family:var(--display);font-size:1.25rem;font-weight:800;margin-top:2px}.fxrm b span{font-family:var(--body);font-size:.68rem;font-weight:600;opacity:.8}
.fxrtip{margin:10px 0 0;font-size:.82rem;text-align:center;opacity:.95}.fxreg .infobtn{color:rgba(255,255,255,.85)}
#atvReg .ahbtn{border-radius:22px;box-shadow:0 10px 26px -22px rgba(30,60,90,.6)}
#atvReg .ahbtn .ahic{border-radius:14px;background:linear-gradient(160deg,#2B5876,#4F8FB5)}
@media (max-width:359px){.fxbars{width:120px}.fxrk dd{font-size:1.25rem}.fxwd i{width:30px;height:30px}}
@media (min-width:1024px){
  #atvTreinos{max-width:none}
  .fxweek,.fxhero,.fxsf{max-width:720px}
  .fxbtns{max-width:480px}
  .fxsf .trsfb:hover{border-color:var(--accent)}.fxia:hover{border-color:transparent}
}

/* ===== 2.187.3: faixa da semana no mesmo padrão nas três telas (Início, Nutrição e Fitness): o cartão .hjwk do Início ===== */
.wkstd,.nxweek{--hjr-a:#1B6FA8;--hjr-r:#C96A14;--hjr-t:#177A53}
:root[data-theme="dark"] .wkstd,:root[data-theme="dark"] .nxweek{--hjr-a:#6EC1F0;--hjr-r:#F2A65A;--hjr-t:#5FD3A2}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wkstd,:root:not([data-theme="light"]) .nxweek{--hjr-a:#6EC1F0;--hjr-r:#F2A65A;--hjr-t:#5FD3A2}}
.wkstd .hjwk{margin:0 0 12px}
.nxweek{display:block;margin:0 0 12px}
.nxwk{margin-top:0;cursor:default}
.nxweek .hjwkd>button{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;letter-spacing:0;cursor:pointer}
.nxweek .hjwkd>button b{color:var(--ink);font-size:.95rem}
.nxweek .hjwkd>button.tem b{background:color-mix(in srgb,var(--hjr-t) 18%,transparent);color:var(--hjr-t)}
.nxweek .hjwkd>button.hj b{box-shadow:0 0 0 2px var(--hjr-a);color:var(--hjr-a)}.nxweek .hjwkd>button.hj.tem b{color:var(--hjr-t)}
.nxweek .hjwkd>button.fu{cursor:default}.nxweek .hjwkd>button.fu b{color:var(--muted);opacity:.6}
.nxweek .hjwkd>button.sel b,.nxweek .hjwkd>button.sel.tem b,.nxweek .hjwkd>button.sel.hj b{background:var(--hjr-a);color:#fff;box-shadow:0 6px 14px -8px var(--hjr-a)}
:root[data-theme="dark"] .nxweek .hjwkd>button.sel b{color:#0E1A24}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nxweek .hjwkd>button.sel b{color:#0E1A24}}
.nxweek .hjwkd>button[aria-pressed="true"]{background:transparent;box-shadow:none}
.nxweek .hjwkd>button i{width:auto;height:6px;border-radius:0;background:transparent;display:flex;gap:3px}
@media (min-width:1024px){.wkstd{max-width:720px}.nxweek .hjwkd>button:hover{background:transparent}.nxweek .hjwkd>button:not(.fu):hover b{box-shadow:0 0 0 2px var(--hjr-a)}}

/* ===== 2.188.0: Saúde nova, no mesmo desenho da Nutrição e do Fitness (reaproveita .nxtop, .nxgauge, .nxkp, .nxmacros, .nxquick, .nxsh) ===== */
.sxtop{margin:4px 0 0}
.sxhero{position:relative;overflow:hidden;border-radius:26px;padding:18px 16px 12px;margin:0 0 12px;color:#fff;background:radial-gradient(120% 90% at 100% 0%,#5FA8D6 0%,transparent 55%),linear-gradient(155deg,#1E3F58,#2F6689 70%,#3F86AE);box-shadow:0 22px 38px -26px #1E3F58}
.sxg{display:block;padding:0;border:0;min-height:0;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:50%}
.sxarc{filter:drop-shadow(0 0 6px rgba(120,235,180,.7))}
.sxg .nxc b{font-size:2.1rem}
.sxm .nxm{border:0;color:inherit;font:inherit;cursor:pointer;min-height:0}
.sxm .nxm b{margin-bottom:0;font-size:1.1rem}
.sxm .nxm:active,.sxg:active{opacity:.8}
.sxquick{margin-bottom:0}
.sxsh{margin:18px 4px 10px}
#hubGrid{display:block}
.sxcard{width:100%;margin:0 0 10px;border-radius:22px;padding:14px;gap:12px;box-shadow:0 10px 26px -22px rgba(30,60,90,.6);cursor:pointer}
.sxcard .tile{margin:0;border-radius:14px;width:44px;height:44px}
.sxtx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.sxtx b{font-size:1.02rem}.sxtx .hs{font-size:.82rem}
.sxchev{flex:none;color:var(--muted);display:grid;place-items:center}
@media (min-width:1024px){
  #tab-saude .sxtop{max-width:720px}
  #tab-saude #hubGrid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 16px;max-width:980px}
  #tab-saude #hubGrid>.sxsh{grid-column:1/-1 !important}
  .sxcard:hover{border-color:var(--accent)}
}
.sxhero .nxkp dd{white-space:nowrap;font-size:1.02rem}.sxhero .nxkp dt{font-size:.76rem}

/* ===== 2.188.1: corpo em raio X no modo dia, com a silhueta calculada (.hjrxf.sil, --sil): preenchimento liso, contorno fino por cima e áreas acesas só dentro do corpo ===== */
.hjrxf.sil{filter:drop-shadow(0 0 1px rgba(27,90,135,.55)) drop-shadow(0 10px 16px rgba(27,111,168,.26))}
.hjrxf.sil::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#C4DCEE 0%,#9DC2DE 50%,#7FAECF 100%);-webkit-mask:var(--sil) center/100% 100% no-repeat;mask:var(--sil) center/100% 100% no-repeat}
.hjrxf.sil::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 46%);-webkit-mask:var(--sil) center/100% 100% no-repeat;mask:var(--sil) center/100% 100% no-repeat}
.hjrxf.sil .hjrxz{z-index:2;-webkit-mask:var(--sil) center/100% 100% no-repeat;mask:var(--sil) center/100% 100% no-repeat}
.hjrxf.sil i{mix-blend-mode:normal;opacity:.9;filter:blur(4px)}
.hjrxf.sil i.g3{background:#1FCF8E}.hjrxf.sil i.g2{background:#3FA982}.hjrxf.sil i.g0{background:#FF9A3D}
.hjrxf.sil img{z-index:3;filter:url(#hjRxDia2);opacity:.9}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .hjrxf.sil{filter:drop-shadow(0 0 14px rgba(110,193,240,.35))}
  :root:not([data-theme="light"]) .hjrxf.sil::before,:root:not([data-theme="light"]) .hjrxf.sil::after{display:none}
  :root:not([data-theme="light"]) .hjrxf.sil .hjrxz{-webkit-mask:none;mask:none}
  :root:not([data-theme="light"]) .hjrxf.sil img{opacity:.9;filter:none}
  :root:not([data-theme="light"]) .hjrxf.sil i{mix-blend-mode:color;opacity:1;filter:blur(3px)}
  :root:not([data-theme="light"]) .hjrxf.sil i.g3{background:#34E0A0}:root:not([data-theme="light"]) .hjrxf.sil i.g2{background:#2FA57C}
}
:root[data-theme="dark"] .hjrxf.sil{filter:drop-shadow(0 0 14px rgba(110,193,240,.35))}
:root[data-theme="dark"] .hjrxf.sil::before,:root[data-theme="dark"] .hjrxf.sil::after{display:none}
:root[data-theme="dark"] .hjrxf.sil .hjrxz{-webkit-mask:none;mask:none}
:root[data-theme="dark"] .hjrxf.sil img{opacity:.9;filter:none}
:root[data-theme="dark"] .hjrxf.sil i{mix-blend-mode:color;opacity:1;filter:blur(3px)}
:root[data-theme="dark"] .hjrxf.sil i.g3{background:#34E0A0}:root[data-theme="dark"] .hjrxf.sil i.g2{background:#2FA57C}

/* Avatar anatômico: base fosca e regiões atualizadas pelos registros reais. */
.hjanatomy-row{display:flex;align-items:center;gap:12px;margin:8px 0 16px}.hjanatomy-model{flex:0 0 126px;min-width:0}.hjanatomy-open{display:block;width:100%;padding:0;min-height:0;border:0;background:none;cursor:pointer}.hjanatomia{display:block;width:100%;height:268px;overflow:hidden;isolation:isolate;filter:drop-shadow(0 4px 4px rgba(32,59,78,.12))}.hjamus{mix-blend-mode:color;opacity:.95}.hjamus.g3{fill:#36D4A0}.hjamus.g2{fill:#429C7C}.hjamus.g0{fill:#F4A23F}.hjanatomy-list{flex:1;min-width:0;display:block;border:0;background:none;color:inherit;font:inherit;padding:0;text-align:left}.hjanatomy-switch{display:flex;justify-content:center;gap:2px;margin-top:5px;background:var(--bg);border-radius:999px}.hjanatomy-switch button{flex:1;padding:6px 5px;min-height:36px;font-size:.72rem;font-weight:600;border:0;border-radius:999px;background:none;color:var(--muted)}.hjanatomy-switch button[aria-pressed="true"]{background:var(--surface);color:var(--accent);box-shadow:0 2px 7px rgba(20,45,65,.1)}
@media(min-width:1024px){.hjanatomy-model{flex-basis:154px}.hjanatomia{height:300px}}
/* 2.189.1: destaque Corpo: avatar no centro e, no canto inferior direito (ao lado das pernas), um gráfico pequeno de barras com os dias sem treinar
   cada grupo, do maior para o menor, nas mesmas cores dos músculos */
.hjanatomy-row{position:relative;flex-direction:column;align-items:stretch;gap:0}
.hjanatomy-model{flex:none;width:150px;align-self:center}
.hjanatomy-model .hjanatomia{width:auto;height:290px;aspect-ratio:200/450;margin:0 auto}   /* na proporção exata do desenho: sem isso a figura vizinha do conjunto aparecia na lateral */
.hjanatomy-list{position:absolute;right:0;bottom:50px;width:min(112px,29vw);flex:none;cursor:pointer}
.hjanatomy-list .hjrxv{font-size:.72rem;line-height:1.3}
.hjbart{display:block;font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 5px}
.hjbars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.hjbars li{display:grid;grid-template-columns:minmax(0,56px) minmax(0,1fr) 14px;align-items:center;gap:4px;font-size:.64rem;line-height:1.15}
.hjbars span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hjbars i{display:block;height:6px;border-radius:4px;background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden}
.hjbars u{display:block;height:100%;border-radius:4px;text-decoration:none;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.hjbars .g3 u{background:#36D4A0}.hjbars .g2 u{background:#429C7C}.hjbars .g0 u{background:#F4A23F}
.hjbars small{text-align:right;font-size:.62rem;color:var(--muted);font-variant-numeric:tabular-nums}
.hjbars .g0 span,.hjbars .g0 small{color:var(--hjam,#B85C0E);font-weight:700}
@media (prefers-reduced-motion:reduce){.hjbars u{transition:none}}
@media (max-width:370px){.hjanatomy-model{transform:translateX(-14px)}}
@media (min-width:1024px){.hjanatomy-model{width:170px}.hjanatomy-row{max-width:460px;margin-left:auto;margin-right:auto}.hjanatomy-list{width:130px}}
/* 2.189.1: água em azul no destaque de alimentação; avatar que gira (cartão de duas faces) */
.hjact .agua.az svg{color:var(--hjr-a)}.hjact .agua.az.ok{border-color:var(--hjr-a)}
.hjanatomy-open{perspective:900px;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.hjflip{display:block;position:relative;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.3,.7,.2,1);will-change:transform}
.hjface{display:block;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.hjface.hjfback{position:absolute;inset:0;transform:rotateY(180deg)}
@media (prefers-reduced-motion:reduce){.hjflip{transition:none}}

/* 2.190.2: área de toque mínima de 24 px no celular (acessibilidade; tests/acessibilidade_ui.py) */
@media (max-width:1023px){ .linkbtn[data-goalopen],.linkbtn.crmmini{min-height:24px !important;display:inline-flex;align-items:center} .crmpill,.crmcol .crmpill{height:24px} }
/* 2.193.0: denunciar e bloquear uma pessoa (perfil, conversa a dois e pessoas do grupo) */
.pesop{display:flex;flex-direction:column;gap:10px}
.pesop .btn{display:flex;align-items:center;justify-content:center;gap:8px}
.pesop p{margin:4px 0 0;text-align:center}
.ampesop{flex:none;color:var(--muted)}
.fdsfol{display:flex;align-items:center;gap:8px}.fdsfol .btn{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.fdsfol .fdspes{flex:none;width:44px !important;height:44px;padding:0 !important;color:var(--muted)}
