/* TIMCUEST Saúde — interface */
:root {
  --pri: #0d6b5e;
  --pri-esc: #08514a;
  --pri-clr: #e3f1ee;
  --fundo: #f3f5f4;
  --cartao: #ffffff;
  --texto: #17241f;
  --mudo: #5f6f6a;
  --borda: #dde3e1;
  --borda-forte: #c4cdca;
  --perigo: #b42318;
  --perigo-clr: #fdecea;
  --ambar: #a15c07;
  --ambar-clr: #fdf3e2;
  --azul: #1d5fa8;
  --azul-clr: #e7f0fb;
  --raio: 10px;
  --sombra: 0 1px 2px rgba(16, 40, 34, .06), 0 1px 3px rgba(16, 40, 34, .04);
  --lateral: 248px;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--fundo); color: var(--texto); font-size: 15px; line-height: 1.5; }
a { color: var(--pri); }
h1, h2, h3 { line-height: 1.25; margin: 0; }
h1 { font-size: 1.55rem; font-weight: 650; letter-spacing: -.01em; }
h2 { font-size: 1.05rem; font-weight: 650; }
p { margin: 0 0 .75em; }
code { background: #eef1f0; padding: .1em .35em; border-radius: 4px; }
.ic { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.mono { font-variant-numeric: tabular-nums; font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: .92em; }
.mudo { color: var(--mudo); }
.dir { text-align: right; white-space: nowrap; }
.inline { display: inline; }

/* ---------- Estrutura ---------- */
.app { display: flex; min-height: 100vh; }
.lateral {
  width: var(--lateral); flex: none; background: #0f2a25; color: #d4e3df;
  display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; padding: 18px 12px;
}
.marca { display: flex; gap: 10px; align-items: center; text-decoration: none; color: #fff; padding: 4px 8px 18px; }
.marca strong { display: block; font-size: 1.02rem; }
.marca small { display: block; color: #9fb8b1; font-size: .78rem; line-height: 1.3; }
.marca-simbolo {
  width: 36px; height: 36px; border-radius: 9px; background: var(--pri); color: #fff; display: grid; place-items: center;
  font-weight: 700; font-size: 1.5rem; line-height: 1; flex: none;
}
.menu { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.menu a { display: flex; gap: 10px; align-items: center; padding: 9px 10px; border-radius: 8px; color: #c7d8d3; text-decoration: none; font-size: .95rem; }
.menu a:hover { background: rgba(255,255,255,.06); color: #fff; }
.menu a.activo { background: rgba(255,255,255,.1); color: #fff; box-shadow: inset 3px 0 0 #5cc4ad; }
.menu-sep { margin: 16px 10px 6px; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: #7f9a93; }
.lateral-pe { border-top: 1px solid rgba(255,255,255,.08); padding-top: 12px; display: flex; align-items: center; gap: 6px; }
.eu { display: flex; gap: 10px; align-items: center; color: #fff; text-decoration: none; flex: 1; min-width: 0; padding: 4px; border-radius: 8px; }
.eu:hover { background: rgba(255,255,255,.06); }
.eu strong { display: block; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eu small { color: #9fb8b1; font-size: .78rem; }
.eu > span:last-child { min-width: 0; }
.btn-sair { background: none; border: 0; color: #c7d8d3; cursor: pointer; padding: 8px; border-radius: 8px; display: flex; }
.btn-sair:hover { background: rgba(255,255,255,.08); color: #fff; }
.btn-sair span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.avatar { width: 34px; height: 34px; border-radius: 50%; background: #2c5a50; color: #fff; display: grid; place-items: center; font-weight: 650; flex: none; }
.avatar.grande { width: 56px; height: 56px; font-size: 1.4rem; background: var(--pri); }
.avatar.grande.f { background: #a3456b; }

.principal { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.conteudo { padding: 28px 32px 40px; max-width: 1180px; width: 100%; flex: 1; }
.rodape { padding: 14px 32px; color: var(--mudo); font-size: .8rem; }
.topo-movel { display: none; }
.veu { display: none; }

/* ---------- Cabeçalho de página ---------- */
.cab-pagina { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.sub { color: var(--mudo); margin: 4px 0 0; }
.voltar { display: inline-flex; align-items: center; gap: 4px; color: var(--mudo); text-decoration: none; font-size: .9rem; margin-bottom: 10px; }
.voltar:hover { color: var(--pri); }
.voltar .ic { width: 16px; height: 16px; }
.grupo-btn { display: flex; gap: 8px; flex-wrap: wrap; }

/* ---------- Cartões ---------- */
.cartao { background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: 20px 22px; box-shadow: var(--sombra); margin-bottom: 18px; }
.cartao.sem-pad { padding: 0; overflow: hidden; }
.cartao-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.cartao-cab h2 { display: flex; align-items: center; gap: 8px; }
.cartao-cab h2 .ic { color: var(--pri); }
.estreito { max-width: 720px; }
.vazio { color: var(--mudo); margin: 4px 0; }
.vazio-grande { text-align: center; padding: 40px 20px; }
.duas-colunas { display: grid; grid-template-columns: 1.15fr 1fr; gap: 18px; align-items: start; }

/* ---------- Números ---------- */
.numeros { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.numero { background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: 14px 16px; box-shadow: var(--sombra); }
.numero span { display: block; color: var(--mudo); font-size: .85rem; }
.numero strong { font-size: 1.7rem; font-weight: 650; font-variant-numeric: tabular-nums; }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 16px; border-radius: 8px;
  border: 1px solid transparent; font: inherit; font-weight: 600; font-size: .93rem; cursor: pointer; text-decoration: none; white-space: nowrap;
  transition: background .15s, border-color .15s, color .15s; min-height: 40px;
}
.btn .ic { width: 17px; height: 17px; }
.btn-primario { background: var(--pri); color: #fff; }
.btn-primario:hover { background: var(--pri-esc); }
.btn-sec { background: #fff; color: var(--pri-esc); border-color: var(--borda-forte); }
.btn-sec:hover { border-color: var(--pri); background: var(--pri-clr); }
.btn-fantasma { background: transparent; color: var(--mudo); }
.btn-fantasma:hover { background: #eaefed; color: var(--texto); }
.btn-perigo { background: var(--perigo); color: #fff; }
.btn-perigo:hover { background: #8f1c13; }
.btn-peq { padding: 5px 10px; min-height: 32px; font-size: .85rem; }
.btn-bloco { width: 100%; }
.btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible, button:focus-visible {
  outline: 2px solid var(--pri); outline-offset: 2px;
}

/* ---------- Avisos ---------- */
.aviso { padding: 11px 14px; border-radius: 8px; margin-bottom: 16px; border: 1px solid; font-size: .93rem; }
.aviso-ok { background: var(--pri-clr); border-color: #b5dcd3; color: #0a4a41; }
.aviso-erro { background: var(--perigo-clr); border-color: #f4c3bd; color: #8a1c13; }
.aviso-info { background: var(--azul-clr); border-color: #c5d9f2; color: #164a85; }
.espaco { margin-top: 16px; margin-bottom: 0; }

/* ---------- Etiquetas ---------- */
.etq { display: inline-block; padding: 2px 9px; border-radius: 99px; font-size: .78rem; font-weight: 600; white-space: nowrap; }
.etq-azul { background: var(--azul-clr); color: var(--azul); }
.etq-verde { background: var(--pri-clr); color: var(--pri-esc); }
.etq-ambar { background: var(--ambar-clr); color: var(--ambar); }
.etq-vermelho { background: var(--perigo-clr); color: var(--perigo); }
.etq-roxo { background: #f0eafb; color: #5b3a9b; }
.etq-rosa { background: #fbe9f1; color: #9a2f5c; }
.etq-cinza { background: #edf0ef; color: #4a5753; }

/* ---------- Formulários ---------- */
.form label { display: flex; flex-direction: column; gap: 5px; font-size: .88rem; font-weight: 600; color: #34433f; margin-bottom: 12px; }
.form input:not([type=radio]):not([type=checkbox]):not([type=file]), .form select, .form textarea {
  font: inherit; font-weight: 400; color: var(--texto); background: #fff; border: 1px solid var(--borda-forte); border-radius: 8px;
  padding: 9px 11px; width: 100%; min-height: 42px;
}
.form textarea { resize: vertical; line-height: 1.45; }
.form input:focus, .form select:focus, .form textarea:focus { border-color: var(--pri); outline: 2px solid rgba(13,107,94,.18); outline-offset: 0; }
.grelha { display: grid; grid-template-columns: repeat(12, 1fr); gap: 0 14px; }
.grelha > * { grid-column: span 12; min-width: 0; }
.c2 { grid-column: span 2 !important; } .c3 { grid-column: span 3 !important; } .c4 { grid-column: span 4 !important; }
.c5 { grid-column: span 5 !important; } .c6 { grid-column: span 6 !important; } .c8 { grid-column: span 8 !important; }
.c12 { grid-column: span 12 !important; }
.sec-titulo { font-size: .98rem; color: var(--pri-esc); margin: 4px 0 14px; display: flex; gap: 8px; align-items: center; }
.sec-titulo:not(:first-of-type) { margin-top: 10px; }
.ajuda { color: var(--mudo); font-size: .9rem; }
.ref { font-weight: 400; color: var(--mudo); font-size: .8rem; }
.nota-sec { margin-top: -8px; }
.com-unid { display: flex; align-items: stretch; }
.com-unid input { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.com-unid input:only-child { border-radius: 8px !important; }
.unid { display: grid; place-items: center; padding: 0 10px; background: #f1f4f3; border: 1px solid var(--borda-forte); border-left: 0; border-radius: 0 8px 8px 0; color: var(--mudo); font-weight: 500; font-size: .85rem; white-space: nowrap; }
fieldset { border: 0; padding: 0; margin: 0 0 12px; min-width: 0; }
legend { font-size: .88rem; font-weight: 600; color: #34433f; padding: 0; margin-bottom: 6px; }
.grupo-opcoes .opcao, .form .opcao { flex-direction: row; align-items: center; gap: 8px; font-weight: 500; display: inline-flex; margin: 6px 18px 0 0; }
.opcao input { width: 18px; height: 18px; accent-color: var(--pri); }
.pilulas { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pilula { display: inline-flex !important; margin: 0 !important; cursor: pointer; }
.pilula input { position: absolute; opacity: 0; pointer-events: none; }
.pilula span { padding: 7px 13px; border: 1px solid var(--borda-forte); border-radius: 99px; font-weight: 500; background: #fff; font-size: .88rem; transition: all .12s; user-select: none; }
.pilula:hover span { border-color: var(--pri); }
.pilula input:checked + span { background: var(--pri); border-color: var(--pri); color: #fff; }
.pilula input:focus-visible + span { outline: 2px solid var(--pri); outline-offset: 2px; }
.limpar-radio { background: none; border: 0; color: var(--mudo); font: inherit; font-size: .8rem; cursor: pointer; text-decoration: underline; padding: 4px; }
.accoes-form { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.accoes-form.fixas { position: sticky; bottom: 0; background: rgba(243,245,244,.94); backdrop-filter: blur(6px); padding: 12px 0; border-top: 1px solid var(--borda); margin-top: 0; z-index: 5; }
.form-doc .cartao { margin-bottom: 14px; }

.tabela-linhas { width: 100%; border-collapse: collapse; }
.tabela-linhas th { text-align: left; font-size: .82rem; color: var(--mudo); font-weight: 600; padding: 0 6px 6px; }
.tabela-linhas td { padding: 3px; }
.tabela-linhas td.n { width: 28px; color: var(--mudo); text-align: center; font-variant-numeric: tabular-nums; }
.tabela-linhas td:nth-child(2) { width: 48%; }
.linhas .mais-linha { margin-top: 6px; }

/* ---------- Busca ---------- */
.busca-rapida, .barra-busca { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--borda-forte); border-radius: 10px; padding: 4px 6px 4px 12px; }
.busca-rapida { min-width: min(380px, 100%); }
.busca-rapida .ic, .barra-busca > .ic { color: var(--mudo); }
.busca-rapida input, .barra-busca input { border: 0; outline: none; font: inherit; flex: 1; padding: 8px 2px; min-width: 0; background: transparent; }
.barra-busca { margin-bottom: 16px; }
.busca-rapida:focus-within, .barra-busca:focus-within { border-color: var(--pri); box-shadow: 0 0 0 3px rgba(13,107,94,.12); }

/* ---------- Tabelas ---------- */
.tabela-envolve { overflow-x: auto; }
.tabela { width: 100%; border-collapse: collapse; font-size: .93rem; }
.tabela th { text-align: left; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--mudo); font-weight: 600; padding: 11px 14px; background: #f7f9f8; border-bottom: 1px solid var(--borda); }
.tabela td { padding: 11px 14px; border-bottom: 1px solid #edf1ef; vertical-align: middle; }
.tabela tr:last-child td { border-bottom: 0; }
.tabela tbody tr:hover { background: #f9fbfa; }
.tabela.compacta td { padding: 7px 14px; font-size: .88rem; }
.tabela tr.inactivo { opacity: .55; }
.link-forte { font-weight: 600; text-decoration: none; color: var(--texto); }
.link-forte:hover { color: var(--pri); text-decoration: underline; }
.paginacao { display: flex; gap: 14px; justify-content: center; align-items: center; margin: 16px 0; color: var(--mudo); }

/* ---------- Fila ---------- */
.fila { list-style: none; margin: 0; padding: 0; }
.fila li { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid #edf1ef; }
.fila li:first-child { border-top: 0; }
.fila .hora { font-variant-numeric: tabular-nums; color: var(--mudo); font-size: .88rem; width: 44px; flex: none; }
.fila-nome { flex: 1; min-width: 0; text-decoration: none; color: var(--texto); }
.fila-nome strong { display: block; }
.fila-nome small { color: var(--mudo); }
.fila-nome:hover strong { color: var(--pri); }
.fila-accoes { display: flex; gap: 4px; align-items: center; }
.fila li.atendido { opacity: .6; }

/* ---------- Docs ---------- */
.lista-docs { list-style: none; margin: 0; padding: 0; }
.lista-docs a { display: flex; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid #edf1ef; text-decoration: none; color: var(--texto); }
.lista-docs li:first-child a { border-top: 0; }
.lista-docs a > span:nth-child(2) { flex: 1; min-width: 0; }
.lista-docs strong { display: block; font-size: .93rem; }
.lista-docs small { color: var(--mudo); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lista-docs time { color: var(--mudo); font-size: .82rem; font-variant-numeric: tabular-nums; }
.lista-docs .etq { width: 112px; text-align: center; }

/* ---------- Ficha do paciente ---------- */
.ficha-topo { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 1px solid var(--borda); margin-bottom: 16px; }
.ficha-nome { flex: 1; min-width: 220px; }
.ficha-accoes { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.form-fila { display: flex; gap: 6px; }
.form-fila input { font: inherit; border: 1px solid var(--borda-forte); border-radius: 8px; padding: 8px 10px; min-width: 0; width: 180px; }
.dados { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 24px; margin: 0; }
.dados > div.largo { grid-column: span 3; }
.dados dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--mudo); }
.dados dd { margin: 2px 0 0; font-weight: 500; }
.dados.compacto { grid-template-columns: repeat(2, 1fr); margin-bottom: 16px; }
.botoes-docs { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.btn-doc { display: flex; gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid var(--borda); border-radius: 9px; text-decoration: none; color: var(--texto); font-weight: 600; font-size: .92rem; background: #fff; border-left-width: 4px; }
.btn-doc:hover { background: #f7faf9; border-color: var(--borda-forte); }
.btn-doc .ic { color: var(--mudo); }
.doc-azul { border-left-color: var(--azul); } .doc-verde { border-left-color: var(--pri); } .doc-ambar { border-left-color: #d58a1b; }
.doc-vermelho { border-left-color: var(--perigo); } .doc-roxo { border-left-color: #6d4bb5; } .doc-rosa { border-left-color: #b9447a; }
.historico { list-style: none; margin: 0; padding: 0; }
.hist-dia { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--mudo); padding: 14px 0 6px; font-weight: 600; }
.hist-dia:first-child { padding-top: 0; }
.hist-item { display: flex; align-items: center; gap: 6px; border: 1px solid #edf1ef; border-radius: 8px; margin-bottom: 6px; padding-right: 4px; }
.hist-item > a:first-child { display: flex; gap: 12px; align-items: center; padding: 9px 12px; flex: 1; min-width: 0; text-decoration: none; color: var(--texto); }
.hist-item > a:first-child:hover { color: var(--pri); }
.hist-item .etq { width: 128px; text-align: center; flex: none; }
.hist-txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zona-perigo { margin-top: 26px; color: var(--mudo); }
.zona-perigo summary { cursor: pointer; font-size: .88rem; }
.zona-perigo[open] { background: #fff; border: 1px solid #f4c3bd; border-radius: var(--raio); padding: 14px 18px; }
.zona-perigo form { margin-top: 10px; }

/* ---------- Documento no ecrã ---------- */
.doc-ecra { max-width: 860px; }
.doc-paciente { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 12px; padding: 12px 14px; background: #f7f9f8; border-radius: 8px; margin-bottom: 18px; }
.doc-paciente span { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--mudo); }
.doc-sec { margin-bottom: 16px; }
.doc-sec h3 { font-size: .9rem; color: var(--pri-esc); border-bottom: 1px solid var(--borda); padding-bottom: 5px; margin-bottom: 8px; }
.doc-nota { font-size: .82rem; color: var(--mudo); margin: -2px 0 6px; }
.doc-campos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 24px; margin: 0; }
.doc-campos .campo.largo { grid-column: span 2; }
.doc-campos .campo { display: flex; gap: 8px; }
.doc-campos .campo.largo { flex-direction: column; gap: 0; }
.doc-campos dt { color: var(--mudo); white-space: nowrap; }
.doc-campos dt::after { content: ':'; }
.doc-campos dd { margin: 0; font-weight: 500; }
.doc-ref { color: var(--mudo); font-weight: 400; }
.texto-declaracao p, .texto-guia { font-size: 1.02rem; line-height: 1.75; }
.receita-itens { padding-left: 22px; margin: 0; }
.receita-itens li { margin-bottom: 12px; }
.rx-p { font-weight: 600; }
.rx-p span, .rx-c span { color: var(--mudo); font-weight: 600; margin-right: 4px; }
.rx-c { color: #34433f; }

/* ---------- Entrada ---------- */
.pagina-entrada { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; background: radial-gradient(1200px 600px at 20% -10%, #d7ece6 0%, transparent 60%), var(--fundo); }
.caixa-entrada { width: 100%; max-width: 400px; background: #fff; border: 1px solid var(--borda); border-radius: 14px; padding: 30px 28px; box-shadow: 0 10px 30px rgba(16,40,34,.08); }
.caixa-entrada.larga { max-width: 640px; }
.caixa-entrada h2 { margin: 18px 0 6px; font-size: 1rem; color: var(--pri-esc); }
.marca-entrada { display: flex; gap: 12px; align-items: center; margin-bottom: 22px; }
.marca-entrada strong { display: block; font-size: 1.2rem; }
.marca-entrada small { color: var(--mudo); }
.marca-entrada .marca-simbolo { width: 44px; height: 44px; font-size: 1.8rem; }
.logo-entrada { width: 56px; height: 56px; object-fit: contain; }
.rodape-entrada { text-align: center; color: var(--mudo); font-size: .8rem; margin: 18px 0 0; }

.logo-linha { display: flex; gap: 18px; align-items: center; margin-bottom: 16px; flex-wrap: wrap; }
.logo-previa { width: 84px; height: 84px; border: 1px dashed var(--borda-forte); border-radius: 10px; display: grid; place-items: center; background: #fafbfb; }
.logo-previa img { max-width: 76px; max-height: 76px; }
.monograma { width: 56px; height: 56px; border-radius: 50%; border: 2px solid var(--pri); color: var(--pri); display: grid; place-items: center; font-weight: 700; font-family: Georgia, serif; font-size: 1.2rem; }

/* ---------- Telemóvel / tablet ---------- */
@media (max-width: 980px) {
  .duas-colunas { grid-template-columns: 1fr; }
  .numeros { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
  .lateral { position: fixed; left: 0; top: 0; z-index: 30; transform: translateX(-100%); transition: transform .2s; }
  .menu-aberto .lateral { transform: none; }
  .menu-aberto .veu { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 20; }
  .topo-movel { display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: #0f2a25; color: #fff; position: sticky; top: 0; z-index: 10; }
  .btn-menu { background: none; border: 0; color: #fff; padding: 6px; display: flex; cursor: pointer; }
  .btn-menu .ic { width: 22px; height: 22px; }
  .conteudo { padding: 18px 16px 32px; }
  .rodape { padding: 12px 16px; }
  .grelha > [class*="c"] { grid-column: span 12 !important; }
  .grelha > .c2, .grelha > .c3, .grelha > .c4 { grid-column: span 6 !important; }
  .dados { grid-template-columns: 1fr 1fr; }
  .dados > div.largo { grid-column: span 2; }
  .doc-paciente { grid-template-columns: 1fr 1fr; }
  .doc-campos { grid-template-columns: 1fr; }
  .doc-campos .campo.largo { grid-column: span 1; }
  .form-fila { width: 100%; }
  .form-fila input { flex: 1; width: auto; }
  .busca-rapida { width: 100%; }
  .cab-pagina > .btn, .cab-pagina > .grupo-btn { width: 100%; }
  .tabela th:nth-child(3), .tabela td:nth-child(3), .tabela th:nth-child(6), .tabela td:nth-child(6) { display: none; }
  .hist-item .etq { width: auto; }
}
@media (max-width: 420px) {
  .numeros { gap: 10px; }
  .numero strong { font-size: 1.4rem; }
  .tabela th:nth-child(4), .tabela td:nth-child(4) { display: none; }
}
.doc-campos dt.sem-dp::after { content: none; }
/* ---------- Subscrição ---------- */
.faixa-sub { padding: 10px 32px; font-size: .9rem; border-bottom: 1px solid; }
.faixa-sub a { font-weight: 600; margin-left: 4px; }
.faixa-aviso { background: var(--ambar-clr); color: #6e3f04; border-color: #f0d3a3; }
.faixa-atraso { background: var(--perigo-clr); color: #8a1c13; border-color: #f4c3bd; }
.faixa-leitura { background: #8a1c13; color: #fff; border-color: #6d150e; }
.faixa-leitura a { color: #fff; }
.etq-grande { font-size: .95rem; padding: 5px 14px; }
.estado-sub { display: flex; flex-direction: column; gap: 16px; }
.espaco-cima { margin-top: 14px; }
.detalhes summary { cursor: pointer; }
@media (max-width: 820px) { .faixa-sub { padding: 10px 16px; } }
/* ---------- Marca / 2 passos / funcionários ---------- */
.marca-logo { width: 38px; height: 38px; border-radius: 9px; background: #fff; object-fit: contain; padding: 2px; flex: none; }
.marca-logo.peq { width: 28px; height: 28px; border-radius: 7px; }
.marca strong { line-height: 1.25; }
.rodape-logo { width: 16px; height: 16px; border-radius: 4px; vertical-align: -3px; }
.link-btn { background: none; border: 0; padding: 0; color: var(--pri); font: inherit; text-decoration: underline; cursor: pointer; }
.logo-entrada { width: 60px; height: 60px; border-radius: 12px; object-fit: contain; border: 1px solid var(--borda); padding: 3px; background: #fff; }
.cadeado { font-size: .75rem; color: var(--pri-esc); }
.titulo-entrada { font-size: 1.1rem; margin-bottom: 6px; }
.pequeno { font-size: .82rem; }
.centro { text-align: center; }
.campo-codigo { font-size: 1.4rem !important; letter-spacing: .25em; text-align: center; font-variant-numeric: tabular-nums; }
.qr { width: 220px; height: 220px; margin: 12px 0; background: #fff; border: 1px solid var(--borda); border-radius: 10px; display: grid; place-items: center; }
.qr svg { width: 200px; height: 200px; }
.chave { background: #eef1f0; padding: 2px 6px; border-radius: 5px; word-break: break-all; }
.passos-2fa { padding-left: 20px; }
.passos-2fa li { margin-bottom: 10px; }
.codigos { columns: 2; font-size: 1.1rem; padding-left: 28px; margin: 12px 0 18px; }
.codigos li { margin-bottom: 6px; }
.chave-cifra { display: block; background: #0f2a25; color: #d4f1e9; padding: 12px 14px; border-radius: 8px; word-break: break-all; font-size: .95rem; margin: 8px 0; user-select: all; }
@media print {
  .lateral, .topo-movel, .rodape, .accoes-form, .faixa-sub, .cab-pagina p { display: none !important; }
  .conteudo { padding: 0; }
  .cartao { border: 0; box-shadow: none; }
}
.duas-colunas > *, .principal, .conteudo { min-width: 0; }
.lista-docs a > span:nth-child(2) { overflow: hidden; }
@media (max-width: 820px) { .ficha-accoes { width: 100%; } .form-fila input { min-width: 0; } .form-fila .btn { flex: none; } }
.barra-busca select { border: 1px solid var(--borda-forte); border-radius: 8px; padding: 7px 8px; font: inherit; background: #fff; }
