/* Tá Feita IA · Cuidado de Mulher — sistema visual v2 (claro, suave, editorial)
   Direção: cards brancos arredondados sobre fundo quente, pílulas com ícone, órbita de pontos,
   títulos compactos, CTA roxo da marca. Grade de 4/8 px, alvos de toque ≥ 44 px, contraste AA. */
@font-face{font-family:'LTWaveText';src:url(/assets/fonts/wave-text-300.woff2) format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'LTWaveText';src:url(/assets/fonts/wave-text-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'LTWaveText';src:url(/assets/fonts/wave-text-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'LTWaveText';src:url(/assets/fonts/wave-text-700.woff2) format('woff2');font-weight:700;font-display:swap}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{
 --ff:'LTWaveText',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 --fd:var(--ff);
 --safeT:env(safe-area-inset-top,0px); --safeB:env(safe-area-inset-bottom,0px);
 --navH:calc(84px + var(--safeB));
 /* ===== Sistema de forma (v3) =====
    Unidade 4px. Controles: H ∈ {32, 40, 48, 56} = 8·n.
    Por controle: padding-x = 0.4H (→4), ícone = 0.4H (→4, mín. 16), gap = H/6 (→2), fonte = 9 + H/8.
    Ícone em círculo de diâmetro D: 0.45D (→2). Traço do ícone: 0.4·√tamanho (px, sem escalar).
    Raios em progressão √2 na grade de 4: 8 · 12 · 16 · 24 · 32; aninhados: interno = externo − recuo.
    Curva: superelipse (squircle) onde o navegador suporta; senão arco circular.
    Movimento: pressionar encolhe 2px na altura (escala 1 − 2/H); 120ms toque, 200ms estado, 320ms painel. */
 --r-xs:8px; --r-sm:12px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-pill:999px;
 --h-xs:32px; --h-s:40px; --h-m:48px; --h-l:56px;
 --ease:cubic-bezier(.2,.8,.2,1); --t1:120ms; --t2:200ms; --t3:320ms;
 /* claro (padrão) — paleta oficial Cuidado de Mulher: roxo R62 G43 B109, ouro R220 G187 B27, lilases R229 G226 B235 / R146 G137 B171 / R86 G75 B115 */
 --bg:#F3F1F7; --surf:#FFFFFF; --surfAlt:#ECE9F2; --sunk:#E5E2EB;
 --line:#E2DEEA; --tx:#1E1733; --tx2:#564B73; --tx3:#605A76;
 --accent:#3E2B6D; --onAccent:#FFFFFF; --accent2:#564B73; --accentTint:#ECE8F5;
 --gold:#DCBB1B; --onGold:#2A1D4D; --goldGrad:linear-gradient(135deg,#F2D646 0%,#DCBB1B 55%,#C9A40F 100%);
 --butter:#FBF3D0; --lime:#EEEBF5;
 --ink:#2A1D4D; --onInk:#F5F2FA; --rose:#D9608F; --amber:#C99A10;
 --okBg:#E3F3E8; --ok:#1E7A45; --warnBg:#FFF2CC; --warn:#7E5A00; --badBg:#FCE8E6; --bad:#B3261E;
 --pillOn:#3E2B6D; --onPill:#FFFFFF; --pillOff:#FFFFFF; --navBg:rgba(255,255,255,.92); --navOff:#635D79;
 --track:#E5E2EB; --chartLine:#3E2B6D; --scrim:rgba(30,23,51,.4);
 --orb1:#DCBB1B; --orb2:#9289AB; --orb3:#3E2B6D;
 --sh:0 1px 2px rgba(62,43,109,.05),0 10px 30px rgba(62,43,109,.07);
 color-scheme:light;
}
body.escuro{
 --bg:#150F24; --surf:#1F1833; --surfAlt:#2A2241; --sunk:#322A4A;
 --line:rgba(255,255,255,.09); --tx:#F4F1FA; --tx2:#CEC7DE; --tx3:#A39CB8;
 --accent:#B7A6EC; --onAccent:#1E1733; --accent2:#CBBEF2; --accentTint:#2E2550;
 --gold:#E3C437; --onGold:#1E1733; --goldGrad:linear-gradient(135deg,#F2D646 0%,#E3C437 60%,#CFAA14 100%);
 --butter:#3A3218; --lime:#262040; --ink:#F4F1FA; --onInk:#1E1733; --rose:#F08DB4; --amber:#E8B04A;
 --okBg:#14301F; --ok:#6BD49A; --warnBg:#3A2F10; --warn:#F5D46A; --badBg:#3A1714; --bad:#FF9C94;
 --pillOn:#F4F1FA; --onPill:#1E1733; --pillOff:#1F1833; --navBg:rgba(31,24,51,.94); --navOff:#A39CB8;
 --track:#322A4A; --chartLine:#B7A6EC; --scrim:rgba(0,0,0,.55); --sh:0 10px 30px rgba(0,0,0,.35);
 --orb1:#E3C437; --orb2:#9289AB; --orb3:#B7A6EC;
 color-scheme:dark;
}
html,body{margin:0;padding:0;height:100%;background:var(--bg);font-family:var(--ff);color:var(--tx);
 -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow:hidden}
button{font-family:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

#app{position:relative;max-width:480px;height:100%;margin:0 auto;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}
@media (min-width:600px){ html{background:#E9E6DE} body.escuro{background:#08070A} #app{box-shadow:0 0 0 1px var(--line)} }

/* ---------- cabeçalho ---------- */
header.scr{flex:0 0 auto;padding:calc(var(--safeT) + 14px) 20px 12px;display:flex;align-items:center;gap:12px;background:var(--bg);z-index:5}
/* botão de ícone: círculo H, ícone 0.45H; área de toque sempre ≥ 48 */
.ib,header.scr .bk{--H:var(--h-s);position:relative;width:var(--H);height:var(--H);border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surf);color:var(--tx);
 display:grid;place-items:center;cursor:pointer;flex:0 0 auto;padding:0;transition:transform var(--t1) var(--ease),background-color var(--t2) var(--ease)}
.ib::after,header.scr .bk::after{content:'';position:absolute;inset:min(0px,calc((var(--H) - 48px) / 2));border-radius:inherit}
.ib svg.ic,header.scr .bk svg.ic{width:18px;height:18px;stroke-width:1.7px}
.ib.m{--H:var(--h-m)} .ib.m svg.ic{width:22px;height:22px;stroke-width:1.88px}
.ib.l{--H:var(--h-l)} .ib.l svg.ic{width:24px;height:24px;stroke-width:1.96px}
.ib:active,header.scr .bk:active{transform:scale(.95)}
.ib.g,.ib.p{background:var(--accent);color:var(--onAccent);border-color:transparent}
header.scr .ttl{flex:1;min-width:0}
header.scr h1{margin:0;font:700 24px/1.1 var(--ff);letter-spacing:-.035em}
header.scr .act{display:flex;gap:8px;flex:0 0 auto;align-items:center}
.lbl{font:500 12px var(--ff);letter-spacing:.01em;color:var(--tx3)}
.data{font:400 13px var(--ff);color:var(--tx3)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:500 13px var(--ff);color:var(--tx2)}
.eyebrow i{width:26px;height:26px;border-radius:999px;background:var(--lime);display:grid;place-items:center;color:var(--tx);font-style:normal}
.eyebrow i svg{width:14px;height:14px}
.piloto{position:relative;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surf);color:var(--tx2);
 border-radius:var(--r-pill);padding:0 12px;font:500 13px var(--ff);cursor:pointer;height:var(--h-xs);transition:transform var(--t1) var(--ease)}
.piloto::after{content:'';position:absolute;inset:-8px -2px}
.piloto:active{transform:scale(.94)}

main{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:4px 20px calc(var(--navH) + 24px);scrollbar-width:none}
main::-webkit-scrollbar{display:none}
main.semnav{padding-bottom:calc(32px + var(--safeB))}

/* ---------- tipografia ---------- */
.hero{font:700 34px/1.04 var(--ff);letter-spacing:-.045em;margin:0}
h2{margin:0 0 10px;font:700 19px/1.2 var(--ff);letter-spacing:-.02em;color:var(--tx)}
.sec{display:flex;justify-content:space-between;align-items:baseline;margin:24px 0 12px}
.sec h2{margin:0}
.sec a,.sec button.link{font:500 14px var(--ff);color:var(--tx3);background:none;border:0;cursor:pointer;padding:8px 0;text-decoration:none}
.disp{font-family:var(--ff);font-weight:700;letter-spacing:-.03em}
.num{font-variant-numeric:tabular-nums}
p{margin:0 0 8px;font:400 15px/1.55 var(--ff);color:var(--tx2)}
p:last-child{margin-bottom:0}
.sub{font:400 13px/1.45 var(--ff);color:var(--tx3)}
.row{display:flex;gap:12px;align-items:center}
.between{justify-content:space-between}
.grid{display:grid;gap:12px}
.g2{grid-template-columns:1fr 1fr} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}
.center{text-align:center}

/* ---------- superfícies ---------- */
.card{background:var(--surf);border-radius:var(--r-lg);padding:16px;margin-bottom:12px;border:1px solid var(--line);color:var(--tx);display:block;width:100%;text-align:left;font-family:var(--ff);box-shadow:var(--sh)}
button.card,a.card{cursor:pointer;text-decoration:none}
.card.alt{background:var(--surfAlt);box-shadow:none}
.card.lime{background:var(--lime);box-shadow:none}
.card.gold{background:var(--butter);border-color:transparent;box-shadow:none;color:var(--tx)}
.card.gold .lbl,.card.gold .sub{color:var(--tx2)}
.card.dark{background:var(--ink);color:var(--onInk);border-color:transparent}
.card.dark .sub,.card.dark .lbl,.card.dark p{color:color-mix(in srgb,var(--onInk) 72%,transparent)}
.card.brd{box-shadow:inset 0 0 0 1.5px var(--accent),var(--sh)}

.bar{height:6px;border-radius:999px;background:var(--track);overflow:hidden}
.bar>i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .5s cubic-bezier(.2,.8,.3,1)}
.bar.amb>i{background:linear-gradient(90deg,#F2C14E,#E9A43B)}
.card.dark .bar{background:rgba(255,255,255,.14)} .card.dark .bar>i{background:var(--gold)}

.badge{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:var(--r-pill);font:500 12px var(--ff);background:var(--surfAlt);color:var(--tx2);white-space:nowrap}
.badge.ok{background:var(--okBg);color:var(--ok)} .badge.warn{background:var(--warnBg);color:var(--warn)}
.badge.bad{background:var(--badBg);color:var(--bad)} .badge.gold{background:var(--butter);color:var(--tx)}
.badge.acc{background:var(--accentTint);color:var(--accent)}

/* pílulas / chips */
/* pílula = controle H40: padding 16, ícone 16, gap 6, fonte 14 */
.pill{display:inline-flex;align-items:center;gap:6px;min-height:var(--h-s);padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--line);
 background:var(--pillOff);color:var(--tx2);font:500 14px var(--ff);cursor:pointer;white-space:nowrap;
 transition:background-color var(--t2) var(--ease),color var(--t2) var(--ease),border-color var(--t2) var(--ease),transform var(--t1) var(--ease)}
.pill:active{transform:scale(.95)}
.pill.on{background:var(--pillOn);color:var(--onPill);border-color:var(--pillOn)}
.pill svg.ic{width:16px;height:16px;stroke-width:1.6px}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pills.h{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px;padding:2px 20px 6px;scrollbar-width:none}
.pills.h::-webkit-scrollbar{display:none}

/* segmentado (Meu dia | Falar com a médica) */
/* trilho H48 = botões H40 + recuo 4 (raios concêntricos, ambos pílula) */
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--sunk);border-radius:var(--r-pill);padding:4px;margin:4px 0 16px}
.seg button{border:0;background:transparent;border-radius:var(--r-pill);height:var(--h-s);font:500 14px var(--ff);color:var(--tx2);cursor:pointer;
 transition:background-color var(--t2) var(--ease),color var(--t2) var(--ease),box-shadow var(--t2) var(--ease)}
