/* App do Kit — Método C.L.A.R.A. · mobile-first, sem dependência externa */
:root{
  --tinta:#2a2531; --tinta-fraca:#5d5668; --acento:#7d4a6b; --acento-escuro:#5f3550;
  --acento-claro:#f6eef3; --borda:#e6dfe4; --fundo:#fdfcfd; --destaque:#f9f6f8;
  --verde:#2f6b4f; --erro:#9b2c2c;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fundo);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.45}
h1,h2,h3{line-height:1.25;margin:0 0 .5em}
h1{font-size:1.4rem} h2{font-size:1.15rem} h3{font-size:1rem}
p{margin:0 0 .9em}
a{color:var(--acento-escuro)}
.wrap{max-width:720px;margin:0 auto;padding:16px}
.oculto{display:none !important}

/* topo e navegação */
.topo{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--borda)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}
.marca{font-weight:700;color:var(--acento-escuro);text-decoration:none}
.topo .esq{display:flex;align-items:center;gap:10px;min-width:0}
.topo #btn-voltar{padding:8px 12px;min-height:40px}
.topo .salvo{flex:1;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:479px){.topo.com-voltar .marca{display:none}}
.topo button{font-size:.9rem}
.salvo{font-size:.8rem;color:var(--tinta-fraca);min-height:1.2em}

