/* ═══════════════════════════════════════════════════════════════
   NutriFlow — camada visual do tema padrão (2.19.0-nutriflow.2)

   Esta folha só entra em cena no tema "Atual" (`html` sem data-tema
   ou com data-tema="padrao"). Os temas premium continuam intactos.
   Nenhuma regra aqui muda função: é cor, forma, espaçamento e a
   composição da página inicial. A folha impressa (#folhaImp) recebe
   de volta a paleta original, para os documentos saírem como antes.
   O prefixo "arroba-NF" é expandido na montagem do pacote para
   `:is(html:not([data-tema]),html[data-tema=padrao])`.
   ═══════════════════════════════════════════════════════════════ */
@font-face{font-family:"NutriFlow Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../nutriflow/inter-400.woff2") format("woff2")}
@font-face{font-family:"NutriFlow Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../nutriflow/inter-500.woff2") format("woff2")}
@font-face{font-family:"NutriFlow Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../nutriflow/inter-600.woff2") format("woff2")}
@font-face{font-family:"NutriFlow Inter";font-style:normal;font-weight:700;font-display:swap;src:url("../nutriflow/inter-700.woff2") format("woff2")}
/* v29 (mescla A8-23 × documentos): sem o Google Fonts no cabeçalho, quem pede "Inter" (impressos, timbre, lâminas) caía na fonte do sistema e o papel mudava de medida (o receituário do modelo lateral passava para 2 páginas). "Inter" passa a ser a Inter instalada no aparelho ou, sem ela, a mesma Inter local. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:local("Inter"),url("../nutriflow/inter-400.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:local("Inter"),url("../nutriflow/inter-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:local("Inter"),url("../nutriflow/inter-600.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:local("Inter"),url("../nutriflow/inter-700.woff2") format("woff2")}

/* guarda a paleta original para a folha impressa */
:root{--nf-old-roxo:var(--roxo);--nf-old-roxo-esc:var(--roxo-esc);--nf-old-roxo-cla:var(--roxo-cla);--nf-old-roxo-mid:var(--roxo-mid);--nf-old-roxo-quase-preto:var(--roxo-quase-preto);--nf-old-tinta:var(--tinta);--nf-old-tinta-2:var(--tinta-2);--nf-old-cinza:var(--cinza);--nf-old-cinza-cla:var(--cinza-cla);--nf-old-linha:var(--linha);--nf-old-linha-2:var(--linha-2);--nf-old-fundo:var(--fundo);--nf-old-fundo-2:var(--fundo-2);--nf-old-fundo-3:var(--fundo-3);--nf-old-fundo-4:var(--fundo-4);--nf-old-superficie:var(--superficie);--nf-old-cartao-fundo:var(--cartao-fundo);--nf-old-fonte-corpo:var(--fonte-corpo);--nf-old-fonte-titulo:var(--fonte-titulo);--nf-old-fonte-marca:var(--fonte-marca)}

/* ── paleta NutriFlow ─────────────────────────────────────────── */
/* v29 (A8-05): contraste de texto ≥ 4,5:1 (WCAG 1.4.3) com o menor desvio
   possível de cada cor — mesma matiz e saturação, só a luminosidade desce:
   indigo #5B5FE0→#575BDF, mudo #6B7390→#646B86, verde #22A06B→#1C8458
   (branco no botão verde: 3,3→4,7), verde escuro/tag #1A8457→#197B52,
   tag ciano #2F6FE0→#2165DE; o "hoje" da agenda usa o mudo. */
:is(html:not([data-tema]),html[data-tema=padrao]){
  --nf-navy:#29315F;--nf-navy-2:#232A57;--nf-navy-3:#1F2650;
  --nf-indigo:#575BDF;--nf-indigo-2:#4B4FCF;--nf-indigo-3:#7C7FF0;
  --nf-lilas:#EEEDFF;--nf-lilas-2:#E3E1FF;
  --nf-pagina:#F5F6FB;--nf-cartao:#FFFFFF;--nf-borda:#E8EAF3;--nf-borda-2:#EEF0F7;
  --nf-texto:#242B55;--nf-texto-2:#4C5578;--nf-mudo:#646B86;--nf-mudo-2:#8D94B0;
  --nf-verde:#1C8458;--nf-verde-cla:#E3F7EC;--nf-azul:#3B82F6;--nf-azul-cla:#E6F0FF;
  --nf-raio:16px;--nf-raio-2:12px;--nf-raio-3:10px;
  --nf-sombra:0 1px 2px rgba(35,42,87,.04),0 8px 24px -18px rgba(35,42,87,.18);
  --nf-rail:228px;--nf-margem:12px;--nf-topo:72px;
}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop,#toasts){
  --roxo:var(--nf-indigo);--roxo-esc:var(--nf-indigo-2);--roxo-cla:var(--nf-lilas);--roxo-mid:var(--nf-indigo-3);--roxo-quase-preto:var(--nf-navy);
  --roxo-brilho:var(--nf-indigo);
  --tinta:var(--nf-texto);--tinta-2:var(--nf-texto-2);--cinza:var(--nf-mudo);--cinza-cla:var(--nf-mudo-2);
  --linha:var(--nf-borda);--linha-2:var(--nf-borda-2);
  --fundo:var(--nf-pagina);--fundo-2:#F0F1F8;--fundo-3:#F8F9FD;--fundo-4:#F6F7FC;
  --superficie:var(--nf-cartao);--cartao-fundo:var(--nf-cartao);
  --verde:var(--nf-verde);--verde-esc:#197B52;--verde-cla:var(--nf-verde-cla);
  --azul-info:#3F4A9A;--azul-info-cla:#EEF0FF;
  --fonte-corpo:'NutriFlow Inter','Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --fonte-titulo:var(--fonte-corpo);--fonte-marca:var(--fonte-corpo);
  --r:12px;--r-s:10px;--r-l:16px;
  --sombra:var(--nf-sombra);
  font-family:var(--fonte-corpo);color:var(--tinta)
}
:is(html:not([data-tema]),html[data-tema=padrao]) body{background:var(--nf-pagina)}
:is(html:not([data-tema]),html[data-tema=padrao]) #app{min-height:100vh;background:var(--nf-pagina)}
:is(html:not([data-tema]),html[data-tema=padrao]) ::selection{background:var(--nf-lilas-2);color:var(--nf-navy)}
:is(html:not([data-tema]),html[data-tema=padrao]) :focus-visible{outline-color:var(--nf-indigo)}

