/* Velyna: complementos ao visual do painel (login, registrar, pendencias, medidas). */
[hidden]{display:none!important}
:root{
  /* cores do logo */
  --vy-coral:#ff6a3d;--vy-brasa:#e0283c;--vy-vinho:#7a1030;--vy-pessego:#ffc27a;
  --vy-grad:linear-gradient(120deg,#ff6a3d,#e0283c);
  /* papeis */
  --vy-coral-forte:#d4223a;--vy-acento:#a81d38;--vy-navy:#3a1420;
  --vy-fundo:#fff7f3;--vy-sup:#ffffff;--vy-sup2:#fff0ea;--vy-linha:#f1e1dc;
  --vy-tinta:#2b1419;--vy-suave:#755a5f;
  --vy-c-pressao:#c0263f;--vy-c-peso:#8a2bb0;--vy-c-passos:#b4501a;--vy-c-sono:#4a3fbf;--vy-c-glicemia:#a1520b;
  --ink:var(--vy-tinta);--muted:var(--vy-suave);--coral:var(--vy-coral-forte);--line:var(--vy-linha);
  color-scheme:light}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* botao principal no tom coral das telas (contraste 4,5:1 com texto branco) */
.btn.primary{background:var(--vy-coral-forte);border-color:var(--vy-coral-forte);color:#fff;box-shadow:0 5px 14px #c73a1f2e}
.btn.primary:hover{background:#b0331b}
.btn.primary:disabled{opacity:.55;cursor:not-allowed}
.btn{min-height:40px}

/* ---------- entrar */
.entrar{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#ffe3d6 0%,var(--vy-sup2) 45%,var(--vy-sup2) 100%)}
.entrar-card{width:min(420px,100%);background:var(--vy-sup);border:1px solid var(--vy-linha);border-radius:20px;padding:32px 28px;box-shadow:0 24px 70px #2a1d3c1c}
.entrar-marca{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;color:var(--vy-tinta);margin-bottom:22px}
.entrar-marca small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--vy-suave);font-weight:700}
.entrar-marca .sport-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#ff7750,#e9473c)}
.entrar-marca .sport-mark svg{width:30px;height:30px}
.entrar h1{margin:0 0 4px;font-size:30px}
.entrar form{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.entrar label{font-size:12px;font-weight:700;color:var(--vy-suave);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
.entrar input{min-height:46px;border:1px solid var(--vy-linha);border-radius:11px;padding:0 14px;font:inherit;font-size:16px}
.entrar input:focus-visible,.reg-texto:focus-visible,.medida-form input:focus-visible,.varias-grade input:focus-visible{outline:2px solid var(--vy-coral-forte);outline-offset:1px}
.entrar .btn.primary{margin-top:14px;min-height:48px;font-size:15px}
.entrar .text-link{align-self:center;margin-top:4px}
.entrar-msg{min-height:20px;font-size:13px;color:var(--vy-acento);margin:6px 0 0}

/* ---------- moldura do painel */
.tarja{background:#fff3cd;color:var(--vy-tinta);padding:10px 20px;font-size:13px;border-bottom:1px solid #f1df9a}
.registrar-topo{margin-right:10px}
.fab{display:none;position:fixed;right:18px;bottom:calc(20px + env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;border:0;background:var(--vy-coral-forte);color:#fff;font-size:30px;line-height:1;box-shadow:0 10px 26px #c73a1f55;z-index:40;cursor:pointer}
@media(max-width:800px){.fab{display:grid;place-items:center}.registrar-topo{display:none}}
.nav-conta{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--vy-coral-forte);color:#fff;font-size:12px;font-weight:800;display:inline-grid;place-items:center}
.side-foot .sair{display:block;margin-top:10px;font-size:13px}
.side-foot .assina{display:block;margin-top:8px;font-size:11px;color:inherit;opacity:.75;text-decoration:none}
.aviso{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:min(560px,calc(100% - 32px));background:var(--vy-navy);color:#fff;padding:13px 18px;border-radius:13px;font-size:14px;box-shadow:0 14px 40px #0000003d;z-index:80}
.aviso.erro{background:#8f1f2c}.aviso.ok{background:#1f5f3f}

/* ---------- registrar */
.reg-titulo{margin:0 0 4px;font-size:24px}
.reg-sub{margin:0 0 14px}
.reg-texto{width:100%;box-sizing:border-box;border:1px solid var(--vy-linha);border-radius:13px;padding:14px;font:inherit;font-size:16px;resize:vertical;min-height:110px}
.reg-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.reg-btn{flex:1 1 140px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px}
.reg-btn[aria-pressed="true"]{background:var(--vy-sup2);border-color:var(--vy-coral-forte);color:var(--vy-acento)}
.reg-dica{min-height:18px;font-size:13px;color:var(--vy-suave);margin:10px 0 0}
.reg-lista{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}
.reg-item{display:flex;align-items:center;gap:12px;border:1px solid var(--vy-linha);border-radius:12px;padding:8px}
.reg-item img,.reg-ext{width:52px;height:52px;border-radius:9px;object-fit:cover;flex:none}
.reg-ext{display:grid;place-items:center;background:var(--vy-sup2);font-size:11px;font-weight:800;color:var(--vy-suave)}
.reg-nome{flex:1;min-width:0;font-size:14px;overflow-wrap:anywhere}
.reg-nome small{display:block;color:var(--vy-suave);font-size:12px}
.reg-tirar{width:44px;height:44px;border:0;background:transparent;font-size:24px;color:var(--vy-suave);cursor:pointer;border-radius:10px}
.reg-tirar:hover{background:var(--vy-sup2)}
.reg-enviar{width:100%;min-height:52px;margin-top:16px;font-size:16px}
.reg-rodape{margin-top:10px}

/* ---------- pendencias */
.pend-card{padding:18px;margin-bottom:12px}
.pend-valor{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:13px;font-weight:700;color:var(--vy-suave)}
.pend-valor input{width:120px;min-height:44px;border:1px solid var(--vy-linha);border-radius:10px;padding:0 12px;font:inherit;font-size:16px;color:var(--vy-tinta)}
.pend-botoes{display:flex;gap:8px}.pend-botoes .btn{flex:1;min-height:46px}
.pend-linha{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--vy-linha);font-size:14px}
.pend-linha:last-of-type{border-bottom:0}
.pend-linha span{text-align:right;color:var(--vy-suave)}
.pend-velho{font-style:normal;color:#9a4a00;font-weight:700}

/* ---------- medidas */
.medida-form{margin:14px 0 18px;padding:14px;border:1px dashed #e6c9bf;border-radius:13px;background:var(--vy-sup2)}
.medida-form label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--vy-acento);margin-bottom:8px}
.medida-linha{display:flex;gap:8px;flex-wrap:wrap}
.medida-linha input{min-height:44px;border:1px solid var(--vy-linha);border-radius:10px;padding:0 12px;font:inherit;font-size:16px}
.medida-linha input[inputmode]{width:110px}
.medida-form .text-link{margin-top:10px;display:inline-block}
.varias-grade{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}
.varias-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--vy-linha);border-radius:11px;padding:6px 6px 6px 12px;font-size:14px}
.varias-item input,.varias-nova input,#variasData{min-height:42px;border:1px solid var(--vy-linha);border-radius:9px;padding:0 10px;font:inherit;font-size:16px}
.varias-item input{width:84px}
.varias-nova{display:flex;gap:8px}.varias-nova input:first-child{flex:1}.varias-nova input:last-child{width:90px}
@media(max-width:520px){.varias-grade{grid-template-columns:1fr}}

/* coluna de grade nunca cresce alem da tela; grafico largo rola dentro do cartao */
.grid>*{min-width:0}
@media(max-width:1200px){.two-col{grid-template-columns:minmax(0,1fr)}}
.card.panel:has(>.pressure-plot),.card.panel:has(>svg.chart){overflow-x:auto}
.measure-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.body-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
@media(max-width:1200px){.body-layout{grid-template-columns:minmax(0,1fr)}}
/* com muitas fotos a lista cresce: o botao Enviar fica sempre a vista */
.modal-panel .reg-enviar{position:sticky;bottom:-28px;z-index:2;box-shadow:0 -12px 18px #fff}
/* titulos e selos com nome de arquivo longo quebram em vez de vazar */
.event-top{flex-wrap:wrap;gap:8px}.event-top>*{min-width:0}.event-top h2,.badge{overflow-wrap:anywhere;white-space:normal}
/* figura do corpo centralizada, legenda embaixo */
.body-stage.photo-stage{flex-direction:column;align-items:center;justify-content:center}
.body-stage .body-caption{position:static;transform:none;left:auto;right:auto;bottom:auto;margin:8px auto 0;width:auto;max-width:100%;text-align:center}
@media(max-width:520px){.photo-model{width:min(240px,78%)}.body-stage.photo-stage{min-height:auto;padding:12px 0}}
/* item ativo do menu: coral mais fechado para o texto branco passar de 4,5:1 */
.nav-link.active{background:var(--vy-coral-forte)!important;color:#fff!important}
.nav-link.active .nav-conta{background:var(--vy-sup);color:var(--vy-acento)}

/* avatar: foto do titular, com selo de camera mostrando que da para trocar */
.avatar{position:relative;overflow:visible}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.avatar-camera{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%;background:var(--vy-coral-forte);color:#fff;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 2px 6px #0003}
.avatar-camera svg{width:12px;height:12px}
/* gravacao em curso */
.rec-ponto{width:10px;height:10px;border-radius:50%;background:#d61f2c;display:inline-block;animation:pulsa 1s ease-in-out infinite}
@keyframes pulsa{50%{opacity:.35;transform:scale(.8)}}
@media(prefers-reduced-motion:reduce){.rec-ponto{animation:none}}
/* medidor de captacao do microfone */
.mic-linha{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:var(--vy-suave)}
.mic-medidor{flex:1 1 140px;max-width:220px;height:10px;border-radius:6px;background:#f1e8e4;overflow:hidden}
.mic-medidor i{display:block;height:100%;width:0;border-radius:6px;background:#2e8b57;transition:width .08s linear}
.mic-medidor i[data-faixa="baixo"]{background:#c98a14}.mic-medidor i[data-faixa="alto"]{background:#c62f3b}
.mic-escolha{min-height:36px;border:1px solid var(--vy-linha);border-radius:9px;padding:0 8px;font:inherit;font-size:13px;max-width:100%}
/* logo com degrade: arquivo logo.svg (troca sem mexer no codigo) */
.logo-velyna{width:46px;height:46px;flex:none;background:url(./logo.svg) center/contain no-repeat;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 4px 8px #c2185b55)}
.brand .brandmark.logo-velyna{background-color:transparent}
.entrar-marca .sport-mark{background:url(./logo.svg) center/contain no-repeat;filter:drop-shadow(0 4px 8px #c2185b55)}
.entrar-marca .sport-mark svg{display:none}
/* celular estreito: um cartao por linha, sem texto espremido */
@media(max-width:430px){.overview-grid{grid-template-columns:1fr!important}.overview-grid .stat-card{min-height:auto!important}}

/* ---------- leitura: listas e grades no lugar de texto corrido com " · " */
.rep-sub{font-size:13px;font-weight:800;color:var(--vy-tinta);margin:16px 0 8px;letter-spacing:0}
.rep-lista{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rep-lista li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:9px 12px;border:1px solid var(--vy-linha);border-radius:10px;background:var(--vy-sup2);font-size:13px;line-height:1.45}
.rep-lista li strong{color:var(--vy-tinta);min-width:150px}
.rep-lista li span{color:var(--vy-suave);flex:1;min-width:180px}
.rep-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.rep-grade span{display:flex;flex-direction:column;gap:2px;padding:9px 11px;border:1px solid var(--vy-linha);border-radius:10px;background:var(--vy-sup2)}
.rep-grade strong{font-size:15px;color:var(--vy-tinta)}
.rep-grade small{font-size:11px;color:var(--vy-suave)}
/* resumo da consulta: rotulo, valor e data em linhas proprias */
.clinical-vitals>div{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--vy-linha);border-radius:12px;background:var(--vy-sup2)}
.clinical-vitals>div span{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--vy-suave)}
.clinical-vitals>div strong{font-size:20px;color:var(--vy-tinta)}
.clinical-vitals>div small{font-size:12px;color:var(--vy-suave)}
/* texto corrido: entrelinha e respiro */
.consult-list,.clinical-list{line-height:1.7}
.consult-list li,.clinical-list li{margin-bottom:10px}
.event-card p,.notice,.clinical-note{line-height:1.65}

/* ---------- menu lateral: marca sem cortar e rolagem do menu inteiro */
.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4a5468 transparent}
.sidebar nav{overflow:visible!important;max-height:none!important}
.brand{white-space:normal!important;padding-right:4px}
.brand small{letter-spacing:.06em!important;white-space:normal;line-height:1.3}
/* letra minima de leitura: textos longos 14px, fontes e notas 12px */
.consult-list,.clinical-list{font-size:14px!important;color:var(--vy-tinta)}
.consult-list small,.clinical-list small,.consult-list .source,.clinical-list .source{font-size:12px!important;color:var(--vy-suave);margin-left:4px}
.source{font-size:12px}
.event-card p{font-size:14px}
.subtle{font-size:14px}

/* ---------- arquivos guardados */
.arq-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.arq-card{display:flex;gap:14px;padding:14px;align-items:flex-start}
.arq-mini{width:86px;height:86px;flex:none;border-radius:12px;background:var(--vy-sup2) center/cover no-repeat;display:grid;place-items:center;border:1px solid var(--vy-linha)}
.arq-mini span{font-size:12px;font-weight:800;color:var(--vy-suave)}
.arq-info{min-width:0;display:flex;flex-direction:column;gap:6px}
.arq-info strong{font-size:14px;color:var(--vy-tinta);overflow-wrap:anywhere}
.arq-meta{font-size:12px;color:var(--vy-suave)}
.arq-info p{margin:0;font-size:13px;line-height:1.5;color:var(--vy-tinta)}
.arq-pend{align-self:flex-start;font-size:11px;font-weight:800;color:#9a4a00;background:var(--vy-sup2);border-radius:6px;padding:3px 7px}
.arq-info .btn{align-self:flex-start}

/* marca do menu: margem a direita e quebra em duas linhas, nunca encosta no conteudo */
.sidebar .brand{padding-right:14px!important;gap:12px}
.sidebar .brand>span:last-child{min-width:0;flex:1;white-space:normal!important}
.sidebar .brand small{font-size:10px!important;letter-spacing:.05em!important;white-space:normal!important;line-height:1.35;max-width:130px}

/* iPad em pe (768 a 900 px): menu recolhido no botao, conteudo na largura toda */
@media(min-width:801px) and (max-width:900px){
  .sidebar{position:fixed!important;transform:translateX(-102%);transition:transform .25s;box-shadow:8px 0 30px #213f5b18;left:0;top:0;height:100vh}
  .sidebar.open{transform:none!important}
  .mobile-menu{display:block!important}
  .topbar{padding:0 22px}
  main{padding:28px 24px 70px}
  .fab{display:grid;place-items:center}
  .registrar-topo{display:none}
}

/* numero grande da medida: a regra herdada pedia so Avenir Next (ausente no Windows) e caia em fonte com serifa */
.measure-detail .value{font-family:inherit!important;letter-spacing:-.03em}

/* login: mostrar senha dentro do campo */
.senha-campo{position:relative}
.senha-campo input{width:100%;padding-right:92px!important}
.senha-ver{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:var(--vy-sup2);color:#a3361d;font:800 12px inherit;font-family:inherit;border-radius:8px;padding:8px 11px;cursor:pointer}
.senha-ver:hover{background:#fbdcd0}
.senha-ver:focus-visible{outline:2px solid #c73a1f;outline-offset:2px}

/* serie datada (peso, passos, medidas): valor em cima, data embaixo, rolagem lateral */
.serie-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:4px 0 2px;-webkit-overflow-scrolling:touch}
.serie-plot{display:block;max-width:none;margin:0 auto}
.serie-base{stroke:#e6dcd8;stroke-width:1.5}
.serie-guia{stroke:#e9c9bf;stroke-width:1.2;stroke-dasharray:3 4}
.serie-valor{font:800 13px Inter,system-ui,sans-serif;fill:var(--vy-tinta);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.serie-data{font:700 12px Inter,system-ui,sans-serif;fill:var(--vy-suave)}
.serie-ano{font:600 10px Inter,system-ui,sans-serif;fill:var(--vy-suave)}
.serie-barra{opacity:.9}
.serie-barra.parcial{opacity:.38}

/* Meu Corpo: giro por arraste */
.anatomy-stage{cursor:grab;user-select:none;-webkit-user-select:none}
.anatomy-stage:active{cursor:grabbing}
.anatomy-stage:focus-visible{outline:2px solid #c73a1f;outline-offset:3px}
.photo-model{transition:transform .18s ease-out}
.corpo-giro{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:12px;text-align:center}
.corpo-vista{font-weight:800;font-size:14px;color:var(--vy-tinta)}
.corpo-pontos{display:flex;gap:7px}
.corpo-pontos i{width:8px;height:8px;border-radius:50%;background:#e4d6d1}
.corpo-pontos i.on{background:#ed5839}
.corpo-dica{font-size:12px;color:var(--vy-suave)}

/* lista de medidas: nome quebra em linha, sem estourar o botao */
.measure-list button{min-width:0;flex-wrap:wrap;row-gap:2px}
.measure-list button span{min-width:0;overflow-wrap:anywhere}
.measure-list .sem-medida{font-style:normal;font-size:11px;font-weight:600;color:var(--vy-suave);white-space:nowrap}

/* Meu Dia */
.dia-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-top:4px}
.dia-data{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.dia-data strong{font-size:20px;color:var(--vy-tinta)}
.dia-data span{font-size:13px;color:var(--vy-suave)}
.dia-data span::first-letter{text-transform:uppercase}
.dia-data input{margin-top:6px;border:1px solid var(--vy-linha);border-radius:8px;padding:5px 8px;font:inherit;font-size:13px;color:var(--vy-suave);background:var(--vy-sup)}
.dia-medidas{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.dia-medida{padding:13px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}
.dia-medida span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--vy-suave)}
.dia-medida strong{font-size:20px;color:var(--vy-tinta)}
.dia-medida small{font-size:12px;color:var(--vy-suave);line-height:1.35;overflow-wrap:anywhere}
.dia-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px;margin-top:18px}
.dia-bloco h2{margin-bottom:10px}
.dia-lista{list-style:none;margin:0;padding:0}
.dia-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--vy-linha)}
.dia-item:first-child{border-top:0;padding-top:2px}
.dia-hora{font-size:12px;font-weight:800;color:#b94d37;padding-top:2px}
.dia-item strong{font-size:14px;color:var(--vy-tinta)}
.dia-item p{margin:3px 0 0;font-size:13px;line-height:1.5;color:var(--vy-suave)}
.dia-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.dia-foto{margin:0;display:flex;flex-direction:column;gap:6px;min-width:0}
.dia-foto .arq-mini{width:100%;height:auto;aspect-ratio:1;border:0;cursor:pointer;padding:0}
.dia-foto .arq-mini:focus-visible{outline:2px solid #c73a1f;outline-offset:2px}
.dia-foto figcaption{font-size:11.5px;line-height:1.4;color:var(--vy-suave)}
@media(max-width:520px){.dia-nav{padding:12px}.dia-nav .btn{padding:8px 9px}.dia-data strong{font-size:17px}}

/* aviso de envio: no topo (no iPhone a barra do Safari cobre o rodape), maior e com tempo para ler */
.aviso{top:calc(14px + env(safe-area-inset-top));bottom:auto;z-index:120;font-size:15px;line-height:1.45;padding:14px 18px;cursor:pointer;width:max-content}
.aviso.ok::before{content:'✓ ';font-weight:800}

/* puxar para atualizar */
.puxar{position:fixed;left:50%;top:calc(-44px + env(safe-area-inset-top));transform:translate(-50%,0);width:40px;height:40px;border-radius:50%;background:var(--vy-sup);box-shadow:0 6px 18px #213f5b2e;display:grid;place-items:center;z-index:90;color:#c73a1f;font-weight:800;font-size:18px;transition:transform .12s ease-out;pointer-events:none}
.puxar.pronto{background:#c73a1f;color:#fff}
.puxar.girando span{display:inline-block;animation:puxa-gira .8s linear infinite}
.puxar.girando span::before{content:'↻'}
.puxar.girando span{font-size:0}
.puxar.girando span::before{font-size:20px}
@keyframes puxa-gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.puxar.girando span{animation:none}}

/* Pendencias: foto de onde saiu o valor e envios agrupados com miniatura */
.pend-card.com-foto{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:start}
.pend-mini{width:72px;height:72px;border:0;padding:0;cursor:pointer}
.pend-corpo{min-width:0}
.pend-envio{padding:12px 0;border-bottom:1px solid var(--vy-linha)}
.pend-envio:last-of-type{border-bottom:0}
.pend-envio-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}
.pend-fotos{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.pend-fotos .arq-mini{width:64px;height:64px;border:0;padding:0;cursor:pointer}
.pend-texto{margin:8px 0 0;font-size:14px;line-height:1.45;color:var(--vy-tinta)}
@media(max-width:430px){.pend-card.com-foto{grid-template-columns:58px minmax(0,1fr);gap:11px}.pend-mini{width:58px;height:58px}}

/* foto do perfil: icone da camera menor e no canto de baixo, por fora do rosto */
.avatar.photo-trigger{overflow:visible!important}
.avatar-camera{width:16px!important;height:16px!important;right:-5px!important;bottom:-5px!important;top:auto!important;border-width:1.5px!important;box-shadow:0 1px 4px #0003!important}
.avatar-camera svg{width:9px!important;height:9px!important}

/* leitura na hora: "lendo" e conferencia */
.lei-lendo{display:flex;align-items:center;gap:14px;padding:22px 4px}
.lei-lendo p{margin:0;font-size:15px;color:var(--vy-tinta)}
.lei-roda{width:28px;height:28px;border-radius:50%;border:3px solid #f3d6cc;border-top-color:#c73a1f;animation:puxa-gira .8s linear infinite;flex:none}
@media (prefers-reduced-motion:reduce){.lei-roda{animation-duration:2.4s}}
.lei-resumo{font-size:15px;line-height:1.5;color:var(--vy-tinta);margin:4px 0 14px}
.lei-lista{list-style:none;margin:0 0 12px;padding:0}
.lei-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px solid var(--vy-linha)}
.lei-item:first-child{border-top:0}
.lei-marca input,.lei-marca-exame input{width:20px;height:20px;accent-color:#c73a1f;margin-top:2px}
.lei-topo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.lei-topo strong{font-size:14px;color:var(--vy-tinta);text-transform:capitalize}
.lei-valor{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--vy-suave)}
.lei-valor input,.lei-tabela input{width:86px;min-height:38px;border:1px solid var(--vy-linha);border-radius:9px;padding:0 10px;font:inherit;font-size:16px;font-weight:800;color:var(--vy-tinta)}
.lei-corpo p{margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--vy-suave)}
.lei-hora{display:inline-block;margin-top:5px;font-size:12px;font-weight:800;color:#b94d37}
.lei-exame{margin:6px 0 14px}
.lei-marca-exame{display:flex;gap:9px;align-items:flex-start;font-weight:700;font-size:14px;color:var(--vy-tinta);margin-bottom:8px}
.lei-tabela td small{display:block;color:var(--vy-suave);font-size:11px}
.lei-nao{margin-bottom:12px}
.lei-botoes{display:flex;flex-wrap:wrap;gap:10px;position:sticky;bottom:0;background:var(--vy-sup);padding:12px 0 4px}
.lei-botoes .btn.primary{flex:1;min-height:46px}
.lei-botoes .btn{min-height:46px}
.pend-ler{margin-top:10px}

/* foto do perfil: presa ao circulo (o botao deixa o icone da camera sair, a foto nao) */
.avatar.photo-trigger img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;border-radius:50%}

/* Minha Rotina */
.rot-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:14px}
.rot-card h2{margin-bottom:12px}
.rot-pizza{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center}
.rot-pizza svg{width:150px;height:150px}
.rot-total{font:800 26px Inter,system-ui,sans-serif;fill:var(--vy-tinta)}
.rot-total-sub{font:600 11px Inter,system-ui,sans-serif;fill:var(--vy-suave)}
.rot-legenda{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rot-legenda li{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:13px;color:var(--vy-tinta)}
.rot-legenda i{width:12px;height:12px;border-radius:3px}
.rot-legenda strong{color:var(--vy-tinta)}
.rot-legenda small{color:var(--vy-suave);min-width:24px;text-align:right}
.rot-barra{display:flex;height:22px;border-radius:11px;overflow:hidden;margin-bottom:12px;background:#f1ebe8}
.rot-barra span{display:block;height:100%}
.rot-lista{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.rot-lista li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px;color:var(--vy-tinta)}
.rot-lista span{overflow-wrap:anywhere}
.rot-trilho{height:10px;border-radius:5px;background:#f1ebe8;overflow:hidden}
.rot-trilho i{display:block;height:100%;background:#c73a1f;border-radius:5px}
.rot-lista strong{font-size:12px;color:var(--vy-tinta);white-space:nowrap}
@media(max-width:430px){.rot-pizza{grid-template-columns:1fr;justify-items:center}.rot-pizza svg{width:170px;height:170px}.rot-legenda{width:100%}}

/* ================================================================
   Etapa 1 (20/10/2026): entrada, bloqueio e navegacao em 5 abas
   ================================================================ */
.ico{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---- entrada e bloqueio */
.porta,.entrar.porta{position:fixed;inset:0;z-index:60;min-height:0;background:var(--vy-fundo);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 24px) 20px calc(env(safe-area-inset-bottom) + 20px);overflow:auto}
.porta[hidden]{display:none!important}
html.travado body{overflow:hidden}
.aura{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.aura i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}
.aura i:nth-child(1){width:340px;height:340px;background:#ff7a45;top:-120px;left:-110px}
.aura i:nth-child(2){width:300px;height:300px;background:#e0283c;top:-60px;right:-140px;opacity:.3}
.aura i:nth-child(3){width:360px;height:360px;background:#ffc27a;bottom:-200px;left:10%;opacity:.3}
@media (prefers-reduced-motion:no-preference){.aura i{animation:vy-flutua 14s ease-in-out infinite alternate}.aura i:nth-child(2){animation-duration:18s}.aura i:nth-child(3){animation-duration:22s}}
@keyframes vy-flutua{to{transform:translate(30px,40px) scale(1.08)}}
.porta-caixa{position:relative;width:min(400px,100%);display:flex;flex-direction:column;gap:22px;text-align:center}
.marca-velyna{display:flex;flex-direction:column;align-items:center;gap:6px}
.marca-velyna img{width:84px;height:84px;filter:drop-shadow(0 10px 24px rgba(224,40,60,.35))}
.marca-velyna .nome{font-family:"Plus Jakarta Sans",-apple-system,"Segoe UI",sans-serif;font-size:42px;font-weight:800;letter-spacing:-.02em;line-height:1.25;padding:0 .04em .1em;background:linear-gradient(120deg,#ff8a4c,#e0283c);-webkit-background-clip:text;background-clip:text;color:transparent}
.marca-velyna .slogan{font-size:15px;color:var(--vy-suave);font-weight:600}
.vidro{background:rgba(255,255,255,.84);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--vy-linha);border-radius:24px;padding:22px 20px;box-shadow:0 20px 50px rgba(42,29,60,.12)}
.porta h1{font-size:24px;margin:0 0 4px;color:var(--vy-tinta)}
.entrar.porta form{display:flex;flex-direction:column;gap:6px;text-align:left;margin:0}
.entrar.porta label{font-size:14px;font-weight:700;color:var(--vy-tinta);text-transform:none;letter-spacing:0;margin-top:8px}
.campo{display:flex;align-items:center;gap:10px;min-height:52px;border-radius:14px;border:1px solid var(--vy-linha);background:var(--vy-sup);padding:0 6px 0 14px;color:var(--vy-suave)}
.campo svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.campo:focus-within{border-color:var(--vy-coral-forte);box-shadow:0 0 0 3px rgba(199,58,31,.18)}
.entrar.porta .campo input{flex:1;min-width:0;border:0;background:none;min-height:50px;padding:0;font-size:17px;color:var(--vy-tinta)}
.entrar.porta .campo input:focus-visible{outline:none}
.campo .senha-ver{position:static;transform:none;min-height:40px}
.btn-grande{width:100%;min-height:54px;border:0;border-radius:16px;background:linear-gradient(120deg,#ff7a45,var(--vy-coral-forte));color:#fff;font:inherit;font-size:17px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;cursor:pointer;box-shadow:0 8px 20px rgba(199,58,31,.28)}
.btn-grande svg{width:22px;height:22px}
.btn-grande:disabled{opacity:.6;cursor:wait}
.btn-grande:focus-visible{outline:3px solid var(--vy-tinta);outline-offset:3px}
.entrar.porta .text-link,.porta .text-link{align-self:center;min-height:44px}
.porta-avatar{width:76px;height:76px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;font-size:28px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ff7750,#e9473c);box-shadow:0 0 0 4px #fff,0 0 0 6px var(--vy-coral-forte)}
.assinatura{position:relative;margin-top:26px;display:flex;justify-content:center}
.assinatura img{height:15px;width:auto;opacity:.85}

/* ---- lateral (computador): as 5 abas */
.nav-link .ico{width:20px;height:20px}
.nav-registrar{background:var(--vy-coral-forte)!important;color:#fff!important;margin:8px 0!important}

/* ---- barra de baixo (celular) */
.abas{display:none}
.voltar{display:inline-flex;align-items:center;gap:2px;border:0;background:none;color:var(--vy-acento);font:inherit;font-weight:800;font-size:15px;min-height:44px;padding:0 8px 0 0;cursor:pointer}
.voltar .ico{width:20px;height:20px}
.migalha-atual{margin-left:6px}
@media(max-width:800px){
  .mobile-menu,.fab,.sidebar{display:none!important}
  .abas{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--vy-linha);padding:6px 6px calc(env(safe-area-inset-bottom) + 6px)}
  .aba{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;border:0;background:none;color:var(--vy-suave);font:inherit;font-size:12px;font-weight:700;border-radius:12px;cursor:pointer}
  .aba[aria-current="page"]{color:var(--vy-acento)}
  .aba-mais{justify-self:center;width:58px;height:58px;border:0;border-radius:50%;background:var(--vy-coral-forte);color:#fff;display:grid;place-items:center;margin-top:-18px;box-shadow:0 6px 18px rgba(199,58,31,.35);cursor:pointer}
  .aba-mais .ico{width:28px;height:28px;stroke-width:2.6}
  main#app{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .migalha-atual{display:none}
}
.aba:focus-visible,.aba-mais:focus-visible,.voltar:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:2px}

/* ---- Hoje */
.hj-topo{margin:4px 0 14px}
.hj-topo h1{margin:0;font-size:30px;line-height:1.15;color:var(--vy-tinta)}
.hj-topo .eyebrow{margin-bottom:4px}
.hj-semana{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.hj-dia{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;font:inherit;font-size:12px;font-weight:700;color:var(--vy-suave);min-height:44px;cursor:pointer;padding:0}
.hj-dia i{width:36px;height:36px;border-radius:50%;border:2px solid var(--vy-linha);display:grid;place-items:center;font-style:normal;font-size:13px;color:var(--vy-tinta);background:var(--vy-sup)}
.hj-dia.feito i{background:#1d7a4f;border-color:#1d7a4f;color:#fff}
.hj-dia.hoje i{border-color:var(--vy-coral-forte)}
.hj-dia.hoje{color:var(--vy-acento)}
.hj-pend,.sd-geral{display:block;width:100%;text-align:left;margin-top:14px;padding:14px 44px 14px 16px;font:inherit;cursor:pointer;position:relative;border-left:4px solid var(--vy-coral-forte)}
.sd-geral{border-left-color:#2f6fe0}
.hj-pend b,.sd-geral b{display:block;font-size:16px;color:var(--vy-tinta)}
.hj-pend span,.sd-geral span{font-size:13px;color:var(--vy-suave)}
.hj-chev{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--vy-suave)}
.hj-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.hj-med{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;font:inherit;cursor:pointer;min-height:100px;padding:14px}
.hj-rot{font-size:14px;font-weight:800}
.hj-med strong{font-size:24px;line-height:1.15;color:var(--vy-tinta)}
.hj-med strong small{font-size:14px;font-weight:600;color:var(--vy-suave)}
.hj-quando{font-size:13px;color:var(--vy-suave)}
.hj-lista,.rl-lista,.eu-lista{display:flex;flex-direction:column;gap:10px}
.hj-ref{display:flex;align-items:center;gap:14px;padding:12px 12px 12px 14px;min-height:64px}
.hj-ref.vazia{min-height:56px;padding-top:8px;padding-bottom:8px}
.hj-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none}
.hj-ref.vazia .hj-ic{width:34px;height:34px}
.hj-ic.manha{background:#fff1d6;color:#9a5b00}.hj-ic.lanche{background:var(--vy-sup2);color:#2d7a3a}.hj-ic.almoco{background:var(--vy-sup2);color:#2459b8}
.hj-ic.tarde{background:#fde7dc;color:#b4441f}.hj-ic.jantar{background:var(--vy-sup2);color:#5b3bb5}.hj-ic.ceia{background:var(--vy-sup2);color:#3b4a7a}
.hj-tx{flex:1;min-width:0}
.hj-tx b{display:block;font-size:16px;color:var(--vy-tinta)}
.hj-tx span{font-size:14px;color:var(--vy-suave);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hj-mais{width:44px;height:44px;border-radius:50%;border:0;background:var(--vy-sup2);color:var(--vy-acento);display:grid;place-items:center;flex:none;cursor:pointer}
.hj-bloco{padding:6px 16px 10px}
.hj-rem{list-style:none;margin:0;padding:0}
.hj-rem li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--vy-linha)}
.hj-rem li div{flex:1;min-width:0}.hj-rem b{display:block;font-size:15px;color:var(--vy-tinta)}.hj-rem span{font-size:13px;color:var(--vy-suave);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hj-rem time{font-size:13px;color:var(--vy-suave);font-weight:700}
.hj-ok{width:28px;height:28px;border-radius:50%;background:#1d7a4f;color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.hj-vazio{margin:12px 0 4px}
.hj-bloco .text-link{min-height:44px}

/* ---- Saude: cartoes coloridos (estilo app Saude), texto escuro com contraste >= 4,5:1 */
.sd-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}
.sd-cartao{border:0;border-radius:20px;padding:16px;min-height:120px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;text-align:left;font:inherit;color:var(--vy-tinta);cursor:pointer}
.sd-cartao .ico{width:28px;height:28px}
.sd-cartao b{display:block;font-size:17px;line-height:1.2}
.sd-cartao small{display:block;font-size:13px;font-weight:600;opacity:.85;margin-top:3px}
.sd-coracao{background:linear-gradient(135deg,#f0506e,#f78ca0)}
.sd-glicemia{background:linear-gradient(135deg,#e0802f,#f3bf7d)}
.sd-corpo{background:linear-gradient(135deg,#c25ae8,#e39df5)}
.sd-medidas{background:linear-gradient(135deg,#d77be0,#f0b8f3)}
.sd-atividade{background:linear-gradient(135deg,#f0682f,#f6a06b)}
.sd-sono{background:linear-gradient(135deg,#8582f5,#b3b5fc)}
.sd-nutricao{background:linear-gradient(135deg,#3fa856,#86d38f)}
.sd-remedio{background:linear-gradient(135deg,#2a9fd6,#86d2f5)}
.sd-exame{background:linear-gradient(135deg,#4f87ea,#8db6fa)}
.sd-sintoma{background:linear-gradient(135deg,#8577ea,#b4acf5)}
.sd-cartao:focus-visible,.hj-med:focus-visible,.rl-linha:focus-visible,.hj-mais:focus-visible,.hj-dia:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:2px}
@media (prefers-reduced-motion:no-preference){.sd-cartao,.hj-med,.rl-linha{transition:transform .12s}.sd-cartao:active,.hj-med:active,.rl-linha:active{transform:scale(.98)}}

/* ---- Relatorios e Eu */
.rl-linha,.eu-linha{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;cursor:pointer;min-height:64px;padding:14px 16px;position:relative}
.rl-linha span,.eu-linha span{flex:1}
.rl-linha b,.eu-linha b{display:block;font-size:16px;color:var(--vy-tinta)}
.rl-linha small,.eu-linha small{display:block;font-size:13px;color:var(--vy-suave);margin-top:2px}
.rl-linha .hj-chev{position:static;transform:none}
.eu-perfil{display:flex;align-items:center;gap:16px;padding:16px}
.eu-perfil b{display:block;font-size:20px;color:var(--vy-tinta)}
.eu-perfil span{font-size:14px;color:var(--vy-suave)}
.eu-foto{position:relative;width:72px;height:72px;flex:none;border:0;padding:0;border-radius:50%;background:linear-gradient(135deg,#ff7750,#e9473c);color:#fff;font-family:inherit;font-size:24px;font-weight:800;cursor:pointer}
.eu-foto img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.eu-foto span{display:grid;place-items:center;width:100%;height:100%;font-size:24px;font-weight:800;color:#fff}
.eu-foto i{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:var(--vy-coral-forte);color:#fff;display:grid;place-items:center;border:3px solid #fff}
.eu-foto i svg{width:14px;height:14px}
.eu-foto:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:3px}
.eu-sair b{color:#b42318}
.chave{width:52px;height:32px;border-radius:16px;border:0;background:#d9d2ce;position:relative;flex:none;cursor:pointer;transition:background .18s}
.chave::after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:var(--vy-sup);box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .18s}
.chave[aria-checked="true"]{background:#1d7a4f}.chave[aria-checked="true"]::after{transform:translateX(20px)}
.chave:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:2px}
.eu-assina{display:flex;flex-direction:column;align-items:center;gap:8px;margin:32px 0 8px;font-size:13px;color:var(--vy-suave)}
.eu-assina img{height:15px;width:auto;opacity:.85}
/* areas de toque de pelo menos 44 px (WCAG 2.5.5 e Apple HIG) */
.section-row .text-link{min-height:44px;padding:0 4px;display:inline-flex;align-items:center}
.chave::before{content:"";position:absolute;inset:-6px -4px}
.eu-assina a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px}
@media(max-width:800px){.topbar .avatar{width:44px;height:44px}}

/* ---- Etapa 2: cartao de emergencia, aparencia e privacidade */
.em-cartao{padding:16px;border:2px solid #d0342c}
.em-cartao h3{margin:0 0 12px;font-size:17px;display:flex;align-items:center;gap:8px;color:#b42318}
.em-cartao dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 14px;margin:0;font-size:15px}
.em-cartao dt{color:var(--vy-suave);font-weight:600}
.em-cartao dd{margin:0;font-weight:700;color:var(--vy-tinta);min-width:0;overflow-wrap:anywhere}
.em-cartao dd a{color:var(--vy-acento);display:inline-flex;align-items:center;min-height:32px}
.em-tipo{font-size:20px;color:#b42318}
.em-falta{color:#9a5b00;font-weight:700}
.em-editar{margin-top:14px;min-height:44px}
.em-sugestao{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;background:var(--vy-sup2);border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:14px;color:var(--vy-tinta)}
.em-sugestao .btn{min-height:40px}
@media(max-width:420px){.em-cartao dl{grid-template-columns:1fr;gap:2px}.em-cartao dd{margin-bottom:8px}}
.em-form{display:flex;flex-direction:column;gap:6px}
.em-form label{font-size:14px;font-weight:700;color:var(--vy-tinta);margin-top:8px}
.em-form input,.em-form select,.em-form textarea{min-height:48px;border:1px solid var(--vy-linha);border-radius:12px;padding:0 12px;font:inherit;font-size:16px;background:var(--vy-sup);color:var(--vy-tinta)}
.em-form textarea{padding:10px 12px;min-height:64px}
.em-form input:focus-visible,.em-form select:focus-visible,.em-form textarea:focus-visible{outline:2px solid var(--vy-coral-forte);outline-offset:1px}
.em-form .btn.primary{margin-top:14px;min-height:48px}
.segmento{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:14px;background:#f1e9e5}
.segmento button{min-height:44px;border:0;border-radius:11px;background:none;font:inherit;font-size:15px;font-weight:700;color:var(--vy-suave);cursor:pointer}
.segmento button[aria-pressed="true"]{background:var(--vy-sup);color:var(--vy-tinta);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.segmento button:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:1px}
.pv-lista{margin:12px 0 16px;padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.5;color:var(--vy-tinta)}
.pv-nota{margin-top:10px}
#pvBaixar{min-height:48px}

/* ---- Etapa 3: agenda e avisos */
.lb-hoje{list-style:none;margin:0 0 4px;padding:0}
.lb-hoje li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--vy-linha)}
.lb-hoje time{font-weight:800;font-size:15px;color:var(--vy-acento);min-width:46px}
.lb-hoje b{flex:1;font-size:15px;color:var(--vy-tinta);min-width:0}
.check-tomada{width:44px;height:44px;border-radius:50%;border:2px solid #cfc5c0;background:var(--vy-sup);color:transparent;display:grid;place-items:center;flex:none;cursor:pointer;transition:background .18s,border-color .18s}
.check-tomada svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.check-tomada[aria-pressed="true"]{background:#1d7a4f;border-color:#1d7a4f;color:#fff;cursor:default}
.check-tomada:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:2px}
.lb-avisos{display:flex;flex-direction:column;gap:6px;padding:16px;border-left:4px solid #9a5b00}
.lb-avisos.ligado{border-left-color:#1d7a4f}
.lb-avisos.bloqueado,.lb-avisos.sem{border-left-color:#b42318}
.lb-avisos b{font-size:16px;color:var(--vy-tinta)}
.lb-avisos span{font-size:14px;color:var(--vy-suave)}
.lb-botoes{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.lb-botoes .btn{min-height:44px}
.lb-botoes .text-link{min-height:44px}
.lb-lista{display:flex;flex-direction:column;gap:10px}
.lb-item{display:flex;align-items:center;gap:12px;padding:12px 10px 12px 16px;min-height:64px}
.lb-item time{font-size:20px;font-weight:800;color:var(--vy-tinta);min-width:58px}
.lb-item span{flex:1;min-width:0}
.lb-item b{display:block;font-size:15px;color:var(--vy-tinta)}
.lb-item small{display:block;font-size:13px;color:var(--vy-suave)}
.lb-item.parado time,.lb-item.parado b{color:var(--vy-suave)}
.lb-excluir{width:44px;height:44px;border:0;border-radius:12px;background:none;color:var(--vy-suave);display:grid;place-items:center;cursor:pointer;flex:none}
.lb-excluir svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lb-excluir:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:2px}
.lb-novo{margin-top:16px;min-height:48px;width:100%}
.lb-nota{margin-top:10px;font-size:13px}
.lb-dias{border:0;margin:8px 0 0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.lb-dias legend{font-size:14px;font-weight:700;color:var(--vy-tinta);margin-bottom:6px;padding:0}
.chip-dia{width:44px;height:44px;border-radius:50%;border:1px solid var(--vy-linha);background:var(--vy-sup);font:inherit;font-weight:800;color:var(--vy-suave);cursor:pointer}
.chip-dia[aria-pressed="true"]{background:var(--vy-coral-forte);border-color:var(--vy-coral-forte);color:#fff}
.chip-dia:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:2px}

/* ---- Etapa 4: metas e plano */
.pl-barra{height:10px;border-radius:5px;background:#efe6e2;overflow:hidden;margin-top:8px}
.pl-barra i{display:block;height:100%;background:#1d7a4f;border-radius:5px}
.pl-hoje,.pl-eu{display:block;width:100%;text-align:left;font:inherit;cursor:pointer;margin-top:14px;padding:14px 16px}
.pl-eu{margin-top:0}
.pl-hoje b,.pl-eu b{display:block;font-size:16px;color:var(--vy-tinta)}
.pl-hoje small,.pl-eu small{display:block;font-size:13px;color:var(--vy-suave);margin-top:2px}
.pl-resumo{padding:16px;display:flex;flex-direction:column;gap:6px}
.pl-resumo b{font-size:18px;color:var(--vy-tinta)}
.pl-resumo span{font-size:14px;color:var(--vy-suave)}
.pl-ritmo{font-weight:700}
.pl-ritmo.bom{color:#1d7a4f!important}.pl-ritmo.lento{color:#9a5b00!important}
.pl-grafico{margin:12px 0 0;padding:12px}
.pl-grafico svg{width:100%;height:auto;display:block}
.pl-meta{stroke:#1d7a4f;stroke-width:1.5;stroke-dasharray:2 4}
.pl-proj{fill:none;stroke:var(--vy-suave);stroke-width:2.5;stroke-dasharray:8 6}
.pl-real{fill:none;stroke:var(--vy-coral-forte);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.pl-ponto{fill:#fff;stroke:var(--vy-coral-forte);stroke-width:2.5}
.pl-rot{font-size:12px;fill:var(--vy-suave)}
.pl-rot-meta{fill:#1d7a4f;font-weight:700}
.pl-grafico figcaption{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--vy-suave);margin-top:6px}
.pl-leg::before{content:"";display:inline-block;width:18px;height:0;border-top:3px solid var(--vy-coral-forte);vertical-align:middle;margin-right:6px}
.pl-leg.proj::before{border-top:3px dashed #8a93a1}
.pl-bloco{padding:16px}
.pl-energia{display:flex;align-items:baseline;gap:8px}
.pl-energia strong{font-size:34px;color:var(--vy-tinta);line-height:1.1}
.pl-energia span{font-size:15px;color:var(--vy-suave)}
.pl-conta{margin-top:10px;font-size:14px;color:var(--vy-tinta)}
.pl-conta summary{cursor:pointer;font-weight:700;color:var(--vy-acento);min-height:44px;display:flex;align-items:center}
.pl-conta ol{margin:6px 0;padding-left:20px;display:flex;flex-direction:column;gap:8px;line-height:1.5}
.pl-aviso{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--vy-sup2);font-size:14px;color:var(--vy-tinta)}
.pl-dica{margin:6px 0 0;font-size:13px}
.pl-ritmos,.pl-chips{border:0;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pl-ritmos legend,.pl-chips legend{font-size:14px;font-weight:700;color:var(--vy-tinta);margin-bottom:6px;padding:0;width:100%}
.chip-sel{min-height:44px;padding:6px 14px;border-radius:22px;border:1px solid var(--vy-linha);background:var(--vy-sup);font:inherit;font-size:14px;font-weight:700;color:var(--vy-tinta);cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center}
.chip-sel small{font-size:11px;font-weight:600;color:var(--vy-suave)}
.chip-sel[aria-pressed="true"]{background:var(--vy-coral-forte);border-color:var(--vy-coral-forte);color:#fff}
.chip-sel[aria-pressed="true"] small{color:#fff}
.chip-sel:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:2px}

/* ---- Etapa 5: alimentacao */
.al-resumo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.al-kpi{padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.al-kpi small{font-size:12px;font-weight:800;color:var(--vy-suave);text-transform:uppercase;letter-spacing:.04em}
.al-kpi strong{font-size:24px;line-height:1.2;color:var(--vy-tinta)}
.al-kpi span{font-size:13px;color:var(--vy-suave)}
.al-mais-agua{margin-top:8px;min-height:40px;border:0;border-radius:20px;background:var(--vy-sup2);color:var(--vy-tinta);font:inherit;font-weight:800;font-size:14px;cursor:pointer}
.al-mais-agua:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:2px}
.al-kcal{font-style:normal;font-size:13px;font-weight:700;color:var(--vy-suave);margin-left:6px}
.al-itens{list-style:none;margin:4px 0 0;padding:0}
.al-itens li{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--vy-suave);padding:2px 0}
.al-itens b{font-weight:700;color:var(--vy-tinta);white-space:nowrap}
.al-busca input{width:100%;min-height:50px;border:1px solid var(--vy-linha);border-radius:14px;padding:0 14px;font:inherit;font-size:17px;background:var(--vy-sup);color:var(--vy-tinta)}
.al-busca input:focus-visible{outline:2px solid var(--vy-coral-forte);outline-offset:1px}
.al-resultado{margin-top:10px;max-height:40vh;overflow:auto}
.al-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.al-opcao{width:100%;min-height:52px;text-align:left;border:1px solid var(--vy-linha);border-radius:12px;background:var(--vy-sup);padding:8px 12px;font:inherit;cursor:pointer;display:flex;flex-direction:column}
.al-opcao span{font-size:15px;font-weight:700;color:var(--vy-tinta)}
.al-opcao small{font-size:13px;color:var(--vy-suave)}
.al-opcao:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:1px}
.al-qtd{margin-top:12px;padding:14px;display:flex;flex-direction:column;gap:6px}
.al-qtd b{font-size:16px;color:var(--vy-tinta)}.al-qtd small{font-size:13px;color:var(--vy-suave)}
.al-qtd label{font-size:14px;font-weight:700;color:var(--vy-tinta);margin-top:6px}
.al-gramas{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.al-gramas input{width:110px;min-height:48px;border:1px solid var(--vy-linha);border-radius:12px;padding:0 12px;font:inherit;font-size:17px;background:var(--vy-sup);color:var(--vy-tinta)}
.al-calc{margin:6px 0;font-size:18px;font-weight:800;color:var(--vy-tinta)}
.al-qtd .btn{min-height:46px}
.al-outras{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.al-outras .btn{min-height:44px}
.al-video{width:100%;max-height:240px;border-radius:12px;margin-top:8px;background:#000}
.al-sub{font-size:16px;margin:18px 0 8px;color:var(--vy-tinta)}
#alSalvarRef{margin-top:12px;min-height:44px}
.al-lancado{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:14px;color:var(--vy-tinta)}

/* ---- Etapa 7: registro de alimentos com texto livre e conferencia */
.al-busca label{display:block;font-size:15px;font-weight:700;color:var(--vy-tinta);margin-bottom:6px}
.al-busca textarea{width:100%;min-height:72px;border:1px solid var(--vy-linha);border-radius:14px;padding:12px 14px;font:inherit;font-size:17px;background:var(--vy-sup);color:var(--vy-tinta);resize:vertical}
.al-busca textarea:focus-visible{outline:2px solid var(--vy-coral-forte);outline-offset:1px}
.al-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}
.al-acoes .btn{min-height:46px}
.al-item{padding:14px;margin-top:10px;display:flex;flex-direction:column;gap:6px}
.al-item-topo{display:flex;align-items:center;gap:6px}
.al-nome{flex:1;min-width:0;min-height:46px;border:1px solid var(--vy-linha);border-radius:12px;padding:0 12px;font:inherit;font-size:17px;font-weight:700;background:var(--vy-sup);color:var(--vy-tinta)}
.al-sel{min-height:46px;max-width:100%;border:1px solid var(--vy-linha);border-radius:12px;padding:0 10px;font:inherit;font-size:15px;background:var(--vy-sup);color:var(--vy-tinta)}
.al-item>.al-sel{width:100%}
.al-item .al-gramas input{width:96px}
.al-item .al-gramas .al-sel{flex:1;min-width:0}
.al-escrito,.al-origem{font-size:13px;color:var(--vy-suave)}
.al-aviso{margin:0;font-size:13px;font-weight:700;color:var(--vy-acento)}
.al-item .al-calc{margin:2px 0 0;font-size:16px}
.al-nome:focus-visible,.al-sel:focus-visible,.al-form-edicao input:focus-visible{outline:2px solid var(--vy-coral-forte);outline-offset:1px}
.al-lancar{position:sticky;bottom:-28px;margin-bottom:-28px;padding-bottom:28px!important;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 0;background:var(--vy-sup)}
.al-lancar span{font-weight:800;color:var(--vy-tinta)}
.al-lancar .btn{min-height:48px}
@media(max-width:520px){.al-lancar{bottom:-20px;margin-bottom:-20px;padding-bottom:20px!important}}
.al-lancado .lb-excluir+.lb-excluir{margin-left:-4px}
.al-editar{list-style:none}
.al-form-edicao{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--vy-linha);border-radius:12px}
.al-form-edicao label{font-size:13px;font-weight:700;color:var(--vy-suave)}
.al-form-edicao input{min-height:44px;border:1px solid var(--vy-linha);border-radius:10px;padding:0 12px;font:inherit;font-size:16px;background:var(--vy-sup);color:var(--vy-tinta)}

/* ---- Etapa 8: leitor de codigo de barras */
.al-codigo{gap:10px}
.al-camera{position:relative;border-radius:14px;overflow:hidden;background:#000;aspect-ratio:4/3}
.al-camera .al-video{width:100%;height:100%;max-height:none;margin:0;border-radius:0;object-fit:cover;display:block}
.al-mira{position:absolute;left:10%;right:10%;top:32%;bottom:32%;border:3px solid #fff;border-radius:12px;box-shadow:0 0 0 999px #0006}
.al-foto-codigo{position:relative;display:inline-flex;align-items:center;min-height:46px;cursor:pointer}
.al-foto-codigo:focus-within{outline:3px solid var(--vy-coral-forte);outline-offset:2px}

/* ---- ajustes: refeicao no topo da folha e rotulo das calorias */
.al-refeicoes{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;margin:0 0 6px;scrollbar-width:none}
.al-refeicoes::-webkit-scrollbar{display:none}
.al-refeicoes .chip-sel{flex:none;min-height:40px;white-space:nowrap}
.al-rotulo{font-size:13px;font-weight:700;color:var(--vy-suave);margin-top:2px}

/* ---- Adicionar simplificado: primeiro o que comeu, depois quando */
#alTermo{width:100%;min-height:92px;border:1.5px solid var(--vy-linha);border-radius:16px;padding:14px;font:inherit;font-size:17px;line-height:1.4;background:var(--vy-sup);color:var(--vy-tinta);resize:vertical}
#alTermo:focus-visible{outline:none;border-color:var(--vy-coral-forte);box-shadow:0 0 0 3px #e0283c22}
.al-principal-acoes{display:flex;align-items:stretch;gap:8px;margin-top:10px}
.al-icone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:64px;min-height:52px;border:1px solid var(--vy-linha);border-radius:14px;background:var(--vy-sup);color:var(--vy-acento);font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:4px 8px}
.al-icone .ico{width:22px;height:22px}
.al-icone:focus-visible,.al-ref:focus-visible,.al-mini:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:2px}
.al-adicionar{flex:1;min-height:52px;font-size:16px}
.al-resultado:empty{display:none}
.al-linhas{list-style:none;margin:14px 0 0;padding:0;border:1px solid var(--vy-linha);border-radius:16px;overflow:hidden;background:var(--vy-sup)}
.al-linha{display:flex;align-items:center;gap:6px;padding:10px 6px 10px 14px;min-height:60px}
.al-linha+.al-linha,.al-detalhe+.al-linha{border-top:1px solid var(--vy-linha)}
.al-linha-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.al-linha-tx b{font-size:16px;line-height:1.3;color:var(--vy-tinta);overflow-wrap:anywhere}
.al-linha-tx span{font-size:14px;color:var(--vy-suave)}
.al-alerta{display:grid;place-items:center;width:28px;height:28px;color:#b45309}
.al-alerta .ico{width:20px;height:20px}
.al-mini{width:44px;height:44px;flex:none;display:grid;place-items:center;border:0;border-radius:12px;background:none;color:var(--vy-suave);cursor:pointer}
.al-mini[aria-expanded="true"]{background:var(--vy-sup2);color:var(--vy-acento)}
.al-detalhe{list-style:none;padding:0 10px 12px;background:var(--vy-sup2)}
.al-detalhe .al-item{margin:0;box-shadow:none}
.al-quando{margin-top:18px;padding:14px;border-radius:18px;background:var(--vy-sup2)}
.al-quando-tit{margin:0 0 10px;font-size:15px;color:var(--vy-tinta)}
.al-dias{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.al-dias .chip-sel{min-height:44px;padding:0 16px}
.al-data{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.al-data.sel{background:var(--vy-coral-forte);border-color:var(--vy-coral-forte);color:#fff}
.al-data input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.al-ref-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.al-ref{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:10px 4px;border:2px solid transparent;border-radius:16px;background:var(--vy-sup);color:var(--vy-tinta);font:inherit;font-size:13px;font-weight:700;line-height:1.2;text-align:center;cursor:pointer}
.al-ref .hj-ic{width:36px;height:36px}
.al-ref[aria-pressed="true"]{border-color:var(--vy-coral-forte);box-shadow:0 0 0 3px #e0283c1f}
.al-ref[aria-pressed="true"]>span:last-child{color:var(--vy-acento)}
.al-nota{margin:10px 0 0;font-size:13px;color:var(--vy-suave)}
#alBarra:empty{display:none}
.al-outra{margin-top:12px;padding:14px;border-radius:16px;background:var(--vy-sup2);border:1px solid var(--vy-linha)}
.al-outra p{margin:0 0 10px;font-size:15px;color:var(--vy-tinta)}
.al-outra .btn{min-height:48px}
.al-dica{margin:8px 2px 0}
.aviso-acao{margin-left:8px;min-height:36px;padding:0 14px;border:1px solid #fff;border-radius:18px;background:transparent;color:#fff;font:inherit;font-weight:800;cursor:pointer}
#alBarra .al-lancar{flex-direction:column;align-items:stretch;gap:8px}
#alBarra .al-lancar span{text-align:center;font-size:14px;color:var(--vy-suave);font-weight:700}
#alBarra .al-lancar .btn{width:100%;min-height:52px;font-size:16px;white-space:normal}
.al-mais{margin-top:14px;border-top:1px solid var(--vy-linha);padding-top:10px}
.al-mais>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:var(--vy-acento)}
.al-mais-lista{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.al-mais-lista .text-link{min-height:44px;text-align:left}

/* ================================================================
   Etapa 6: tema escuro proprio, em vinho. As telas usam as variaveis
   --vy-*; o escuro so redefine os valores (nada de inverter a pagina).
   ================================================================ */
html.escuro{
  --vy-coral-forte:#d4223a;--vy-acento:#ff8f73;--vy-navy:#3d1822;
  --vy-fundo:#170a0e;--vy-sup:#231015;--vy-sup2:#2e151c;--vy-linha:#3d2028;
  --vy-tinta:#f8ebe7;--vy-suave:#c8adb0;
  --vy-c-pressao:#ff7d8f;--vy-c-peso:#d79bf0;--vy-c-passos:#ffa66b;--vy-c-sono:#a9a2ff;--vy-c-glicemia:#ffbe6e;
  color-scheme:dark}
html.escuro .card,html.escuro .modal-panel{box-shadow:none}
html.escuro .vidro{background:rgba(35,16,21,.86);box-shadow:none}
/* cartoes coloridos da aba Saude: fundo vivo nos dois temas, texto sempre escuro */
html.escuro .sd-cartao{color:#2b1419}
html.escuro .modal-backdrop{background:#0a0406b8}
html.escuro .tarja{background:#4a3a10;color:#fff3cd;border-color:#6b5518}
html.escuro .badge.amber{background:#3f2f12;color:#ffd58a}
html.escuro .chart-grid{stroke:var(--vy-linha)}
html.escuro .body-stage{background:radial-gradient(circle at 50% 40%,#3a1a22,var(--vy-sup) 65%)}
@media print{html.escuro{--vy-fundo:#fff;--vy-sup:#fff;--vy-sup2:#fff7f3;--vy-linha:#eee;--vy-tinta:#1d1d1d;--vy-suave:#555;--vy-acento:#a81d38}}

/* ================================================================
   Etapa 6: visual mais limpo e data em destaque
   ================================================================ */
html,body{background:var(--vy-fundo);color:var(--vy-tinta)}
.main-wrap,main{background:var(--vy-fundo)}
.topbar{background:color-mix(in srgb,var(--vy-fundo) 88%,transparent);border-bottom-color:transparent}
html.escuro .topbar{background:color-mix(in srgb,var(--vy-fundo) 92%,transparent);border-bottom-color:var(--vy-linha)}
.breadcrumb{display:flex;align-items:center;gap:6px}
.migalha-atual{line-height:1}
.card{border-color:transparent;box-shadow:0 1px 2px #7a10300f,0 6px 20px #7a10300a}
html.escuro .card{border-color:var(--vy-linha)}
.eyebrow{color:var(--vy-acento);text-transform:none;letter-spacing:0;font-size:14px;font-weight:700}
.btn.primary{background:var(--vy-grad);border-color:transparent;box-shadow:0 6px 16px #e0283c33}
.btn.primary:hover{filter:brightness(1.05)}
.fab{background:var(--vy-grad);box-shadow:0 10px 26px #e0283c55}
.abas{background:color-mix(in srgb,var(--vy-sup) 92%,transparent)!important}
.aba[aria-current="page"],.aba.ativa{color:var(--vy-brasa)}
html.escuro .aba[aria-current="page"],html.escuro .aba.ativa{color:var(--vy-acento)}
/* a lateral e' sempre escura: usa os tons do tema escuro nos dois temas */
.sidebar{background:#2a0f17;--vy-tinta:#f8ebe7;--vy-suave:#c8adb0;--vy-acento:#ff8f73;--vy-linha:#4a2530;--vy-sup:#2a0f17;--vy-sup2:#3a1620}
.cor-pressao{color:var(--vy-c-pressao)}.cor-peso{color:var(--vy-c-peso)}.cor-passos{color:var(--vy-c-passos)}
.cor-sono{color:var(--vy-c-sono)}.cor-glicemia{color:var(--vy-c-glicemia)}

/* topo do Hoje: a data e' o destaque */
.hj-data{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:4px;margin:6px 0 4px}
.hj-data-tx{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;font-weight:inherit;letter-spacing:0}
.hj-num{font-family:"Plus Jakarta Sans",-apple-system,"Segoe UI",sans-serif;font-weight:800;font-size:68px;line-height:1;letter-spacing:-.04em;
  background:var(--vy-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .02em .06em}
.hj-extenso{display:flex;flex-direction:column;gap:2px;text-align:left}
.hj-extenso b{font-family:"Plus Jakarta Sans",-apple-system,"Segoe UI",sans-serif;font-size:24px;font-weight:700;line-height:1.1;color:var(--vy-tinta)}
.hj-extenso b::first-letter{text-transform:uppercase}
.hj-extenso span{font-size:15px;font-weight:600;color:var(--vy-suave)}
.hj-seta{width:44px;height:44px;border:0;border-radius:50%;background:var(--vy-sup2);color:var(--vy-acento);display:grid;place-items:center;cursor:pointer}
.hj-seta .ico{width:22px;height:22px}
.hj-seta:disabled{background:none;color:var(--vy-linha);cursor:default}
.hj-seta:focus-visible{outline:3px solid var(--vy-coral-forte);outline-offset:2px}
.hj-ola{text-align:center;margin:4px 0 14px;font-size:15px;color:var(--vy-suave)}
.hj-semana{background:var(--vy-sup);border-radius:18px;padding:8px 6px;gap:2px;margin-bottom:6px}
.hj-dia{font-size:12px;font-weight:700;color:var(--vy-suave);gap:6px;padding:4px 0}
.hj-dia i{width:34px;height:34px;border:0;background:none;color:var(--vy-tinta);font-size:15px;position:relative}
.hj-dia.feito i::after{content:"";position:absolute;left:50%;bottom:1px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--vy-coral)}
.hj-dia.feito i{background:none;border:0;color:var(--vy-tinta)}
.hj-dia.hoje{color:var(--vy-brasa)}
.hj-dia.hoje i{background:var(--vy-grad);color:#fff;border:0}
.hj-dia.hoje.feito i::after{background:#fff}
html.escuro .hj-dia.hoje{color:var(--vy-acento)}

/* cartoes do resumo e das medicoes: menos rotulo, mais numero */
.al-kpi small{text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;color:var(--vy-suave)}
.al-kpi strong,.hj-med strong{font-family:"Plus Jakarta Sans",-apple-system,"Segoe UI",sans-serif;font-weight:800;letter-spacing:-.02em}
.al-mais-agua{background:var(--vy-sup2);color:var(--vy-acento)}
.pl-barra{background:var(--vy-sup2)}
.pl-barra i{background:var(--vy-grad)}
.hj-rot{font-size:14px}
.avatar{background:var(--vy-grad);color:#fff}
.section-row a,.text-link{color:var(--vy-acento)}
.nav-link.active{background:var(--vy-grad)}
.brandmark:not(.logo-velyna){background:var(--vy-grad)}
.page-heading{background:linear-gradient(110deg,var(--vy-sup2),var(--vy-sup));border-color:var(--vy-linha)}
.page-heading:after{border-color:var(--vy-linha)}
/* >>> escuro gerado (escuro_gerado.py) */
@media screen{
html.escuro .lock{color:#9bded2}
html.escuro .avatar{background-color:#18333f}
html.escuro .delta.attention{color:#e7c793}
html.escuro .delta.positive{color:#94e5d4}
html.escuro .badge.amber{color:#e7c993}
html.escuro .trend.up{color:#e5c495}
html.escuro .body-model .part{background:linear-gradient(90deg,#b7cdd7,#1d333a 30%,#1e3239 72%,#9dbac6)}
html.escuro .brand strong{color:#8decd8}
html.escuro .brandmark{background-color:#183f2c;color:#8ceed8}
html.escuro .nav-link:hover{background-color:#1a3d25;color:var(--vy-tinta)}
html.escuro .nav-link.active{background-color:#183f28;color:var(--vy-tinta)}
html.escuro .side-foot{border-top-color:#345b42}
html.escuro .lock{color:#8befd5}
html.escuro .avatar{background-color:#183f2b;color:var(--vy-tinta)}
html.escuro .page-heading{border:1px solid #2d623e}
html.escuro .page-heading:after{border:1px solid #2b643c}
html.escuro .eyebrow{color:#8febd7}
html.escuro .metric-icon{background-color:#183f26;color:var(--vy-tinta)}
html.escuro .overview-grid .stat-card:nth-child(2) .metric-icon{color:#debb9b}
html.escuro .delta{color:#a2d7c6}
html.escuro .section-row a,html.escuro .text-link{color:var(--vy-tinta)}
html.escuro .btn{color:var(--vy-tinta)}
html.escuro .pill.active{background-color:#183f27;color:var(--vy-tinta)}
html.escuro .select,html.escuro .search,html.escuro .question-input{color:var(--vy-tinta)}
html.escuro .notice{border-color:#305f3f}
html.escuro .notice strong{color:var(--vy-tinta)}
html.escuro .update-icon{background-color:#183f27;color:#90ead5}
html.escuro .update strong,html.escuro .event-card h3{color:var(--vy-tinta)}
html.escuro .badge{background-color:#193d28;color:var(--vy-tinta)}
html.escuro .badge.amber{color:#e4bd96}
html.escuro .timeline{border-left-color:#325d3c}
html.escuro .timeline-entry .date{color:#97e3cd}
html.escuro .lab-row .current{color:var(--vy-tinta)}
html.escuro .trend.up{color:#dfbc9a}
html.escuro .trend.down{color:var(--vy-tinta)}
html.escuro .mini-kpi strong{color:var(--vy-tinta)}
html.escuro .metric-table td:first-child{color:var(--vy-tinta)}
html.escuro .body-stage{background:radial-gradient(circle at 50% 42%,#183f27,var(--vy-sup2) 70%)}
html.escuro .measure-list button.active{background-color:#183f24;color:var(--vy-tinta);border-color:#2b643f}
html.escuro .answer strong{color:var(--vy-tinta)}
html.escuro #shareFeedback{color:var(--vy-tinta)}
html.escuro .report-paper{color:var(--vy-tinta)}
html.escuro .report-masthead{border-bottom:2px solid #305f3f}
html.escuro .report-symbol{background-color:#183f28;color:var(--vy-tinta)}
html.escuro .report-lab .event-top strong{color:var(--vy-tinta)}
html.escuro .report-values b{color:var(--vy-tinta)}
html.escuro .report-tiles strong{color:var(--vy-tinta)}
html.escuro .report-foot{border-top:2px solid #305f3f}
html.escuro .clinician-avatar{background-color:#183f27;color:var(--vy-tinta)}
html.escuro .clinician-role{color:#8fead3}
html.escuro .lab-history-item:last-child{background-color:#183f25}
html.escuro .lab-history-item strong{color:var(--vy-tinta)}
html.escuro .lab-history-item em{color:#dcbb9e}
html.escuro .page-heading{background:linear-gradient(110deg,#3f2418 0%,var(--vy-sup2) 46%,var(--vy-sup2) 100%);border-color:#64362b}
html.escuro .page-heading:after{border-color:#64372b}
html.escuro .eyebrow{color:#e39b96}
html.escuro .metric-icon{color:#eb9e8e}
html.escuro .overview-grid .stat-card:nth-child(2) .metric-icon{color:#a29adf}
html.escuro .overview-grid .stat-card:nth-child(4) .metric-icon{color:#f0cd8a}
html.escuro .delta{color:#a8a1d9}
html.escuro .delta.attention{color:#f2c487}
html.escuro .delta.positive{color:var(--vy-tinta)}
html.escuro .section-row a,html.escuro .text-link{color:#e29d97}
html.escuro .pill.active{background-color:#3f2418;border-color:#643a2b;color:#e4a096}
html.escuro .update-icon{color:#ea9e8f}
html.escuro .badge.amber{background-color:#3f3118;color:#f5c984}
html.escuro .timeline{border-left-color:#643a2b}
html.escuro .timeline-entry .date{color:#dd9f9c}
html.escuro .trend.up,html.escuro .trend.down{color:#a29adf}
html.escuro .measure-list button.active{background-color:#3f2618;color:#e39d96;border-color:#64382b}
html.escuro .report-masthead{border-color:#643c2b}
html.escuro .report-symbol{background-color:#3f2418;color:#e79f92}
html.escuro .report-values span{border-color:#432b64}
html.escuro .report-foot{border-color:#643c2b}
html.escuro .clinician-avatar{color:#e4a296}
html.escuro .clinician-role{color:#aea3d6}
html.escuro .lab-history-item{border-color:#412b64}
html.escuro .lab-history-item:last-child{border-color:#643a2b}
html.escuro .evolution-matrix .flagged strong,html.escuro .evolution-matrix .flagged em{color:#e9919f}
html.escuro .matrix-change{color:#a9a6d3}
html.escuro .measure-node{stroke:#f49885}
html.escuro .anatomy-marker:hover text,html.escuro .anatomy-marker:focus text,html.escuro .anatomy-marker.selected text{fill:#e6a194}
html.escuro .anatomy-marker:hover .measure-node,html.escuro .anatomy-marker:focus .measure-node,html.escuro .anatomy-marker.selected .measure-node{fill:#f49885}
html.escuro .anatomy-stage .body-caption{background-color:#2b2b2b99}
html.escuro .body-controls .active-view{border-color:#643a2b;color:#e3a097}
html.escuro .figure-point:hover .point-dot,html.escuro .figure-point:focus-visible .point-dot,html.escuro .figure-point.selected .point-dot{border-color:#474747}
html.escuro .photo-stage .body-caption{background-color:#3f2b18d9}
html.escuro .exam-date{color:#e1a599}
html.escuro .measure-date{color:#e1a599}
html.escuro .figure-point.has-measure .point-dot{background-color:#3f2218}
html.escuro .evolution-matrix thead th.latest-collection{border-left:2px solid #643d2b}
html.escuro .evolution-matrix tbody td.latest-result.flagged strong{color:#e9919f}
html.escuro .evolution-matrix .recent-result-tag{color:#e0a59a}
html.escuro .evolution-direction{color:#a29adf}
html.escuro .nutrition-ring{background:conic-gradient(#ed5839 0 var(--ring-value),#3a251d var(--ring-value) 100%)}
html.escuro .bp-tone-lower .bp-value{background-color:#18333f}
html.escuro .bp-tone-watch .bp-value{color:#f5c184;background-color:#3f3218}
html.escuro .bp-tone-high .bp-value{color:#ea8f9e;background-color:#3f181c}
html.escuro .bp-row.bp-tone-watch{background-color:#3f3318}
html.escuro .bp-tone-lower .bp-value{background-color:#18333f}
html.escuro .bp-tone-watch .bp-value{color:var(--vy-tinta)}
html.escuro .bp-tone-high .bp-value{color:#ee8b9d;background-color:#3f181e}
html.escuro .bp-tone-watch .bp-row-label{color:#f5c184}
html.escuro .bp-tone-high .bp-row-label{color:#ec8e9d}
html.escuro .bp-tone-lower .bp-summary-status{background-color:#18323f}
html.escuro .bp-tone-watch .bp-summary-status{color:var(--vy-tinta);background-color:#3f3418}
html.escuro .bp-tone-high .bp-summary-status{color:#ee8b9d}
html.escuro .evolution-matrix .within-range strong{color:var(--vy-tinta)}
html.escuro .evolution-matrix tbody td.latest-collection.within-range{background-color:#183f28}
html.escuro .evolution-matrix tbody td.latest-collection.within-range strong{color:var(--vy-tinta)}
html.escuro .lab-key-within{color:var(--vy-tinta)}
html.escuro .evolution-matrix .flagged strong{color:#ea8fa0}
html.escuro .evolution-matrix tbody td.latest-collection.flagged{background-color:#3f181e}
html.escuro .evolution-matrix tbody td.latest-collection.flagged strong{color:#ee8b9e}
html.escuro .evolution-card.bp-tone-watch .evolution-current{color:#f5c184}
html.escuro .evolution-card.bp-tone-high .evolution-current{color:#eb8f9e}
html.escuro .evolution-card.evolution-neutral .evolution-current{color:#aaa0da}
html.escuro .evolution-card.evolution-neutral .evolution-direction{color:#aaa0da}
html.escuro .composition-matrix tbody .composition-latest strong{color:#aaa0da}
html.escuro .garmin-score.score-watch{color:var(--vy-tinta);background-color:#3f3218}
html.escuro .garmin-score.score-info{background-color:#182f3f}
html.escuro .garmin-score.score-neutral{color:#aca5d4}
html.escuro .entrar{background:linear-gradient(135deg,#3f2418 0%,var(--vy-sup2) 45%,var(--vy-sup2) 100%)}
html.escuro .tarja{background-color:#3f3518;border-bottom:1px solid #64582b}
html.escuro .pend-velho{color:#f5bb84}
html.escuro .medida-form{border:1px dashed #64392b}
html.escuro .avatar-camera{border:2px solid #474747}
html.escuro .mic-medidor{background-color:#39261e}
html.escuro .arq-pend{color:#f5bb84}
html.escuro .senha-ver{color:#eba08e}
html.escuro .senha-ver:hover{background-color:#3f2318}
html.escuro .corpo-pontos i{background-color:#372620}
html.escuro .dia-hora{color:#e1a599}
html.escuro .puxar{color:#ed9c8c}
html.escuro .lei-roda{border:3px solid #64392b}
html.escuro .lei-hora{color:#e1a599}
html.escuro .rot-barra{background-color:#362821}
html.escuro .rot-trilho{background-color:#362821}
html.escuro .hj-ic.manha{background-color:#3f3218;color:#f5c784}
html.escuro .hj-ic.lanche{color:#9edba8}
html.escuro .hj-ic.almoco{color:#90b0e9}
html.escuro .hj-ic.tarde{background-color:#3f2518;color:#eca58e}
html.escuro .hj-ic.jantar{color:#ad9bde}
html.escuro .hj-ic.ceia{color:#a6b1d4}
html.escuro .eu-foto i{border:3px solid #474747}
html.escuro .eu-sair b{color:#ef918a}
html.escuro .chave{background-color:#312a26}
html.escuro .em-cartao h3{color:#ef918a}
html.escuro .em-tipo{color:#ef918a}
html.escuro .em-falta{color:#f5c784}
html.escuro .segmento{background-color:#38271e}
html.escuro .check-tomada{border:2px solid #51443e}
html.escuro .pl-barra{background-color:#38271f}
html.escuro .pl-ritmo.bom{color:var(--vy-tinta)!important}
html.escuro .pl-ritmo.lento{color:#f5c784!important}
html.escuro .pl-meta{stroke:var(--vy-tinta)}
html.escuro .pl-rot-meta{fill:var(--vy-tinta)}
html.escuro .hj-dia.hoje.feito i::after{background-color:#2b2b2b}
}
@media screen and (max-width:520px){html.escuro .page-heading{background:linear-gradient(135deg,#3f2418,var(--vy-sup2))}}
/* <<< escuro gerado */
