/* ============================================================
   Prisma Diagnóstico · só o que o kit não cobre.
   Tudo o que já existe em kit/base-app.css fica lá.
   ============================================================ */

:root{ --marca:#2C5DB8; }

/* Fundo escuro usado só dentro do visualizador de imagem */
:root{
  --visor:#0B0D10; --visor-fio:#1B2029; --visor-fio-2:#2A323D;
  --visor-txt:#98A2AF; --visor-txt-2:#E5EAF0;
}

body{overflow-x:hidden}
.ico{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- ajustes finos de casca ---------- */
.page > .demo-aviso{margin-top:2px}
.sec-titulo{display:flex;align-items:baseline;justify-content:flex-start;gap:12px;flex-wrap:wrap}
.sec-titulo p{color:var(--metal);font-size:12.5px}
.acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.icone{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.grid > *,.split > *{min-width:0}
.card .nota{font-size:12px;color:var(--metal);margin-top:10px;line-height:1.5}

/* ---------- gráficos SVG ---------- */
.gr{width:100%;overflow:hidden}
.gr svg{display:block;margin:0 auto}
.legenda{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--metal)}
.legenda span{display:inline-flex;align-items:center;gap:7px}
.legenda i{width:14px;height:2px;background:var(--metal);border-radius:2px;flex:none}
.legenda i.marca{background:var(--marca);height:2px}
.legenda i.meta{background:transparent;border-top:2px dashed var(--warn);height:0}

/* ---------- 01 Painel ---------- */
.medico + .medico{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.medico .funil{margin-top:12px}
.medico .funil .etapa{grid-template-columns:96px 1fr 54px}
.prio{display:flex;flex-direction:column;gap:14px}
.prio .it .topo{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.prio .it .nome{color:var(--ink);font-weight:500;font-size:13px}
.prio .it .qtd{font-family:var(--font-mono);font-size:14px;color:var(--ink)}
.prio .it .leitura{font-size:12px;color:var(--metal);margin-top:6px}
.evento{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}
.evento:last-child{border-bottom:0}
.evento .h{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.06em}
.evento .t{font-size:13px;color:var(--ink-2);line-height:1.45}
@media (max-width:520px){
  .evento{grid-template-columns:48px minmax(0,1fr);gap:4px 12px}
  .evento .badge{grid-column:2}
}

/* ---------- 02 Imagem: leitor de três colunas ---------- */
.leitor{display:grid;grid-template-columns:266px minmax(0,1fr) 356px;gap:16px;align-items:start}
@media (max-width:1320px){
  .leitor{grid-template-columns:240px minmax(0,1fr)}
  .leitor .col-laudo{grid-column:1 / -1}
}
@media (max-width:880px){
  .leitor{grid-template-columns:1fr}
  .leitor .col-laudo{grid-column:auto}
}
.col-lista{max-height:736px;display:flex;flex-direction:column}
.col-lista .cabeca{padding:13px 14px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex:none}
.col-lista .cabeca h2{font-size:13px}
.col-lista .rolagem{overflow:auto;flex:1;min-height:0}
.exame{display:block;width:100%;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);cursor:pointer;max-height:160px;overflow:hidden;transition:background var(--t-fast) var(--ease)}
.exame:hover{background:var(--marca-06)}
.exame.ativo{background:var(--marca-10)}
.exame .id{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--marca-escura)}
.exame .p{display:block;color:var(--ink);font-weight:500;font-size:13px;margin-top:3px}
.exame .m{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:11.5px;color:var(--metal)}
.exame.saindo{max-height:0;padding-top:0;padding-bottom:0;border-bottom-color:transparent;opacity:0;transform:translateX(-18px);transition:all var(--t-slow) var(--ease)}
.vazio{padding:22px 14px;font-size:12.5px;color:var(--metal)}

.visor{background:var(--visor);border:1px solid var(--visor-fio);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column}
.visor .barra{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--visor-fio);flex-wrap:wrap}
.visor .barra .nome{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--visor-txt);margin-right:auto}
.dica-cam{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#5E6875;margin-left:auto}
.ferr{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r);color:var(--visor-txt);border:1px solid var(--visor-fio-2);transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
.ferr:hover{color:var(--visor-txt-2);border-color:#4A5563;background:#141A21}
.ferr svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.toggle.escuro{border-color:var(--visor-fio-2)}
.toggle.escuro button{color:var(--visor-txt)}
.toggle.escuro button.ativo{background:#16202D;color:#9CC0FF}
.palco{position:relative;width:100%;max-width:436px;aspect-ratio:4 / 5;margin:16px auto;background:var(--visor)}
.palco.aviso{aspect-ratio:auto;min-height:280px;display:grid;place-items:center;padding:48px 0}
.palco img,.palco .base{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.camada{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity var(--t) var(--ease)}
.camada.on{opacity:1}
.visor .rod{display:flex;align-items:center;gap:6px 16px;padding:9px 12px;border-top:1px solid var(--visor-fio);flex-wrap:wrap;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#6B7583}

.achado{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:5px 10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.achado:last-of-type{border-bottom:0}
.achado .t{font-size:12.5px;color:var(--ink);line-height:1.35}
.achado .v{font-family:var(--font-mono);font-size:12px;color:var(--ink);text-align:right}
.achado .bar{grid-column:1 / -1}
.rascunho{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:9px}
.rascunho .l{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;align-items:start}
.rascunho .l b{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.rascunho .l span{font-size:12.5px;line-height:1.5;color:var(--ink-2)}
.botoes{display:flex;gap:8px;flex-wrap:wrap}
.botoes .btn{flex:1;min-width:118px}
.aprovado{border:1px solid var(--ok);background:var(--ok-bg);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:8px}
.aprovado .tt{display:flex;align-items:center;gap:8px;color:var(--ok);font-weight:600;font-size:13px}
.aprovado p{font-size:12.5px;color:var(--ink-2);line-height:1.5}

.mod-card{display:flex;gap:12px;align-items:flex-start}
.mod-card .mini{width:54px;height:54px;border-radius:var(--r);border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;overflow:hidden;flex:none;color:var(--marca)}
.mod-card .mini img,.mod-card .mini .cheia{width:100%;height:100%;object-fit:cover}
.mod-card .mini .icone{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.mod-card h3{font-size:13.5px}
.mod-card .nota{font-size:12px;color:var(--metal);margin:5px 0 8px;line-height:1.45}

/* ---------- tabelas que rolam dentro do cartão ---------- */
.rol{overflow:auto;max-height:560px}
.rol .table{min-width:660px}
.rol thead th{position:sticky;top:0;background:var(--white);z-index:1}
.rol-curta{max-height:420px}
.rol-livre{max-height:none}
.card-alto{display:flex;flex-direction:column}
.card-alto .rol{flex:1;min-height:0;max-height:none}
.rol-lab .table{min-width:1020px}
.rol-lab td,.rol-lab th{white-space:nowrap}

/* ---------- 04 Fila priorizada ---------- */
.risco{display:grid;grid-template-columns:32px minmax(0,1fr) 150px 196px;gap:6px 14px;align-items:center;width:100%;text-align:left;padding:13px 18px;border-bottom:1px solid var(--line);cursor:pointer;transition:background var(--t-fast) var(--ease)}
.risco .est{justify-self:end}
.risco:last-child{border-bottom:0}
.risco:hover{background:var(--marca-06)}
.risco .pos{font-family:var(--font-mono);font-size:12px;color:var(--muted)}
.risco .quem{display:block;color:var(--ink);font-weight:500;font-size:13px}
.risco .quem em{font-style:normal;color:var(--metal);font-weight:400}
.risco .mot{display:block;font-size:12.5px;color:var(--metal);margin-top:3px;line-height:1.4}
.risco .pt{display:flex;align-items:center;gap:10px}
.risco .pt .bar{flex:1}
.risco .pt .v{font-family:var(--font-mono);font-size:13px;color:var(--ink);width:24px;text-align:right}
@media (max-width:900px){
  .risco{grid-template-columns:30px minmax(0,1fr)}
  .risco .pt,.risco .est{grid-column:2}
}
.cit{border-left:2px solid var(--marca-30);padding:1px 0 1px 12px}
.cit + .cit{margin-top:14px}
.cit .fonte{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.cit p{font-size:13px;color:var(--ink-2);line-height:1.5}
.motivo{display:none;flex-direction:column;gap:8px;border:1px solid var(--line-2);border-radius:var(--r);padding:12px;background:var(--paper)}
.motivo.on{display:flex}

/* ---------- 05 Governança ---------- */
.regra{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.regra:last-child{border-bottom:0}
.regra .mk{width:22px;height:22px;border-radius:50%;background:var(--marca-10);color:var(--marca-escura);display:grid;place-items:center;flex:none}
.regra .mk svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.regra .t{display:block;color:var(--ink);font-weight:500;font-size:13px}
.regra .d{display:block;font-size:12.5px;color:var(--metal);margin-top:3px;line-height:1.45}

/* ---------- gaveta ---------- */
.titulo-gaveta{flex:1;min-width:0}
.titulo-gaveta h2{font-size:15px;margin-top:3px}
.drawer .bloco{display:flex;flex-direction:column;gap:10px}
.drawer .bloco > .eyebrow{margin-bottom:-2px}
.drawer .destaque{border:1px solid var(--line);border-left:2px solid var(--marca);border-radius:var(--r);background:var(--paper);padding:13px 14px}
.drawer .destaque h3{font-size:13.5px;margin-bottom:6px}
.drawer .destaque p{font-size:13px;line-height:1.55;color:var(--ink-2)}
.pistas{display:flex;flex-wrap:wrap;gap:6px}
.dado{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.dado:last-child{border-bottom:0}
.dado b{font-weight:500;color:var(--ink);text-align:right}
.msg-orig{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;font-size:13px;line-height:1.55;color:var(--ink-2)}
.anexo{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink-2)}
.anexo:last-child{border-bottom:0}
.anexo svg{width:15px;height:15px;stroke:var(--metal);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- aviso com Desfazer ---------- */
.toast.verde{background:var(--ok)}
.toast .txt{max-width:400px;line-height:1.4}
.toast .seg{font-family:var(--font-mono);font-size:11px;opacity:.82;white-space:nowrap}
@media (max-width:520px){
  .toast{left:12px;right:12px;bottom:12px;transform:translateY(16px);flex-wrap:wrap}
  .toast.on{transform:none}
}

/* ---------- gaveta do menu no celular ---------- */
@media (max-width:760px){
  .menu-btn{display:grid}
}
.menu-bg{position:fixed;inset:0;background:rgba(14,17,22,.28);opacity:0;pointer-events:none;transition:opacity var(--t) var(--ease);z-index:45}
.menu-bg.aberta{opacity:1;pointer-events:auto}
@media (min-width:761px){.menu-bg{display:none}}

/* ---------- login ---------- */
.login .marca-topo{display:flex;align-items:center;gap:11px}
.login .marca-topo .produto{text-align:left;font-size:20px}
.login .marca-topo .mark{width:36px;height:36px;border-radius:var(--r);background:var(--marca);color:var(--marca-ink);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:17px}
.login .box .rodape{margin:0}
.login .linha-fina{color:var(--muted-2)}
.input.errado,.input.errado:focus{border-color:var(--crit)}
.erro-txt{color:var(--crit);font-size:12.5px;line-height:1.4}
.erro-txt[hidden]{display:none}
