/* CuidaBem DP — v0.1 · SETOR DE NEFROLOGIA - HEVV · Responsável: Kelly Passos
   Paleta: vinho #70202A + verde-petróleo #285050 (referência da identidade do hospital) */
@font-face{font-family:'Sora';font-weight:600;font-display:swap;src:url(fonts/sora-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Sora';font-weight:700;font-display:swap;src:url(fonts/sora-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Sora';font-weight:800;font-display:swap;src:url(fonts/sora-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:400;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:500;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:600;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:700;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-700-normal.woff2) format('woff2')}

:root{
  --vinho:#70202A; --vinho-escuro:#4F1620; --vinho-claro:#F6EBEC;
  --verde:#285050; --verde-claro:#E6EFEE;
  --ok:#2E7D5B; --atencao:#B7791F; --alerta:#B3261E;
  --raio:16px;
}
.theme-light{
  --bg:#FBF7F7; --card:#FFFFFF; --texto:#2B2B2B; --suave:#5C6867; --linha:#E4D6D8;
  --acento:#70202A; --acento2:#285050; --btn:#70202A; --btn-txt:#FFFFFF; --btn-sec:#E6EFEE; --btn-sec-txt:#1E3F3F;
  --tint:#F6EBEC; --tint2:#E6EFEE; --campo:#FFFFFF; --sombra:0 1px 2px rgba(60,20,25,.08),0 4px 14px rgba(60,20,25,.06);
}
.theme-dark{
  --bg:#171113; --card:#241A1D; --texto:#F2EAEB; --suave:#B8A9AC; --linha:#3B2A2F;
  --acento:#EBA5AE; --acento2:#8CC5BE; --btn:#8E2B38; --btn-txt:#FFFFFF; --btn-sec:#2C3F3E; --btn-sec-txt:#D6ECE9;
  --tint:#321D22; --tint2:#1F2D2D; --campo:#1B1214; --sombra:0 1px 2px rgba(0,0,0,.4);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--texto);font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;line-height:1.5;font-size:var(--fs,18px)}
body.fs-1{--fs:18px} body.fs-2{--fs:20.5px} body.fs-3{--fs:23px}
h1,h2,h3{font-family:'Sora','Plus Jakarta Sans',sans-serif;color:var(--acento);line-height:1.25;margin:0 0 .5em}
h1{font-size:1.45em;font-weight:700} h2{font-size:1.15em;font-weight:700} 
p{margin:.4em 0 .8em}
a{color:var(--acento2)} 
.suave{color:var(--suave)} .dica{color:var(--suave);font-size:.88em}
img,svg{max-width:100%}

/* ---- cartões, avisos, botões, campos ---- */
.cartao{background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);padding:1.1em 1.2em;margin:0 0 1em;box-shadow:var(--sombra)}
.cartao.destaque{background:var(--tint);border-color:transparent}
.cartao.em-breve{position:relative;opacity:.9}
.selo{display:inline-block;background:var(--tint2);color:var(--acento2);font-size:.75em;font-weight:700;padding:.15em .7em;border-radius:99px;letter-spacing:.02em}
.aviso{border-radius:12px;padding:.7em 1em;margin:0 0 1em;font-size:.95em;border:1px solid transparent}
.aviso-ok{background:#E3F2EA;color:#1B5A3E;border-color:#BFE0CE}
.aviso-erro{background:#FBE5E3;color:#8E1B14;border-color:#F2BDB8}
.aviso-aviso{background:#FFF3D6;color:#6B4710;border-color:#F1D79A}
.theme-dark .aviso-ok{background:#16342A;color:#BFE9D3;border-color:#245443}
.theme-dark .aviso-erro{background:#3E1B19;color:#FFC9C4;border-color:#6A2C28}
.theme-dark .aviso-aviso{background:#3A2D12;color:#F6DDA2;border-color:#5C4A1F}
label{display:block;font-weight:600;margin:.9em 0 .3em}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=search],select,textarea{
  width:100%;min-height:3em;padding:.6em .8em;font:inherit;color:var(--texto);background:var(--campo);border:2px solid var(--linha);border-radius:12px}
textarea{min-height:5em}
input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--acento2);outline-offset:2px;border-color:var(--acento2)}
.campo-pin{letter-spacing:.5em;text-align:center;font-size:1.4em}
.check{display:flex;gap:.7em;align-items:flex-start;font-weight:500;margin:1em 0}
.check input{width:1.4em;height:1.4em;margin-top:.15em;flex:none;accent-color:var(--vinho)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:3em;padding:.6em 1.3em;border:0;border-radius:12px;background:var(--btn);color:var(--btn-txt);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.1)}
.btn-grande{width:100%;margin-top:1.2em;min-height:3.2em}
.btn-sec{background:var(--btn-sec);color:var(--btn-sec-txt)}
.btn-peq{min-height:2.4em;padding:.3em .9em;font-size:.88em}
.link{background:none;border:0;padding:.4em 0;font:inherit;color:var(--acento2);text-decoration:underline;cursor:pointer;min-height:2.6em}
.linha-link{margin:.2em 0;text-align:center}
.centro-btn{text-align:center;margin:1.2em 0}
.inline{display:inline-block;margin:0 .3em .3em 0}

/* ---- páginas centrais (entrada/login) ---- */
.centro{max-width:30em;margin:0 auto;padding:1.5em 1.1em 1em}
.marca{text-align:center;margin:.8em 0 1.4em}
.marca .simbolo{border-radius:20px;box-shadow:var(--sombra)}
.marca-nome{font-size:1.7em;margin:.5em 0 0;font-weight:800}
.marca-setor{margin:.2em 0 0;color:var(--acento2);font-weight:700;font-size:.82em;letter-spacing:.06em}
.marca-resp{margin:.1em 0 0;color:var(--suave);font-size:.85em}
.centro-rodape{text-align:center;margin-top:1.2em}
.aparencia{display:flex;flex-wrap:wrap;gap:.8em 1.4em;justify-content:center}
.grupo{display:flex;align-items:center;gap:.4em}
.rotulo{color:var(--suave);font-size:.85em;margin-right:.2em}
.chip{display:inline-flex;align-items:center;justify-content:center;min-width:2.8em;min-height:2.6em;padding:.2em .9em;border-radius:99px;border:2px solid var(--linha);text-decoration:none;color:var(--texto);font-weight:600;font-size:.88em;background:var(--card)}
.chip.on{background:var(--btn);border-color:var(--btn);color:var(--btn-txt)}

/* ---- app do paciente ---- */
.topo{background:var(--card);border-bottom:1px solid var(--linha);padding:.7em 1em;padding-top:calc(.7em + env(safe-area-inset-top))}
.topo-marca{display:flex;align-items:center;gap:.7em;max-width:34em;margin:0 auto}
.topo-marca strong{display:block;font-family:'Sora',sans-serif;color:var(--acento);line-height:1.1}
.topo-marca small{display:block;color:var(--acento2);font-weight:700;font-size:.62em;letter-spacing:.06em}
.conteudo{max-width:34em;margin:0 auto;padding:1.2em 1em 1.5em}
.conteudo.texto h2{margin-top:1.4em}
.voltar{display:inline-block;padding:.4em 0}
.dados{display:grid;grid-template-columns:7em 1fr;gap:.3em .8em;margin:0}
.dados dt{color:var(--suave)} .dados dd{margin:0;font-weight:600}
.abas{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);border-top:1px solid var(--linha);padding-bottom:env(safe-area-inset-bottom);z-index:20}
.aba{flex:1;display:flex;flex-direction:column;align-items:center;gap:.1em;padding:.5em .1em .45em;color:var(--suave);text-decoration:none;font-size:.7em;font-weight:700;min-height:4.4em}
.aba .ico{width:1.9em;height:1.9em}
.aba.on{color:var(--acento)} .aba.on .ico{stroke-width:2.6}
.com-abas .rodape{margin-bottom:5.5em}

/* ---- rodapé e splash ---- */
.rodape{max-width:60em;margin:0 auto;padding:1em;text-align:center;color:var(--suave);font-size:.72em;display:flex;flex-direction:column;gap:.2em}
.rodape-v{opacity:.7}
.splash{position:fixed;inset:0;z-index:100;background:var(--vinho);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5em;transition:opacity .4s}
.splash.some{opacity:0}
.splash .simbolo{border-radius:24px}
.splash-nome{font-family:'Sora',sans-serif;font-weight:800;font-size:1.8em}
.splash-setor{font-size:.8em;letter-spacing:.08em;opacity:.85}

/* ---- painel da equipe ---- */
.area-equipe{--fs:16px}
.area-equipe.fs-2{--fs:18px} .area-equipe.fs-3{--fs:20px}
.eq-top{background:var(--vinho);color:#fff;padding:.8em 1.2em;display:flex;flex-wrap:wrap;align-items:center;gap:.6em 1.6em}
.eq-id{display:flex;align-items:center;gap:.8em}
.eq-id .simbolo{background:#fff;border-radius:11px}
.eq-app{font-family:'Sora',sans-serif;font-weight:800;font-size:1.15em;line-height:1.1}
.eq-setor{font-size:.78em;font-weight:700;letter-spacing:.04em;opacity:.95}
.eq-nav{display:flex;flex-wrap:wrap;gap:.3em;flex:1}
.eq-nav a{color:#fff;text-decoration:none;padding:.5em .9em;border-radius:10px;font-weight:600;font-size:.92em}
.eq-nav a:hover{background:rgba(255,255,255,.14)} .eq-nav a.on{background:#fff;color:var(--vinho)}
.eq-nav .num{display:inline-block;margin-left:.45em;background:#E8B64C;color:#3A2600;border-radius:99px;padding:0 .55em;font-size:.82em;font-weight:800}
.eq-user{display:flex;align-items:center;gap:.8em;font-size:.88em}
.eq-user small{opacity:.8}
.eq-user .btn-sec{background:rgba(255,255,255,.18);color:#fff}
.eq-main{max-width:75em;margin:0 auto;padding:1.4em 1.2em}
.eq-main h2{margin-top:1.4em}
.grade-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(11em,1fr));gap:.9em;margin-bottom:1.2em}
.card-num{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--linha);border-left:6px solid var(--verde);border-radius:var(--raio);padding:1em 1.1em;text-decoration:none;color:var(--texto);box-shadow:var(--sombra)}
.card-num .n{font-family:'Sora',sans-serif;font-size:2.2em;font-weight:800;color:var(--acento);line-height:1.1}
.card-num.amarelo{border-left-color:var(--atencao)} .card-num.vermelho{border-left-color:var(--alerta)}
.filtros{display:flex;flex-wrap:wrap;gap:.6em;margin-bottom:1em} .filtros input{flex:1;min-width:12em;width:auto} .filtros select{width:auto}
.tabela-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra)}
table{width:100%;border-collapse:collapse;font-size:.92em}
th{background:var(--tint);color:var(--acento);text-align:left;font-size:.85em;padding:.7em .9em;white-space:nowrap}
td{padding:.7em .9em;border-top:1px solid var(--linha);vertical-align:top}
.acoes{min-width:14em}
.badge{display:inline-block;padding:.12em .65em;border-radius:99px;font-size:.78em;font-weight:700;white-space:nowrap}
.b-verde{background:#DDF0E6;color:#1B5A3E} .b-amarelo{background:#FFF0CC;color:#6B4710} .b-vermelho{background:#FBDAD6;color:#8E1B14} .b-azul{background:#DCEBF7;color:#1B4B6E} .b-cinza{background:#ECE7E8;color:#4A4244}
.theme-dark .b-verde{background:#16342A;color:#BFE9D3} .theme-dark .b-amarelo{background:#3A2D12;color:#F6DDA2} .theme-dark .b-vermelho{background:#4A1D1A;color:#FFC9C4} .theme-dark .b-azul{background:#183247;color:#BFE0F6} .theme-dark .b-cinza{background:#2E2527;color:#CDBFC2}
.notas summary{cursor:pointer;color:var(--acento2);font-weight:600;font-size:.9em;padding:.3em 0}
.notas textarea{margin:.4em 0}
.form-linha{max-width:28em}

@media (max-width:640px){
  .eq-top{flex-direction:column;align-items:flex-start}
  table,thead,tbody,tr,td{display:block}
  thead{display:none}
  tr{border-top:1px solid var(--linha);padding:.5em 0}
  td{border:0;padding:.25em .9em}
  td[data-l]::before{content:attr(data-l) ': ';color:var(--suave);font-weight:600}
  .acoes{min-width:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