.seg button.on{background:var(--goldGrad);color:var(--onGold);box-shadow:0 1px 2px rgba(22,19,29,.08),0 2px 8px rgba(22,19,29,.08)}

/* botões — tamanho m (H48) padrão: padding 20, ícone 20, gap 8, fonte 15
   hierarquia: p (primário roxo) > a (tinta) > t (tonal) > padrão (contorno) > ghost */
.btn{--H:var(--h-m);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--H);padding:0 20px;
 border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surf);color:var(--tx);font:500 15px/1.2 var(--ff);letter-spacing:-.005em;cursor:pointer;
 text-decoration:none;transition:transform var(--t1) var(--ease),background-color var(--t2) var(--ease),box-shadow var(--t2) var(--ease),opacity var(--t2)}
.btn svg.ic{width:20px;height:20px;stroke-width:1.79px}
.btn.xs{--H:var(--h-xs);padding:0 12px;gap:6px;font-size:13px} .btn.xs svg.ic{width:16px;height:16px;stroke-width:1.6px}
.btn.s{--H:var(--h-s);padding:0 16px;gap:6px;font-size:14px} .btn.s svg.ic{width:16px;height:16px;stroke-width:1.6px}
.btn.l{--H:var(--h-l);padding:0 24px;gap:10px;font-size:16px} .btn.l svg.ic{width:24px;height:24px;stroke-width:1.96px}
.btn.p{background:var(--accent);color:var(--onAccent);border-color:transparent;box-shadow:0 1px 2px rgba(42,29,77,.2),0 6px 16px -6px rgba(62,43,109,.5)}
.btn.a{background:var(--ink);color:var(--onInk);border-color:transparent}
.btn.t{background:var(--accentTint);color:var(--accent);border-color:transparent}
.btn.ghost{background:transparent;border-color:transparent;color:var(--tx2)}
.btn.danger{background:transparent;border-color:transparent;color:var(--bad)}
.btn.w{width:100%;display:flex}
/* seta do CTA: círculo 0.5H, ícone 0.5 do círculo; à direita, com recuo óptico igual ao vertical */
.btn .arr{width:calc(var(--H) / 2);height:calc(var(--H) / 2);border-radius:var(--r-pill);background:rgba(255,255,255,.2);display:grid;place-items:center;margin-right:-8px;
 transition:transform var(--t2) var(--ease)}
.btn .arr svg.ic{width:12px;height:12px;stroke-width:2px}
.btn:active{transform:scale(.96)} .btn.s:active,.btn.xs:active{transform:scale(.95)} .btn.l:active{transform:scale(.965)}
.btn:active .arr{transform:translateX(2px)}
@media (hover:hover){ .btn:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent)} .btn.p:hover{filter:brightness(1.06)} }
.btn[disabled]{opacity:.4;cursor:default;transform:none;box-shadow:none}