/* ── rail (barra lateral escura) ──────────────────────────────── */
:is(html:not([data-tema]),html[data-tema=padrao]) #rail,:is(html:not([data-tema]),html[data-tema=padrao]) #rail.aberto{
  top:var(--nf-margem);left:var(--nf-margem);bottom:var(--nf-margem);width:var(--nf-rail);
  border:none;border-radius:20px;padding:22px 16px 18px;align-items:stretch;overflow:hidden;
  background:radial-gradient(ellipse at 15% 0%,rgba(96,110,170,.35),transparent 55%),linear-gradient(170deg,#2B3366 0%,#29315F 45%,#232A55 100%);
  color:#E6E9FF;box-shadow:0 18px 40px -26px rgba(35,42,87,.7);transition:none
}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-brand{display:flex;align-items:center;gap:11px;padding:2px 6px 22px;cursor:pointer;flex-shrink:0;color:#fff}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-brand-logo{width:30px;height:34px;flex:0 0 30px;background:url('../nutriflow/logo.svg') center/contain no-repeat}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-brand-txt{display:flex;flex-direction:column;line-height:1.15;min-width:0}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-brand-label{font-weight:700;font-size:18px;letter-spacing:-.02em;white-space:nowrap}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-brand-tag{font-size:10.5px;color:#B8BEE3;white-space:nowrap;margin-top:2px}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .nav{gap:4px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;flex:1 1 auto;min-height:120px}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni{justify-content:flex-start;gap:12px;height:40px;flex:0 0 40px;padding:0 13px;border-radius:11px;color:#D7DBF5;transition:background .14s,color .14s}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni svg{stroke-width:1.75;width:18px;height:18px;flex:0 0 18px}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni b{display:block;font-size:13px;font-weight:500;color:inherit}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni:hover{background:rgba(255,255,255,.07);color:#fff}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni.on{background:linear-gradient(105deg,#6469EA,#585DDA);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 14px -8px rgba(30,36,110,.8)}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni.on svg{stroke-width:2}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni-sub{padding-left:26px;height:34px;flex-basis:34px;transform:none;font-size:12.5px}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .nav-sep{background:rgba(255,255,255,.1);margin:8px 6px}
:is(html:not([data-tema]),html[data-tema=padrao]) .rail-pe{margin-top:10px;gap:6px}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .trial{display:block;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#D7DBF5}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .trial-h{color:#E6E9FF}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .trial .trilho{background:rgba(255,255,255,.14)}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .trial .trilho i{background:#8B8EF6}
:is(html:not([data-tema]),html[data-tema=padrao]) #rail .trial .b-roxo{background:#fff;color:var(--nf-indigo-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-rail-quote{position:relative;flex-shrink:0;margin:12px 6px 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);color:#D7DBF5;font-size:12.5px;line-height:1.45}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-rail-quote-ic{display:block;width:16px;height:18px;margin-bottom:8px;background:url('../nutriflow/logo.svg') center/contain no-repeat;opacity:.85}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-rail-quote p{margin:0;color:#EEF0FF}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-rail-quote-by{display:block;margin-top:4px;font-size:11.5px;color:#9FA6D2;font-style:italic}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-rail-leaf{position:absolute;left:-42px;bottom:118px;width:170px;height:190px;background:url('../nutriflow/logo.svg') center/contain no-repeat;opacity:.05;pointer-events:none;transform:rotate(-14deg)}

/* ── barra de topo ────────────────────────────────────────────── */
:is(html:not([data-tema]),html[data-tema=padrao]) .topo{
  left:calc(var(--nf-rail) + var(--nf-margem) * 2);right:0;top:0;height:var(--nf-topo);
  background:var(--nf-pagina);border-bottom:none;padding:0 26px 0 22px;gap:14px
}
:is(html:not([data-tema]),html[data-tema=padrao]) .crumb{flex:0 1 auto;font-size:13px;color:var(--nf-mudo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .crumb b{color:var(--nf-texto);font-size:15px;font-weight:700}
:is(html:not([data-tema]),html[data-tema=padrao]) .topo-home .crumb{display:none}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-busca{position:relative;flex:1 1 auto;display:flex;align-items:center;max-width:420px;margin-left:auto}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-busca-ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--nf-mudo);pointer-events:none;display:grid}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-busca-inp{width:100%;height:40px;padding:0 14px 0 38px;border:1px solid var(--nf-borda);border-radius:11px;background:#fff;font-size:13px;color:var(--nf-texto);box-shadow:0 1px 2px rgba(35,42,87,.03);transition:border-color .12s,box-shadow .12s;-webkit-appearance:none;appearance:none}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-busca-inp::placeholder{color:var(--nf-mudo-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-busca-inp:focus{outline:none;border-color:#9DA0F2;box-shadow:0 0 0 3px rgba(91,95,224,.12)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-busca-inp::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
:is(html:not([data-tema]),html[data-tema=padrao]) .topo-dir{gap:8px;flex:0 0 auto}
:is(html:not([data-tema]),html[data-tema=padrao]) .topo .marca{display:none}
:is(html:not([data-tema]),html[data-tema=padrao]) .topo .marca-logo{height:24px}
:is(html:not([data-tema]),html[data-tema=padrao]) .pill-uso{background:#fff;border:1px solid var(--nf-borda);color:var(--nf-texto-2);height:34px;border-radius:10px;font-weight:600}
:is(html:not([data-tema]),html[data-tema=padrao]) .pill-uso svg{color:var(--nf-indigo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .pill-tarefas{background:var(--nf-lilas);color:var(--nf-indigo-2);height:34px;border-radius:10px;font-weight:600}
:is(html:not([data-tema]),html[data-tema=padrao]) .pill-tarefas:hover{background:var(--nf-lilas-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) .ico-topo{width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid var(--nf-borda);color:var(--nf-texto-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) .ico-topo:hover{background:#fff;border-color:#C9CDE6;color:var(--nf-navy)}
:is(html:not([data-tema]),html[data-tema=padrao]) .ponto{border-color:#fff;background:var(--nf-verde)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-user{display:flex;align-items:center;gap:10px;height:44px;padding:0 6px 0 4px;border-radius:12px;margin-left:4px;text-align:left;color:var(--nf-texto)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-user:hover{background:#fff}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-user .avatar{width:36px;height:36px;flex:0 0 36px;font-size:12.5px;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(35,42,87,.15)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-user-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-user-txt b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-user-txt small{font-size:11px;color:var(--nf-mudo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-user-seta{color:var(--nf-mudo);display:grid}
:is(html:not([data-tema]),html[data-tema=padrao]) .chip-sync{height:30px;border-radius:9px}

/* ── palco ────────────────────────────────────────────────────── */
:is(html:not([data-tema]),html[data-tema=padrao]) .palco{margin-left:calc(var(--nf-rail) + var(--nf-margem) * 2);padding:calc(var(--nf-topo) + 8px) 26px 96px 22px;min-height:100vh}
:is(html:not([data-tema]),html[data-tema=padrao]) .palco.limpo{padding:var(--nf-topo) 0 0}
:is(html:not([data-tema]),html[data-tema=padrao]) .split{margin:-8px -26px -96px -22px;min-height:calc(100vh - var(--nf-topo))}
:is(html:not([data-tema]),html[data-tema=padrao]) .fab-ia{left:calc(var(--nf-rail) + var(--nf-margem) * 2 + 14px);background:#fff;border-color:var(--nf-borda);color:var(--nf-indigo);box-shadow:var(--nf-sombra)}
:is(html:not([data-tema]),html[data-tema=padrao]) .fab{background:#25C167;box-shadow:0 10px 24px -10px rgba(37,193,103,.7)}

/* ── componentes ──────────────────────────────────────────────── */
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) :is(h1,.h1){color:var(--nf-texto);letter-spacing:-.025em;font-weight:700}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) :is(h2,.h2){color:var(--nf-texto);font-weight:600}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) :is(.card,.kpi):not(.folha *){background:#fff;border:1px solid var(--nf-borda);border-radius:var(--nf-raio);box-shadow:var(--nf-sombra)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .card-h h2{font-size:15px}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .kpi:not(.folha *){padding:16px 18px}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .kpi .val:not(.folha *){font-size:24px;color:var(--nf-texto)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .kpi .rot:not(.folha *){color:var(--nf-mudo)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .b:not(.folha *){border-radius:10px;font-weight:600}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .b-roxo:not(.folha *){background:var(--nf-indigo);color:#fff;box-shadow:0 6px 14px -8px rgba(91,95,224,.7)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .b-roxo:hover:not(.folha *){background:var(--nf-indigo-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .b-verde:not(.folha *){background:var(--nf-verde);box-shadow:0 6px 14px -8px rgba(34,160,107,.6)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .b-verde:hover:not(.folha *){background:#19764F}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) :is(.b-linha,.b-fant):not(.folha *){background:#fff;border:1px solid var(--nf-borda);color:var(--nf-texto-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) :is(.b-linha,.b-fant):hover:not(.folha *){background:#F8F9FD;border-color:#C9CDE6}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .b-linha-roxo:not(.folha *){background:var(--nf-lilas);border-color:#D6D5F8;color:var(--nf-indigo-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .b-app:not(.folha *){background:var(--nf-verde-cla);border-color:#BFE9D2;color:#197B52}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .inp:not(.folha *){background:#fff;border-color:#DCE0EE;border-radius:10px;color:var(--nf-texto);min-height:38px}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .inp:focus:not(.folha *){border-color:#9DA0F2;box-shadow:0 0 0 3px rgba(91,95,224,.12)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .inp.erro:not(.folha *){border-color:var(--vermelho);box-shadow:0 0 0 3px rgba(253,1,0,.09)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .inp:disabled:not(.folha *){background:var(--fundo-2);color:var(--cinza-cla);cursor:not-allowed}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .tag:not(.folha *){min-height:22px;height:auto;padding:3px 10px;line-height:1.3;font-weight:600}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .tag-roxo:not(.folha *){background:var(--nf-lilas);color:var(--nf-indigo-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .tag-verde:not(.folha *){background:var(--nf-verde-cla);color:#197B52}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .tag-ciano:not(.folha *){background:var(--nf-azul-cla);color:#2165DE}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .tag-cinza:not(.folha *){background:#EEF0F7;color:#5B6383}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .tab:not(.folha *){font-size:13px}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .tab th:not(.folha *){text-transform:none;letter-spacing:0;font-size:12px;color:var(--nf-mudo);background:#F8F9FD;padding:11px 16px;border-bottom:1px solid var(--nf-borda)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .tab td:not(.folha *){padding:13px 16px;border-color:var(--nf-borda-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .tab tbody tr:hover:not(.folha *){background:#F8F9FD}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .avatar:not(.folha *){background:#EEF0FB;color:#4C5578;box-shadow:0 0 0 1px #fff}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .avatar.roxo:not(.folha *){background:linear-gradient(135deg,#6C6CF0,#5B5FE0);color:#fff}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .abas:not(.folha *){border-color:var(--nf-borda);gap:6px}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .aba:not(.folha *){font-size:13px;color:var(--nf-mudo);padding:10px 12px}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .aba.on:not(.folha *){color:var(--nf-indigo);border-bottom-color:var(--nf-indigo)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .aba.on .cnt:not(.folha *){background:var(--nf-lilas);color:var(--nf-indigo-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .chip.on:not(.folha *){background:var(--nf-indigo);border-color:var(--nf-indigo)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .trilho:not(.folha *){background:var(--nf-lilas)}
:is(html:not([data-tema]),html[data-tema=padrao]) :where(#app,.veu,.pop) .trilho i:not(.folha *){background:var(--nf-indigo)}
:is(html:not([data-tema]),html[data-tema=padrao]) :is(.modal,.drawer,.pop){background:#fff;border:1px solid var(--nf-borda);border-radius:16px;box-shadow:0 24px 60px -24px rgba(35,42,87,.45)}
:is(html:not([data-tema]),html[data-tema=padrao]) :is(.modal-h,.modal-f,.drawer-h,.drawer-f){border-color:var(--nf-borda);background:#FBFBFE}
:is(html:not([data-tema]),html[data-tema=padrao]) .veu{background:rgba(35,42,87,.42);backdrop-filter:blur(2px)}
:is(html:not([data-tema]),html[data-tema=padrao]) .mr-nav{background:#F6F7FC;border-color:var(--nf-borda)}
/* v29 (A8-22): o tablist das Configurações envolve só as abas; sem caixa própria, o trilho continua igual */
.mr-abas{display:contents}
:is(html:not([data-tema]),html[data-tema=padrao]) .mr-i.on{background:#fff;color:var(--nf-indigo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .vazio{background:#FAFBFE;border:1px dashed #DCE0EE;border-radius:14px}
:is(html:not([data-tema]),html[data-tema=padrao]) .vazio .arte{color:var(--nf-indigo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .cabec h1{font-size:22px}
/* ── acesso (login, cadastro, recuperação, ativação) ─────────── */
:is(html:not([data-tema]),html[data-tema=padrao]) .auth{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;background:var(--nf-pagina)}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-d{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:28px;padding:44px 56px 36px;color:#fff;
  background:radial-gradient(ellipse at 15% 0%,rgba(96,110,170,.45),transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(108,108,240,.35),transparent 50%),linear-gradient(160deg,#2B3366,#29315F 50%,#232A55)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-folha{position:absolute;right:-120px;bottom:-110px;width:520px;height:580px;background:url('../nutriflow/logo.svg') center/contain no-repeat;opacity:.07;transform:rotate(14deg);pointer-events:none}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-topo{position:relative;z-index:1}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-brand{display:flex;align-items:center;gap:12px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-brand .nf-brand-logo{width:36px;height:40px;flex-basis:36px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-brand .nf-brand-label{font-size:21px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-meio{position:relative;z-index:1;max-width:520px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-h{font-size:clamp(30px,3.2vw,44px);line-height:1.08;letter-spacing:-.035em;font-weight:600;color:#fff;margin:0 0 16px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-h span{color:#B9BBFF;font-weight:700}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-p{font-size:15px;line-height:1.65;color:#C9CEF0;margin:0 0 26px;max-width:460px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-slide{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 14px;align-items:start;padding:18px 20px 16px;border-radius:16px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 40px -28px rgba(0,0,0,.6);backdrop-filter:blur(6px);max-width:460px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-slide-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#6C6CF0,#9B7DF6);color:#fff;box-shadow:0 8px 18px -10px rgba(108,108,240,.9)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-slide-txt h3{font-size:15px;font-weight:600;color:#fff;margin:0 0 4px;line-height:1.3}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-slide-txt .sub{color:#C9CEF0;font-size:12.5px;min-height:38px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-slide .dots{grid-column:2;justify-content:flex-start;margin-top:2px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-slide .dots i{background:rgba(255,255,255,.28)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-slide .dots i.on{background:#fff}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-selos{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-selos span{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:99px;font-size:11.5px;font-weight:500;color:#E6E9FF;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-pe{position:relative;z-index:1;font-size:13px;color:#C9CEF0}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-pe em{color:#9FA6D2;font-style:italic}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-e{padding:40px 6vw;background:var(--nf-pagina)}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-cx{max-width:420px;background:#fff;border:1px solid var(--nf-borda);box-shadow:0 24px 60px -34px rgba(35,42,87,.45),0 1px 2px rgba(35,42,87,.04);padding:34px 34px 26px;border-radius:20px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-marca{display:flex;align-items:center;gap:10px;margin-bottom:22px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-marca-ic{width:36px;height:36px;border-radius:11px;flex:0 0 36px;background:var(--nf-navy) url('../nutriflow/logo.svg') center/20px 24px no-repeat;box-shadow:0 8px 16px -10px rgba(41,49,95,.8)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-marca .marca{display:inline;font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--nf-navy)}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-e h1,:is(html:not([data-tema]),html[data-tema=padrao]) .auth-diag h1{font-size:24px;letter-spacing:-.03em}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-e .sub{font-size:13.5px}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-e .campo>label,:is(html:not([data-tema]),html[data-tema=padrao]) .auth-diag .campo>label{color:var(--nf-texto-2);font-size:12.5px}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-e .inp,:is(html:not([data-tema]),html[data-tema=padrao]) .auth-diag .inp{height:44px;border-radius:12px;font-size:14px;padding:0 14px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-senha{position:relative}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-senha .inp{padding-right:44px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-senha-olho{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--nf-mudo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-senha-olho:hover,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-senha-olho.on{background:var(--nf-lilas);color:var(--nf-indigo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-e .b-g,:is(html:not([data-tema]),html[data-tema=padrao]) .auth-diag .b-g{height:46px;font-size:14.5px;border-radius:12px;box-shadow:0 12px 24px -14px rgba(91,95,224,.9)}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-e .fb{align-items:flex-start;gap:12px}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-e .fb .pq{font-size:11.5px;line-height:1.4}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-e .fb .rx.b6{white-space:nowrap;flex:0 0 auto}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-e .rx.b6,:is(html:not([data-tema]),html[data-tema=padrao]) .auth-diag .rx.b6{color:var(--nf-indigo);font-weight:600}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-pe{margin-top:22px;padding-top:16px;border-top:1px solid var(--nf-borda-2)}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-pe a:hover{color:var(--nf-indigo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-diag{background:radial-gradient(ellipse at 15% 0%,rgba(96,110,170,.45),transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(108,108,240,.35),transparent 50%),linear-gradient(160deg,#2B3366,#29315F 50%,#232A55)}
:is(html:not([data-tema]),html[data-tema=padrao]) .auth-diag .card{border-radius:20px;padding:34px!important;width:min(440px,100%)!important;box-shadow:0 30px 70px -40px rgba(0,0,0,.6)}
:is(html:not([data-tema]),html[data-tema=padrao]) .pac-cab{background:#fff;border-color:var(--nf-borda)}
:is(html:not([data-tema]),html[data-tema=padrao]) :is(.fone,.fone-topo,.fone-baixo){border-color:#DCE0EE}

/* ── página inicial ───────────────────────────────────────────── */
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-home{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:22px;align-items:start}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-main,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lado{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-main>*,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lado>*{min-width:0;max-width:100%}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero{position:relative;overflow:hidden;min-height:176px;padding:28px 30px 26px;border-radius:18px;
  background:radial-gradient(ellipse at 80% 20%,rgba(214,206,255,.55),transparent 55%),linear-gradient(112deg,#F5F3FF 0%,#EFECFF 60%,#EAE6FF 100%);
  border:1px solid #E6E2FF;box-shadow:var(--nf-sombra)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-txt{position:relative;z-index:1;max-width:min(430px,62%)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-ola{font-size:13px;color:var(--nf-texto-2);margin-bottom:6px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-h1{font-size:clamp(26px,2.5vw,34px);line-height:1.12;letter-spacing:-.03em;color:var(--nf-navy-2);font-weight:600;margin:0 0 10px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-h1 span{color:var(--nf-indigo);font-weight:700}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-p{font-size:13.5px;line-height:1.6;color:var(--nf-mudo);margin:0}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-meta{margin-top:12px;font-size:12px;color:var(--nf-texto-2);font-weight:500}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-art{position:absolute;right:0;top:0;width:315px;height:100%;min-height:160px;background:url('../nutriflow/hero.png') right center/315px 160px no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);mask-image:linear-gradient(90deg,transparent,#000 30%);pointer-events:none}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-leaf{position:absolute;left:-30px;bottom:-40px;width:150px;height:170px;background:url('../nutriflow/logo.svg') center/contain no-repeat;opacity:.06;filter:invert(1);transform:rotate(18deg);pointer-events:none}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-quote{position:relative;overflow:hidden;min-height:118px;padding:22px 24px;border-radius:18px;color:#fff;
  background:linear-gradient(135deg,#6C6CF0 0%,#7F76F3 50%,#9B7DF6 100%);box-shadow:0 16px 32px -20px rgba(108,108,240,.8)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-quote p{margin:0;font-size:17px;line-height:1.35;font-weight:500;letter-spacing:-.01em;max-width:200px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-quote-heart{position:absolute;right:20px;top:18px;color:rgba(255,255,255,.85);display:grid}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-quote-leaf{position:absolute;right:16px;bottom:-14px;width:62px;height:72px;background:url('../nutriflow/logo.svg') center/contain no-repeat;opacity:.35;transform:rotate(22deg);pointer-events:none}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acoes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 18px 42px;min-height:156px;text-align:left;
  background:#fff;border:1px solid var(--nf-borda);border-radius:16px;box-shadow:var(--nf-sombra);transition:transform .14s,box-shadow .14s,border-color .14s}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao:hover{transform:translateY(-2px);border-color:#D6D9EC;box-shadow:0 14px 30px -20px rgba(35,42,87,.35)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:10px;background:var(--nf-lilas);color:#7C5CF4}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao-ic svg{stroke-width:1.75}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao-2 .nf-acao-ic{background:var(--nf-azul-cla);color:var(--nf-azul)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao-3 .nf-acao-ic{background:var(--nf-verde-cla);color:var(--nf-verde)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao-4 .nf-acao-ic{background:#F0EBFF;color:#6E5CE6}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao b{font-size:14px;font-weight:600;color:var(--nf-texto);line-height:1.3}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao>span:not(.nf-acao-ic){font-size:12px;line-height:1.5;color:var(--nf-mudo);max-width:190px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao-seta{position:absolute;right:16px;bottom:14px;color:var(--nf-indigo);display:grid;font-style:normal}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao-1{background:linear-gradient(140deg,#FDFCFF,#FAF7FF)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao-2{background:linear-gradient(140deg,#FDFEFF,#F5F9FF)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao-3{background:linear-gradient(140deg,#FDFFFE,#F4FBF7)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao-4{background:linear-gradient(140deg,#FDFCFF,#F7F5FF)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-card-h{display:flex;align-items:center;gap:11px;margin-bottom:14px;min-width:0}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-card-h-p{padding:16px 18px 12px;margin-bottom:0}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-card-ic{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;background:var(--nf-lilas);color:var(--nf-indigo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-card-t{flex:1;min-width:0}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-card-t h2{font-size:15px;line-height:1.25}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-card-t p{margin:2px 0 0;font-size:12px;color:var(--nf-mudo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-link{font-size:12.5px;font-weight:600;color:var(--nf-indigo);padding:6px 8px;border-radius:8px;white-space:nowrap}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-link:hover{background:var(--nf-lilas)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-resumo{padding:18px 18px 16px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 14px 12px;border:1px solid var(--nf-borda);border-radius:12px;background:#FCFCFE;min-width:0}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat-txt{display:flex;flex-direction:column;min-width:0}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat-rot{font-size:11.5px;line-height:1.3;color:var(--nf-mudo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat-val{font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--nf-texto);margin:6px 0 4px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat-sub{display:inline-flex;align-items:center;gap:3px;font-size:11px;line-height:1.3;color:var(--nf-mudo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat-sub.ok{color:var(--nf-verde);font-weight:600}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat-ic{width:32px;height:32px;flex:0 0 32px;border-radius:10px;display:grid;place-items:center;background:#F2F3FA;color:var(--nf-mudo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat:nth-child(1) .nf-stat-ic{background:var(--nf-lilas);color:#7C5CF4}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat:nth-child(2) .nf-stat-ic{background:var(--nf-azul-cla);color:var(--nf-azul)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat:nth-child(3) .nf-stat-ic{background:var(--nf-verde-cla);color:var(--nf-verde)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat:nth-child(4) .nf-stat-ic{background:#F0EBFF;color:#6E5CE6}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lista{display:flex;flex-direction:column}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-prox .nf-lista{padding:4px 8px 8px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha{display:flex;align-items:center;gap:12px;width:100%;max-width:100%;padding:10px 10px;border-radius:12px;text-align:left;min-width:0;overflow:hidden;transition:background .12s}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha:hover{background:#F6F7FC}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha-hora{display:flex;flex-direction:column;line-height:1.15;font-size:12.5px;font-weight:600;color:var(--nf-texto-2);min-width:46px;font-variant-numeric:tabular-nums}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha-hora small{font-size:10.5px;font-weight:500;color:var(--nf-mudo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha-av{width:30px;height:30px;flex:0 0 30px;font-size:11px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha-txt b{font-size:13px;font-weight:600;color:var(--nf-texto);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha-txt small{font-size:12px;color:var(--nf-mudo);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha-txt .tag{margin-left:6px;vertical-align:middle;font-size:10.5px;padding:1px 8px;min-height:18px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-daily .nf-lista,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-atencao .nf-lista{margin:0 -6px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha-daily{padding:8px 6px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-vazio{padding:14px 4px 4px;font-size:13px;color:var(--nf-texto-2);line-height:1.5}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-vazio span{font-size:12px;color:var(--nf-mudo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lembrete{display:flex;align-items:flex-start;gap:11px;width:100%;max-width:100%;min-width:0;overflow:hidden;padding:9px 6px;border-radius:10px;text-align:left;transition:background .12s}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lembrete:hover{background:#F6F7FC}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lembrete-dot{width:18px;height:18px;flex:0 0 18px;border-radius:50%;border:2px solid #C9CDE6;margin-top:1px;box-sizing:border-box}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lembrete-dot.rx{border-color:var(--nf-indigo)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lembrete-dot.am{border-color:#E3A133}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lembrete-dot.vm{border-color:#E5484D}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lembrete-dot.cz{border-color:#C9CDE6}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lembrete-txt{display:flex;flex-direction:column;min-width:0;line-height:1.35}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lembrete-txt b{font-size:13px;font-weight:600;color:var(--nf-texto)}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-lembrete-txt small{font-size:11.5px;color:var(--nf-mudo);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-receita-val{font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--nf-texto);margin-bottom:2px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-recent .tab{min-width:560px}
:is(html:not([data-tema]),html[data-tema=padrao]) .nf-recent{overflow-x:auto}

/* ── folha impressa: paleta original ──────────────────────────── */
#folhaImp{--roxo:var(--nf-old-roxo);--roxo-esc:var(--nf-old-roxo-esc);--roxo-cla:var(--nf-old-roxo-cla);--roxo-mid:var(--nf-old-roxo-mid);--roxo-quase-preto:var(--nf-old-roxo-quase-preto);--tinta:var(--nf-old-tinta);--tinta-2:var(--nf-old-tinta-2);--cinza:var(--nf-old-cinza);--cinza-cla:var(--nf-old-cinza-cla);--linha:var(--nf-old-linha);--linha-2:var(--nf-old-linha-2);--fundo:var(--nf-old-fundo);--fundo-2:var(--nf-old-fundo-2);--fundo-3:var(--nf-old-fundo-3);--fundo-4:var(--nf-old-fundo-4);--superficie:var(--nf-old-superficie);--cartao-fundo:var(--nf-old-cartao-fundo);--fonte-corpo:var(--nf-old-fonte-corpo);--fonte-titulo:var(--nf-old-fonte-titulo);--fonte-marca:var(--nf-old-fonte-marca);font-family:var(--nf-old-fonte-corpo);color:var(--nf-old-tinta)}

/* ── responsivo ───────────────────────────────────────────────── */
@media (max-height:900px){
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail .trial{display:none}
}
@media (max-height:760px){
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-rail-quote{display:none}
}
@media (min-width:1051px) and (max-width:1250px){
  :is(html:not([data-tema]),html[data-tema=padrao]){--nf-rail:208px}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail,:is(html:not([data-tema]),html[data-tema=padrao]) #rail.aberto{padding-inline:12px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-home{grid-template-columns:minmax(0,1fr) 280px;gap:18px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-acoes,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-txt{max-width:60%}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-art{opacity:.75}
}
@media (max-width:1050px){
  :is(html:not([data-tema]),html[data-tema=padrao]){--nf-rail:64px;--nf-margem:8px;--nf-topo:64px}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail{padding:14px 8px 12px;align-items:center;border-radius:16px}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail.aberto{width:228px;padding:18px 14px 16px;align-items:stretch;box-shadow:0 24px 50px -20px rgba(35,42,87,.8)}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-brand{justify-content:center;padding:2px 0 16px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-brand-txt{display:none}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail.aberto .nf-brand{justify-content:flex-start}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail.aberto .nf-brand-txt{display:flex}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni{justify-content:center;padding:0;width:44px;margin:0 auto}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni b{display:none}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail.aberto .ni{justify-content:flex-start;padding:0 13px;width:100%;margin:0}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail.aberto .ni b{display:block}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni-sub{padding-left:0;height:36px;flex-basis:36px}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail.aberto .ni-sub{padding-left:26px}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail .trial{display:none}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail.aberto .trial{display:block}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-rail-quote,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-rail-leaf{display:none}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail.aberto .nf-rail-quote{display:block}
  :is(html:not([data-tema]),html[data-tema=padrao]) .topo{padding:0 14px 0 12px;gap:10px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-busca{max-width:260px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-user-txt,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-user-seta{display:none}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-user{padding:0;height:40px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-home{grid-template-columns:minmax(0,1fr)}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-acoes,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(html:not([data-tema]),html[data-tema=padrao]) .palco{padding:calc(var(--nf-topo) + 8px) 16px 96px 14px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .split{margin:-8px -16px -96px -14px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .fab-ia{left:calc(var(--nf-rail) + var(--nf-margem) * 2 + 10px)}
}
@media (max-width:760px){
  :is(html:not([data-tema]),html[data-tema=padrao]){--nf-rail:56px;--nf-margem:6px;--nf-topo:60px}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail{padding:10px 4px 10px}
  :is(html:not([data-tema]),html[data-tema=padrao]) #rail .ni{width:40px;height:38px;flex-basis:38px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-brand-logo{width:26px;height:30px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .topo{padding:0 10px 0 8px;gap:8px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .crumb b{font-size:14px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .topo-home .nf-busca{max-width:none}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-busca{max-width:200px;margin-left:0;flex:1 1 120px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-busca-inp{height:36px;font-size:16px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .pill-tarefas{padding:0 9px;font-size:0;gap:0}
  :is(html:not([data-tema]),html[data-tema=padrao]) .pill-tarefas svg{width:15px;height:15px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .pill-uso,:is(html:not([data-tema]),html[data-tema=padrao]) .topo .marca-logo{display:none}
  :is(html:not([data-tema]),html[data-tema=padrao]) .ico-topo{width:34px;height:34px;border-radius:9px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .palco{padding:calc(var(--nf-topo) + 6px) 12px 96px 10px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .split{margin:-6px -12px -96px -10px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero{padding:22px 18px 20px;min-height:0}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-txt{max-width:100%}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-art{opacity:.22}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-h1{font-size:24px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-acoes{gap:10px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao{min-height:0;padding:14px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao>span:not(.nf-acao-ic){max-width:none;padding-right:26px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-stats{gap:10px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-stat-val{font-size:22px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-quote{min-height:100px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-quote p{font-size:16px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha-hora{min-width:40px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-card-h-p{padding:14px 14px 10px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-recent .tab{min-width:0}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-recent{overflow-x:visible}
  :is(html:not([data-tema]),html[data-tema=padrao]) .fab{right:14px;bottom:14px;width:46px;height:46px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .fab-ia{bottom:14px;width:40px;height:40px}
}
@media (max-width:900px){
  :is(html:not([data-tema]),html[data-tema=padrao]) .auth{grid-template-columns:minmax(0,1fr);min-height:100vh}
  :is(html:not([data-tema]),html[data-tema=padrao]) .auth-d{display:flex;justify-content:flex-start;gap:16px;padding:22px 20px 24px;min-height:0}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-h{font-size:24px;margin-bottom:8px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-p{font-size:13px;margin-bottom:0}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-slide,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-selos,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-pe{display:none}
  :is(html:not([data-tema]),html[data-tema=padrao]) .auth-e{padding:22px 16px 40px;margin-top:-16px;border-radius:20px 20px 0 0;background:var(--nf-pagina);position:relative;z-index:2}
  :is(html:not([data-tema]),html[data-tema=padrao]) .auth-cx{padding:26px 22px 22px}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-brand .nf-brand-txt{display:flex}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-auth-folha{width:260px;height:290px;left:auto;right:-80px;bottom:-90px}
}
@media (max-width:460px){
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-acoes,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-stats{grid-template-columns:1fr}
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero-art{display:none}
}
@media (hover:hover) and (pointer:fine){
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-linha:hover .nf-linha-txt b{color:var(--nf-indigo-2)}
}
@media (prefers-reduced-motion:reduce){
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acao:hover{transition:none;transform:none}
}
@media print{
  :is(html:not([data-tema]),html[data-tema=padrao]) .nf-hero,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-quote,:is(html:not([data-tema]),html[data-tema=padrao]) .nf-acoes{display:none}
}

/* ═══════════════════════════════════════════════════════════════
   v18 (frente E) — a sala de teleconsulta da profissional.
   Sem o prefixo de tema de propósito: a sala tem a mesma cara em
   qualquer tema (o palco é preto e os controles são os da camada
   compartilhada em assets/js/telacheia.js, iguais aos do paciente).
   ═══════════════════════════════════════════════════════════════ */
/* `81_consulta.js` sempre usou a classe `oculto` (botões da sala, o
   cartão do teste), mas nenhuma folha do painel a definia: o teste de
   câmera e os botões "escondidos" ficavam à vista. Definida aqui,
   com o mesmo peso que tem em sala.php. */
.oculto{display:none !important}
#cPalco{position:relative;background:#07070c;aspect-ratio:16/10;overflow:hidden}
#cRemoto{width:100%;height:100%;object-fit:cover;display:block;background:#07070c}
/* a miniatura fica no ALTO à direita: o rodapé do palco é dos controles */
#cLocal{position:absolute;right:12px;top:12px;width:26%;max-width:180px;aspect-ratio:4/3;object-fit:cover;
        border-radius:10px;border:2px solid #34344a;background:#07070c;z-index:2}
#cEspera{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;
         text-align:center;padding:24px 24px 110px;z-index:1}
#cEspera .sub{color:#B9BEDC}
/* em tela cheia (API do navegador ou reserva por CSS, classe tc-cheia) */
#cPalco.tc-cheia{aspect-ratio:auto;border-radius:0}
#cPalco.tc-cheia #cLocal{top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));
                         width:28%;max-width:170px}
/* o painel translúcido com a fita, sobre o vídeo, ao lado da miniatura e
   acima dos controles; só existe do lado da profissional (ADR-03) */
.cons-fita-overlay{position:absolute;z-index:4;left:calc(12px + env(safe-area-inset-left,0px));right:calc(30% + 20px);
                   top:calc(12px + env(safe-area-inset-top,0px));bottom:calc(118px + env(safe-area-inset-bottom,0px));
                   overflow-y:auto;padding:12px 14px;border-radius:12px;background:rgba(10,12,30,.74);color:#fff;
                   font-size:13.5px;line-height:1.5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cons-fita-overlay .cons-fita-titulo{font-weight:600;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;opacity:.75;margin-bottom:6px}
.cons-fita-overlay .cons-fita-linha{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.cons-fita-overlay .cons-fita-linha b{color:#B9BEDC}
@media (max-width:520px){
  #cPalco:not(.tc-cheia){aspect-ratio:3/4}
  #cLocal{width:33%}
}

/* v24 — registro manual de exame: valor improvável (aviso, não erro) */
.inp.aviso-campo:not(.erro){border-color:#E8A317;box-shadow:0 0 0 3px rgba(232,163,23,.15)}

/* v29 (A8-07): "Pular para o conteúdo" só aparece com foco de teclado; o
   título da tela recebe o foco depois da navegação, sem contorno */
.pular{position:absolute;left:-9999px;top:8px;z-index:10000;background:#fff;color:#1F2440;border:2px solid #4B4FC9;border-radius:10px;padding:8px 14px;font-weight:600;text-decoration:none}
.pular:focus{left:8px}
#palco:focus,#palco h1[tabindex="-1"]:focus{outline:none}
@media print{.pular{display:none}}
/* v29 (A8-06): texto só para leitor de tela (descrição do erro do login) */
.nf-so-leitor{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
