/* unanti psi: base das telas (painel, conta, paciente, sala, admin). Padrao visual do painel.unanti.com (api 0.3.9):
   marinho #040E13, ciano #00DBFF so em fundo escuro ou como fundo de botao, texto/link/foco em fundo claro #006F86,
   cartoes brancos com sombra, botoes pilula. */
:root{--marinho:#040E13;--marinho-2:#0A2531;--ciano:#00DBFF;--ciano-hover:#5CE6FF;--ce:#006F86;--nevoa:#EAF4F6;--cinza:#F5F5F5;--papel:#fff;
  --tinta:#0B1A22;--tinta-2:#475663;--linha:#D9DFE4;--campo:#B3BEC6;--suave:#EEF1F4;--ok:#2F6B5E;--ok-f:#DDF3EA;--erro:#B3261E;--erro-f:#FBE4E2;--alerta:#6B4E00;--alerta-f:#FFF4D6;
  --raio:18px;--raio-p:10px;--sombra:0 1px 0 rgba(4,14,19,.06),0 12px 32px -14px rgba(4,14,19,.28);--sombra-p:0 1px 0 rgba(4,14,19,.05),0 6px 18px -12px rgba(4,14,19,.3);
  --f-titulo:"Bricolage Grotesque",system-ui,sans-serif;--f-texto:"Figtree",system-ui,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;touch-action:manipulation;background:var(--cinza)}