/* blocos (tiles) */
.tile{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;cursor:pointer;text-align:left;width:100%;font-family:var(--ff);color:var(--tx);display:block;min-height:116px;box-shadow:var(--sh)}
.tile:active{transform:scale(.98)}
.tile .tt{font:700 16px/1.2 var(--ff);letter-spacing:-.02em;margin:10px 0 4px}
.tile .ts{font:400 13px/1.35 var(--ff);color:var(--tx3)}
.tile.gold{background:var(--butter);border-color:transparent;box-shadow:none} .tile.gold .ts,.tile.gold .lbl{color:var(--tx2)}
.tile.acc{background:var(--ink);color:var(--onInk);border-color:transparent} .tile.acc .ts,.tile.acc .lbl{color:color-mix(in srgb,var(--onInk) 70%,transparent)}
.tile .n{font:400 13px var(--ff);color:var(--tx3)}
.tile.acc .n{color:color-mix(in srgb,var(--onInk) 60%,transparent)}
.ichip{width:var(--h-s);height:var(--h-s);border-radius:var(--r-pill);background:var(--lime);display:grid;place-items:center;color:var(--tx);flex:0 0 auto}
.tile.acc .ichip{background:var(--accent);color:var(--onAccent)}
.ichip svg.ic{width:18px;height:18px;stroke-width:1.7px}

.av{width:var(--h-s);height:var(--h-s);border-radius:var(--r-pill);background:var(--accentTint);color:var(--accent);display:grid;place-items:center;font:700 15px var(--ff);flex:0 0 auto;border:0;cursor:pointer}

input,textarea,select{width:100%;background:var(--surf);border:1px solid var(--line);border-radius:var(--r-sm);
 min-height:48px;padding:12px 14px;font:400 16px var(--ff);color:var(--tx);outline:none;-webkit-appearance:none;appearance:none}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentTint)}
input::placeholder,textarea::placeholder{color:var(--tx3)}
.field{margin-bottom:12px} .field>label{display:block;margin-bottom:6px;font:500 13px var(--ff);color:var(--tx2)}

/* interruptor: trilho H32 × 1.625H, botão H−8 (recuo 4, concêntrico) */
.sw{width:52px;height:var(--h-xs);border-radius:var(--r-pill);background:var(--track);position:relative;cursor:pointer;flex:0 0 auto;transition:background-color var(--t2) var(--ease);border:0;padding:0}
.sw::after{content:'';position:absolute;inset:-8px -4px}
.sw>i{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:var(--r-pill);background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.12);transition:transform var(--t2) var(--ease)}
.sw.on{background:var(--accent)} .sw.on>i{transform:translateX(20px)}

.chk{width:var(--h-m);height:var(--h-m);border-radius:var(--r-pill);border:0;background:transparent;display:grid;place-items:center;cursor:pointer;flex:0 0 auto;padding:0;color:var(--tx3)}
.chk>span{width:24px;height:24px;border-radius:var(--r-pill);border:1.5px solid var(--tx3);display:grid;place-items:center;color:transparent;background:var(--surf);
 transition:background-color var(--t2) var(--ease),border-color var(--t2) var(--ease),transform var(--t1) var(--ease)}
.chk>span svg.ic{width:14px;height:14px;stroke-width:2.2px}
.chk:active>span{transform:scale(.9)}
.chk.on>span{background:var(--accent);border-color:var(--accent);color:var(--onAccent)}

/* ícones: traço em px reais (não escala com o tamanho); espessura = 0.4·√tamanho */
svg.ic{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.96px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;vector-effect:non-scaling-stroke;overflow:visible}
svg.ic *{vector-effect:non-scaling-stroke}
svg.ic.f{fill:currentColor;stroke:none}
svg.ic.sm{width:18px;height:18px;stroke-width:1.7px}
svg.ic.xs{width:16px;height:16px;stroke-width:1.6px}