/* componentes */
.cartao{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:14px;margin:0 0 12px}
.aviso{background:var(--acento-claro);border-left:4px solid var(--acento);border-radius:6px;padding:12px 14px;margin:0 0 14px;font-size:.95rem}
.privado{background:var(--destaque);border:1px dashed var(--acento);border-radius:8px;padding:12px 14px;margin:0 0 14px;font-size:.95rem}
.erro{color:var(--erro);font-size:.95rem;min-height:1.4em}
.ok{color:var(--verde)}
.fraca{color:var(--tinta-fraca);font-size:.9rem}
label{display:block;font-weight:600;margin:9px 0 3px;font-size:.85rem}
input[type=text],input[type=email],input[type=date],input[type=time],input[type=tel],input[type=number],textarea,select{
  width:100%;font:inherit;font-size:.95rem;padding:8px 10px;border:1px solid #cfc6cc;border-radius:8px;background:#fff;color:var(--tinta)}
textarea{min-height:60px;resize:vertical}
input:focus,textarea:focus,select:focus,button:focus-visible{outline:3px solid #c9a3bd;outline-offset:1px}
.opcoes{display:flex;flex-wrap:wrap;gap:6px}
.opcao{display:flex;align-items:center;gap:8px;font-weight:400;font-size:.92rem;margin:0;padding:6px 10px;border:1px solid var(--borda);
  border-radius:8px;background:#fff;min-height:38px;cursor:pointer}
.opcao input{width:19px;height:19px;margin:0;accent-color:var(--acento)}
.lista-check .opcao{display:flex;width:100%;margin-bottom:5px}
button,.botao{font:inherit;font-weight:600;border-radius:10px;border:1px solid var(--acento);background:var(--acento);color:#fff;
  padding:10px 16px;min-height:42px;font-size:.95rem;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
button.sec,.botao.sec{background:#fff;color:var(--acento-escuro)}
button.link{background:none;border:none;color:var(--acento-escuro);text-decoration:underline;padding:6px;min-height:0;font-weight:400}
button.perigo{background:#fff;color:var(--erro);border-color:var(--erro)}
button[disabled]{opacity:.55;cursor:default}
.acoes{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.etiqueta{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--acento-escuro);background:var(--acento-claro);border-radius:999px;padding:2px 10px;margin-bottom:6px}
table.resumo{width:100%;border-collapse:collapse;font-size:.95rem}
table.resumo td{border-bottom:1px solid var(--borda);padding:8px 4px;vertical-align:top}
table.resumo td:last-child{text-align:right;font-weight:700;white-space:nowrap}
details.ep{border:1px solid var(--borda);border-radius:10px;margin:0 0 10px;background:#fff}
details.ep>summary{padding:11px 14px;cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;
  justify-content:space-between;gap:12px;background:var(--acento-claro);border-radius:10px;min-height:44px;
  -webkit-tap-highlight-color:transparent}
details.ep[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:1px solid var(--borda)}
details.ep>summary::-webkit-details-marker{display:none}
/* deixa claro que abre e fecha */
details.ep>summary::after{content:"Abrir ▾";flex:none;font-size:.78rem;font-weight:700;color:var(--acento-escuro);
  background:#fff;border:1px solid var(--acento);border-radius:999px;padding:4px 12px}
details.ep[open]>summary::after{content:"Fechar ▴"}
details.ep>summary:hover{background:#efdfe8}
details.ep .corpo{padding:0 14px 14px}
.dias{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:6px}
.dia{border:1px solid var(--borda);border-radius:8px;background:#fff;min-height:54px;padding:4px;font-size:.8rem;
  text-align:center;cursor:pointer;color:var(--tinta)}
.dia b{display:block;font-size:.95rem}
.dia.s-L{background:#fbeef5}.dia.s-M{background:#f1d3e4}.dia.s-I{background:#e3a9c9}
.dia.tem-nota::after{content:"•";display:block;line-height:.6}
.dia.sel{outline:3px solid var(--acento)}
.editor-dia{position:sticky;bottom:0;background:#fff;border-top:2px solid var(--acento);padding:12px 16px;margin:12px -16px -16px;z-index:4}

/* entrada */
.entrada{max-width:440px;margin:0 auto;padding:28px 16px 40px}
.entrada h1{margin-bottom:.3em}
.entrada .codigo{font-size:1.5rem;letter-spacing:.35em;text-align:center}
.demo{background:#fff8e1;border:1px solid #e0c36a;border-radius:8px;padding:10px 12px;font-size:.85rem;margin:0 0 14px}

/* folha de impressão */
.folha{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:20px;margin:0 0 16px}
.folha h2{border-bottom:2px solid var(--acento);padding-bottom:6px}
.folha .fala{font-style:italic;background:var(--destaque);padding:12px;border-radius:8px}
.folha table{width:100%;border-collapse:collapse}
.folha td{border:1px solid var(--borda);padding:6px 8px}
.rodape-app{font-size:.85rem;color:var(--tinta-fraca);padding:8px 16px 40px;max-width:720px;margin:0 auto}

@media (min-width:640px){
  body{font-size:17px}
}

/* impressão: só a folha escolhida, sem navegação */
@page{margin:0}
@media print{
  body{background:#fff;font-size:12pt;padding:16mm 18mm}
  .no-print,.topo,.rodape-app,.acoes,button{display:none !important}
  .dia{display:block !important}   /* a grade do diário é feita de botões; precisa sair no papel */
  .editor-dia{display:none !important}
  .wrap{max-width:none;padding:0}
  .folha{border:none;padding:0;margin:0 0 18pt;page-break-after:always}
  body.print-resumo .folha.so-pessoal{display:none}
  body.print-pessoal .folha.so-resumo{display:none}
}

/* convite de instalação */
.cartao.instalar{border-color:var(--acento);background:var(--acento-claro)}
.cartao.instalar:empty{display:none}

/* dia da consulta marcado no diário */
.dia.consulta{border:2px solid var(--acento)}
.dia i{display:block;font-style:normal;font-size:.62rem;font-weight:700;color:var(--acento-escuro);line-height:1.1}

/* Ficha 4 na tela inicial: acompanhamento (calendário), não o "próximo passo" */
.ficha-acomp{margin:0 0 14px;background:var(--acento-escuro);color:#fff;border-radius:14px;padding:16px}
.ficha-acomp h3{color:#fff;margin:6px 0 6px;font-size:1.15rem}
.ficha-acomp p{margin:0 0 6px}
.ficha-acomp .grande{font-size:1.05rem}
.ficha-acomp .etiqueta{background:rgba(255,255,255,.18);color:#fff}
.ficha-acomp .acoes{margin:12px 0 4px}
.ficha-acomp .legenda{font-size:.75rem;opacity:.8;margin:6px 0 0}
.ficha-acomp button.claro,.ficha-acomp .botao.claro{background:#fff;color:var(--acento-escuro);border-color:#fff}
.ficha-acomp .botao.claro.sec{background:transparent;color:#fff;border-color:#fff}
.ficha-acomp a{color:#fff}
.faixa90{display:grid;grid-template-columns:repeat(30,1fr);gap:2px;margin:10px 0 4px}
.faixa90 i{aspect-ratio:1;border-radius:2px;background:rgba(255,255,255,.22)}
.faixa90 i.ok{background:rgba(255,255,255,.6)}
.faixa90 i.s-L{background:#f7c6dc}
.faixa90 i.s-M{background:#ec86b6}
.faixa90 i.s-I{background:#ff4d94}
.faixa90 i.fut{background:rgba(255,255,255,.1)}
.faixa90 i.cons{background:#ffd166}
.faixa90 i.hoje{outline:2px solid #fff;outline-offset:1px}
@media print{.ficha-acomp{display:none}}

/* ───────── refinamento visual (tela inicial e base) ───────── */
body{background:#f5f4f7}
.topo{background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid rgba(0,0,0,.06)}
.topo .dir{display:flex;align-items:center;gap:8px;flex:none}
.topo .dir button{padding:8px 12px;min-height:40px;font-size:.92rem}
.topo .icone{display:inline-flex;align-items:center;gap:6px}
/* botões do topo: discretos, sem contorno */
.topo .dir button,.topo #btn-voltar{background:#f1ecf0;border-color:transparent;color:var(--acento-escuro);border-radius:999px}
.topo .dir button:active,.topo #btn-voltar:active{background:#e6dce3}
@media (max-width:420px){.topo .salvo{display:none}.topo.com-voltar .icone span{display:none}.topo.com-voltar .icone{padding:8px 10px}}
.cartao,.folha,details.ep{border-color:rgba(0,0,0,.07);border-radius:16px}
.titulo-grande{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:6px 0 16px}
.secao{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--tinta-fraca);margin:22px 4px 8px}
.nota-salvo{font-size:.82rem;color:var(--tinta-fraca);margin:6px 4px 14px;text-align:center}

/* próximo passo */
.hero{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:20px;padding:20px;margin:0 0 6px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.hero-rotulo{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--acento)}
.hero h2{font-size:1.45rem;letter-spacing:-.015em;margin:6px 0 6px}
.hero p{color:var(--tinta-fraca);margin:0 0 14px}
.hero .botao{border-radius:12px}

/* lista agrupada, como em Ajustes do iOS */
.lista{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:16px;overflow:hidden;margin:0 0 14px}
.linha{display:flex;align-items:center;gap:14px;padding:13px 16px;text-decoration:none;color:var(--tinta);min-height:60px;
  -webkit-tap-highlight-color:transparent}
.linha + .linha{border-top:1px solid rgba(0,0,0,.07)}
.linha:active{background:#f3eef2}
.linha .num{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.9rem;
  background:#efe9ee;color:var(--acento-escuro)}
.linha .num.on{background:var(--acento);color:#fff}
.linha .txt{flex:1;min-width:0;display:flex;flex-direction:column}
.linha .txt strong{font-weight:600}
.linha .txt small{color:var(--tinta-fraca);font-size:.85rem}
.linha .chev{flex:none;font-size:1.5rem;line-height:1;color:#c3b6bf}
@media (hover:hover){.linha:hover{background:#faf7f9}}

/* acompanhamento (Ficha 4) */
.ficha-acomp{border-radius:20px;scroll-margin-top:84px}
.ficha-acomp.pulso{animation:pulso 1.1s ease-out 1}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(125,74,107,.55)}100%{box-shadow:0 0 0 14px rgba(125,74,107,0)}}
@media (prefers-reduced-motion:reduce){.ficha-acomp.pulso{animation:none}}
.cartao.instalar{border-radius:16px;margin-bottom:12px}
@media print{.hero,.lista{display:none}}

/* título só para leitores de tela (a tela inicial não precisa repetir "Início") */
.so-leitor{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* diário: dia de hoje e dia registrado sem sintoma */
.dia.reg{background:#eef5f0}
.dia.hoje{box-shadow:inset 0 0 0 2px var(--acento)}

/* impressão completa do diário: tabela por mês, em texto */
.diario-impressao{display:none}
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.imprimindo-diario #app > *:not(.diario-impressao):not(h1){display:none !important}
  body.imprimindo-diario .diario-impressao{display:block}
  .imp-mes{page-break-before:always}
  .imp-tab{width:100%;border-collapse:collapse;font-size:10pt;margin:0 0 10pt}
  .imp-tab th,.imp-tab td{border:1px solid #888;padding:3pt 5pt;text-align:left;vertical-align:top}
  .imp-dias td:nth-child(1){width:28pt}
  .imp-dias td:nth-child(2){width:38pt}
  .imp-dias td:nth-child(3){width:64pt}
  .diario-impressao h2,.diario-impressao h3,.diario-impressao h4{margin:6pt 0}
}

/* lixeira no cabeçalho do episódio */
details.ep>summary .ep-titulo{flex:1;min-width:0}
.lixeira{flex:none;width:38px;height:38px;min-height:38px;padding:0;display:grid;place-items:center;border-radius:50%;
  background:#fff;color:var(--erro);border:1px solid rgba(155,44,44,.35)}
.lixeira:hover,.lixeira:active{background:#fbeeee}

/* ───────── impressão das fichas: documento limpo, sem cara de tela ───────── */
@media print{
  html,body{background:#fff !important}
  body{font-size:9.5pt;line-height:1.28;padding:9mm 13mm !important}
  #app:focus,#app:focus-visible{outline:none !important}
  .wrap,#app{padding:0 !important;max-width:none}
  h1{font-size:15pt;margin:0 0 5pt}
  h2{font-size:11.5pt;margin:8pt 0 3pt;break-after:avoid}
  h3{font-size:10.5pt;margin:6pt 0 2pt;break-after:avoid}
  p{margin:0 0 4pt}
  .fora-impressao{display:none !important}
  #app .fraca:not(.fonte),#app .privado,.nota-salvo,.cartao.instalar{display:none !important}
  /* tira o "visual de componente" */
  #app .cartao,#app .folha{border:none !important;border-radius:0 !important;background:none !important;box-shadow:none !important;padding:0 !important;margin:0 0 5pt !important;break-inside:avoid}
  details.ep{border:none !important;border-bottom:1px solid #aaa !important;border-radius:0 !important;background:none !important;margin:0 0 5pt;padding:0 0 4pt;break-inside:avoid}
  details.ep>summary{background:none !important;border:none !important;padding:0 0 2pt !important;min-height:0 !important;font-weight:700;display:block}
  details.ep>summary::after,.lixeira{display:none !important}
  details.ep .corpo{padding:0 !important}
  .opcoes{gap:0 10pt;display:flex;flex-wrap:wrap}
  .opcao,.lista-check .opcao{border:none !important;background:none !important;padding:0 8pt 0 0 !important;min-height:0 !important;margin:0 !important;width:auto;display:inline-flex}
  .opcao input{width:11pt;height:11pt}
  fieldset{break-inside:avoid}
  label{font-size:9pt;margin:4pt 0 1pt;font-weight:600}
  input[type="text"],input[type="date"],input[type="number"],input[type="time"],textarea{
    border:none !important;border-bottom:1px solid #888 !important;border-radius:0 !important;background:none !important;
    padding:1pt 0 !important;font-size:10pt;min-height:0;box-shadow:none !important;resize:none}
  ::placeholder{color:transparent !important}
  table.resumo td{padding:3pt 4pt}
  a{color:inherit;text-decoration:none}
  input[type="date"]::-webkit-calendar-picker-indicator{display:none}
  input.imp-vazio{color:transparent !important}
  #app .folha{break-after:auto !important;page-break-after:auto !important}
  #app .folha.so-resumo{break-after:page !important;page-break-after:always !important}   /* a folha 2 começa em página nova; nada depois dela */
  .diario-impressao .imp-mes:first-of-type{page-break-before:auto}                     /* título e mês 1 juntos */
  #registro label{display:none}
  #registro .cartao{margin:0 0 3pt !important}
}

/* instalar: atalho no topo e folha com o passo a passo */
@media (max-width:420px){#btn-instalar-topo span{display:none}#btn-instalar-topo{padding:8px 10px}}
.folha-instalar{position:fixed;inset:0;z-index:30;background:rgba(20,10,18,.45);display:flex;align-items:flex-end;justify-content:center}
.folha-instalar .conteudo{background:#fff;width:100%;max-width:560px;border-radius:20px 20px 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 30px rgba(0,0,0,.2)}
.folha-instalar h2{margin:0 0 10px}
.folha-instalar ol{padding-left:20px;margin:0 0 10px}
.folha-instalar li{margin-bottom:6px}
@media print{.folha-instalar,#btn-instalar-topo{display:none !important}}

/* ───────── Mapa de Contexto: lista compacta (sem caixas dentro de caixas) ───────── */
.lista-mapa{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:16px;overflow:hidden;margin:0 0 10px}
.item-mapa + .item-mapa{border-top:1px solid rgba(0,0,0,.07)}
.linha-check{display:flex;align-items:center;gap:12px;padding:9px 14px;min-height:46px;margin:0;font-weight:500;
  font-size:.95rem;line-height:1.3;cursor:pointer;-webkit-tap-highlight-color:transparent}
.linha-check input{flex:none;width:21px;height:21px;margin:0;accent-color:var(--acento)}
.linha-check:active{background:#f6f1f5}
.detalhes-mapa{padding:0 14px 8px 47px}
.nota-mapa{padding:0 14px 10px 47px;margin:0;font-size:.82rem}
@media print{
  .lista-mapa{border:none !important;border-radius:0 !important;margin:0 0 4pt;overflow:visible}
  .item-mapa{border:none !important;break-inside:avoid}
  .linha-check{padding:1pt 0 !important;min-height:0 !important;font-weight:600}
  .detalhes-mapa,.nota-mapa{padding:0 0 2pt 16pt !important}
}

/* Roteiro: mesmo padrão do Mapa */
.detalhes-mapa.pad{padding:4px 14px 10px}
.sub-secao{font-size:.82rem;font-weight:600;color:var(--tinta-fraca);margin:12px 4px 6px}
.secao .contagem{color:var(--acento);text-transform:none;letter-spacing:0;margin-left:4px}
@media print{.contagem{display:none}.sub-secao{margin:4pt 0 2pt;font-size:9pt}}

/* "Deixe tudo pronto" (instalar + lembrete) */
.cartao.setup{border-color:var(--acento);background:#fff}
.passo-setup{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--borda);margin-top:10px}
.passo-setup:first-of-type{border-top:none;margin-top:6px}
.passo-setup .ic{flex:none;width:36px;height:36px;border-radius:50%;background:var(--acento-claro);color:var(--acento-escuro);display:grid;place-items:center}
.passo-setup .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.passo-setup small{color:var(--tinta-fraca);font-size:.85rem}
.linha-lembrete{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.linha-lembrete input[type="time"]{width:auto;min-width:112px}
@media print{.cartao.setup{display:none !important}}