body{margin:0;background:var(--cinza);color:var(--tinta);font:16px/1.5 var(--f-texto)}
h1,h2,h3{font-family:var(--f-titulo);letter-spacing:-.02em;line-height:1.12;margin:0 0 .45em}
h1{font-size:1.7rem}h2{font-size:1.3rem}h3{font-size:1.08rem}
a{color:var(--ce)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--ce);outline-offset:2px;border-radius:6px}
.escuro :focus-visible{outline-color:var(--ciano)}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* marca */
.marca{font-family:var(--f-titulo);font-weight:800;font-size:1.4rem;letter-spacing:-.04em;text-decoration:none;color:inherit;display:inline-flex;align-items:baseline;gap:.3em;white-space:nowrap}
.marca .ic{display:inline-block;position:relative;font-style:normal;margin-left:.04em;line-height:1}
.marca .ic::before{content:"";position:absolute;left:50%;bottom:.7em;width:.34em;height:.47em;transform:translateX(-50%);background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 72 100%22%3E%3Cdefs%3E%3ClinearGradient id=%22g%22 x1=%220%22 y1=%221%22 x2=%220%22 y2=%220%22%3E%3Cstop offset=%220%22 stop-color=%22%23006F86%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%2300DBFF%22/%3E%3Cstop offset=%221%22 stop-color=%22%237ff0ff%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M36 100 C14 100 2 84 6 64 C9 50 20 44 22 30 C30 38 31 46 30 54 C38 44 40 24 34 0 C50 12 62 30 64 50 C66 60 64 66 60 72 C66 70 68 66 70 62 C74 82 60 100 36 100Z%22 fill=%22url%28%23g%29%22/%3E%3Cpath d=%22M36 98 C26 98 20 90 22 80 C24 72 30 68 31 60 C36 66 37 70 36 76 C42 72 44 64 43 58 C50 66 52 74 50 84 C48 92 43 98 36 98Z%22 fill=%22%23dffaff%22/%3E%3C/svg%3E") center/contain no-repeat}
.marca .psi{font-family:var(--f-texto);font-weight:500;font-size:.6em;letter-spacing:.02em;border-radius:999px;padding:.05em .55em .12em;transform:translateY(-.16em);color:var(--ciano);border:1.5px solid rgba(0,219,255,.55)}
.claro .marca .psi,.marca.claro .psi{color:var(--ce);border-color:#8FC3CF}
/* topo do painel */
.topo{background:var(--marinho);color:var(--cinza);padding:12px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 rgba(245,245,245,.06)}
nav.abas{display:flex;gap:4px;overflow-x:auto;flex:1;scrollbar-width:none}nav.abas::-webkit-scrollbar{display:none}
nav.abas a{color:#C5D0D8;padding:8px 14px;min-height:40px;display:inline-flex;align-items:center;border-radius:999px;text-decoration:none;white-space:nowrap;font-weight:600}
nav.abas a:hover{color:#fff;background:rgba(245,245,245,.08)}
nav.abas a[aria-current=page]{background:var(--ciano);color:var(--marinho)}
.topo .sair{margin-left:auto;background:none;border:1px solid rgba(245,245,245,.3);color:var(--cinza);border-radius:999px;padding:6px 14px;cursor:pointer;min-height:36px}
@media (max-width:760px){nav.abas{order:3;flex-basis:100%;margin:0 -16px;padding:0 16px 2px}}
main:focus{outline:none}
main{max-width:1180px;margin:0 auto;padding:20px 16px 72px}
/* blocos */
.caixa{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra-p);padding:18px;margin-bottom:16px}
.caixa>h2:first-child,.caixa>h3:first-child{margin-top:0}
.cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 18px}
.cartao{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio-p);box-shadow:var(--sombra-p);padding:14px 16px}
.cartao b{display:block;font-family:var(--f-titulo);font-size:1.5rem;line-height:1.1}
.cartao span{color:var(--tinta-2);font-size:.88rem}
.grade2{display:grid;gap:16px}@media (min-width:900px){.grade2{grid-template-columns:320px minmax(0,1fr);align-items:start}}
.linha{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.entre{justify-content:space-between}
.dica{color:var(--tinta-2);font-size:.88rem;margin:6px 0 0}
.vazio{color:var(--tinta-2);padding:10px 0}
/* botoes */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--marinho);color:var(--cinza);border:0;border-radius:999px;padding:9px 18px;font-weight:700;cursor:pointer;min-height:42px;text-decoration:none;transition:background-color .15s ease,transform .1s ease}
.btn:hover{background:var(--marinho-2)}
.btn:active{transform:scale(.98)}
.btn.c{background:var(--ciano);color:var(--marinho)}.btn.c:hover{background:var(--ciano-hover)}
.btn.l{background:transparent;color:var(--marinho);border:1.5px solid var(--marinho)}.btn.l:hover{background:var(--suave)}
.btn.ok{background:var(--ok);color:#fff}
.btn.perigo{background:transparent;color:var(--erro);border:1.5px solid #E3A9A4}
.btn.p{padding:5px 12px;min-height:34px;font-size:.88rem}
.btn:disabled{opacity:.5;cursor:default}
.btn.grande{min-height:52px;padding:0 26px;font-size:1.05rem}
@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:active{transform:none}}
/* formularios */
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px}
label small{font-weight:500;color:var(--tinta-2)}
input,select,textarea{width:100%;border:1.5px solid var(--campo);border-radius:var(--raio-p);padding:10px 12px;background:#fff;min-height:44px;font-size:16px}
textarea{min-height:110px;resize:vertical;line-height:1.5}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,111,134,.35);border-color:var(--ce)}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--ce)}
.campo{margin-bottom:12px}
.form-g{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.check input{margin-top:4px}
/* tabelas */
.tab{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.94rem}
th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--linha);vertical-align:top}
th{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-2);font-weight:700;white-space:nowrap}
td.n,th.n{text-align:right;white-space:nowrap}
/* etiquetas */
.tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:700;background:#E6EBEF;white-space:nowrap}
.tag.ok{background:var(--ok-f);color:var(--ok)}.tag.no{background:var(--erro-f);color:var(--erro)}.tag.q{background:var(--nevoa);color:var(--ce)}.tag.a{background:var(--alerta-f);color:var(--alerta)}
.faixa{border-radius:12px;padding:12px 14px;margin-bottom:14px;font-weight:500}
.faixa.a{background:var(--alerta-f);color:var(--alerta)}.faixa.no{background:var(--erro-f);color:var(--erro)}.faixa.ok{background:var(--ok-f);color:#1F4D42}.faixa.q{background:var(--nevoa);color:#0B4E5E}
/* toast */
#aviso{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--marinho);color:var(--cinza);padding:12px 18px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:60;max-width:92vw}
#aviso.erro{background:var(--erro)}
/* login centralizado */
.cx-login{max-width:440px;width:calc(100% - 32px);margin:8vh auto 40px;background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:28px 24px;box-shadow:var(--sombra)}
.cx-login .marca{color:var(--marinho);font-size:2rem;margin-bottom:14px}
.cx-login .marca .psi{color:var(--ce);border-color:#8FC3CF}
.codigo{font-size:1.6rem;letter-spacing:.4em;text-align:center;font-family:ui-monospace,Menlo,monospace}
/* dialogo */
dialog{border:0;border-radius:var(--raio);padding:0;max-width:min(620px,94vw);width:100%;box-shadow:0 30px 80px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(4,14,19,.55)}
dialog .dl{padding:20px}
dialog .dl-pe{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
/* lista lateral */
.lista{display:grid;gap:8px}
.lista button{all:unset;box-sizing:border-box;display:block;cursor:pointer;background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio-p);box-shadow:var(--sombra-p);padding:10px 12px}
.lista button:hover{border-color:var(--tinta-2)}
.lista button[aria-current=true]{border-color:var(--ce);box-shadow:0 0 0 1px var(--ce),0 0 0 5px rgba(0,219,255,.18)}
.lista button:focus-visible{outline:3px solid var(--ce)}
.lista small{display:block;color:var(--tinta-2)}
/* sub-abas */
.subabas{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.subabas button{border:1.5px solid #B9CFD5;background:transparent;border-radius:999px;padding:7px 14px;font-weight:600;cursor:pointer;min-height:40px}
.subabas button[aria-selected=true]{background:var(--marinho);border-color:var(--marinho);color:var(--cinza)}
.pre{white-space:pre-wrap;background:#FBFCFC;border:1px solid var(--linha);border-left:3px solid #8FC3CF;border-radius:10px;padding:12px 14px;line-height:1.55}
.peq{font-size:.85rem;color:var(--tinta-2)}
.rodape-app{text-align:center;color:var(--tinta-2);font-size:.82rem;padding:24px 16px}