/* ---------- navegação inferior flutuante ---------- */
nav.tabs{position:absolute;left:12px;right:12px;bottom:calc(10px + var(--safeB));height:68px;background:var(--navBg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 border:1px solid var(--line);border-radius:26px;display:flex;align-items:center;padding:6px;z-index:6;box-shadow:0 12px 30px rgba(22,19,29,.10)}
nav.tabs button{flex:1;border:0;background:transparent;color:var(--navOff);cursor:pointer;height:56px;border-radius:20px;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:500 11px var(--ff);transition:background .2s,color .2s}
nav.tabs button.on{color:var(--onGold);background:var(--goldGrad)}
body.escuro nav.tabs button.on{color:var(--onGold)}
nav.tabs svg.ic{width:22px;height:22px;stroke-width:1.88px}
nav.tabs button{transition:background-color var(--t2) var(--ease),color var(--t2) var(--ease),transform var(--t1) var(--ease)}
nav.tabs button:active{transform:scale(.965)}

/* ---------- camadas ---------- */
.sheet{position:fixed;inset:0;z-index:50;background:var(--scrim);display:none;align-items:flex-end;justify-content:center}
.sheet.on{display:flex;animation:fade .18s}
.sheet>.bx{width:100%;max-width:480px;max-height:90%;overflow-y:auto;background:var(--bg);border-radius:28px 28px 0 0;
 padding:12px 20px calc(24px + var(--safeB));animation:up .26s cubic-bezier(.2,.8,.3,1)}
.grab{width:40px;height:4px;border-radius:99px;background:var(--line);margin:0 auto 16px}
@keyframes up{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.toast{position:fixed;left:50%;bottom:calc(var(--navH) + 12px);transform:translate(-50%,16px);background:var(--ink);color:var(--onInk);padding:12px 18px;border-radius:999px;
 font:500 14px var(--ff);opacity:0;pointer-events:none;transition:.25s;z-index:60;max-width:88%;text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- órbita de pontos (dia do desafio / ciclo / índice) ---------- */
.orbe{position:relative;display:grid;place-items:center;margin:8px auto 4px;width:260px;max-width:78vw;aspect-ratio:1}
.orbe::before{content:'';position:absolute;inset:8%;border-radius:999px;
 background:radial-gradient(circle at 50% 50%,rgba(255,255,255,0) 52%,rgba(220,187,27,.26) 62%,rgba(146,137,171,.30) 71%,rgba(62,43,109,.14) 79%,rgba(255,255,255,0) 87%);filter:blur(10px)}
body.escuro .orbe::before{opacity:.55}
.orbe svg{position:absolute;inset:0;width:100%;height:100%}
.orbe .in{position:relative;text-align:center;padding:0 40px}
.orbe .k{font:500 13px var(--ff);color:var(--tx2)}
.orbe .v{font:500 64px/1 var(--ff);letter-spacing:-.05em;color:var(--tx);margin:4px 0}
.orbe .s{font:400 13px/1.35 var(--ff);color:var(--tx3)}
.orbe .s b{display:block;font:500 22px var(--ff);letter-spacing:-.02em;color:var(--tx);margin-top:2px}

/* faixa de dias */
.dias{display:flex;gap:8px;overflow-x:auto;margin:8px -20px 4px;padding:4px 20px 8px;scrollbar-width:none}
.dias::-webkit-scrollbar{display:none}
.dias button{flex:0 0 48px;height:64px;border-radius:999px;border:1px solid var(--line);background:var(--surf);cursor:pointer;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:500 14px var(--ff);color:var(--tx);box-shadow:0 1px 2px rgba(22,19,29,.04)}
.dias button i{width:6px;height:6px;border-radius:99px;background:var(--track);display:block}
.dias button.feito i{background:var(--accent)}
.dias button.hoje{background:var(--goldGrad);border-color:transparent;color:var(--onGold)}
.dias button.hoje i{background:var(--onGold)}
.dias button.fut{color:var(--tx3)}

/* plano do dia (trackers) */
.hab{display:flex;gap:12px;align-items:center;padding:14px 16px;background:var(--surf);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;box-shadow:var(--sh)}
.hab .ichip{background:var(--surfAlt)}
.hab .bd{flex:1;min-width:0}
.hab .bd b{display:block;font:600 15px var(--ff);color:var(--tx)}
.hab .bd .bar{margin-top:8px}
.hab .qt{font:500 13px var(--ff);color:var(--tx3);font-variant-numeric:tabular-nums;white-space:nowrap}
.hab .act{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}
.addp{position:relative;display:inline-flex;align-items:center;gap:6px;height:var(--h-xs);padding:0 12px;border-radius:var(--r-pill);transition:transform var(--t1) var(--ease);border:1px solid var(--line);background:var(--surf);font:500 13px var(--ff);color:var(--tx);cursor:pointer}
.addp.on{background:var(--accent);color:var(--onAccent);border-color:transparent}
.addp svg.ic{width:14px;height:14px;stroke-width:1.6px}
.addp::after{content:'';position:absolute;inset:-8px -2px}
.addp:active{transform:scale(.94)}

/* carrossel do cardápio */
.carr{display:flex;gap:12px;overflow-x:auto;margin:0 -20px;padding:2px 20px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}
.carr::-webkit-scrollbar{display:none}
.carr .it{flex:0 0 168px;scroll-snap-align:start;background:var(--surf);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;text-align:left;cursor:pointer;box-shadow:var(--sh);font-family:var(--ff);color:var(--tx)}
.carr .it .pic{height:96px;border-radius:14px;display:grid;place-items:center;margin-bottom:10px;color:var(--tx)}
.carr .it b{display:block;font:600 14px/1.25 var(--ff);min-height:36px}
.carr .it .sub{margin-top:6px}

/* números 01/02/03 */
.nums{display:grid;gap:10px}
.nums .card{margin:0;padding:16px}
.nums .card .row{align-items:flex-start}
.nums .n{font:400 13px var(--ff);color:var(--tx3)}
.nums .card.dark .n{color:color-mix(in srgb,var(--onInk) 60%,transparent)}
.nums h3{margin:14px 0 4px;font:700 17px/1.2 var(--ff);letter-spacing:-.02em}

/* lista de configurações */
.lista{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:16px;box-shadow:var(--sh)}
.lista>*{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 16px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font:500 15px var(--ff);color:var(--tx);cursor:pointer;text-decoration:none}
.lista>*:last-child{border-bottom:0}
.lista>* .grow{flex:1;min-width:0}
.lista>* .sub{display:block;font-weight:400}
.lista .chev{color:var(--tx3)}
.destaque{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:14px 18px;border-radius:999px;border:0;background:#F6DCEA;color:#3A1B2C;font:500 15px var(--ff);cursor:pointer;margin-bottom:20px}
body.escuro .destaque{background:#3A2030;color:#F6DCEA}
.grupo{font:600 14px var(--ff);color:var(--tx);margin:4px 0 8px}

/* linha do tempo, calendário, eventos */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal .wd{font:500 12px var(--ff);color:var(--tx3);padding:6px 0}
.cal .d{aspect-ratio:1;min-height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border:0;background:transparent;color:var(--tx);font:500 14px var(--ff);border-radius:999px;padding:0;gap:2px}
.cal .d.out{color:var(--tx3);font-weight:400}
.cal .d.on{background:var(--gold);color:var(--onGold)}
.cal .d.hoje{box-shadow:inset 0 0 0 1.5px var(--accent)}
.cal .d .dots{display:flex;gap:2px;height:4px}
.cal .d .dots i{width:4px;height:4px;border-radius:99px;display:block}
.ev{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.ev:last-child{border-bottom:0}
.ev .hr{font:500 13px var(--ff);color:var(--tx3);width:44px;flex:0 0 auto;font-variant-numeric:tabular-nums}
.ev .cl{width:3px;border-radius:99px;align-self:stretch;flex:0 0 auto}
.ev .bd{flex:1;min-width:0}
.ev .bd b{display:block;font:600 15px/1.3 var(--ff);color:var(--tx)}
.ev.done .bd b{text-decoration:line-through;color:var(--tx3)}

/* chat */
.msg{max-width:86%;padding:12px 16px;border-radius:22px;font:400 15px/1.5 var(--ff);margin-bottom:10px;white-space:pre-line}
.msg.eu{margin-left:auto;background:var(--accent);color:var(--onAccent);border-bottom-right-radius:8px}
.msg.ia{background:var(--surf);color:var(--tx);border:1px solid var(--line);border-bottom-left-radius:8px}
.iaorb{width:120px;height:120px;border-radius:999px;margin:8px auto 12px;background:radial-gradient(circle at 50% 45%,#fff 0%,#FBEFB6 34%,#C9BFE0 62%,rgba(146,137,171,0) 72%);box-shadow:0 0 60px rgba(220,187,27,.28)}
body.escuro .iaorb{opacity:.85}
.dots3{display:flex;gap:4px;padding:4px 2px}
.dots3 i{width:6px;height:6px;border-radius:99px;background:var(--tx3);animation:blink 1.2s infinite}
.dots3 i:nth-child(2){animation-delay:.2s}.dots3 i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,60%,100%{opacity:.25}30%{opacity:1}}

/* treino / cardápio */
.ex{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.ex:last-child{border-bottom:0}
.ex img{width:56px;height:56px;border-radius:16px;object-fit:cover;flex:0 0 auto;background:var(--surfAlt)}
.ex .bd{flex:1;min-width:0} .ex .bd b{display:block;font:600 15px var(--ff);color:var(--tx)}
.fi{display:inline-block;flex:0 0 auto;background-color:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.fi.s20{width:20px;height:20px}.fi.s28{width:28px;height:28px}.fi.s44{width:44px;height:44px}
.fibox{width:var(--h-m);height:var(--h-m);border-radius:var(--r-sm);background:var(--surfAlt);color:var(--tx2);display:grid;place-items:center;flex:0 0 auto}
.foodrow{display:flex;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;background:transparent;border-left:0;border-right:0;border-top:0;text-align:left;color:var(--tx);font-family:var(--ff)}
.foodrow[disabled]{cursor:default}
.foodrow .bd{flex:1;min-width:0} .foodrow .bd b{display:block;font:500 15px/1.3 var(--ff)}
.foodrow .bd b.tr{text-decoration:line-through;color:var(--tx3)}
.foodrow .sw2{font:500 14px var(--ff);color:var(--accent);display:block;margin-top:2px}
.opt{display:flex;gap:12px;align-items:center;min-height:var(--h-m);padding:12px 16px;border-radius:var(--r-md);background:var(--surf);border:1px solid var(--line);margin-top:8px;cursor:pointer;font:400 15px var(--ff);color:var(--tx2);width:100%;text-align:left}
.opt .rd{width:20px;height:20px;border-radius:99px;border:1.5px solid var(--tx3);flex:0 0 auto}
.opt.on{color:var(--tx);border-color:var(--accent);background:var(--accentTint)} .opt.on .rd{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px var(--accentTint)}
.macros{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.macros div{border:1px solid var(--line);background:var(--surf);border-radius:16px;padding:10px 6px;text-align:center}
.macros b{display:block;font:600 16px var(--ff);letter-spacing:-.02em}
.macros span{font:400 12px var(--ff);color:var(--tx3)}
.step{display:flex;align-items:center;gap:16px;justify-content:center}
.step button{width:56px;height:56px;border-radius:999px;border:1px solid var(--line);background:var(--surf);color:var(--tx);font:500 22px var(--ff);cursor:pointer}
.step .v{font:500 40px var(--ff);letter-spacing:-.04em;min-width:88px;text-align:center;font-variant-numeric:tabular-nums}
.step .u{font:400 13px var(--ff);color:var(--tx3);display:block;text-align:center}
.metric{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-md);padding:14px}
.metric .v{font:600 24px var(--ff);letter-spacing:-.03em;color:var(--tx);font-variant-numeric:tabular-nums;margin:4px 0 2px}
.legend{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.legend span{display:flex;align-items:center;gap:6px;font:400 12px var(--ff);color:var(--tx3)}
.legend i{width:8px;height:8px;border-radius:99px;display:block}

/* card da médica (teleconsulta) */
.med{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--lime);padding:20px;margin-bottom:12px;min-height:220px}
.med img{position:absolute;right:-6px;bottom:-12px;height:228px;width:auto;filter:drop-shadow(0 12px 24px rgba(0,0,0,.18))}
.med .txt{position:relative;max-width:62%}
.med h2,.med h3{font:700 24px/1.08 var(--ff);letter-spacing:-.04em;margin:12px 0 8px;color:var(--tx)}
.med p{font-size:14px;color:#47434F}
body.escuro .med{background:var(--lime)} body.escuro .med h2,body.escuro .med h3{color:var(--tx)} body.escuro .med p{color:var(--tx2)}
.tele{display:flex;align-items:center;gap:14px;width:100%;border:0;border-radius:var(--r-lg);background:var(--ink);color:var(--onInk);padding:16px 16px 16px 18px;margin-bottom:12px;text-align:left;cursor:pointer;font-family:var(--ff)}
.tele img{width:56px;height:56px;border-radius:999px;object-fit:cover;object-position:50% 12%;background:var(--accent);flex:0 0 auto}
.tele .txt{flex:1;min-width:0}
.tele b{display:block;font:600 16px/1.25 var(--ff)}
.tele span.s{display:block;font:400 13px/1.4 var(--ff);color:color-mix(in srgb,var(--onInk) 70%,transparent);margin-top:2px}
.tele .go{width:var(--h-s);height:var(--h-s);border-radius:999px;background:var(--accent);color:var(--onAccent);display:grid;place-items:center;flex:0 0 auto}
body.escuro .tele .go{background:var(--accent)}

/* telas de entrada */
.gate{flex:1;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--safeT) + 32px) 24px calc(var(--safeB) + 32px);overflow-y:auto}
.gate .logo{width:170px;max-width:60%;margin:0 0 28px}
.gate h1{font:700 32px/1.06 var(--ff);margin:12px 0 12px;letter-spacing:-.045em}
.termo{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;max-height:40vh;overflow-y:auto;margin:16px 0}
.termo h2,.termo h3{font:600 15px var(--ff);margin:12px 0 4px}.termo h2:first-child{margin-top:0}
.termo p,.termo li{font:400 14px/1.5 var(--ff);color:var(--tx2)}
.termo ul{padding-left:18px;margin:4px 0}
.passo{display:flex;gap:12px;align-items:flex-start;padding:10px 0}
.passo .n{width:28px;height:28px;border-radius:99px;background:var(--gold);color:var(--onGold);display:grid;place-items:center;font:600 14px var(--ff);flex:0 0 auto}
.estrelas{display:flex;gap:8px;justify-content:center;margin:8px 0 16px}
.estrelas button{width:48px;height:48px;border:1px solid var(--line);border-radius:999px;background:var(--surf);color:var(--tx3);cursor:pointer;display:grid;place-items:center}
.estrelas button.on{background:var(--gold);color:var(--onGold);border-color:transparent}
.salvo{display:inline-flex;align-items:center;gap:6px;font:400 12px var(--ff);color:var(--tx3);border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:var(--surf)}
.skel{background:linear-gradient(90deg,var(--surf),var(--surfAlt),var(--surf));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:var(--r-md)}
@keyframes sk{to{background-position:-200% 0}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.card.row,button.card.row{display:flex;align-items:center;gap:12px;text-align:left}

/* ---------- Menu em bento (hierarquia por tamanho) ---------- */
.bt-perfil{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;padding:0 0 16px;color:var(--tx);cursor:pointer;font-family:var(--ff)}
.bt-perfil b{display:block;font:600 17px var(--ff);letter-spacing:-.02em}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}
.b-full{grid-column:span 6}.b-big{grid-column:span 3;grid-row:span 2}.b-half{grid-column:span 3}.b-third{grid-column:span 2}
.bt{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:128px;padding:16px;border-radius:var(--r-lg);
  border:1px solid var(--line);background:var(--surf);color:var(--tx);text-align:left;font-family:var(--ff);cursor:pointer;overflow:hidden;
  transition:transform var(--t1) var(--ease),box-shadow var(--t2) var(--ease)}
.bt:active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){.bt{transition:none}.bt:active{transform:none}}
.bt-butter{background:var(--butter);border-color:transparent}.bt-lime{background:var(--lime);border-color:transparent}
.bt-tint{background:var(--accentTint);border-color:transparent}.bt-gold{background:var(--butter);border-color:transparent;color:var(--onGold)}
body.escuro .bt-gold{color:#FBF3D0}
.bt-row{flex-direction:row;align-items:center;min-height:0;gap:12px}
.bt-ic{width:64px;height:64px;border-radius:var(--r-pill);background:rgba(255,255,255,.7);display:grid;place-items:center;color:var(--tx)}
body.escuro .bt-ic{background:rgba(255,255,255,.08)}
.bt-ic.sm{width:40px;height:40px;border-radius:999px;background:var(--surfAlt)}
.bt-lime .bt-ic.sm,.bt-tint .bt-ic.sm,.bt-butter .bt-ic.sm{background:rgba(255,255,255,.7)}
body.escuro .bt-lime .bt-ic.sm,body.escuro .bt-tint .bt-ic.sm{background:rgba(255,255,255,.08)}
.bt-ic svg.ic{width:18px;height:18px;stroke-width:1.7px}
.bt-go svg.ic{width:14px;height:14px;stroke-width:1.8px}
.bt-go{position:absolute;top:12px;right:12px;width:var(--h-xs);height:var(--h-xs);border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.7);color:var(--tx)}
body.escuro .bt-go{background:rgba(255,255,255,.08)}
.bt-row .bt-go{position:static}
.bt-foot{display:flex;flex-direction:column;gap:2px;min-width:0}
.bt-k{font:500 13px var(--ff);color:var(--tx2)}
.bt-n{font:600 34px/1 var(--ff);letter-spacing:-.04em;margin:4px 0 2px}
.bt-n2{font:600 24px/1 var(--ff);letter-spacing:-.03em}
.bt-t{font:700 22px/1.12 var(--ff);letter-spacing:-.035em;margin:12px 0 4px;max-width:62%}
.bt-t2{display:block;font:600 15px/1.25 var(--ff);letter-spacing:-.01em}
.bt-t3{font:600 13px var(--ff);margin-top:8px}
.bt-s{display:block;font:400 12.5px/1.35 var(--ff);color:var(--tx3)}
.bt-gold .bt-s{color:inherit;opacity:.75}
.bt-bar{display:block;height:6px;border-radius:99px;background:rgba(22,19,29,.08);margin-top:10px;overflow:hidden}
body.escuro .bt-bar{background:rgba(255,255,255,.1)}
.bt-bar i{display:block;height:100%;border-radius:99px;background:var(--tx)}
.bt-grupo{font:600 14px var(--ff);margin:10px 2px 0}
.bt-hero{min-height:200px;background:var(--ink);color:var(--onInk);border-color:transparent;justify-content:flex-start;gap:0}
.bt-hero .eyebrow{color:color-mix(in srgb,var(--onInk) 75%,transparent)}
.bt-hero .eyebrow i{background:var(--accent);color:var(--onAccent)}
.bt-hero .bt-s{color:color-mix(in srgb,var(--onInk) 65%,transparent);max-width:58%}
.bt-hero .bt-cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;align-self:flex-start;height:var(--h-m);padding:0 20px;border-radius:999px;
  background:var(--accent);color:var(--onAccent);font:600 15px var(--ff)}
.bt-hero img{position:absolute;right:18px;bottom:0;height:96%;width:auto;object-fit:contain;pointer-events:none}
.bt-utils{display:flex;gap:8px}
.bt-u{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:72px;border-radius:var(--r-md);
  border:1px solid var(--line);background:var(--surf);color:var(--tx2);font:500 12.5px var(--ff);cursor:pointer;text-decoration:none}
.bt-u.on{background:var(--ink);color:var(--onInk);border-color:transparent}
.bt-u svg.ic{width:20px;height:20px;stroke-width:1.79px}
.bt-u{transition:transform var(--t1) var(--ease)} .bt-u:active{transform:scale(.96)}

/* ---------- curva contínua (superelipse) onde suportado ----------
   Mesmo raio nominal; a superelipse suaviza a entrada da curva (sem o "degrau" do arco circular). */
@supports (corner-shape: squircle){
  .card,.bt,.tile,.hab,.lista,.med,.tele,.fibox,.opt,.bt-u,input,textarea,select,#sheetbx,.macros div,.carr .it .pic{corner-shape:squircle}
  .card,.bt,.tile,.tele,.med{border-radius:calc(var(--r-lg) * 1.5)} .hab,.opt,.bt-u,.lista{border-radius:calc(var(--r-md) * 1.5)}
  .fibox,input,textarea,select{border-radius:calc(var(--r-sm) * 1.5)}
}
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{transition-duration:0ms!important;animation-duration:0ms!important} }

/* ---------- Pelve iD — identidade oficial (Outubro Mulher): lilás em degradê, cobre no UNTIED, off-white ---------- */
:root{--pelve:#6E559E;--onPelve:#FFFFFF;--pelveTint:#F1ECF8;--onPelveTint:#3E2B6D;--pelveGrad:linear-gradient(135deg,#C2B0DE 0%,#8C70BE 55%,#6E559E 100%);
 --cobre:#A9512F;--cobreGrad:linear-gradient(135deg,#EDB295 0%,#C9774F 55%,#A9512F 100%);--cobreTint:#FBEDE6}
body.escuro{--pelve:#C2B0DE;--onPelve:#1E1733;--pelveTint:#2C2442;--onPelveTint:#EDE6F7;--cobre:#EDB295;--cobreTint:#3A2620}
.pv-scope{display:contents;--orb1:#EDB295;--orb2:#A58BD0;--orb3:#6E559E;--accentPv:var(--pelve)}
body.escuro .pv-scope{--orb3:#C2B0DE}
.pv-scope.untied{--pelve:#A9512F;--pelveTint:#FBEDE6;--onPelveTint:#5A2A17;--orb1:#F3CDB8;--orb2:#D8916B;--orb3:#A9512F}
body.escuro .pv-scope.untied{--pelve:#EDB295;--pelveTint:#3A2620;--onPelveTint:#FBEDE6;--orb3:#EDB295}
.pv-marca-h{height:30px;width:auto;display:block;max-width:100%}
.pv-hero{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:20px 20px 22px;min-height:300px;color:var(--onPelveTint);
 background:linear-gradient(100deg,rgba(251,248,244,.97) 0%,rgba(251,248,244,.9) 52%,rgba(251,248,244,.15) 100%),url(/assets/pelve/pv_textura.webp) center/cover}
body.escuro .pv-hero{background:linear-gradient(100deg,rgba(21,15,36,.95) 0%,rgba(21,15,36,.85) 52%,rgba(21,15,36,.2) 100%),url(/assets/pelve/pv_textura.webp) center/cover}
.pv-hero .pv-marca{width:64%;height:auto;display:block;position:relative;z-index:1}
.pv-tag{position:relative;z-index:1;margin:18px 0 6px;font:300 26px/1.1 var(--ff);letter-spacing:-.02em;color:var(--pelve);max-width:60%}
.pv-tag em{font-style:normal;font-weight:500;display:block;font-size:34px;letter-spacing:-.035em}
.pv-lead{position:relative;z-index:1;margin:0;font:400 14px/1.5 var(--ff);max-width:58%;color:var(--tx2)}
.pv-foto{position:absolute;right:-6px;bottom:-40px;height:118%;width:auto;pointer-events:none}
.pv-prot{border-radius:var(--r-lg);padding:18px 16px 16px;margin-bottom:10px;background:linear-gradient(120deg,var(--surf) 30%,rgba(255,255,255,.55)),url(/assets/pelve/pv_textura.webp) center/cover;border:1px solid var(--line)}
.pv-prot.untied{background:linear-gradient(120deg,var(--surf) 30%,rgba(255,255,255,.5)),url(/assets/pelve/pv_textura2.webp) center/cover}
body.escuro .pv-prot,body.escuro .pv-prot.untied{background:var(--surf)}
.pv-prot img{height:34px;width:auto;max-width:100%;display:block}
.pv-prot.untied img{height:38px}
.pv-prot p{margin:12px 0 0;font:400 14px/1.5 var(--ff);color:var(--tx2);max-width:88%}
.pv-secuida{text-align:center;margin:20px 0 0;font:300 15px var(--ff);color:var(--tx2)} .pv-secuida b{font:500 20px var(--ff);letter-spacing:-.02em;color:var(--pelve);margin-right:4px}
.pv-scope .btn.p{background:var(--pelveGrad);color:#fff;box-shadow:0 1px 2px rgba(62,43,109,.2),0 6px 16px -6px rgba(110,85,158,.55)}
.pv-scope.untied .btn.p{background:var(--cobreGrad)}
body.escuro .pv-scope .btn.p{color:#1E1733}
.pv-scope .badge.acc{background:var(--pelveTint);color:var(--pelve)}
.bt-pelve{background:linear-gradient(110deg,rgba(255,255,255,.96) 35%,rgba(255,255,255,.35)),url(/assets/pelve/pv_textura.webp) center/cover;color:var(--onPelveTint);border-color:var(--line)}
.bt-pelve.untied{background:linear-gradient(110deg,rgba(255,255,255,.96) 35%,rgba(255,255,255,.35)),url(/assets/pelve/pv_textura2.webp) center/cover}
body.escuro .bt-pelve{background:linear-gradient(110deg,rgba(31,24,51,.96) 35%,rgba(31,24,51,.4)),url(/assets/pelve/pv_textura.webp) center/cover;color:var(--tx)}
.bt-pelve .bt-s{color:var(--tx2)}
.bt-pelve .bt-bar i{background:var(--pelveGrad)} .bt-pelve.untied .bt-bar i{background:var(--cobreGrad)}
.pv-marca-t{height:28px;width:auto;max-width:100%;display:block;margin-bottom:6px}
.pv-chip{background:var(--pelveTint)!important;color:var(--pelve)!important}
.bar.pv>i{background:var(--pelveGrad)}
.pv-lista{margin:10px 0 0;padding-left:18px;font:400 14px/1.5 var(--ff);color:var(--tx2)} .pv-lista li+li{margin-top:4px}
.pv-alerta{background:var(--surfAlt);border-color:transparent;box-shadow:none} .pv-alerta b{font:600 15px var(--ff)} .pv-alerta p{margin:2px 0 0}
.pv-orbcard .orbe::before{background:radial-gradient(circle,rgba(255,255,255,0) 52%,rgba(237,178,149,.28) 63%,rgba(165,139,208,.32) 72%,rgba(255,255,255,0) 86%)}
/* linha do tempo: marcador 24 (= 0.5·48), trilho 2px centrado */
.pv-tl{list-style:none;margin:0;padding:0}
.pv-tl li{position:relative;display:grid;grid-template-columns:24px 1fr;column-gap:12px;padding:0 0 16px}
.pv-tl li:last-child{padding-bottom:0}
.pv-tl li:not(:last-child)::before{content:'';position:absolute;left:11px;top:26px;bottom:2px;width:2px;border-radius:2px;background:var(--line)}
.pv-tl li.ok:not(:last-child)::before{background:var(--pelve)}
.pv-tl i{grid-row:span 2;width:24px;height:24px;border-radius:var(--r-pill);border:2px solid var(--line);background:var(--surf);display:grid;place-items:center;color:var(--onPelve)}
.pv-tl li.ok i{background:var(--pelve);border-color:var(--pelve)}
.pv-tl li.atual i{border-color:var(--pelve);box-shadow:0 0 0 4px var(--pelveTint)}
.pv-tl i svg.ic{width:12px;height:12px;stroke-width:2.4px}
.pv-tl b{font:600 15px/1.3 var(--ff)} .pv-tl .sub{font-size:13px}
/* diário: régua 0–10 */
.pv-item{padding:16px}
.pv-val{min-width:40px;height:40px;border-radius:var(--r-pill);background:var(--pelveTint);color:var(--pelve);display:grid;place-items:center;font:600 17px var(--ff)}
.pv-range{-webkit-appearance:none;appearance:none;width:100%;height:32px;min-height:0;padding:0;margin:6px 0 0;border:0;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--pelve) var(--v),var(--track) var(--v)) center/100% 8px no-repeat;box-shadow:none}
.pv-range:focus{box-shadow:0 0 0 4px var(--pelveTint)}
.pv-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:999px;background:#fff;border:2px solid var(--pelve);box-shadow:0 1px 2px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.12)}
.pv-range::-moz-range-thumb{width:24px;height:24px;border-radius:999px;background:#fff;border:2px solid var(--pelve)}
/* exercício guiado: orbe contrai (0.72) e relaxa (1) em 5 s, mesma curva do sistema */
.kg{position:relative;display:grid;place-items:center;height:240px;margin:8px 0 12px}
.kg-orb{position:absolute;width:200px;height:200px;border-radius:999px;background:radial-gradient(circle at 50% 42%,#fff 0%,#F3E2EE 34%,#C2B0DE 58%,#EDB295 70%,rgba(237,178,149,0) 72%);
  transform:scale(1);transition:transform 5s cubic-bezier(.45,0,.55,1)}
.kg-orb.in{transform:scale(.72)}
body.escuro .kg-orb{opacity:.85}
.kg-txt{position:relative;text-align:center} .kg-txt b{display:block;font:700 26px var(--ff);letter-spacing:-.03em;color:#3E2B6D}
.kg-txt .sub{color:#564B73}
@media (prefers-reduced-motion:reduce){.kg-orb{transition:none}}

/* ---------- assinatura visual Cuidado de Mulher ---------- */
.marca-h{height:22px;width:auto;display:block;margin-bottom:4px}
.fita{display:block;width:calc(100% + 40px);height:44px;margin:-8px -20px 0;pointer-events:none}
.bt-hero{background:radial-gradient(120% 120% at 100% 100%,rgba(220,187,27,.22) 0%,transparent 45%),var(--ink)}
body.escuro .bt-hero{background:var(--ink)}
.bt-hero .eyebrow i{background:var(--goldGrad);color:var(--onGold)}
.bt-hero .bt-cta{background:var(--goldGrad);color:var(--onGold)}
body.escuro .bt-hero .bt-cta{background:var(--accent);color:var(--onAccent)}
.tele .go{background:var(--goldGrad);color:var(--onGold)}
.pv-scope .addp.on{background:var(--pelve);color:var(--onPelve)} body.escuro .pv-scope .addp.on{color:#1E1733}

/* ---------- Feed de Mulher ---------- */
.sino{position:relative}
.dot-n{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--goldGrad);color:var(--onGold);
  font:700 11px/18px var(--ff);text-align:center;box-shadow:0 0 0 2px var(--bg)}
.fd-card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;margin-bottom:12px;box-shadow:var(--sh)}
.fd-cab{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.fd-av{width:40px;height:40px;border-radius:999px;overflow:hidden;flex:0 0 auto;background:var(--accentTint);display:grid;place-items:center}
.fd-avimg{width:100%;height:auto;align-self:start;margin-top:2px;transform:scale(1.9);transform-origin:50% 12%}
.fd-avtx{font:700 13px var(--ff);color:var(--accent);letter-spacing:-.02em} .fd-avtx.pv{color:#fff;background:var(--pelveGrad);width:100%;height:100%;display:grid;place-items:center}
.fd-quem{display:flex;flex-direction:column;min-width:0} .fd-quem b{font:600 15px/1.2 var(--ff)} .fd-quem .sub{font-size:12.5px;display:flex;align-items:center;gap:4px}
.fd-t{font:700 19px/1.2 var(--ff);letter-spacing:-.025em;margin:4px 0 6px}
.fd-x{font:400 15px/1.55 var(--ff);color:var(--tx2);margin:0}
.fd-x.clamp{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.fd-img{display:block;width:calc(100% + 32px);margin:0 -16px 12px;aspect-ratio:4/5;object-fit:cover;background:var(--surfAlt)}
.fd-acoes{display:flex;gap:4px;margin:10px -8px -8px;border-top:1px solid var(--line);padding-top:4px}
.fd-ac{display:inline-flex;align-items:center;gap:6px;min-height:var(--h-m);min-width:var(--h-m);padding:0 12px;border:0;background:transparent;color:var(--tx2);border-radius:var(--r-pill);
  font:500 14px var(--ff);cursor:pointer;transition:transform var(--t1) var(--ease),color var(--t2) var(--ease)}
.fd-ac:active{transform:scale(.92)} .fd-ac.on{color:var(--accent)} .fd-ac[data-a="curtir"].on{color:#C2185B} body.escuro .fd-ac[data-a="curtir"].on{color:#F48FB1}
.fd-ac:last-child{margin-left:auto}
.fd-dica{background:var(--butter);border-radius:var(--r-md);padding:18px 18px 18px 52px;position:relative}
.fd-dica .fd-x{color:var(--onGold);font:500 16px/1.5 var(--ff)} body.escuro .fd-dica .fd-x{color:var(--tx)}
.fd-aspas{position:absolute;left:14px;top:4px;font:700 56px/1 var(--ff);background:var(--goldGrad);-webkit-background-clip:text;background-clip:text;color:transparent}
.fd-video{position:relative;display:block;width:calc(100% + 32px);margin:0 -16px 12px;aspect-ratio:16/9;overflow:hidden;
  background:radial-gradient(120% 120% at 0% 0%,#564B73,#2A1D4D);text-decoration:none}
.fd-video img{width:100%;height:100%;object-fit:cover;display:block}
.fd-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:999px;background:rgba(255,255,255,.92);color:#2A1D4D;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.fd-play svg.ic{width:26px;height:26px;margin-left:3px}
.fd-dom{position:absolute;left:12px;bottom:10px;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font:500 12px var(--ff)}
.fd-det{margin-top:10px;border-top:1px solid var(--line);padding-top:8px} .fd-det summary{cursor:pointer;font:600 14px var(--ff);min-height:40px;display:flex;align-items:center}
.fd-det ul{margin:4px 0 0;padding-left:18px;font:400 14px/1.6 var(--ff);color:var(--tx2)}
.fd-poll{display:grid;gap:8px;margin-top:12px}
.fd-op{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:var(--h-m);padding:0 16px;border:1.5px solid var(--line);border-radius:var(--r-pill);
  background:var(--surf);color:var(--tx);font:500 15px var(--ff);text-align:left;cursor:pointer;transition:border-color var(--t2) var(--ease),transform var(--t1) var(--ease)}
.fd-op:active{transform:scale(.98)} .fd-op:not(.res):hover{border-color:var(--accent)}
.fd-op.res::before{content:'';position:absolute;inset:0;width:var(--p);background:var(--accentTint);transition:width var(--t3) var(--ease)}
.fd-op.res.meu{border-color:var(--accent)} .fd-op.res.meu::before{background:color-mix(in srgb,var(--gold) 35%,var(--accentTint))}
.fd-op>*{position:relative} .fd-op b{font:600 14px var(--ff)}
.fd-ev{display:flex;gap:14px;align-items:center;margin-bottom:10px}
.fd-dia{flex:0 0 auto;width:56px;height:60px;border-radius:var(--r-md);background:var(--goldGrad);color:var(--onGold);display:flex;flex-direction:column;align-items:center;justify-content:center;font:600 12px var(--ff);text-transform:uppercase;letter-spacing:.04em}
.fd-dia b{font:700 24px/1 var(--ff);letter-spacing:-.03em}
.fd-ev .fd-t{margin:0 0 2px} .fd-ev .sub{display:block;text-transform:capitalize}
.fd-camp{border-radius:var(--r-md);overflow:hidden;background:var(--ink);color:var(--onInk);margin:0 -4px}
.fd-camp .fd-img{width:100%;margin:0;aspect-ratio:16/10}
.fd-camp-tx{padding:16px} .fd-camp .fd-x{color:color-mix(in srgb,var(--onInk) 78%,transparent)} .fd-camp .eyebrow{color:color-mix(in srgb,var(--onInk) 75%,transparent)}
.fd-camp .eyebrow i{background:var(--goldGrad);color:var(--onGold)}
.fd-camp.pv{background:linear-gradient(110deg,rgba(255,255,255,.95) 40%,rgba(255,255,255,.4)),url(/assets/pelve/pv_textura.webp) center/cover;color:var(--onPelveTint)}
.fd-camp.pv .fd-x,.fd-camp.pv .eyebrow{color:var(--tx2)} .fd-camp.pv .eyebrow i{background:var(--pelveGrad);color:#fff}
.btn.ouro{background:var(--goldGrad);color:var(--onGold);box-shadow:0 1px 2px rgba(42,29,77,.15),0 6px 16px -6px rgba(201,164,15,.55)}
.btn.ouro .arr{background:rgba(42,29,77,.12)}
a.btn{text-decoration:none}
/* avisos */
.pushc{display:flex;gap:12px;align-items:flex-start} .pushc b{font:600 15px var(--ff)} .pushc p{margin:2px 0 0}
.pushc.ok .ichip{background:var(--okBg);color:var(--ok)}
.destaque-push{background:var(--butter);border-color:transparent} .destaque-push .ichip{background:var(--goldGrad);color:var(--onGold)}
.lista>.novo{background:color-mix(in srgb,var(--accentTint) 55%,transparent)}
.dot-novo{width:10px;height:10px;border-radius:999px;background:var(--accent);flex:0 0 auto}
/* pop-up */
.modal-bg{position:fixed;inset:0;z-index:50;display:grid;place-items:end center;background:var(--scrim);padding:16px 16px calc(16px + var(--safeB));opacity:0;transition:opacity var(--t2) var(--ease)}
@media (min-height:640px){.modal-bg{place-items:center}}
.modal-bg.on{opacity:1}
.modal{width:100%;max-width:400px;max-height:calc(100vh - 32px);overflow:auto;background:var(--surf);border-radius:var(--r-xl);box-shadow:0 24px 60px rgba(30,23,51,.35);
  transform:translateY(24px) scale(.98);transition:transform var(--t3) var(--ease)}
.modal-bg.on .modal{transform:none}
.modal-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.modal-faixa{height:96px;background:radial-gradient(90% 140% at 100% 0%,rgba(220,187,27,.55),transparent 60%),radial-gradient(90% 140% at 0% 100%,rgba(146,137,171,.6),transparent 60%),var(--accentTint)}
.modal-c{padding:20px 20px 16px} .modal-t{font:700 22px/1.15 var(--ff);letter-spacing:-.03em;margin:10px 0 8px}
.modal-c .sub{margin:0 0 16px;font-size:15px;line-height:1.5}
.modal-ic{width:56px;height:56px;margin-top:-48px;border-radius:999px;background:var(--goldGrad);color:var(--onGold);display:grid;place-items:center;box-shadow:0 0 0 4px var(--surf)}

.fk-receita .fd-img,.fk-evento .fd-img{aspect-ratio:4/3}

/* ---------- Studio de Treinos ---------- */
.st-seg{grid-template-columns:repeat(4,1fr)} .st-seg button{font-size:13px}
.st-hero{background:radial-gradient(120% 100% at 100% 0%,rgba(220,187,27,.18),transparent 55%),var(--surf)}
.st-h{font:700 24px/1.12 var(--ff);letter-spacing:-.035em;margin:12px 0 8px}
.st-semana{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.st-semana>div span{width:36px;height:36px;margin:0 auto 4px;border-radius:999px;display:grid;place-items:center;background:var(--surfAlt);color:var(--tx3);font:600 13px var(--ff)}
.st-semana>div.feito span{background:var(--goldGrad);color:var(--onGold)}
.st-semana>div.hoje span{box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent)}
.st-semana small{font:500 10px var(--ff);color:var(--tx3);letter-spacing:.04em}
.metric small{font:500 13px var(--ff);color:var(--tx3);letter-spacing:0}
.st-bars{width:100%;display:block;margin:12px 0 8px;overflow:visible}
.st-bv{font:600 10px var(--ff);fill:var(--tx2)} .st-bl{font:500 10px var(--ff);fill:var(--tx3)}
.st-range{-webkit-appearance:none;appearance:none;width:100%;height:32px;min-height:0;padding:0;margin:6px 0 0;border:0;box-shadow:none;border-radius:999px;
  background:linear-gradient(90deg,var(--accent) var(--v),var(--track) var(--v)) center/100% 8px no-repeat}
.st-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:999px;background:#fff;border:2px solid var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.15)}
.st-range::-moz-range-thumb{width:24px;height:24px;border-radius:999px;background:#fff;border:2px solid var(--accent)}
.st-range:focus{box-shadow:0 0 0 4px var(--accentTint)}
.st-rot{list-style:none;margin:0 0 12px;padding:0;counter-reset:r}
.st-rot li{position:relative;padding:10px 0 10px 40px;border-bottom:1px solid var(--line);counter-increment:r}
.st-rot li::before{content:counter(r);position:absolute;left:0;top:10px;width:28px;height:28px;border-radius:999px;background:var(--accentTint);color:var(--accent);display:grid;place-items:center;font:700 12px var(--ff)}
.st-rot li:first-child{counter-increment:none} .st-rot li:first-child::before{content:'';background:var(--goldGrad)}
.st-rot b{display:block;font:600 15px var(--ff)} .st-rot .sub{font-size:13px}
.st-heat{display:grid;grid-template-rows:repeat(7,auto);grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;margin-top:12px;max-width:260px}
.st-heat i{aspect-ratio:1;border-radius:6px;background:color-mix(in srgb,var(--accent) calc(var(--a) * 100%),var(--surfAlt))}
.st-carga .step.sm{gap:8px;justify-content:flex-start;margin-top:4px}
.st-carga .step.sm button{width:40px;height:40px;font-size:20px} .st-carga .step.sm .v{font-size:22px}
.st-pse{display:grid;gap:6px}
.st-pse button{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surf);color:var(--tx);font:500 14px var(--ff);cursor:pointer;text-align:left;
  transition:transform var(--t1) var(--ease),background-color var(--t2) var(--ease)}
.st-pse button b{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font:700 13px var(--ff);color:#fff;background:hsl(var(--h) 55% 45%)}
.st-pse button:active{transform:scale(.98)} .st-pse button:hover{background:var(--surfAlt)}
.pill:has(input:checked){background:var(--pillOn);color:var(--onPill);border-color:var(--pillOn)}
.pill:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
