/* ============================================================
   BitClinic — base compartilhada do site (index, plano, páginas legais)
   Direção 2026-11 "o dia da clínica": uma família só (Atkinson
   Hyperlegible Next, desenhada para leitura fácil), papel clínico frio,
   teal da marca como tinta, marca-texto amarelo só para anotar o produto.
   Nada de vidro, aurora ou degradê decorativo.
   ============================================================ */
:root{
  --papel:#f3f6f5;        /* fundo: lençol de maca, frio e claro */
  --branco:#ffffff;
  --tinta:#112a2e;        /* texto principal */
  --tinta-2:#44595a;      /* texto secundário (AA sobre papel e branco) */
  --fio:#d5dfdd;          /* linhas de grade da agenda */
  --fio-2:#e6eceb;
  --teal:#0e7490;         /* marca */
  --teal-2:#155e63;       /* marca escura / títulos de apoio */
  --ciano:#06b6d4;        /* só sobre fundo escuro */
  --consultorio:#0c3337;  /* faixa escura do consultório */
  --marca-texto:#f6e05e;  /* anotações sobre o produto */
  --ok:#15803d; --pend:#a15c07; --falta:#b42318;
  --wa-bolha:#d9fdd3;     /* convenção do WhatsApp */
  --fonte:"Atkinson Hyperlegible Next",system-ui,-apple-system,"Segoe UI",sans-serif;   /* narração: leitura fácil */
  --disp:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;          /* títulos, horas e o próprio produto */
  --larg:1240px;
  --mola:cubic-bezier(.2,.9,.25,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{font-family:var(--fonte);font-size:17.5px;line-height:1.55;color:var(--tinta);background:var(--papel);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
img,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--marca-texto);color:var(--tinta)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}
.escuro :focus-visible{outline-color:var(--ciano)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pular{position:absolute;left:12px;top:-80px;z-index:200;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:6px;font-weight:700;text-decoration:none}
.pular:focus{top:12px}
.casca{max-width:var(--larg);margin:0 auto;padding:0 clamp(20px,4vw,48px)}

/* ---------- links e botões ---------- */
.lk{color:var(--teal);font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,var(--teal) 40%,transparent);transition:text-decoration-color .2s}
.lk:hover{text-decoration-color:currentColor}
.escuro .lk{color:#7fe3f2;text-decoration-color:rgba(127,227,242,.45)}
.bt{font-family:var(--disp);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:10px;font-weight:700;font-size:16.5px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background-color .18s,border-color .18s,color .18s,transform .12s var(--mola),box-shadow .18s;white-space:nowrap}
.bt:active{transform:translateY(1px) scale(.985)}
.bt svg{width:19px;height:19px;flex:none}
.bt-1{background:var(--teal);color:#fff;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.bt-1:hover{background:var(--teal-2)}
.bt-2{background:transparent;color:var(--tinta);border-color:color-mix(in srgb,var(--tinta) 35%,transparent)}
.bt-2:hover{border-color:var(--tinta);background:var(--branco)}
.escuro .bt-1{background:#e8fbfd;color:var(--consultorio);box-shadow:none}
.escuro .bt-1:hover{background:#fff}
.escuro .bt-2{color:#fff;border-color:rgba(255,255,255,.45)}
.escuro .bt-2:hover{border-color:#fff;background:rgba(255,255,255,.06)}

/* ---------- cabeçalho ---------- */
.topo{position:sticky;top:0;z-index:60;background:var(--papel);border-bottom:1px solid transparent;transition:border-color .2s,background-color .2s}
.topo.rolou{border-bottom-color:var(--fio);background:color-mix(in srgb,var(--papel) 96%,#fff)}
.topo .casca{display:flex;align-items:center;gap:28px;height:72px}
.topo .marca img{height:30px;width:auto}
.topo nav.principal{display:flex;gap:4px;margin-left:auto}
.topo nav.principal a{padding:8px 12px;border-radius:6px;text-decoration:none;font-weight:600;font-size:16px;color:var(--tinta-2);transition:color .15s,background-color .15s}
.topo nav.principal a:hover{color:var(--tinta);background:var(--fio-2)}
.topo .acoes{display:flex;align-items:center;gap:8px}
.topo .acoes .entrar{font-weight:700;text-decoration:none;padding:10px 14px;border-radius:6px;font-size:16px}
.topo .acoes .entrar:hover{background:var(--fio-2)}
.topo .acoes .bt{min-height:42px;padding:0 18px;font-size:15.5px}
.topo .so-volta{margin-left:auto;font-weight:700;text-decoration:none;padding:10px 14px;border-radius:6px;color:var(--tinta-2)}
.topo .so-volta:hover{background:var(--fio-2);color:var(--tinta)}
.hamb{display:none;margin-left:auto;width:46px;height:46px;border-radius:8px;border:1.5px solid var(--fio);background:var(--branco);cursor:pointer;align-items:center;justify-content:center}
.hamb span{position:relative;display:block;width:20px;height:2px;background:var(--tinta);transition:background-color .2s}
.hamb span::before,.hamb span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--tinta);transition:transform .25s var(--mola)}
.hamb span::before{top:-6px}.hamb span::after{top:6px}
.hamb[aria-expanded="true"] span{background:transparent}
.hamb[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.hamb[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
.menu-movel{display:none}
@media (max-width:1020px){
  .topo nav.principal,.topo .acoes{display:none}
  .hamb{display:inline-flex}
  .menu-movel{display:block;position:absolute;left:0;right:0;top:100%;background:var(--branco);border-bottom:1px solid var(--fio);box-shadow:0 24px 40px -24px rgba(17,42,46,.35);padding:8px 0 22px;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .25s var(--mola),visibility 0s .25s}
  .menu-movel.aberto{visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .25s var(--mola)}
  .menu-movel a.it{display:block;padding:14px clamp(20px,4vw,48px);font-weight:700;font-size:18px;text-decoration:none;border-bottom:1px solid var(--fio-2)}
  .menu-movel .mm-acoes{display:grid;gap:10px;padding:18px clamp(20px,4vw,48px) 0}
}

/* ---------- rodapé ---------- */
.rodape{background:var(--branco);border-top:1px solid var(--fio);padding:56px 0 32px;font-size:15.5px;color:var(--tinta-2)}
.rodape .grade-rod{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px 48px}
.rodape .marca img{height:28px;width:auto;margin-bottom:16px}
.rodape p{max-width:38ch}
.rodape h2{font-family:var(--disp);font-size:15.5px;font-weight:800;color:var(--tinta);margin-bottom:10px;letter-spacing:0}
.rodape ul{list-style:none;display:grid;gap:6px}
.rodape a{text-decoration:none;color:var(--tinta-2)}
.rodape a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:.2em}
.rodape .contatos a{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--tinta)}
.rodape .contatos svg{width:17px;height:17px;color:var(--teal)}
.rodape .base{margin-top:44px;padding-top:24px;border-top:1px solid var(--fio-2);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px}
.rodape .dev{display:flex;align-items:center;gap:14px;text-decoration:none}
.rodape .dev img{height:40px;width:auto}
.rodape .dev b{display:block;color:var(--tinta)}
.rodape .dev .selo-meta{height:48px;width:auto;border-radius:6px}
.rodape .dev img:first-child{height:48px}
.rodape .legal{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14.5px}
@media (max-width:820px){.rodape .grade-rod{grid-template-columns:1fr 1fr}.rodape .grade-rod>:first-child{grid-column:1/-1}}

/* ---------- conversa de WhatsApp desenhada (home e /plano) ---------- */
.fone,.col-agenda,.folha,.guia{font-family:var(--disp)}
.fone{position:relative;z-index:2;background:#efeae2;border-radius:22px;border:7px solid var(--tinta);box-shadow:0 30px 60px -34px rgba(17,42,46,.55);overflow:hidden;min-height:452px}
.fone-top{display:flex;align-items:center;gap:10px;background:var(--teal-2);color:#fff;padding:12px 14px}
.fone-top .av{width:34px;height:34px;border-radius:50%;background:#e8fbfd;color:var(--teal-2);display:grid;place-items:center;font-weight:800;font-size:13px}
.fone-top b{display:block;font-size:15px;line-height:1.2}
.fone-top small{font-size:12.5px;opacity:.85}
.msgs{list-style:none;display:flex;flex-direction:column;gap:8px;padding:14px 12px 18px}
.m{max-width:86%;padding:8px 11px 6px;border-radius:10px;font-size:15px;line-height:1.38;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.08);color:#1b2b2d}
.m time{display:block;text-align:right;font-size:11.5px;color:#5d6b6b;margin-top:2px}
.m.pac{align-self:flex-start;border-top-left-radius:2px}
.m.cli{align-self:flex-end;background:var(--wa-bolha);border-top-right-radius:2px}
.m .quem{display:block;font-size:12px;font-weight:700;color:var(--teal-2);margin-bottom:2px}
.opcoes{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.op{flex:1 1 auto;text-align:center;font-size:14px;font-weight:700;color:var(--teal-2);background:#fff;border:1px solid #bfe3d9;border-radius:8px;padding:6px 8px}
.sis{align-self:center;font-size:12.5px;font-weight:700;color:var(--teal-2);background:#e3f4f1;border-radius:6px;padding:4px 10px}
.digitando{align-self:flex-start;display:flex;gap:4px;background:#fff;border-radius:10px;padding:10px 12px;overflow:hidden}
.digitando i{width:6px;height:6px;border-radius:50%;background:#8a9a99;animation:pisca 1s infinite}
.digitando i:nth-child(2){animation-delay:.15s}.digitando i:nth-child(3){animation-delay:.3s}
@keyframes pisca{0%,100%{opacity:.3}50%{opacity:1}}


/* sequência única do topo (desligada com ?all=1 e prefers-reduced-motion) */
.anim .seq{opacity:0;transform:translateY(10px);animation:entra .5s var(--mola) var(--d,0s) forwards}
.anim .digitando{opacity:0;max-height:0;padding-block:0;animation:digita 1.15s ease var(--d) forwards}
.anim .op.esc{animation:toque .35s ease var(--d) forwards}
.anim .ev.nova{clip-path:inset(0 100% 0 0);animation:escreve .7s cubic-bezier(.6,0,.2,1) var(--d) forwards}
@keyframes entra{to{opacity:1;transform:none}}
@keyframes digita{0%{opacity:0;max-height:0;padding-block:0}12%,85%{opacity:1;max-height:40px;padding-block:10px}100%{opacity:0;max-height:0;padding-block:0;margin-top:-8px}}
@keyframes toque{to{background:var(--teal-2);color:#fff;border-color:var(--teal-2)}}
@keyframes escreve{to{clip-path:inset(0 0 0 0)}}
.sem-anim .seq{opacity:1;transform:none;animation:none}
.sem-anim .digitando{display:none}
.sem-anim .ev.nova{clip-path:none;animation:none}
.sem-anim .op.esc{background:var(--teal-2);color:#fff;border-color:var(--teal-2);animation:none}
@media (prefers-reduced-motion:reduce){.digitando{display:none!important}}


@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important}
}

a[data-tel]{white-space:nowrap}

/* ============================================================
   TEMA ESCURO — segue o aparelho (prefers-color-scheme).
   Só troca os tokens; o que é "papel de verdade" (o celular com a
   conversa, o odontograma, a guia TISS e o registro do escriba)
   continua claro, como na vida real.
   ============================================================ */
@media (prefers-color-scheme:dark){
  :root{
    color-scheme:dark;
    --papel:#0b1a1d; --branco:#11262a; --tinta:#e4efed; --tinta-2:#a6bcba;
    --fio:#26413f; --fio-2:#1b3336;
    --teal:#3cc4d8; --teal-2:#7fe3f2; --consultorio:#061214;
    --ok:#4ade80; --pend:#f5b54a; --falta:#ff7b72;
  }
  /* superfícies que continuam claras (com os tokens claros dentro) */
  html .fone,html .odonto-box,html .guia,html .escriba .registro{
    --papel:#f3f6f5; --branco:#fff; --tinta:#112a2e; --tinta-2:#44595a;
    --fio:#d5dfdd; --fio-2:#e6eceb; --teal:#0e7490; --teal-2:#155e63;
    --ok:#15803d; --pend:#a15c07; --falta:#b42318;
    color:var(--tinta);
  }
  html .fone{border-color:#2c4a4c}
  /* botão principal: claro sobre escuro, como na faixa do consultório */
  html .bt-1{background:#5fd4e6;color:#062a30;box-shadow:none}
  html .bt-1:hover{background:#8ae4f1}
  html .bt-2:hover{background:rgba(255,255,255,.05)}
  /* amarelo de anotação sempre com tinta escura */
  ::selection,html .pino,html .legendas .n,html .folha .marca-texto,html .ev.nova{color:#112a2e}
  html .perguntas details[open] .mais-ic::before,html .perguntas details[open] .mais-ic::after{background:#112a2e}
  html .ev{background:color-mix(in srgb,var(--ciano) 14%,var(--branco))}
  html .tela .barra{background:var(--fio-2)}
  html .calc input{background:var(--papel)}
  html .selo-ia,html .pular{background:var(--tinta);color:var(--papel)}
  /* faixas de fechamento: teal escuro em vez do teal claro */
  html .convite,html .fecho{background:#0c4348}
  html .convite .bt-1,html .fecho .bt-1{background:#fff;color:#155e63}
  html .convite .bt-1:hover,html .fecho .bt-1:hover{background:#e8fbfd}
  html .btn-rever{background:#5fd4e6!important;color:#062a30!important}
  /* marcas de terceiros (Codifica, Meta) ficam numa plaquinha branca */
  html .rodape .dev img,html .mtp img{background:#fff;padding:4px 6px;border-radius:6px}
  /* telas reais do sistema: um pouco menos de brilho no escuro */
  html .tela img,html .mesa .print img,html .print-larga img,html .telas img{filter:brightness(.94)}
}
