/* BF Gerenciador — interface web
   Painel escuro no topo (frontal de rack), área de trabalho clara,
   progresso em medidores de LED segmentados. */

:root {
  /* Tema escuro (padrão): grafite azulado profundo com cores de destaque fortes */
  color-scheme: dark;
  --fundo: #080b10;
  --superficie: #10151d;
  --superficie-2: #182030;
  --campo: #0c1118;
  --tinta: #eef3fa;
  --tinta-2: #b6c2d3;
  --tinta-3: #7e8ba0;
  --linha: #1d2634;
  --linha-forte: #2c3749;
  --azul: #72aaff;
  --azul-claro: rgba(47, 123, 255, 0.14);
  --azul-borda: rgba(47, 123, 255, 0.42);
  --botao: #2f7bff;
  --botao-hover: #1f6bf0;
  --verde: #3ddc97;
  --verde-botao: #10b981;
  --verde-claro: rgba(16, 185, 129, 0.14);
  --verde-borda: rgba(16, 185, 129, 0.42);
  --ambar: #ffc043;
  --ambar-led: #ffb020;
  --ambar-claro: rgba(255, 176, 32, 0.13);
  --ambar-borda: rgba(255, 176, 32, 0.42);
  --vermelho: #ff5d6e;
  --vermelho-claro: rgba(255, 77, 94, 0.14);
  --vermelho-borda: rgba(255, 77, 94, 0.45);
  --led-off: #1a2230;
  --painel: #06090d;
  --painel-2: #131a24;
  --sel-fundo: #2f7bff;
  --sel-texto: #ffffff;
  --aviso-fundo: #151c28;
  --aviso-texto: #eef3fa;
  --sombra: rgba(0, 0, 0, 0.6);
  --grad-azul: linear-gradient(135deg, #3b86ff 0%, #5b5cff 100%);
  --grad-verde: linear-gradient(135deg, #16c784 0%, #0ea371 100%);
  --grad-vermelho: linear-gradient(135deg, #ff5d6e 0%, #e0364a 100%);
  --grad-ambar: linear-gradient(135deg, #ffc043 0%, #ff8a1f 100%);

  --condensada: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;
  --texto: "Barlow", "Segoe UI", system-ui, sans-serif;
  --raio: 10px;
  --sombra-card: 0 1px 0 rgba(255, 255, 255, 0.035) inset, 0 10px 30px rgba(0, 0, 0, 0.35);
}

/* Tema claro (botão no topo da página) */
:root[data-tema="claro"] {
  color-scheme: light;
  --grad-azul: linear-gradient(135deg, #2f6bff 0%, #4f46e5 100%);
  --led-off: #dfe5ec;
  --sombra-card: 0 1px 2px rgba(20,24,27,0.06), 0 1px 8px rgba(20,24,27,0.04);
  --fundo: #e9ecee;
  --superficie: #ffffff;
  --superficie-2: #f4f6f7;
  --campo: #ffffff;
  --tinta: #14181b;
  --tinta-2: #56626b;
  --tinta-3: #85919a;
  --linha: #d4dade;
  --linha-forte: #b9c2c8;
  --azul: #1e5bb8;
  --azul-claro: #e4ecf8;
  --azul-borda: #c4d5f0;
  --botao: #1e5bb8;
  --botao-hover: #184c9b;
  --verde: #23884f;
  --verde-botao: #23884f;
  --verde-claro: #e2f2e8;
  --verde-borda: #bfe0cb;
  --ambar: #9a6414;
  --ambar-claro: #fbf0da;
  --ambar-borda: #f0d8a8;
  --vermelho: #c23b34;
  --vermelho-claro: #f9e3e1;
  --vermelho-borda: #efc2be;
  --led-off: #dde2e5;
  --painel: #14181b;
  --painel-2: #22292e;
  --sel-fundo: #14181b;
  --sel-texto: #ffffff;
  --aviso-fundo: #14181b;
  --aviso-texto: #ffffff;
  --sombra: rgba(20, 24, 27, 0.4);
}

/* Alias de variáveis antigas ainda usadas por formulários, modais e boas-vindas. */
:root{
  --borda:var(--linha-forte);
  --mudo:var(--tinta-2);
  --fundo-2:var(--superficie-2);
  --fundo-3:var(--campo);
  --azul-fraco:var(--azul-claro);
  --titulo:var(--condensada);
  --bloco:var(--superficie);
  --painel2:var(--superficie-2);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html { font-size: 16px; }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--tinta);
  font-family: var(--texto);
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--azul); }
:focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; }

h1, h2, h3 { font-family: var(--condensada); font-weight: 600; line-height: 1.1; margin: 0; }
h1 { font-size: 2.3rem; letter-spacing: 0.005em; }
h2 { font-size: 1.45rem; }
h3 { font-size: 1.15rem; }

.num { font-family: var(--condensada); font-variant-numeric: tabular-nums; }
.mudo { color: var(--tinta-2); }
.fraco { color: var(--tinta-3); }

/* ------------------------------------------------ Painel superior */
.painel {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 0 1.5rem;
  height: 56px;
  background: var(--painel);
  color: #e8ecef;
  border-bottom: 3px solid #0b0d0f;
}
#cabecalho { position: sticky; top: 0; z-index: 20; }
.marca {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: #fff;
  text-decoration: none;
  font-family: var(--condensada);
  font-weight: 600;
  font-size: 1.35rem;
}
.marca-leds { display: inline-flex; gap: 2px; align-items: flex-end; height: 18px; }
.marca-leds i { width: 4px; background: #3dbb74; border-radius: 1px; }
.marca-leds i:nth-child(1) { height: 6px; }
.marca-leds i:nth-child(2) { height: 10px; }
.marca-leds i:nth-child(3) { height: 14px; }
.marca-leds i:nth-child(4) { height: 18px; background: var(--ambar-led); }

.painel nav { display: flex; gap: 0.25rem; flex: 1; }
.painel nav a {
  color: #aeb8bf;
  text-decoration: none;
  padding: 0.45rem 0.8rem;
  border-radius: var(--raio);
  font-weight: 500;
}
.painel nav a:hover { color: #fff; background: var(--painel-2); }
.painel nav a.ativo { color: #fff; background: var(--painel-2); box-shadow: inset 0 -2px 0 var(--ambar-led); }

.ao-vivo { font-size: 0.85rem; color: #aeb8bf; display: flex; align-items: center; gap: 0.45rem; white-space: nowrap; }
.ao-vivo::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #6b767e; }
.ao-vivo.on::before { background: #3dbb74; box-shadow: 0 0 6px #3dbb74; }
.ao-vivo.off::before { background: var(--vermelho); }

/* ------------------------------------------------ Estrutura */
main { width: 100%; max-width: 1440px; margin: 0 auto; padding: 1.75rem 2rem 5rem; }
main:focus { outline: none; }

.topo-pagina { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.topo-pagina p { margin: 0.35rem 0 0; color: var(--tinta-2); }

.bloco {
  background: var(--superficie);
  border: 1px solid var(--linha);
  border-radius: var(--raio);
  padding: 1.25rem;
  margin-bottom: 1.25rem;
}
.bloco > h2 { margin-bottom: 0.9rem; }
.bloco-cab { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.9rem; flex-wrap: wrap; }
.bloco-cab h2 { margin: 0; }

.vazio { padding: 2.5rem 1rem; text-align: center; color: var(--tinta-2); }
.vazio strong { display: block; color: var(--tinta); font-size: 1.1rem; margin-bottom: 0.3rem; }
.vazio .btn { margin-top: 1rem; }

/* ------------------------------------------------ Controles */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font: 500 0.95rem var(--texto);
  padding: 0.6rem 1.1rem;
  min-height: 42px;
  border-radius: var(--raio);
  border: 1px solid var(--linha-forte);
  background: var(--superficie);
  color: var(--tinta);
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.btn:hover { background: var(--superficie-2); }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }
.btn.primario { background: var(--botao); border-color: var(--botao); color: #fff; }
.btn.primario:hover { background: var(--botao-hover); }
.btn.sucesso { background: var(--verde-botao); border-color: var(--verde-botao); color: #fff; }
.btn.perigo { color: var(--vermelho); border-color: var(--vermelho-borda); }
.btn.perigo:hover { background: var(--vermelho-claro); }
.btn.peq { padding: 0.35rem 0.75rem; font-size: 0.9rem; min-height: 34px; }
.btn.link { border: none; background: none; color: var(--azul); padding: 0.2rem 0.3rem; }

label.campo { display: flex; flex-direction: column; gap: 0.3rem; font-weight: 500; font-size: 0.9rem; }
label.campo span.dica { font-weight: 400; color: var(--tinta-3); font-size: 0.85rem; }
input, select, textarea {
  font: 400 0.95rem var(--texto);
  color: var(--tinta);
  border: 1px solid var(--linha-forte);
  border-radius: var(--raio);
  padding: 0.5rem 0.65rem;
  background: var(--campo);
  min-width: 0;
}
textarea { resize: vertical; min-height: 4.5rem; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--azul); outline-offset: -1px; border-color: var(--azul); }
input[type="checkbox"] { width: 1.05rem; height: 1.05rem; accent-color: var(--azul); }

.grade-form { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.linha-acoes { display: flex; gap: 0.6rem; align-items: center; flex-wrap: wrap; }
.linha-acoes.fim { justify-content: flex-end; }

.segmentado { display: inline-flex; border: 1px solid var(--linha-forte); border-radius: var(--raio); overflow: hidden; background: var(--campo); }
.segmentado button { font: 500 0.92rem var(--texto); border: 0; background: none; padding: 0.45rem 0.9rem; cursor: pointer; color: var(--tinta-2); }
.segmentado button + button { border-left: 1px solid var(--linha); }
.segmentado button[aria-pressed="true"] { background: var(--sel-fundo); color: var(--sel-texto); }
.segmentado button[aria-pressed="true"] .fraco { color: inherit; opacity: 0.7; }

.etiqueta { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.86rem; font-weight: 600; padding: 0.15rem 0.6rem; border-radius: 999px; background: var(--superficie-2); color: var(--tinta-2); border: 1px solid var(--linha); white-space: nowrap; }
.etiqueta.verde { background: var(--verde-claro); color: var(--verde); border-color: var(--verde-borda); }
.etiqueta.azul { background: var(--azul-claro); color: var(--azul); border-color: var(--azul-borda); }
.etiqueta.ambar { background: var(--ambar-claro); color: var(--ambar); border-color: var(--ambar-borda); }
.etiqueta.vermelho { background: var(--vermelho-claro); color: var(--vermelho); border-color: var(--vermelho-borda); }

/* ------------------------------------------------ Medidor de LEDs (assinatura) */
.vu { display: grid; grid-template-columns: repeat(20, 1fr); gap: 3px; height: 16px; }
.vu i { background: var(--led-off); border-radius: 1px; }
.vu i.on { background: var(--botao); }
.vu.verde i.on { background: var(--verde); }
.vu.vermelho i.on { background: var(--vermelho); }
.vu.grande { height: 22px; gap: 3px; }
.vu.fino { height: 8px; }

/* ------------------------------------------------ Quadro de OPs */
.filtros { display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap; margin-bottom: 1rem; }
.filtros input[type="search"] { width: 240px; }

.quadro { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.quadro-cab, .op-linha {
  display: grid;
  grid-template-columns: minmax(190px, 1.2fr) minmax(170px, 1fr) minmax(240px, 1.6fr) 118px;
  gap: 1.25rem;
  align-items: center;
  padding: 0.8rem 1.25rem;
}
.quadro-cab { font-size: 0.85rem; color: var(--tinta-3); border-bottom: 1px solid var(--linha); padding-top: 0.6rem; padding-bottom: 0.6rem; }
.quadro-cab span:last-child { text-align: right; }
.op-linha { color: inherit; text-decoration: none; border-bottom: 1px solid var(--linha); position: relative; }
.op-linha:last-child { border-bottom: 0; }
.op-linha:hover { background: var(--superficie-2); }
.op-linha.alerta::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--vermelho); }
.op-id { display: flex; flex-direction: column; min-width: 0; }
.op-num { font-family: var(--condensada); font-weight: 600; font-size: 1.85rem; line-height: 1; }
.op-prod { color: var(--tinta-2); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.op-info { display: flex; flex-direction: column; font-size: 0.92rem; }
.op-info .atraso { color: var(--vermelho); font-weight: 600; }
.op-medidor { display: flex; flex-direction: column; gap: 0.35rem; }
.op-etapas { display: flex; gap: 0.9rem; font-size: 0.82rem; color: var(--tinta-2); flex-wrap: wrap; }
.op-etapas .feita { color: var(--verde); }
.op-etapas .alerta-txt { color: var(--vermelho); font-weight: 600; }
.op-pct { text-align: right; }
.op-pct b { font-family: var(--condensada); font-weight: 600; font-size: 2.2rem; line-height: 1; display: block; font-variant-numeric: tabular-nums; }
.op-pct small { color: var(--tinta-2); font-size: 0.85rem; }

/* ------------------------------------------------ Detalhe da OP */
.op-topo { display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: start; margin-bottom: 1.25rem; }
.op-titulo { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.op-titulo h1 { font-size: 3rem; }
.op-titulo .produto { font-family: var(--condensada); font-size: 1.6rem; font-weight: 500; color: var(--tinta-2); }
.op-resumo { display: flex; gap: 2rem; margin-top: 0.75rem; flex-wrap: wrap; }
.op-resumo div { display: flex; flex-direction: column; }
.op-resumo small { color: var(--tinta-3); font-size: 0.82rem; }
.op-resumo b { font-family: var(--condensada); font-size: 1.5rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.op-progresso { margin-top: 1rem; max-width: 620px; }

.apontar { display: flex; flex-direction: column; gap: 0.5rem; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1rem; min-width: 280px; }
.apontar .linha-acoes input { width: 90px; }

.abas { display: flex; gap: 0.25rem; border-bottom: 1px solid var(--linha-forte); margin-bottom: 1.25rem; flex-wrap: wrap; }
.abas button { font: 600 1.05rem var(--texto); border: 0; background: none; padding: 0.6rem 1rem; cursor: pointer; color: var(--tinta-2); border-bottom: 3px solid transparent; margin-bottom: -1px; }
.abas button[aria-selected="true"] { color: var(--tinta); border-bottom-color: var(--tinta); }
.abas .contagem { font-size: 0.82rem; color: var(--tinta-3); margin-left: 0.25rem; }
.abas .contagem.vermelho { color: var(--vermelho); font-weight: 600; }

.colunas-etapas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.etapa { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); display: flex; flex-direction: column; }
.etapa-cab { padding: 0.9rem 1rem 0.75rem; border-bottom: 1px solid var(--linha); display: flex; flex-direction: column; gap: 0.5rem; }
.etapa-cab .t { display: flex; justify-content: space-between; align-items: baseline; }
.sub { padding: 0.8rem 1rem; border-bottom: 1px solid var(--linha); display: flex; flex-direction: column; gap: 0.5rem; }
.sub:last-of-type { border-bottom: 0; }
.sub-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.5rem; }
.sub-nome { font-weight: 600; }
.sub.andamento { box-shadow: inset 3px 0 0 var(--azul); }
.sub.concluida { box-shadow: inset 3px 0 0 var(--verde); }
.sub-quando { font-size: 0.82rem; color: var(--tinta-3); }
.estados { display: inline-flex; border: 1px solid var(--linha-forte); border-radius: var(--raio); overflow: hidden; }
.estados button { font: 500 0.82rem var(--texto); border: 0; background: var(--campo); padding: 0.3rem 0.55rem; cursor: pointer; color: var(--tinta-2); }
.estados button + button { border-left: 1px solid var(--linha); }
.estados button.on.s0 { background: var(--superficie-2); color: var(--tinta); }
.estados button.on.s1 { background: var(--botao); color: #fff; }
.estados button.on.s2 { background: var(--verde-botao); color: #fff; }
.resp { display: flex; flex-wrap: wrap; gap: 0.3rem; align-items: center; }
.resp-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.25rem 0.75rem; padding: 0.6rem; background: var(--superficie-2); border-radius: var(--raio); }
.resp-lista label { display: flex; align-items: center; gap: 0.4rem; font-size: 0.9rem; }
.add-sub { display: flex; gap: 0.5rem; padding: 0.75rem 1rem; margin-top: auto; border-top: 1px dashed var(--linha); }
.add-sub input { flex: 1; }

/* Tabelas */
.tabela-wrap { overflow-x: auto; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--superficie); }
table { border-collapse: collapse; width: 100%; font-size: 0.98rem; }
th { text-align: left; font-weight: 600; color: var(--tinta-2); font-size: 0.88rem; padding: 0.65rem 0.8rem; border-bottom: 1px solid var(--linha); background: var(--superficie); position: sticky; top: 0; }
td { padding: 0.65rem 0.8rem; border-bottom: 1px solid var(--linha); vertical-align: top; }
tr:last-child td { border-bottom: 0; }
td.n, th.n { text-align: right; font-variant-numeric: tabular-nums; }
td.cod { font-family: var(--condensada); font-weight: 600; font-size: 1.02rem; white-space: nowrap; }
tbody tr.clicavel { cursor: pointer; }
tbody tr.clicavel:hover td { background: var(--superficie-2); }
tr.removido td { color: var(--tinta-3); text-decoration: line-through; }
tr.sel td { background: var(--azul-claro) !important; }

/* Gaveta lateral do componente */
.gaveta-fundo { position: fixed; inset: 0; background: var(--sombra); z-index: 30; }
.gaveta {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(480px, 100%);
  background: var(--superficie); z-index: 31; display: flex; flex-direction: column;
  border-left: 1px solid var(--linha-forte);
  animation: entra 0.18s ease-out;
}
@keyframes entra { from { transform: translateX(24px); opacity: 0; } to { transform: none; opacity: 1; } }
.gaveta-cab { padding: 1.25rem 1.25rem 1rem; border-bottom: 1px solid var(--linha); display: flex; flex-direction: column; gap: 0.5rem; }
.gaveta-cab .fechar { position: absolute; top: 0.9rem; right: 0.9rem; }
.gaveta-corpo { flex: 1; overflow-y: auto; padding: 1rem 1.25rem; }
.gaveta-pe { padding: 1rem 1.25rem; border-top: 1px solid var(--linha); display: flex; flex-direction: column; gap: 0.6rem; }
.gaveta-pe textarea { width: 100%; }
.fatos { display: grid; grid-template-columns: auto 1fr; gap: 0.2rem 1rem; font-size: 0.92rem; }
.fatos dt { color: var(--tinta-3); }
.fatos dd { margin: 0; }

.linha-tempo { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.9rem; }
.linha-tempo li { display: grid; grid-template-columns: 10px 1fr; gap: 0.75rem; }
.linha-tempo .ponto { width: 10px; height: 10px; border-radius: 50%; margin-top: 0.4rem; background: var(--tinta-3); }
.linha-tempo .ponto.ocorrencia { background: var(--vermelho); }
.linha-tempo .ponto.resolvida { background: var(--verde); }
.linha-tempo .meta { font-size: 0.82rem; color: var(--tinta-3); }
.linha-tempo .texto { white-space: pre-wrap; }

/* Importador */
.soltar {
  border: 2px dashed var(--linha-forte); border-radius: var(--raio); padding: 2rem; text-align: center;
  background: var(--superficie-2); cursor: pointer; display: block;
}
.soltar.arrastando { border-color: var(--azul); background: var(--azul-claro); }
.soltar strong { display: block; font-size: 1.05rem; }
.soltar input { display: none; }
.mapa { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.resumo-import { display: flex; gap: 0.6rem; flex-wrap: wrap; margin: 0.75rem 0; }
.previa { max-height: 420px; overflow: auto; }
.previa td.situacao { font-size: 0.84rem; white-space: nowrap; }
.previa tr.erro td { background: var(--vermelho-claro); }
.previa tr.com-aviso td { background: var(--ambar-claro); }
.previa tr.ignorada td { color: var(--tinta-3); background: none; text-decoration: line-through; }
.previa tr.ignorada td:first-child { text-decoration: none; }

.diff { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.diff ul { margin: 0.4rem 0 0; padding-left: 1.1rem; font-size: 0.92rem; }

/* Roteiro */
.roteiro { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.roteiro ol { list-style: none; padding: 0; margin: 0.75rem 0; display: flex; flex-direction: column; gap: 0.35rem; min-height: 2rem; }
.roteiro li { display: flex; align-items: center; gap: 0.4rem; background: var(--superficie-2); border: 1px solid var(--linha); border-radius: var(--raio); padding: 0.3rem 0.4rem 0.3rem 0.7rem; }
.roteiro li span { flex: 1; }

.historico { list-style: none; margin: 0; padding: 0; }
.historico li { display: grid; grid-template-columns: 130px 1fr; gap: 1rem; padding: 0.5rem 0; border-bottom: 1px solid var(--linha); font-size: 0.93rem; }
.historico li:last-child { border-bottom: 0; }
.historico time { color: var(--tinta-3); font-variant-numeric: tabular-nums; }

/* Janela */
dialog { border: 1px solid var(--linha-forte); border-radius: var(--raio); padding: 0; width: min(1000px, 94vw); max-height: 90vh; }
dialog { background: var(--superficie); color: var(--tinta); }
dialog::backdrop { background: var(--sombra); }
dialog .janela-cab { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--linha); position: sticky; top: 0; background: var(--superficie); z-index: 2; }
dialog .janela-corpo { padding: 1.25rem; }

/* Avisos */
#avisos { position: fixed; bottom: 1.25rem; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; gap: 0.5rem; z-index: 50; }
.aviso { background: var(--aviso-fundo); color: var(--aviso-texto); padding: 0.65rem 1.1rem; border-radius: var(--raio); font-weight: 500; box-shadow: 0 6px 20px rgba(0,0,0,0.18); }
.aviso.erro { background: #c23b34; color: #fff; }

.carregando { padding: 3rem; text-align: center; color: var(--tinta-3); }

@media (max-width: 900px) {
  .painel { gap: 1rem; padding: 0 0.75rem; overflow-x: auto; }
  .painel nav a { padding: 0.4rem 0.5rem; white-space: nowrap; }
  .marca { white-space: nowrap; }
  .ao-vivo { display: none; }
  main { padding: 1.25rem 0.75rem 3rem; }
  .quadro-cab { display: none; }
  .op-linha { grid-template-columns: 1fr auto; gap: 0.6rem 1rem; }
  .op-info { grid-column: 1; }
  .op-medidor { grid-column: 1 / -1; }
  .op-pct { grid-row: 1; grid-column: 2; }
  .op-topo { grid-template-columns: 1fr; }
  .colunas-etapas, .roteiro, .diff { grid-template-columns: 1fr; }
  .op-titulo h1 { font-size: 2.3rem; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
.btn.link[data-remover] { color: var(--tinta-3); }
.btn.link[data-remover]:hover { color: var(--vermelho); }

.tema { background: none; border: 1px solid #3a3f44; color: #aeb8bf; border-radius: var(--raio); padding: 0.3rem 0.65rem; font: 500 0.85rem var(--texto); cursor: pointer; white-space: nowrap; }
.tema:hover { color: #fff; border-color: #6b767e; }

.endereco-rede { margin-top: 1.25rem; color: var(--tinta-3); font-size: 0.9rem; }
.endereco-rede b { color: var(--tinta-2); font-weight: 600; user-select: all; }

/* ------------------------------------------------ Plataforma: módulos, submenu, sino, usuário */
.modulos { display: flex; gap: 0.25rem; flex: 1; }
.modulos a { color: #aeb8bf; text-decoration: none; padding: 0.45rem 0.9rem; border-radius: var(--raio); font-weight: 600; font-family: var(--condensada); font-size: 1.08rem; white-space: nowrap; }
.modulos a:hover { color: #fff; background: var(--painel-2); }
.modulos a.ativo { color: #fff; background: var(--painel-2); box-shadow: inset 0 -2px 0 var(--ambar-led); }
.em-breve { font-family: var(--texto); font-size: 0.7rem; font-weight: 500; color: #8c969d; border: 1px solid #454b50; border-radius: 999px; padding: 0 0.4rem; margin-left: 0.2rem; vertical-align: middle; }

.submenu { display: flex; gap: 0.25rem; align-items: center; padding: 0 1.5rem; height: 44px; background: var(--superficie); border-bottom: 1px solid var(--linha); overflow-x: auto; }
.submenu a { color: var(--tinta-2); text-decoration: none; padding: 0.4rem 0.8rem; border-radius: var(--raio); font-weight: 500; white-space: nowrap; }
.submenu a:hover { color: var(--tinta); background: var(--superficie-2); }
.submenu a.ativo { color: var(--tinta); background: var(--superficie-2); box-shadow: inset 0 -2px 0 var(--botao); }
.submenu .so-ver { margin-left: auto; font-size: 0.82rem; color: var(--tinta-3); white-space: nowrap; }

.sino { position: relative; background: none; border: 0; color: #aeb8bf; cursor: pointer; padding: 0.4rem; border-radius: var(--raio); display: flex; }
.sino:hover { color: #fff; background: var(--painel-2); }
.contador { position: absolute; top: 0; right: -2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #d64541; color: #fff; font: 600 0.72rem/18px var(--texto); text-align: center; }

.menu-usuario { position: relative; }
.usuario-btn { background: none; border: 1px solid #3a3f44; color: #d7dde1; border-radius: var(--raio); padding: 0.35rem 0.75rem; font: 500 0.9rem var(--texto); cursor: pointer; white-space: nowrap; }
.usuario-btn:hover { border-color: #6b767e; color: #fff; }
.menu { position: absolute; right: 0; top: calc(100% + 6px); min-width: 220px; background: var(--superficie); border: 1px solid var(--linha-forte); border-radius: var(--raio); box-shadow: 0 10px 30px var(--sombra); padding: 0.35rem; display: flex; flex-direction: column; z-index: 40; }
.menu a, .menu button { text-align: left; background: none; border: 0; color: var(--tinta); font: 400 0.95rem var(--texto); padding: 0.55rem 0.75rem; border-radius: 4px; text-decoration: none; cursor: pointer; }
.menu a:hover, .menu button:hover { background: var(--superficie-2); }

.painel-notif { position: fixed; top: 60px; right: 1rem; width: min(420px, calc(100vw - 2rem)); max-height: calc(100vh - 80px); display: flex; flex-direction: column; background: var(--superficie); border: 1px solid var(--linha-forte); border-radius: var(--raio); box-shadow: 0 12px 36px var(--sombra); z-index: 45; }
.painel-notif-cab { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; padding: 0.8rem 1rem; border-bottom: 1px solid var(--linha); flex-wrap: wrap; }
.painel-notif .lista-notif { overflow-y: auto; }
.painel-notif-pe { display: block; text-align: center; padding: 0.6rem; border-top: 1px solid var(--linha); font-size: 0.9rem; }
.lista-notif { display: flex; flex-direction: column; }
.lista-notif.grande { padding: 0; }
.notif { display: grid; grid-template-columns: 10px 1fr; gap: 0.7rem; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--linha); padding: 0.75rem 1rem; color: var(--tinta-2); font: 400 0.92rem var(--texto); cursor: pointer; width: 100%; }
.notif:last-child { border-bottom: 0; }
.notif:hover { background: var(--superficie-2); }
.notif .ponto { width: 8px; height: 8px; border-radius: 50%; margin-top: 0.45rem; background: transparent; }
.notif.nova .ponto { background: var(--botao); }
.notif.nova.tipo-ocorrencia .ponto { background: var(--vermelho); }
.notif.nova b { color: var(--tinta); }
.notif .corpo { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }
.notif b { font-weight: 600; color: var(--tinta-2); }
.notif small { color: var(--tinta-3); font-size: 0.8rem; }

/* ------------------------------------------------ Login e primeiro acesso */
.entrada { min-height: calc(100vh - 6rem); display: grid; place-items: center; }
.entrada-caixa { width: min(400px, 100%); background: var(--superficie); border: 1px solid var(--linha); border-radius: 10px; padding: 2rem; display: flex; flex-direction: column; gap: 0.9rem; }
.entrada-caixa h1 { font-size: 2rem; }
.entrada-caixa p { margin: 0; }
.marca.grande { color: var(--tinta); font-size: 1.6rem; margin-bottom: 0.5rem; }
.form-entrada { display: flex; flex-direction: column; gap: 0.9rem; }
.btn.grande { padding: 0.7rem 1rem; font-size: 1rem; }
.erro-form { color: var(--vermelho); margin: 0; font-weight: 500; }

/* ------------------------------------------------ Janelas pequenas, usuários, avisos */
dialog.janela-peq { width: min(620px, 94vw); }
.destinos, .permissoes { border: 1px solid var(--linha); border-radius: var(--raio); padding: 0.75rem 1rem; margin: 1rem 0 0; display: flex; flex-direction: column; gap: 0.5rem; }
.destinos legend, .permissoes legend { padding: 0 0.3rem; font-weight: 500; font-size: 0.9rem; }
.destinos label { display: flex; align-items: center; gap: 0.5rem; }
.pessoas { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 0.35rem 1rem; padding: 0.6rem; background: var(--superficie-2); border-radius: var(--raio); }
.perm-linha { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.35rem 0; flex-wrap: wrap; }
.perm-linha > span { font-weight: 500; }
#u-modulos.desativado { opacity: 0.4; pointer-events: none; }
.admin-check { padding-bottom: 0.4rem; border-bottom: 1px solid var(--linha); }
tr.inativo td { color: var(--tinta-3); }

/* ------------------------------------------------ Permissões: o que cada nível enxerga */
body[data-nivel="ver"] .so-operar, body[data-nivel="nenhum"] .so-operar,
body[data-nivel="ver"] .so-gerenciar, body[data-nivel="operar"] .so-gerenciar, body[data-nivel="nenhum"] .so-gerenciar { display: none !important; }
body[data-nivel="ver"] .estados { pointer-events: none; opacity: 0.85; }
body[data-nivel="ver"] #roteiro button, body[data-nivel="ver"] #roteiro .linha-acoes,
body[data-nivel="operar"] #roteiro button, body[data-nivel="operar"] #roteiro .linha-acoes { display: none; }
.perm-desc { display: block; font-weight: 400; font-size: 0.82rem; color: var(--tinta-3); }

@media (max-width: 900px) {
  .modulos a { padding: 0.4rem 0.5rem; }
  .submenu { padding: 0 0.75rem; }
  .usuario-btn { max-width: 110px; overflow: hidden; text-overflow: ellipsis; }
}

/* ------------------------------------------------ Bancada (versão web do display) */
.bc-topo { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }
.bc-topo h1 { flex: 1; font-size: 2rem; }
.bc-topo h1 span { color: var(--tinta-2); font-weight: 500; font-size: 1.4rem; }
.bc-quem { background: var(--superficie-2); color: var(--tinta); border: 1px solid var(--linha-forte); border-radius: 999px; padding: 0.7rem 1.3rem; font: 500 1.05rem var(--texto); cursor: pointer; min-height: 48px; }
.bc-quem.falta { border-color: var(--ambar); color: var(--ambar); }
.bc-filtro { margin-bottom: 1rem; }
.bc-filtro button { padding: 0.7rem 1.2rem; font-size: 1rem; }
.bc-lista { display: flex; flex-direction: column; gap: 0.6rem; margin-bottom: 6rem; }
.bc-op { display: flex; flex-direction: column; gap: 0.6rem; background: var(--superficie); border: 1px solid var(--linha); border-radius: 10px; padding: 1rem 1.2rem; color: var(--tinta); text-decoration: none; }
.bc-op.alerta { border-color: var(--vermelho); }
.bc-op-cab { display: flex; align-items: baseline; gap: 0.8rem; }
.bc-op-cab b { font-family: var(--condensada); font-size: 1.7rem; }
.bc-op-cab span { flex: 1; color: var(--tinta-2); font-weight: 500; }
.bc-op-cab strong { font-family: var(--condensada); font-size: 1.8rem; }
.bc-op-pe { display: flex; gap: 1.2rem; flex-wrap: wrap; color: var(--tinta-2); font-size: 0.95rem; }
.bc-op-pe .atraso, .alerta-txt { color: var(--vermelho); font-weight: 600; }
.bc-abas { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.bc-abas button { background: var(--superficie-2); color: var(--tinta); border: 1px solid var(--linha); border-radius: 8px; padding: 0.8rem 1.1rem; font: 500 1rem var(--texto); cursor: pointer; min-height: 52px; }
.bc-abas button.on { background: var(--botao); border-color: var(--botao); color: #fff; }
.bc-abas button.feita { background: var(--verde-claro); border-color: var(--verde-borda); }
.bc-abas button.problema { background: var(--vermelho-claro); border-color: var(--vermelho-borda); }
.bc-linha { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 1rem; text-align: left; background: var(--superficie); color: var(--tinta); border: 1px solid var(--linha); border-radius: 10px; padding: 0 1.1rem; min-height: 64px; font: 400 1.05rem var(--texto); cursor: pointer; width: 100%; }
.bc-linha:hover { background: var(--superficie-2); }
.bc-linha.sub { grid-template-columns: 1fr auto auto; }
.bc-linha.problema { border-color: var(--vermelho); }
.bc-linha.s1 { border-color: var(--botao); }
.bc-cod { font-family: var(--condensada); font-weight: 600; color: var(--tinta-2); min-width: 110px; }
.bc-nome { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-nome small { color: var(--tinta-3); font-weight: 400; }
.bc-resp { color: var(--tinta-2); font-size: 0.95rem; }
.bc-qtd { font-family: var(--condensada); font-size: 1.15rem; }
.bc-pill { border-radius: 999px; padding: 0.4rem 0.9rem; font-size: 0.9rem; font-weight: 500; white-space: nowrap; min-width: 120px; text-align: center; background: var(--superficie-2); color: var(--tinta-2); border: 1px solid var(--linha); }
.bc-pill.s1 { background: var(--azul-claro); color: var(--azul); border-color: var(--azul-borda); }
.bc-pill.s2 { background: var(--verde-botao); color: #fff; border-color: var(--verde-botao); }
.bc-pill.faltante { background: var(--vermelho-claro); color: var(--vermelho); border-color: var(--vermelho-borda); }
.bc-pill.incorreto { background: var(--ambar-claro); color: var(--ambar); border-color: var(--ambar-borda); }
.bc-pill.grande { padding: 0.8rem 1.4rem; font-size: 1rem; }
.bc-acoes { position: fixed; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 0.8rem; padding: 0.8rem 1.5rem; background: var(--superficie); border-top: 1px solid var(--linha-forte); z-index: 15; flex-wrap: wrap; }
.bc-info { flex: 1; display: flex; flex-direction: column; min-width: 180px; }
.bc-info span { color: var(--tinta-2); font-size: 0.9rem; }
.btn.bc-grande { min-height: 56px; padding: 0.7rem 1.4rem; font-size: 1.05rem; }
dialog.bc-janela { width: min(720px, 96vw); }
.bc-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.6rem; }
.bc-pessoa { min-height: 58px; background: var(--superficie-2); color: var(--tinta); border: 1px solid var(--linha-forte); border-radius: 8px; font: 500 1rem var(--texto); cursor: pointer; padding: 0.5rem; }
.bc-pessoa.on { background: var(--botao); border-color: var(--botao); color: #fff; }
.bc-botoes { display: flex; gap: 0.6rem; flex-wrap: wrap; justify-content: flex-end; margin-top: 1.2rem; }
.bc-apontar { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.bc-teclado { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
.bc-teclado .btn { min-height: 64px; font-size: 1.5rem; font-family: var(--condensada); }
.bc-apontar-lado { display: flex; flex-direction: column; gap: 0.8rem; }
.bc-apontar-lado .bc-botoes { margin-top: 0; justify-content: stretch; }
.bc-apontar-lado .bc-botoes .btn { flex: 1; }
.bc-valor { background: var(--campo); border: 1px solid var(--linha-forte); border-radius: 8px; font: 600 3rem var(--condensada); text-align: center; padding: 0.8rem; }
.bc-alertas { margin: 0.3rem 0 0; padding-left: 1.2rem; line-height: 1.8; }
.txt-vermelho { color: var(--vermelho); } .txt-verde { color: var(--verde); } .txt-ambar { color: var(--ambar); font-weight: 600; }
@media (max-width: 700px) {
  .bc-linha { grid-template-columns: 1fr auto; padding: 0.7rem 1rem; }
  .bc-linha .bc-cod, .bc-linha .bc-qtd, .bc-linha .bc-resp { grid-column: 1; font-size: 0.9rem; }
  .bc-linha .bc-pill { grid-column: 2; grid-row: 1 / span 3; min-width: 0; }
  .bc-apontar { grid-template-columns: 1fr; }
  .bc-acoes { padding: 0.6rem 0.75rem; }
  .bc-acoes .btn.bc-grande { flex: 1; }
}

/* ------------------------------------------------ Importação */
.imp-andamento { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.25rem; align-items: start; }
.passos { list-style: none; margin: 0; padding: 0; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); }
.passos li { display: grid; grid-template-columns: 34px 1fr auto; gap: 0.9rem; align-items: center; padding: 0.8rem 1rem; border-bottom: 1px solid var(--linha); position: relative; }
.passos li:last-child { border-bottom: 0; }
.marca-passo { width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--linha-forte); display: grid; place-items: center; font-weight: 700; font-size: 0.9rem; color: #fff; }
.passos li.feito .marca-passo { background: var(--verde-botao); border-color: var(--verde-botao); }
.passos li.atual { background: var(--azul-claro); }
.passos li.atual .marca-passo { border-color: var(--botao); box-shadow: 0 0 0 3px var(--azul-borda); }
.passo-corpo { display: flex; flex-direction: column; }
.passo-corpo .mudo { font-size: 0.85rem; }
.passos li.feito b { color: var(--tinta-2); }
.passo-acoes { display: flex; gap: 0.5rem; align-items: center; }
.passo-acoes input[type=date] { padding: 0.3rem 0.4rem; font-size: 0.85rem; }
.imp-lado h3 { margin-bottom: 0.75rem; }
.colunas-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.tabela-edit input { width: 100%; padding: 0.35rem 0.45rem; font-size: 0.9rem; }
.tabela-edit input.largo { min-width: 220px; }
.tabela-edit input.curto { width: 90px; }
.tabela-edit input.mini { width: 55px; }
.tabela-edit input.n { text-align: right; }
.tabela-edit td { padding: 0.35rem 0.4rem; }
.etiqueta.canal-verde { background: var(--verde-claro); color: var(--verde); }
.etiqueta.canal-amarelo { background: var(--ambar-claro); color: var(--ambar); }
.etiqueta.canal-vermelho { background: var(--vermelho-claro); color: var(--vermelho); }
.etiqueta.canal-cinza { background: var(--superficie-2); }

/* ------------------------------------------------ Recebimento (pensado para celular) */
.rec-lista { display: flex; flex-direction: column; gap: 0.6rem; }
.rec-card { display: flex; flex-direction: column; gap: 0.5rem; background: var(--superficie); border: 1px solid var(--linha); border-radius: 10px; padding: 1rem 1.2rem; color: var(--tinta); text-decoration: none; }
.rec-card.divergencia { border-left: 4px solid var(--vermelho); }
.rec-card.aprovado { border-left: 4px solid var(--verde-botao); }
.rec-card-cab { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.rec-card-cab b { font-size: 1.1rem; }
.rec-card-info { display: flex; gap: 1rem; flex-wrap: wrap; color: var(--tinta-2); font-size: 0.92rem; }
.rec-form { max-width: 640px; display: flex; flex-direction: column; gap: 1rem; }
.rec-progresso { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1rem; color: var(--tinta-2); }
.rec-resultado { display: flex; flex-direction: column; gap: 0.2rem; padding: 1rem 1.2rem; border-radius: 10px; margin-bottom: 1rem; }
.rec-resultado b { font-size: 1.2rem; }
.rec-resultado.aprovado { background: var(--verde-claro); border: 1px solid var(--verde-borda); }
.rec-resultado.divergencia { background: var(--vermelho-claro); border: 1px solid var(--vermelho-borda); }
.rec-secao { margin: 1.5rem 0 0.75rem; }
.rec-perguntas { display: flex; flex-direction: column; gap: 0.6rem; }
.rec-pergunta { background: var(--superficie); border: 1px solid var(--linha); border-radius: 10px; padding: 0.9rem 1rem; display: flex; flex-direction: column; gap: 0.6rem; }
.rec-pergunta.ok { border-left: 4px solid var(--verde-botao); }
.rec-pergunta.nok { border-left: 4px solid var(--vermelho); }
.rec-pergunta.na { border-left: 4px solid var(--linha-forte); }
.rec-pergunta p { margin: 0; font-weight: 500; }
.rec-pergunta .num { color: var(--tinta-3); }
.rec-respostas { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.rec-resp { min-height: 52px; min-width: 96px; flex: 1; max-width: 170px; border-radius: 8px; border: 1px solid var(--linha-forte); background: var(--superficie-2); color: var(--tinta); font: 600 1rem var(--texto); cursor: pointer; }
.rec-resp:disabled { cursor: default; opacity: 0.8; }
.rec-resp.ok.on { background: var(--verde-botao); border-color: var(--verde-botao); color: #fff; }
.rec-resp.nok.on { background: #c23b34; border-color: #c23b34; color: #fff; }
.rec-resp.na.on { background: var(--linha-forte); color: var(--tinta); }
.rec-btn-foto { min-height: 52px; display: inline-flex; align-items: center; }
.rec-obs { width: 100%; }
.rec-fotos { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }
.rec-foto { position: relative; }
.rec-foto img { width: 92px; height: 92px; object-fit: cover; border-radius: 6px; border: 1px solid var(--linha); display: block; }
.rec-foto-x { position: absolute; top: -8px; right: -8px; width: 26px; height: 26px; border-radius: 50%; border: 0; background: #c23b34; color: #fff; font-size: 1rem; cursor: pointer; line-height: 1; }
.rec-itens { display: flex; flex-direction: column; gap: 0.5rem; }
.rec-item { display: grid; grid-template-columns: minmax(0, 1fr) 90px 120px auto; gap: 0.8rem; align-items: center; background: var(--superficie); border: 1px solid var(--linha); border-radius: 10px; padding: 0.7rem 1rem; }
.rec-item.confere { border-left: 4px solid var(--verde-botao); }
.rec-item.diverge { border-left: 4px solid var(--vermelho); }
.rec-item-nome { display: flex; flex-direction: column; min-width: 0; }
.rec-item-nome span { color: var(--tinta-2); font-size: 0.92rem; overflow: hidden; text-overflow: ellipsis; }
.rec-item-nome small { color: var(--vermelho); }
.rec-item-qtd { display: flex; flex-direction: column; }
.rec-item-qtd small { color: var(--tinta-3); font-size: 0.8rem; }
.rec-item-qtd b { font-family: var(--condensada); font-size: 1.3rem; }
.rec-item-qtd input { font: 600 1.2rem var(--condensada); width: 100%; min-height: 44px; text-align: right; }
.rec-add-item, .rec-historico { margin-top: 1rem; }
.rec-add-item summary, .rec-historico summary { cursor: pointer; color: var(--azul); font-weight: 500; }
.rec-finalizar { margin: 2rem 0 1rem; display: flex; flex-direction: column; gap: 0.5rem; }
.m-itens { padding-left: 1.4rem; display: flex; flex-direction: column; gap: 0.4rem; }
.m-itens li input[type=text] { flex: 1; min-width: 200px; }
.m-itens li { display: list-item; }
.m-itens li > * { vertical-align: middle; }
.m-itens li { padding: 0.2rem 0; }
.m-itens li input[type=text] { width: calc(100% - 220px); }

@media (max-width: 900px) {
  .imp-andamento, .colunas-2 { grid-template-columns: 1fr; }
  .passos li { grid-template-columns: 30px 1fr; }
  .passo-acoes { grid-column: 2; }
  .rec-item { grid-template-columns: 1fr 1fr; }
  .rec-item-nome { grid-column: 1 / -1; }
  .rec-resp { max-width: none; }
  .m-itens li input[type=text] { width: 100%; }
}

/* ------------------------------------------------ Acabamento geral */
.bloco, .quadro, .etapa, .tabela-wrap, .passos, .rec-card, .rec-pergunta, .rec-item, .bc-op, .bc-linha { box-shadow: var(--sombra-card); }
.bloco, .quadro, .etapa, .passos { border-radius: 10px; }
.btn { transition: background-color .15s, border-color .15s, color .15s, transform .05s; }
.btn:active { transform: translateY(1px); }
.op-linha, .bc-op, .rec-card, .kpi, .destaque { transition: background-color .15s, border-color .15s, transform .15s; }
.painel { background: linear-gradient(180deg, #1f1f1d 0%, #171716 100%); }
:root[data-tema="claro"] .painel { background: linear-gradient(180deg, #1b2025 0%, #14181b 100%); }
.ic { flex: none; display: block; }
.modulos a { display: inline-flex; align-items: center; gap: 0.45rem; }
h1 { letter-spacing: -0.005em; }
.topo-pagina h1 { font-size: 2.4rem; }
::selection { background: var(--botao); color: #fff; }

/* ------------------------------------------------ Tela Início */
.inicio-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.inicio-cab h1 { font-size: 2.8rem; }
.inicio-cab p { margin: 0; }
.saudacao { color: var(--tinta-2); font-size: 1.1rem; }
.inicio-cab .mudo { margin-top: 0.2rem; }
.pergunta-rapida { flex: 1; max-width: 560px; min-width: 280px; display: flex; align-items: center; gap: 0.6rem; background: var(--superficie); border: 1px solid var(--linha-forte); border-radius: 12px; padding: 0.4rem 0.4rem 0.4rem 0.9rem; box-shadow: var(--sombra-card); color: var(--ambar-led); }
.pergunta-rapida input { flex: 1; border: 0; background: transparent; padding: 0.55rem 0.2rem; }
.pergunta-rapida input:focus { outline: none; }
.pergunta-rapida:focus-within { border-color: var(--botao); }

.atencao { background: var(--superficie); border: 1px solid var(--vermelho-borda); border-left: 4px solid var(--vermelho); border-radius: 10px; padding: 1.1rem 1.25rem; margin-bottom: 1.5rem; box-shadow: var(--sombra-card); }
.atencao.tudo-certo { border-color: var(--verde-borda); border-left-color: var(--verde-botao); }
.atencao h2 { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.6rem; }
.atencao.tudo-certo h2 { color: var(--verde); }
.atencao p { margin: 0; }
.contagem-grande { font-size: 1rem; background: var(--vermelho); color: #fff; border-radius: 999px; padding: 0.05rem 0.6rem; font-family: var(--texto); font-weight: 600; }
.atencao ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 0.4rem 1.5rem; }
.atencao a { display: flex; align-items: center; gap: 0.55rem; padding: 0.4rem 0.2rem; color: var(--tinta); text-decoration: none; border-radius: 6px; }
.atencao a:hover { background: var(--superficie-2); }
.atencao li.vermelho .ic { color: var(--vermelho); }
.atencao li.azul .ic { color: var(--azul); }
.atencao li.ambar .ic { color: var(--ambar); }

.painel-modulo { margin-bottom: 1.75rem; }
.painel-modulo-cab { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; }
.painel-modulo-cab h2 { display: flex; align-items: center; gap: 0.55rem; font-size: 1.6rem; }
.painel-modulo-cab h2 .ic { color: var(--ambar-led); }
.kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 0.75rem; margin-bottom: 0.75rem; }
.kpi { display: flex; flex-direction: column; gap: 0.15rem; background: var(--superficie); border: 1px solid var(--linha); border-top: 3px solid var(--linha-forte); border-radius: 10px; padding: 0.85rem 1rem; color: var(--tinta); text-decoration: none; box-shadow: var(--sombra-card); }
.kpi:hover { transform: translateY(-2px); border-color: var(--linha-forte); }
.kpi b { font-family: var(--condensada); font-size: 2.3rem; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
.kpi span { color: var(--tinta-2); font-size: 0.9rem; }
.kpi.vermelho { border-top-color: var(--vermelho); } .kpi.vermelho b { color: var(--vermelho); }
.kpi.verde { border-top-color: var(--verde-botao); }
.kpi.azul { border-top-color: var(--botao); } .kpi.azul b { color: var(--azul); }
.destaques { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.6rem; }
.destaque { display: flex; justify-content: space-between; gap: 1rem; align-items: center; background: var(--superficie); border: 1px solid var(--linha); border-radius: 10px; padding: 0.75rem 1rem; color: var(--tinta); text-decoration: none; }
.destaque:hover { background: var(--superficie-2); }
.destaque > div:first-child { display: flex; flex-direction: column; min-width: 0; }
.destaque span { color: var(--tinta-2); font-size: 0.88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.destaque-pct { display: flex; flex-direction: column; align-items: flex-end; gap: 0.3rem; width: 110px; flex: none; }
.destaque-pct strong { font-family: var(--condensada); font-size: 1.3rem; line-height: 1; }
.destaque-pct .vu { width: 100%; }

/* ------------------------------------------------ Assistente */
.assist-btn { position: fixed; right: 20px; bottom: 20px; z-index: 35; display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.1rem; border-radius: 999px; border: 1px solid var(--linha-forte);
  background: var(--superficie); color: var(--tinta); font: 600 0.95rem var(--texto); cursor: pointer; box-shadow: 0 8px 24px var(--sombra); }
.assist-btn .ic { color: var(--ambar-led); }
.assist-btn:hover { border-color: var(--ambar-led); }
body:has(.bc-acoes) .assist-btn { bottom: 96px; }
body.com-assistente .assist-btn { display: none; }
.assist { position: fixed; top: 0; right: 0; bottom: 0; width: 420px; z-index: 36; display: flex; flex-direction: column; background: var(--superficie); border-left: 1px solid var(--linha-forte); box-shadow: -12px 0 32px var(--sombra); animation: entra .18s ease-out; }
@media (min-width: 1280px) { body.com-assistente main { margin-right: 420px; } body.com-assistente .bc-acoes { right: 420px; } }
.assist-cab { display: flex; justify-content: space-between; align-items: center; padding: 0.9rem 1rem; border-bottom: 1px solid var(--linha); }
.assist-titulo { display: flex; align-items: center; gap: 0.6rem; }
.assist-titulo .ic { color: var(--ambar-led); }
.assist-titulo div { display: flex; flex-direction: column; }
.assist-titulo small { color: var(--tinta-3); font-size: 0.8rem; }
.assist-msgs { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: 0.7rem; }
.msg { max-width: 92%; border-radius: 12px; padding: 0.6rem 0.85rem; font-size: 0.95rem; line-height: 1.5; }
.msg p { margin: 0 0 0.4rem; } .msg p:last-child { margin-bottom: 0; }
.msg ul { margin: 0.2rem 0 0.4rem; padding-left: 1.1rem; }
.msg li { margin: 0.15rem 0; }
.msg.bot { background: var(--superficie-2); align-self: flex-start; border-top-left-radius: 4px; }
.msg.eu { background: var(--botao); color: #fff; align-self: flex-end; border-top-right-radius: 4px; }
.msg.erro { background: var(--vermelho-claro); color: var(--vermelho); }
.msg a { color: var(--azul); font-weight: 600; }
.msg.pensando { display: flex; gap: 5px; padding: 0.8rem 1rem; }
.msg.pensando span { width: 7px; height: 7px; border-radius: 50%; background: var(--tinta-3); animation: pisca 1s infinite ease-in-out; }
.msg.pensando span:nth-child(2) { animation-delay: .15s; } .msg.pensando span:nth-child(3) { animation-delay: .3s; }
@keyframes pisca { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
.assist-atalhos { display: flex; gap: 0.4rem; flex-wrap: wrap; padding: 0.6rem 1rem 0; border-top: 1px solid var(--linha); }
.chip { background: var(--superficie-2); border: 1px solid var(--linha-forte); color: var(--tinta); border-radius: 999px; padding: 0.35rem 0.8rem; font: 500 0.85rem var(--texto); cursor: pointer; }
.chip:hover { border-color: var(--ambar-led); }
.assist-form { display: flex; gap: 0.5rem; align-items: flex-end; padding: 0.75rem 1rem 1rem; }
.assist-form textarea { flex: 1; resize: none; min-height: 44px; max-height: 140px; }
.assist-form .btn { height: 44px; width: 48px; padding: 0; }
@media (max-width: 800px) {
  .assist { width: 100%; }
  .assist-btn span { display: none; }
  .assist-btn { padding: 0.8rem; }
  .inicio-cab h1 { font-size: 2.2rem; }
  .atencao ul { grid-template-columns: 1fr; }
}

/* Login com o medidor da marca */
.entrada-caixa { position: relative; overflow: hidden; }
.entrada-caixa::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, #2e8b57 0 60%, #e3a72f 60% 85%, #c23b34 85%); }

/* ================================================ Estrutura: menu lateral + barra superior */
.app { display: grid; grid-template-columns: 264px minmax(0, 1fr); min-height: 100vh; }
.app.sem-lateral { grid-template-columns: minmax(0, 1fr); }
.area { min-width: 0; display: flex; flex-direction: column; }
#cabecalho { position: sticky; top: 0; z-index: 20; }

.lateral { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; flex-direction: column; gap: 0.5rem;
  background: #161615; border-right: 1px solid #0b0b0a; padding: 0; color: #e6e4de; z-index: 30; }
:root[data-tema="claro"] .lateral { background: #14181b; }
.marca-lateral { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 0.7rem; padding: 1rem 1rem 1rem; color: #fff; text-decoration: none; border-bottom: 1px solid #2c2c2a; margin-bottom: 0; background: inherit; flex: none; }
.marca-lateral b { display: block; font-family: var(--condensada); font-size: 1.55rem; line-height: 1; }
.marca-lateral small { color: #a9a69e; font-size: 0.82rem; }
.marca-lateral .marca-leds { height: 24px; gap: 3px; }
.marca-lateral .marca-leds i { width: 5px; }
.marca-lateral .marca-leds i:nth-child(1) { height: 8px; } .marca-lateral .marca-leds i:nth-child(2) { height: 13px; }
.marca-lateral .marca-leds i:nth-child(3) { height: 18px; } .marca-lateral .marca-leds i:nth-child(4) { height: 24px; }
.nav-lateral { display: flex; flex-direction: column; gap: 0.35rem; flex: 1; min-height: 0; overflow-y: auto; padding: 0.75rem; }
.nav-item { display: flex; align-items: center; gap: 0.75rem; width: 100%; padding: 0.7rem 0.75rem; border-radius: 8px; color: #d6d3cb; text-decoration: none;
  font: 600 1rem var(--texto); background: none; border: 0; cursor: pointer; text-align: left; }
.nav-item:hover, .nav-sub:hover { background: #262624; color: #fff; }
.nav-item.ativo { background: #2c2c2a; color: #fff; box-shadow: inset 3px 0 0 var(--ambar-led); }
.nav-item .ic, .nav-grupo-titulo .ic { color: var(--ambar-led); }
.nav-grupo { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.35rem 0 0.3rem; border-top: 1px solid #262624; }
.nav-grupo-titulo { width: 100%; display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.75rem; font: 700 1.02rem var(--texto); color: #fff; background: transparent; border: 0; border-radius: 10px; cursor: pointer; text-align: left; }
.nav-grupo-titulo:hover { background: rgba(255,255,255,.04); }
.nav-grupo-titulo span { flex: 1; }
.nav-seta { width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .18s ease, opacity .18s ease; opacity: .72; margin-right: 4px; }
.nav-grupo.aberto .nav-seta, .nav-grupo.ativo .nav-seta { transform: rotate(225deg); opacity: 1; }
.nav-badge { min-width: 24px; height: 24px; padding: 0 7px; border-radius: 12px; background: #d64541; color: #fff; font: 700 0.82rem/24px var(--texto); text-align: center; }
.nav-sub { display: none; padding: 0.55rem 0.75rem 0.55rem 2.75rem; border-radius: 8px; color: #c2bfb7; text-decoration: none; font-size: 0.97rem; }
.nav-grupo.aberto .nav-sub, .nav-grupo.ativo .nav-sub { display: block; }
.nav-sub.ativo { background: #2c2c2a; color: #fff; font-weight: 600; box-shadow: inset 3px 0 0 var(--ambar-led); }
.nav-so-ver { display:none; padding: 0.2rem 0.75rem 0 2.75rem; font-size: 0.8rem; color: #8f8c85; }
.nav-grupo.aberto .nav-so-ver, .nav-grupo.ativo .nav-so-ver { display:block; }
.lateral-pe { display: flex; flex-direction: column; gap: 0.15rem; border-top: 1px solid #262624; padding: 0.7rem 0.75rem 0.75rem; flex: none; }
.lateral-pe .nav-item { font-weight: 500; font-size: 0.95rem; padding: 0.55rem 0.75rem; }
.usuario-lateral { display: flex; align-items: center; gap: 0.6rem; padding: 0.7rem 0.5rem 0.2rem; margin-top: 0.3rem; border-top: 1px solid #262624; }
.avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--botao); color: #fff; display: grid; place-items: center; font: 700 1rem var(--texto); flex: none; }
.usuario-nome { flex: 1; min-width: 0; display: flex; flex-direction: column; font-weight: 600; font-size: 0.95rem; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.usuario-nome small { color: #a9a69e; font-weight: 400; font-size: 0.8rem; }
.usuario-lateral .btn { background: transparent; color: #d6d3cb; border-color: #3a3a37; }

.topo { display: flex; align-items: center; gap: 1rem; height: 68px; padding: 0 2rem; background: var(--superficie); border-bottom: 1px solid var(--linha); box-shadow: 0 2px 10px rgba(0,0,0,0.15); }
.topo-titulo { display: flex; align-items: center; gap: 0.55rem; font: 600 1.35rem var(--condensada); white-space: nowrap; min-width: 0; overflow: hidden; }
.topo-modulo { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--tinta-2); }
.topo-modulo .ic { color: var(--ambar-led); }
.topo-sep { color: var(--tinta-3); }
.btn-menu { display: none; background: none; border: 1px solid var(--linha-forte); color: var(--tinta); border-radius: 8px; width: 44px; height: 44px; place-items: center; cursor: pointer; }
.busca-global { position: relative; flex: 1; max-width: 560px; margin-left: auto; display: flex; align-items: center; gap: 0.5rem; background: var(--campo); border: 1px solid var(--linha-forte); border-radius: 10px; padding: 0 0.8rem; color: var(--tinta-3); }
.busca-global:focus-within { border-color: var(--botao); box-shadow: 0 0 0 3px var(--azul-borda); }
.busca-global input { flex: 1; border: 0; background: transparent; padding: 0.7rem 0.1rem; font-size: 1rem; }
.busca-global input:focus { outline: none; }
.busca-res { position: absolute; top: calc(100% + 6px); left: 0; right: 0; max-height: 70vh; overflow-y: auto; background: var(--superficie); border: 1px solid var(--linha-forte); border-radius: 10px; box-shadow: 0 16px 40px var(--sombra); z-index: 50; padding: 0.4rem; }
.busca-grupo small { display: block; padding: 0.5rem 0.7rem 0.2rem; color: var(--tinta-3); font-weight: 600; font-size: 0.78rem; letter-spacing: 0.03em; }
.busca-item { display: flex; align-items: center; gap: 0.7rem; padding: 0.55rem 0.7rem; border-radius: 8px; color: var(--tinta); text-decoration: none; }
.busca-item .ic { color: var(--ambar-led); }
.busca-item span { display: flex; flex-direction: column; min-width: 0; }
.busca-item em { font-style: normal; color: var(--tinta-2); font-size: 0.9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.busca-item.sel, .busca-item:hover { background: var(--superficie-2); }
.topo .ao-vivo { color: var(--tinta-2); }
.btn-topo { display: inline-flex; align-items: center; gap: 0.45rem; background: var(--superficie-2); border: 1px solid var(--linha-forte); color: var(--tinta); border-radius: 10px; padding: 0.55rem 0.9rem; font: 600 0.95rem var(--texto); cursor: pointer; white-space: nowrap; }
.btn-topo .ic { color: var(--ambar-led); }
.btn-topo:hover { border-color: var(--ambar-led); }
.topo .sino { color: var(--tinta-2); width: 44px; height: 44px; place-items: center; display: grid; border: 1px solid var(--linha-forte); border-radius: 10px; }
.topo .sino:hover { color: var(--tinta); background: var(--superficie-2); }
.painel-notif { top: 74px; }
.assist { z-index: 45; }
.fundo-menu { display: none; }
@media (min-width: 1001px) { .app:not(.sem-lateral) .bc-acoes { left: 264px; } }

/* Celular e tablet: menu vira gaveta */
@media (max-width: 1000px) {
  .app { grid-template-columns: minmax(0, 1fr); }
  .lateral { position: fixed; left: 0; top: 0; bottom: 0; width: 290px; transform: translateX(-105%); transition: transform .2s ease; }
  body.menu-aberto .lateral { transform: none; box-shadow: 12px 0 40px rgba(0,0,0,.5); }
  body.menu-aberto .fundo-menu { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 29; }
  .btn-menu { display: grid; }
  .topo { padding: 0 0.75rem; gap: 0.5rem; height: 62px; }
  .topo-titulo { display: none; }
  .busca-global { margin-left: 0; }
  .btn-topo span, .topo .ao-vivo { display: none; }
  .btn-topo { padding: 0.55rem; }
  main { padding: 1.25rem 0.9rem 5rem; }
  .painel-notif { top: 66px; }
}

/* ================================================ Modo TV */
body.modo-tv .lateral, body.modo-tv .topo, body.modo-tv #assist { display: none !important; }
body.modo-tv .app { grid-template-columns: minmax(0, 1fr); }
body.modo-tv main { max-width: none; padding: 1.5rem 2rem; }
.tv { display: flex; flex-direction: column; gap: 1.5rem; min-height: calc(100vh - 3rem); }
.tv-topo { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.tv-topo .marca-lateral { border: 0; margin: 0; padding: 0; }
.tv-topo .marca-lateral b { font-size: 2.2rem; }
.tv-topo .marca-lateral small { font-size: 1.05rem; }
.tv-relogio { display: flex; flex-direction: column; align-items: center; }
.tv-relogio b { font: 600 clamp(3rem, 6vw, 5.5rem)/1 var(--condensada); }
.tv-relogio span { color: var(--tinta-2); font-size: 1.2rem; }
.tv-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.tv-grafico { background: var(--superficie); border: 1px solid var(--linha); border-radius: 14px; padding: .35rem; }
.tv-grafico .grafico { padding: 1rem 1.15rem .9rem; }
.tv-grafico .grafico svg { height: 240px; }
.tv-grafico .grafico-totais b { font-size: 2rem; }
.tv-grafico .grafico .valor { font-size: 13px; }
.tv-grafico .grafico .dia { font-size: 12px; }
.tv-kpi { background: var(--superficie); border: 1px solid var(--linha); border-top: 5px solid var(--linha-forte); border-radius: 14px; padding: 1rem 1.3rem; display: flex; flex-direction: column; }
.tv-kpi b { font: 600 clamp(3rem, 5vw, 4.5rem)/1 var(--condensada); }
.tv-kpi span { font-size: 1.25rem; color: var(--tinta-2); }
.tv-kpi.vermelho { border-top-color: var(--vermelho); } .tv-kpi.vermelho b { color: var(--vermelho); }
.tv-kpi.verde { border-top-color: var(--verde-botao); } .tv-kpi.azul { border-top-color: var(--botao); }
.tv-corpo { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1.5rem; flex: 1; }
.tv h2 { font-size: 2rem; margin-bottom: 1rem; }
.tv-ops { display: flex; flex-direction: column; gap: 1rem; }
.tv-op { background: var(--superficie); border: 1px solid var(--linha); border-radius: 14px; padding: 1.1rem 1.4rem; display: flex; flex-direction: column; gap: 0.8rem; }
.tv-op.vermelho { border-color: var(--vermelho); border-width: 2px; }
.tv-op-cab { display: flex; align-items: baseline; gap: 1rem; }
.tv-op-cab b { font: 600 2.4rem var(--condensada); }
.tv-op-cab span { flex: 1; color: var(--tinta-2); font-size: 1.4rem; }
.tv-op-cab strong { font: 600 2.8rem var(--condensada); }
.tv-op .vu.grande { height: 30px; gap: 4px; }
.tv-alertas { background: var(--superficie); border: 2px solid var(--vermelho); border-radius: 14px; padding: 1.3rem 1.5rem; }
.tv-alertas.ok { border-color: var(--verde-botao); } .tv-alertas.ok h2 { color: var(--verde); }
.tv-alertas ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.9rem; }
.tv-alertas li { display: flex; align-items: center; gap: 0.9rem; font-size: 1.45rem; font-weight: 600; }
.tv-alertas li.vermelho .ic { color: var(--vermelho); } .tv-alertas li.azul .ic { color: var(--azul); } .tv-alertas li.ambar .ic { color: var(--ambar); }
.tv-vazio { font-size: 1.4rem; color: var(--tinta-2); }
@media (max-width: 900px) { .tv-corpo { grid-template-columns: 1fr; } }
@media (max-width: 1280px) and (min-width: 1001px) {
  .topo-titulo .topo-modulo, .topo-titulo .topo-sep { display: none; }
  .topo-titulo { max-width: 220px; }
  .topo-titulo span { overflow: hidden; text-overflow: ellipsis; }
}

/* ================================================ Marca BF */
.logo-bf { border-radius: 8px; display: block; flex: none; box-shadow: 0 0 0 1px #3a3a37; }
.marca.grande { display: flex; align-items: center; gap: 0.8rem; }
.marca.grande span { display: flex; flex-direction: column; font-family: var(--condensada); font-size: 2rem; line-height: 1; }
.marca.grande small { font-family: var(--texto); font-size: 0.9rem; color: var(--tinta-2); font-weight: 500; }
.marca-lateral b { font-size: 1.9rem; }
.tv-topo .logo-bf { width: 64px; height: 64px; }

/* ================================================ Desenvolvimento */
.dev-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 1rem; }
.dev-card { display: flex; flex-direction: column; gap: 0.75rem; background: var(--superficie); border: 1px solid var(--linha); border-radius: 12px; padding: 1.1rem 1.2rem; color: var(--tinta); text-decoration: none; box-shadow: var(--sombra-card); }
.dev-card:hover { border-color: var(--linha-forte); transform: translateY(-2px); }
.dev-card.alerta { border-color: var(--vermelho); }
.dev-card-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.dev-card-cab > div { display: flex; flex-direction: column; min-width: 0; }
.dev-modelo { font: 600 1.8rem/1 var(--condensada); }
.dev-card-cab span { color: var(--tinta-2); margin-top: 0.2rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dev-pct { font: 600 2.4rem/1 var(--condensada); font-variant-numeric: tabular-nums; }
.dev-card-info { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; flex-wrap: wrap; font-size: 0.93rem; }
.dev-etapa { color: var(--tinta-2); font-size: 0.93rem; }
.dev-clientes { display: flex; gap: 0.35rem; flex-wrap: wrap; }
.chip-cliente { background: var(--azul-claro); color: var(--azul); border: 1px solid var(--azul-borda); border-radius: 999px; padding: 0.15rem 0.65rem; font-size: 0.86rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.chip-cliente.proj { display: inline-block; margin: 0.1rem 0; }
.dev-topo { display: grid; grid-template-columns: 1fr 300px; gap: 1.5rem; align-items: start; margin-bottom: 1.25rem; }
.dev-pct-grande { background: var(--superficie); border: 1px solid var(--linha); border-radius: 12px; padding: 1.1rem 1.3rem; display: flex; flex-direction: column; gap: 0.5rem; box-shadow: var(--sombra-card); }
.dev-pct-grande strong { font: 600 4rem/1 var(--condensada); }
.dev-pct-grande span { color: var(--tinta-2); }
.dev-etapas { display: flex; flex-direction: column; background: var(--superficie); border: 1px solid var(--linha); border-radius: 12px; box-shadow: var(--sombra-card); }
.dev-etapa-linha { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 0.9rem 1.1rem; border-bottom: 1px solid var(--linha); }
.dev-etapa-linha:last-child { border-bottom: 0; }
.dev-etapa-num { width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--linha-forte); display: grid; place-items: center; font-weight: 700; color: var(--tinta-2); }
.dev-etapa-linha.feita .dev-etapa-num { background: var(--verde-botao); border-color: var(--verde-botao); color: #fff; }
.dev-etapa-linha.andando .dev-etapa-num { border-color: var(--botao); color: var(--azul); }
.dev-etapa-corpo { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.dev-etapa-corpo b { font-size: 1.05rem; }
.dev-barra { height: 10px; background: var(--led-off); border-radius: 5px; overflow: hidden; }
.dev-barra i { display: block; height: 100%; background: var(--botao); border-radius: 5px; }
.dev-etapa-linha.feita .dev-barra i { background: var(--verde-botao); }
.dev-etapa-acoes { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; justify-content: flex-end; }
.dev-etapa-acoes .segmentado button { padding: 0.45rem 0.6rem; font-size: 0.88rem; }
.dev-specs { white-space: pre-wrap; font: 1rem/1.6 var(--texto); margin: 0; }
.sel-clientes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0.6rem; }
.sel-cliente { border: 1px solid var(--linha); border-radius: 10px; padding: 0.65rem 0.8rem; display: flex; flex-direction: column; gap: 0.5rem; background: var(--superficie-2); }
.sel-cliente.on { border-color: var(--botao); background: var(--azul-claro); }
.sel-cliente label { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; }
.cli-obs { width: 100%; }
@media (max-width: 900px) {
  .dev-topo { grid-template-columns: 1fr; }
  .dev-etapa-linha { grid-template-columns: 34px 1fr; }
  .dev-etapa-acoes { grid-column: 1 / -1; justify-content: flex-start; }
}
.dev-etapa-edit .btn.link { color: var(--tinta-3); } .dev-etapa-edit .btn.link:hover { color: var(--tinta); } .dev-etapa-edit [data-tira]:hover { color: var(--vermelho); }

/* ================================================ Mensagens (chat) */
.nav-item .nav-badge { margin-left: auto; }
.topo a.sino { position: relative; text-decoration: none; }
.chat { display: grid; grid-template-columns: 340px minmax(0, 1fr); height: calc(100vh - 68px - 3.75rem); min-height: 480px; background: var(--superficie);
  border: 1px solid var(--linha); border-radius: 12px; overflow: hidden; box-shadow: var(--sombra-card); }
.chat-lista { display: flex; flex-direction: column; border-right: 1px solid var(--linha); min-height: 0; }
.chat-lista-cab { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1rem 0.6rem; }
.chat-lista > input { margin: 0 1rem 0.6rem; }
.chat-itens { flex: 1; overflow-y: auto; }
.chat-item { display: flex; gap: 0.75rem; align-items: center; padding: 0.75rem 1rem; color: var(--tinta); text-decoration: none; border-left: 3px solid transparent; }
.chat-item:hover { background: var(--superficie-2); }
.chat-item.ativo { background: var(--superficie-2); border-left-color: var(--ambar-led); }
.chat-item-corpo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.15rem; }
.chat-item-linha { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }
.chat-item-linha b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-item-linha small { color: var(--tinta-3); flex: none; }
.chat-item-linha em { font-style: normal; color: var(--tinta-2); font-size: 0.92rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-item.nova em { color: var(--tinta); font-weight: 600; }
.chat-avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--botao); color: #fff; display: grid; place-items: center; font-weight: 700; flex: none; }
.chat-avatar.grupo { background: var(--superficie-2); color: var(--ambar-led); border: 1px solid var(--linha-forte); }
.chat-conversa { display: flex; flex-direction: column; min-height: 0; min-width: 0; }
.chat-cab { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; border-bottom: 1px solid var(--linha); }
.chat-cab-nome { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.chat-cab-nome small { color: var(--tinta-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-voltar { display: none; }
.chat-msgs { flex: 1; overflow-y: auto; padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: 0.35rem; background: var(--fundo); }
.chat-dia { text-align: center; margin: 0.8rem 0 0.4rem; }
.chat-dia span { background: var(--superficie-2); color: var(--tinta-2); font-size: 0.82rem; font-weight: 600; padding: 0.2rem 0.8rem; border-radius: 999px; }
.chat-msg { display: flex; flex-direction: column; align-items: flex-start; max-width: 72%; position: relative; margin-top: 0.35rem; }
.chat-msg.seguida { margin-top: 0; }
.chat-msg.minha { align-self: flex-end; align-items: flex-end; }
.chat-autor { color: var(--ambar); font-weight: 600; font-size: 0.82rem; margin: 0 0 0.15rem 0.6rem; }
.chat-balao { background: var(--superficie-2); border-radius: 14px; border-top-left-radius: 4px; padding: 0.5rem 0.8rem 0.35rem; font-size: 1rem; line-height: 1.45; word-wrap: break-word; overflow-wrap: anywhere; }
.chat-msg.minha .chat-balao { background: var(--grad-azul); color: #fff; border-top-left-radius: 14px; border-top-right-radius: 4px; }
.chat-msg.seguida .chat-balao { border-radius: 14px; }
.chat-balao a { color: inherit; text-decoration: underline; font-weight: 600; }
.chat-balao img { max-width: min(320px, 100%); max-height: 320px; border-radius: 10px; display: block; margin: 0.2rem 0 0.35rem; }
.chat-balao.apagada { opacity: 0.6; }
.chat-arquivo { display: inline-block; margin-bottom: 0.3rem; }
.chat-meta { display: block; text-align: right; font-size: 0.72rem; opacity: 0.7; margin-top: 0.15rem; }
.chat-visto { margin-left: 0.25rem; letter-spacing: -2px; }
.chat-visto.sim { color: #9fe0ff; opacity: 1; }
.chat-mais { align-self: center; margin-bottom: 0.5rem; }
.chat-form { display: flex; align-items: flex-end; gap: 0.5rem; padding: 0.75rem 1rem; border-top: 1px solid var(--linha); }
.chat-escrever { flex: 1; display: flex; flex-direction: column; gap: 0.35rem; }
.chat-escrever textarea { width: 100%; resize: none; min-height: 46px; max-height: 160px; font-size: 1rem; }
.chat-anexo-previa { display: flex; justify-content: space-between; align-items: center; background: var(--superficie-2); border-radius: 8px; padding: 0.3rem 0.6rem; font-size: 0.9rem; }
.chat-form .btn { height: 46px; min-width: 48px; padding: 0 0.8rem; }
.chat-anexar { cursor: pointer; font-size: 1.1rem; }
.chat-vazio { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.5rem; color: var(--tinta-2); text-align: center; padding: 2rem; }
.chat-vazio .ic { color: var(--ambar-led); }
.chat-vazio strong { color: var(--tinta); font-size: 1.2rem; }
.chat-vazio.pequeno { flex: none; padding: 3rem 1rem; }
.nc-pessoas { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0.5rem; max-height: 260px; overflow-y: auto; }
.nc-pessoa { display: flex; align-items: center; gap: 0.6rem; background: var(--superficie-2); border: 1px solid var(--linha); border-radius: 10px; padding: 0.5rem 0.7rem; color: var(--tinta); font: 600 0.95rem var(--texto); cursor: pointer; text-align: left; }
.nc-pessoa:hover { border-color: var(--botao); }
.nc-pessoa .chat-avatar { width: 34px; height: 34px; font-size: 0.85rem; }
@media (max-width: 800px) {
  .chat { grid-template-columns: minmax(0, 1fr); height: calc(100vh - 62px - 2.2rem); }
  .chat.com-conversa .chat-lista { display: none; }
  .chat:not(.com-conversa) .chat-conversa { display: none; }
  .chat-voltar { display: inline-flex; }
  .chat-msg { max-width: 88%; }
}

/* ================================================ Janelinhas de conversa no rodapé */
.dock { position: fixed; right: 16px; bottom: 0; z-index: 34; display: flex; flex-direction: row-reverse; align-items: flex-end; gap: 12px; pointer-events: none; }
.dock > * { pointer-events: auto; }
.dock[hidden] { display: none !important; }
body.com-assistente .dock { right: 436px; }
body:has(.bc-acoes) .dock { bottom: 76px; }
body.modo-tv .dock { display: none !important; }
@media (max-width: 799px) { .dock { display: none !important; } }
.dock-lanc { position: relative; }
.dock-lancador { display: flex; align-items: center; gap: 0.5rem; height: 46px; padding: 0 1rem; border-radius: 12px 12px 0 0; border: 1px solid var(--linha-forte); border-bottom: 0;
  background: var(--superficie); color: var(--tinta); font: 700 0.95rem var(--texto); cursor: pointer; box-shadow: 0 -4px 18px var(--sombra); }
.dock-lancador .ic { color: var(--ambar-led); }
.dock-lancador:hover { background: var(--superficie-2); }
.dock-lista { position: absolute; right: 0; bottom: 46px; width: 340px; max-height: 480px; display: flex; flex-direction: column; background: var(--superficie);
  border: 1px solid var(--linha-forte); border-radius: 12px 12px 0 12px; box-shadow: 0 -8px 30px var(--sombra); overflow: hidden; }
.dock-lista[hidden] { display: none; }
.dock-lista-cab { display: flex; justify-content: space-between; align-items: center; padding: 0.7rem 0.9rem; border-bottom: 1px solid var(--linha); }
.dock-lista-itens { overflow-y: auto; }
.dock-lista .chat-item { width: 100%; background: none; border: 0; border-left: 3px solid transparent; font: inherit; text-align: left; cursor: pointer; padding: 0.6rem 0.9rem; }
.chat-avatar.pequeno { width: 32px; height: 32px; font-size: 0.8rem; }
.dock-janela { width: 330px; display: flex; flex-direction: column; background: var(--superficie); border: 1px solid var(--linha-forte); border-bottom: 0;
  border-radius: 12px 12px 0 0; box-shadow: 0 -6px 24px var(--sombra); overflow: hidden; }
.dock-janela:not(.aberta) { width: 230px; }
.dock-cab { display: flex; align-items: center; gap: 0.5rem; height: 46px; padding: 0 0.4rem 0 0.6rem; cursor: pointer; background: var(--superficie-2); flex: none; }
.dock-janela.tem-nova .dock-cab { background: var(--grad-azul); color: #fff; }
.dock-janela.tem-nova .dock-cab .dock-bt { color: #fff; }
.dock-nome { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.95rem; }
.dock-bt { background: none; border: 0; color: var(--tinta-2); width: 30px; height: 30px; border-radius: 6px; display: grid; place-items: center; cursor: pointer; font-size: 1.15rem; text-decoration: none; flex: none; }
.dock-bt:hover { background: rgba(255,255,255,0.1); color: var(--tinta); }
.dock-corpo { display: none; flex-direction: column; height: 400px; }
.dock-janela.aberta .dock-corpo { display: flex; }
.dock-msgs { flex: 1; overflow-y: auto; padding: 0.6rem 0.7rem; display: flex; flex-direction: column; gap: 0.3rem; background: var(--fundo); }
.dock .chat-msg { max-width: 86%; }
.dock .chat-balao { font-size: 0.93rem; padding: 0.4rem 0.65rem 0.3rem; }
.dock .chat-balao img { max-width: 100%; max-height: 200px; }
.dock .chat-dia { margin: 0.5rem 0 0.2rem; }
.dock-form { display: flex; align-items: flex-end; gap: 0.3rem; padding: 0.45rem 0.5rem; border-top: 1px solid var(--linha); }
.dock-form textarea { flex: 1; resize: none; min-height: 38px; max-height: 110px; padding: 0.45rem 0.6rem; font-size: 0.95rem; }
.dock-enviar { color: var(--azul); }
.dock-anexar { font-size: 1rem; }
.dock-janela:not(.aberta) [data-cheia] { display: none; }
.dock-janela:not(.aberta) { width: 250px; }

/* ================================================ Foto de perfil */
.com-foto { overflow: hidden; padding: 0; background: var(--superficie-2) !important; }
.com-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.usuario-link { flex: 1; min-width: 0; display: flex; align-items: center; gap: 0.6rem; color: inherit; text-decoration: none; border-radius: 8px; }
.usuario-link:hover .usuario-nome { text-decoration: underline; }
.avatar-grande { width: 140px; height: 140px; border-radius: 50%; background: var(--botao); color: #fff; display: grid; place-items: center; font: 700 3rem var(--texto); margin: 0.5rem 0 1rem; box-shadow: 0 0 0 4px var(--superficie-2); }
.conta-grade { display: grid; grid-template-columns: 320px minmax(0, 480px); gap: 1.25rem; align-items: start; }
.conta-coluna { display: flex; flex-direction: column; gap: 1.25rem; }
.conta-coluna .bloco { margin-bottom: 0; }
.conta-foto .linha-acoes { margin-top: 0.5rem; }
.chat-avatar.mini { width: 20px; height: 20px; font-size: 0.6rem; display: inline-grid; vertical-align: middle; margin-right: 0.35rem; }
.chat-autor { display: inline-flex; align-items: center; }
.usuario-celula { display: inline-flex; align-items: center; gap: 0.55rem; flex-wrap: wrap; }
@media (max-width: 800px) { .conta-grade { grid-template-columns: 1fr; } }

.dock-janela.oculta { display: none; }
.dock-ocultas { background: var(--superficie-2); border: 1px solid var(--linha-forte); border-radius: 999px; padding: 0 0.45rem; font-size: 0.78rem; font-weight: 700; color: var(--tinta-2); }
.dock-ocultas[hidden] { display: none; }

/* ================================================ Lista de conversas por cima das janelinhas (correção) */
.dock-lanc { z-index: 5; }
.dock-lista { z-index: 5; }

/* ================================================ Emojis */
.emojis { position: fixed; z-index: 60; width: 320px; background: var(--superficie); border: 1px solid var(--linha-forte); border-radius: 12px; box-shadow: 0 12px 36px var(--sombra); overflow: hidden; }
.emojis-abas { display: flex; gap: 0.2rem; padding: 0.4rem; border-bottom: 1px solid var(--linha); overflow-x: auto; }
.emojis-abas button { background: none; border: 0; color: var(--tinta-2); font: 600 0.8rem var(--texto); padding: 0.35rem 0.55rem; border-radius: 6px; cursor: pointer; white-space: nowrap; }
.emojis-abas button.on { background: var(--superficie-2); color: var(--tinta); }
.emojis-grade { display: grid; grid-template-columns: repeat(8, 1fr); gap: 2px; padding: 0.4rem; max-height: 220px; overflow-y: auto; }
.emoji { background: none; border: 0; font-size: 1.4rem; line-height: 1; padding: 0.3rem 0; border-radius: 6px; cursor: pointer; font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; }
.emoji:hover { background: var(--superficie-2); transform: scale(1.15); }

/* ================================================ Chamar atenção */
.chat-cutucada { align-self: center; background: var(--ambar-claro); border: 1px solid var(--ambar-borda); color: var(--ambar); border-radius: 999px; padding: 0.3rem 0.9rem; font-size: 0.9rem; margin: 0.4rem 0; text-align: center; }
.chat-cutucada b { color: var(--tinta); }
@keyframes tremer {
  0%, 100% { transform: translateX(0); }
  10%, 50%, 90% { transform: translateX(-8px) rotate(-1deg); }
  30%, 70% { transform: translateX(8px) rotate(1deg); }
}
.tremendo { animation: tremer 0.8s ease-in-out; }
.dock-janela.tremendo { box-shadow: 0 0 0 3px var(--ambar-led), 0 -6px 24px var(--sombra); }
@media (prefers-reduced-motion: reduce) { .tremendo { animation: none; box-shadow: 0 0 0 3px var(--ambar-led); } }

/* =====================================================================================
   VISUAL PROFISSIONAL — camadas, brilho sutil e cores de destaque fortes
   ===================================================================================== */
body {
  background:
    radial-gradient(1100px 520px at 85% -8%, rgba(47, 123, 255, 0.13), transparent 60%),
    radial-gradient(800px 420px at 10% -10%, rgba(255, 176, 32, 0.06), transparent 55%),
    var(--fundo);
  background-attachment: fixed;
  letter-spacing: 0.005em;
}
:root[data-tema="claro"] body { background: radial-gradient(1100px 520px at 85% -8%, rgba(47, 107, 255, 0.08), transparent 60%), var(--fundo); background-attachment: fixed; }

/* Barras de rolagem discretas */
* { scrollbar-width: thin; scrollbar-color: var(--linha-forte) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--linha-forte); border-radius: 10px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-track { background: transparent; }

/* Títulos e rótulos */
h1, .topo-pagina h1 { font-weight: 700; letter-spacing: -0.01em; }
.topo-pagina h1 { font-size: 2.6rem; }
.topo-pagina p { color: var(--tinta-2); }
.rotulo-sec, .kpi span, .quadro-cab, th, .op-resumo small, .fatos dt, .painel-modulo-cab small {
  text-transform: uppercase; letter-spacing: 0.07em; font-size: 0.74rem !important; font-weight: 700; color: var(--tinta-3);
}

/* Menu lateral */
.lateral { background: linear-gradient(180deg, #0b1119 0%, #06090d 100%); border-right: 1px solid #141c27; }
:root[data-tema="claro"] .lateral { background: linear-gradient(180deg, #0f1620 0%, #0a0f15 100%); }
.marca-lateral { border-bottom-color: #172030; }
.nav-item, .nav-sub { transition: background-color .15s, color .15s; }
.nav-item:hover, .nav-sub:hover { background: rgba(255, 255, 255, 0.04); }
.nav-item.ativo, .nav-sub.ativo { background: linear-gradient(90deg, rgba(47, 123, 255, 0.24), rgba(47, 123, 255, 0.03)); color: #fff; box-shadow: inset 3px 0 0 #3b86ff; }
.nav-item.ativo .ic { color: #8fbaff; }
.nav-grupo { border-top-color: #141c27; }
.nav-grupo-titulo { letter-spacing: 0.01em; }
.nav-badge { background: var(--grad-vermelho); box-shadow: 0 0 10px rgba(255, 77, 94, 0.45); }
.lateral-pe, .usuario-lateral { border-top-color: #141c27; }
.avatar { background: var(--grad-azul); }

/* Barra superior translúcida */
.topo { background: rgba(8, 11, 16, 0.72); backdrop-filter: blur(14px) saturate(150%); -webkit-backdrop-filter: blur(14px) saturate(150%); border-bottom: 1px solid var(--linha); box-shadow: none; }
:root[data-tema="claro"] .topo { background: rgba(255, 255, 255, 0.78); }
.topo .sino, .btn-topo { background: var(--superficie); border-color: var(--linha-forte); }
.busca-global { background: var(--campo); border-color: var(--linha-forte); border-radius: 12px; }
.contador { background: var(--grad-vermelho); box-shadow: 0 0 10px rgba(255, 77, 94, 0.5); }
.ao-vivo.on::before { background: #3ddc97; box-shadow: 0 0 0 3px rgba(61, 220, 151, 0.18), 0 0 10px #3ddc97; }

/* Cartões e blocos em camadas */
.bloco, .quadro, .etapa, .tabela-wrap, .passos, .dev-etapas, .kpi, .destaque, .dev-card, .rec-card, .rec-pergunta, .rec-item,
.bc-op, .bc-linha, .dev-pct-grande, .apontar, .atencao, .grafico, .chat, .imp-lado, .tv-kpi, .tv-op, .tv-alertas, .entrada-caixa {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0) 60%), var(--superficie);
  border: 1px solid var(--linha);
  border-radius: 14px;
  box-shadow: var(--sombra-card);
}
:root[data-tema="claro"] .bloco, :root[data-tema="claro"] .quadro, :root[data-tema="claro"] .kpi, :root[data-tema="claro"] .destaque,
:root[data-tema="claro"] .dev-card, :root[data-tema="claro"] .grafico, :root[data-tema="claro"] .atencao { background: var(--superficie); }
.op-linha:hover, .destaque:hover, .dev-card:hover, .rec-card:hover, .bc-op:hover, .bc-linha:hover { background: linear-gradient(180deg, rgba(47, 123, 255, 0.07), rgba(47, 123, 255, 0.02)), var(--superficie); border-color: var(--azul-borda); }
.quadro .op-linha:hover { border-color: var(--linha); }

/* Botões */
.btn { border-radius: 10px; font-weight: 600; background: var(--superficie-2); border-color: var(--linha-forte); }
.btn:hover { background: #1f293b; border-color: #3a4860; }
:root[data-tema="claro"] .btn:hover { background: #eef2f7; }
.btn.primario { background: var(--grad-azul); border: 0; color: #fff; box-shadow: 0 6px 18px rgba(47, 123, 255, 0.35); }
.btn.primario:hover { filter: brightness(1.1); background: var(--grad-azul); box-shadow: 0 8px 24px rgba(47, 123, 255, 0.45); }
.btn.sucesso { background: var(--grad-verde); border: 0; color: #fff; box-shadow: 0 6px 18px rgba(16, 185, 129, 0.3); }
.btn.perigo { background: transparent; color: var(--vermelho); border-color: var(--vermelho-borda); }
.btn.perigo:hover { background: var(--vermelho-claro); }
.btn.link { background: none; }
.btn:focus-visible, input:focus, select:focus, textarea:focus { outline: none; box-shadow: 0 0 0 3px rgba(47, 123, 255, 0.35); border-color: var(--botao); }

/* Campos */
input, select, textarea { background: var(--campo); border-color: var(--linha-forte); border-radius: 10px; }
input::placeholder, textarea::placeholder { color: #5f6c80; }

/* Controles segmentados */
.segmentado { background: var(--campo); border-color: var(--linha-forte); border-radius: 10px; padding: 3px; gap: 2px; }
.segmentado button { border-radius: 8px; border: 0 !important; }
.segmentado button[aria-pressed="true"] { background: var(--grad-azul); color: #fff; box-shadow: 0 4px 12px rgba(47, 123, 255, 0.35); }
.estados { border-radius: 10px; }
.estados button.on.s1 { background: var(--grad-azul); }
.estados button.on.s2 { background: var(--grad-verde); }

/* Etiquetas */
.etiqueta { border-radius: 999px; padding: 0.18rem 0.65rem; letter-spacing: 0.01em; }
.etiqueta.verde { color: var(--verde); } .etiqueta.vermelho { color: var(--vermelho); } .etiqueta.azul { color: var(--azul); } .etiqueta.ambar { color: var(--ambar); }

/* Medidor de LEDs com brilho */
.vu { gap: 3px; }
.vu i { border-radius: 3px; background: var(--led-off); }
.vu i.on { background: linear-gradient(180deg, #7cb2ff, #2f6bff); box-shadow: 0 0 8px rgba(47, 123, 255, 0.55); }
.vu.verde i.on { background: linear-gradient(180deg, #5ef0b0, #10b981); box-shadow: 0 0 8px rgba(16, 185, 129, 0.55); }
.vu.vermelho i.on { background: linear-gradient(180deg, #ff8a96, #ff3d52); box-shadow: 0 0 8px rgba(255, 61, 82, 0.55); }
:root[data-tema="claro"] .vu i.on { box-shadow: none; }

/* KPIs: número grande, rótulo em cima, faixa de cor */
.kpi { position: relative; overflow: hidden; border-top: 1px solid var(--linha) !important; padding: 1rem 1.1rem 1.05rem; gap: 0.35rem; }
.kpi::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, #2c3749, transparent); }
.kpi b { font-size: 2.7rem; font-weight: 700; letter-spacing: -0.01em; }
.kpi.azul::before { background: var(--grad-azul); } .kpi.azul b { color: #8fbaff; }
.kpi.verde::before { background: var(--grad-verde); } .kpi.verde b { color: var(--verde); }
.kpi.vermelho::before { background: var(--grad-vermelho); } .kpi.vermelho b { color: var(--vermelho); text-shadow: 0 0 18px rgba(255, 77, 94, 0.35); }
.kpi.vermelho { box-shadow: var(--sombra-card), inset 0 0 0 1px rgba(255, 77, 94, 0.25); }
.kpi:hover { transform: translateY(-3px); }

/* Tela Início */
.inicio-cab h1 { font-size: 3.2rem; background: linear-gradient(90deg, #ffffff, #9fc3ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
:root[data-tema="claro"] .inicio-cab h1 { background: none; color: var(--tinta); }
.pergunta-rapida { background: var(--superficie); border-color: var(--linha-forte); border-radius: 14px; box-shadow: var(--sombra-card); }
.atencao { border-left: 4px solid var(--vermelho) !important; background: linear-gradient(90deg, rgba(255, 77, 94, 0.09), rgba(255, 77, 94, 0) 55%), var(--superficie); }
.atencao.tudo-certo { border-left-color: var(--verde-botao) !important; background: linear-gradient(90deg, rgba(16, 185, 129, 0.09), rgba(16, 185, 129, 0) 55%), var(--superficie); }
.contagem-grande { background: var(--grad-vermelho); }
.painel-modulo-cab h2 { font-size: 1.7rem; }
.painel-modulo-cab h2 .ic { color: var(--ambar-led); filter: drop-shadow(0 0 6px rgba(255, 176, 32, 0.45)); }
.painel-modulo-corpo.com-grafico { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 44%); gap: 1rem; align-items: start; }
@media (max-width: 1150px) { .painel-modulo-corpo.com-grafico { grid-template-columns: 1fr; } }

/* Gráfico */
.grafico { padding: 1rem 1.1rem 0.8rem; }
.grafico-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 0.4rem; flex-wrap: wrap; }
.grafico-totais { display: flex; align-items: baseline; gap: 0.35rem 0.5rem; flex-wrap: wrap; }
.grafico-totais b { font: 700 1.6rem var(--condensada); color: #8fbaff; }
.grafico-totais b.ambar { color: var(--ambar); margin-left: 0.6rem; }
.grafico-totais small { color: var(--tinta-3); font-size: 0.8rem; }
.grafico svg { width: 100%; height: 200px; display: block; overflow: visible; }
.grafico .grade { stroke: var(--linha); stroke-dasharray: 3 5; }
.grafico .barra-fundo { fill: rgba(255, 255, 255, 0.025); }
.grafico .barra { filter: drop-shadow(0 0 6px rgba(47, 123, 255, 0.45)); }
.grafico .hoje .barra-fundo { fill: rgba(47, 123, 255, 0.08); }
.grafico .valor { fill: var(--tinta); font: 700 12px var(--condensada); text-anchor: middle; }
.grafico .dia { fill: var(--tinta-3); font: 600 11px var(--texto); text-anchor: middle; }
.grafico .hoje .dia { fill: #8fbaff; }
.grafico .linha-extra { fill: none; stroke: var(--ambar-led); stroke-width: 2; stroke-linejoin: round; filter: drop-shadow(0 0 4px rgba(255, 176, 32, 0.5)); }
.grafico .ponto-extra { fill: var(--fundo); stroke: var(--ambar-led); stroke-width: 2; }
.grafico-legenda { display: flex; gap: 1rem; margin-top: 0.3rem; font-size: 0.82rem; color: var(--tinta-2); }
.lg::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 0.4rem; vertical-align: -1px; }
.lg.azul::before { background: var(--grad-azul); } .lg.ambar::before { background: var(--ambar-led); border-radius: 50%; }

/* Quadro de OPs e tabelas */
.quadro { overflow: hidden; }
.quadro-cab { background: rgba(255, 255, 255, 0.015); }
.op-linha { border-bottom-color: var(--linha); }
.op-linha.alerta::before { background: var(--grad-vermelho); box-shadow: 0 0 12px rgba(255, 77, 94, 0.6); }
.op-num { font-weight: 700; }
th { background: rgba(255, 255, 255, 0.015); }
tbody tr.clicavel:hover td { background: rgba(47, 123, 255, 0.06); }
td { border-bottom-color: var(--linha); }
tr.sel td { background: rgba(47, 123, 255, 0.12) !important; }

/* Abas */
.abas { border-bottom-color: var(--linha-forte); gap: 0.4rem; }
.abas button { border-radius: 10px 10px 0 0; border-bottom-width: 3px; }
.abas button[aria-selected="true"] { color: #fff; border-bottom-color: #3b86ff; background: linear-gradient(180deg, rgba(47, 123, 255, 0), rgba(47, 123, 255, 0.1)); }
:root[data-tema="claro"] .abas button[aria-selected="true"] { color: var(--tinta); }

/* Detalhes */
.dev-pct-grande strong, .dev-pct { background: linear-gradient(180deg, #ffffff, #9fc3ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
:root[data-tema="claro"] .dev-pct-grande strong, :root[data-tema="claro"] .dev-pct { background: none; color: var(--tinta); }
.dev-barra i { background: var(--grad-azul); box-shadow: 0 0 10px rgba(47, 123, 255, 0.5); }
.dev-etapa-linha.feita .dev-barra i { background: var(--grad-verde); box-shadow: 0 0 10px rgba(16, 185, 129, 0.45); }
.dev-etapa-linha.feita .dev-etapa-num, .passos li.feito .marca-passo { background: var(--grad-verde); border-color: transparent; box-shadow: 0 0 10px rgba(16, 185, 129, 0.45); }
.passos li.atual { background: linear-gradient(90deg, rgba(47, 123, 255, 0.14), transparent); }
.chip-cliente { background: var(--azul-claro); border-color: var(--azul-borda); }
.op-titulo h1 { font-weight: 700; }

/* Avisos (toasts) */
.aviso { background: rgba(21, 28, 40, 0.92); color: var(--tinta); border: 1px solid var(--linha-forte); border-left: 4px solid #3b86ff; backdrop-filter: blur(10px); border-radius: 12px; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5); }
.aviso.erro { background: rgba(40, 14, 20, 0.95); border-left-color: #ff5d6e; color: #ffd6db; }
:root[data-tema="claro"] .aviso { background: #ffffff; }

/* Janelas (diálogos) e painéis flutuantes */
dialog { background: var(--superficie); border: 1px solid var(--linha-forte); border-radius: 16px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6); }
dialog .janela-cab { background: var(--superficie); border-radius: 16px 16px 0 0; }
dialog::backdrop { background: rgba(3, 6, 10, 0.7); backdrop-filter: blur(3px); }
.painel-notif, .busca-res, .menu, .emojis, .dock-lista { border-radius: 14px; border-color: var(--linha-forte); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55); }

/* Chat */
.chat-msgs, .dock-msgs { background: radial-gradient(600px 300px at 100% 0%, rgba(47, 123, 255, 0.05), transparent 60%), var(--fundo); }
.chat-balao { background: var(--superficie-2); border: 1px solid var(--linha); }
.chat-msg.minha .chat-balao { border: 0; box-shadow: 0 6px 16px rgba(47, 123, 255, 0.25); }
.chat-item.ativo { background: linear-gradient(90deg, rgba(47, 123, 255, 0.18), transparent); border-left-color: #3b86ff; }
.chat-avatar { background: var(--grad-azul); }
.dock-janela, .dock-lancador { border-color: var(--linha-forte); }
.dock-cab { background: #161e2b; }

/* Login */
.entrada { background: radial-gradient(700px 400px at 50% 20%, rgba(47, 123, 255, 0.16), transparent 70%); }
.entrada-caixa { border-radius: 18px; padding: 2.2rem; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55); }
.entrada-caixa::before { background: var(--grad-azul); height: 3px; }

/* Bancada e recebimento */
.bc-abas button.on, .bc-pessoa.on { background: var(--grad-azul); border-color: transparent; box-shadow: 0 6px 16px rgba(47, 123, 255, 0.35); }
.bc-pill.s2, .rec-resp.ok.on { background: var(--grad-verde); border-color: transparent; }
.rec-resp.nok.on { background: var(--grad-vermelho); border-color: transparent; }
.bc-acoes { background: rgba(12, 17, 24, 0.88); backdrop-filter: blur(12px); }

/* Modo TV */
.tv-kpi b { text-shadow: 0 0 24px rgba(47, 123, 255, 0.35); }
.tv-relogio b { background: linear-gradient(180deg, #ffffff, #8fbaff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tv-alertas { border: 2px solid var(--vermelho); } .tv-alertas.ok { border-color: var(--verde-botao); }
:root[data-tema="claro"] .grafico-totais b, :root[data-tema="claro"] .kpi.azul b, :root[data-tema="claro"] .grafico .hoje .dia { color: var(--botao); fill: var(--botao); }
:root[data-tema="claro"] .nav-item.ativo .ic { color: #8fbaff; }

/* Emojis: cresce para cima a partir do botão e nunca sai da tela */
.emojis { width: 330px; display: flex; flex-direction: column; }
.emojis-abas { flex: none; align-items: center; overflow: hidden; gap: 0.15rem; padding: 0.35rem 0.5rem; }
.emojis-abas button { font-size: 1.15rem; line-height: 1; padding: 0.35rem 0.45rem; border-radius: 8px; font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; }
.emojis-abas button.on { background: var(--azul-claro); box-shadow: inset 0 -2px 0 #3b86ff; }
.emojis-nome { margin-left: auto; color: var(--tinta-3); font: 700 0.72rem var(--texto); text-transform: uppercase; letter-spacing: 0.07em; white-space: nowrap; }
.emojis-grade { flex: 0 1 250px; height: 250px; min-height: 90px; overflow-y: auto; align-content: start; }
.emoji { line-height: 1.15; }
.emojis-grade { overflow-x: hidden; } .emoji { min-width: 0; overflow: hidden; }

/* Chamadas WebRTC */
.chamada-overlay{position:fixed;inset:0;z-index:3000;background:rgba(3,7,12,.78);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:18px}.chamada-overlay[hidden]{display:none}.chamada-box{width:min(920px,96vw);height:min(680px,92vh);background:#0c1119;border:1px solid var(--linha-forte);border-radius:20px;box-shadow:0 30px 90px #000b;display:flex;flex-direction:column;overflow:hidden}.chamada-topo{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--linha);gap:12px}.chamada-topo b{font-size:1.05rem}.chamada-topo small{display:block;color:var(--tinta-3);margin-top:3px}.chamada-videos{flex:1;position:relative;display:flex;align-items:center;justify-content:center;background:#05080d;min-height:0}.chamada-videos video{width:100%;height:100%;object-fit:contain;background:#05080d}.chamada-videos .local{position:absolute;right:18px;bottom:18px;width:min(26%,220px);height:min(30%,160px);border-radius:12px;border:1px solid #ffffff33;box-shadow:0 8px 30px #0009;object-fit:cover;background:#111}.chamada-avatar-grande{width:116px;height:116px;border-radius:50%;display:grid;place-items:center;background:var(--grad-azul);font-size:42px;font-weight:800}.chamada-acoes{display:flex;justify-content:center;gap:10px;padding:16px;background:#0f1621}.chamada-acoes button{min-width:52px;height:48px;border-radius:24px}.chamada-acoes .desligar{background:#d93645;color:#fff;border-color:#d93645}.chamada-recebida{position:fixed;right:22px;top:22px;z-index:3100;width:min(390px,calc(100vw - 44px));background:var(--superficie);border:1px solid var(--linha-forte);border-radius:16px;box-shadow:0 24px 70px #000a;padding:18px}.chamada-recebida[hidden]{display:none}.chamada-recebida h3{margin:0 0 5px}.chamada-recebida p{margin:0 0 16px;color:var(--tinta-2)}.chamada-recebida .acoes{display:flex;gap:10px}.chamada-recebida .acoes button{flex:1}.chamada-recebida .atender{background:var(--verde-botao);color:#fff}.chat-chamada-btns{display:flex;gap:6px;margin-left:auto}.chat-chamada-btns .btn{font-size:1.1rem}.chamada-insegura{padding:12px 16px;background:#3a2b08;color:#ffe2a3;text-align:center;font-size:.88rem}
@media(max-width:700px){.chamada-box{width:100%;height:100%;border-radius:0}.chamada-overlay{padding:0}.chamada-videos .local{width:32%;height:24%;right:10px;bottom:10px}.chat-cab .chat-chamada-btns{margin-left:0}.chat-cab{flex-wrap:wrap}}

/* Chamadas: estado visual enquanto a tela esta sendo compartilhada */
#chamada-tela.ativo { outline: 2px solid currentColor; transform: scale(1.04); }


/* Chat: papel de parede configurável pelo usuário */
.chat-wallpaper-menu{position:fixed;z-index:3400;width:220px;padding:.35rem;display:flex;flex-direction:column;gap:.2rem}
.chat-wallpaper-menu button{border:0;background:transparent;color:var(--tinta);font:600 .9rem var(--texto);text-align:left;padding:.65rem .7rem;border-radius:8px;cursor:pointer}
.chat-wallpaper-menu button:hover{background:var(--superficie-2)}
/* Papel de parede fixo somente dentro do quadro das mensagens.
   attachment:scroll mantém a imagem parada enquanto o conteúdo rola. */
:root.chat-com-wallpaper .chat-msgs,
:root.chat-com-wallpaper .dock-msgs{
  background-image:var(--chat-wallpaper-img) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-attachment:scroll !important;
}

/* Chamadas: tela cheia / maximizada */
.chamada-topo .chamada-full{margin-left:auto;font-size:1.2rem;min-width:42px}
.chamada-box:fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;border:0;border-radius:0}
.chamada-box.maximizada{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;border:0;border-radius:0;z-index:3500}
.chamada-videos video{cursor:zoom-in}
.chamada-box:fullscreen .chamada-videos video,.chamada-box.maximizada .chamada-videos video{cursor:default}
/* Chamadas: áudio independente da tela compartilhada */
#chamada-tela-audio.ativo{outline:2px solid currentColor;transform:scale(1.04)}


/* Ranking interno */
.ranking-topo p{margin:.3rem 0 0;color:var(--tinta-2)}
.ranking-podio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1rem}
.ranking-destaque{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.38rem;padding:1.35rem 1rem 1.2rem;background:linear-gradient(180deg,var(--superficie-2),var(--superficie));border:1px solid var(--linha-forte);border-radius:16px;box-shadow:0 12px 32px #0003}
.ranking-destaque.pos-1{transform:translateY(-6px)}
.ranking-medalha{position:absolute;top:.65rem;right:.75rem;font-size:1.45rem}
.ranking-avatar{width:64px;height:64px;border-radius:50%;font-size:1rem}.ranking-avatar.peq{width:38px;height:38px}
.ranking-destaque strong{font-size:1.04rem}.ranking-destaque small{color:var(--tinta-3);min-height:1.1rem}.ranking-destaque>b{font:800 1.55rem var(--texto);color:#77aaff}.ranking-destaque>b span{font-size:.75rem;color:var(--tinta-3)}
.ranking-lista{padding:.35rem .8rem}
.ranking-linha{display:grid;grid-template-columns:54px 42px minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:.75rem .35rem;border-bottom:1px solid var(--linha)}
.ranking-linha:last-child{border-bottom:0}.ranking-pos{font-weight:800;color:var(--tinta-3);text-align:center}.ranking-nome{display:flex;flex-direction:column;min-width:0}.ranking-nome strong,.ranking-nome small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-nome small{color:var(--tinta-3);margin-top:.15rem}.ranking-pontos{font-size:1rem;color:#77aaff;white-space:nowrap}
@media(max-width:700px){.ranking-podio{grid-template-columns:1fr;gap:.55rem}.ranking-destaque.pos-1{transform:none}.ranking-destaque{display:grid;grid-template-columns:auto 58px 1fr auto;text-align:left;padding:.8rem;align-items:center}.ranking-destaque .ranking-medalha{position:static}.ranking-destaque small{grid-column:3}.ranking-destaque>b{grid-row:1/3;grid-column:4}.ranking-linha{grid-template-columns:42px 36px minmax(0,1fr) auto}.ranking-linha .btn{grid-column:3/5;justify-self:end;margin-top:-.25rem}.ranking-pontos{font-size:.9rem}}

/* Produtos / Manutenção / SAC */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.prod-card{display:flex;min-height:170px;background:var(--fundo-2,#111823);border:1px solid var(--linha);border-radius:14px;overflow:hidden;color:inherit;text-decoration:none;transition:.15s}.prod-card:hover{border-color:#4674e8;transform:translateY(-1px)}.prod-foto{width:118px;min-width:118px;background:#090d13;display:flex;align-items:center;justify-content:center;overflow:hidden}.prod-foto img{width:100%;height:100%;object-fit:contain}.prod-foto span{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--tinta-3)}.prod-foto small{font-size:11px}.prod-card-corpo{padding:16px;min-width:0;flex:1}.prod-card-corpo>b{color:#ffbd00;font-size:13px}.prod-card-corpo h3{margin:5px 0 2px;font-size:20px}.prod-card-corpo p{margin:0 0 8px;color:var(--tinta-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prod-card-corpo>small{color:var(--tinta-3)}.prod-metas{display:flex;gap:12px;margin-top:16px;font-size:12px;color:var(--tinta-2)}.prod-detalhe-topo{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px}.prod-detalhe-topo h1{margin:4px 0}.prod-detalhe-topo h1 span{font-weight:500;color:var(--tinta-2);margin-left:8px}.prod-detalhe-topo p{margin:0;color:var(--tinta-2)}.prod-detalhe-grid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:16px}.prod-ficha-visual{text-align:center}.prod-foto-grande{height:310px;background:#090d13;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:12px}.prod-foto-grande img{width:100%;height:100%;object-fit:contain}.prod-foto-grande>div{display:flex;flex-direction:column;gap:10px;align-items:center;color:var(--tinta-3)}.prod-kv{display:grid;grid-template-columns:100px 1fr;gap:8px 14px;padding-bottom:8px}.prod-kv b{color:var(--tinta-3)}.texto-pre{white-space:pre-wrap;line-height:1.5}.bloco-titulo{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}.bloco-titulo h2,.bloco-titulo p{margin:0}.bloco-titulo p{color:var(--tinta-3);font-size:13px;margin-top:3px}.arquivo-btn{cursor:pointer}.prod-arquivos{display:grid;gap:8px}.prod-arq{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--linha);border-radius:10px}.prod-arq>span{font-size:22px}.prod-arq>div{flex:1;min-width:0}.prod-arq b,.prod-arq small{display:block}.prod-arq small{color:var(--tinta-3);margin-top:2px}.prod-duas-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.linha-registro{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--linha);color:inherit;text-decoration:none}.linha-registro:last-child{border-bottom:0}.linha-registro span{color:var(--tinta-2)}.linha-registro em{font-style:normal;font-size:12px;color:var(--tinta-3)}.linha-check{display:flex;gap:8px;align-items:center;margin-top:12px}.tab-sub{display:block;color:var(--tinta-3);margin-top:3px}.clicavel{cursor:pointer}.clicavel:hover td{background:rgba(76,112,200,.08)}
@media(max-width:800px){.prod-detalhe-grid,.prod-duas-col{grid-template-columns:1fr}.prod-detalhe-topo{align-items:flex-start;flex-direction:column}.prod-grid{grid-template-columns:1fr}.prod-foto{width:100px;min-width:100px}.prod-foto-grande{height:260px}.linha-registro{grid-template-columns:100px 1fr}.linha-registro em{grid-column:2}.bloco-titulo{align-items:flex-start;flex-direction:column}}


/* Galeria de fotos de produto */
.prod-galeria{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 10px;scrollbar-width:thin}
.prod-mini{width:66px;height:54px;min-width:66px;border:1px solid var(--linha);background:#090d13;border-radius:8px;padding:2px;overflow:hidden;cursor:pointer}
.prod-mini.ativo{border-color:#4f7cff;box-shadow:0 0 0 1px #4f7cff inset}
.prod-mini img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.foto-protegida{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.prod-foto-aviso{font-size:11px;margin:4px 0 10px}

.prod-mini-wrap{position:relative;display:inline-flex;flex:0 0 auto}
.prod-mini-del{position:absolute;right:-4px;top:-5px;width:20px;height:20px;border:0;border-radius:50%;background:#a52230;color:#fff;font-weight:800;cursor:pointer;line-height:18px;padding:0}
.prod-mini-del:hover{filter:brightness(1.15)}


/* BOM / componentes */
.bom-resultados{display:grid;gap:8px}.bom-item{display:grid;grid-template-columns:minmax(64px,110px) 1fr auto auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--borda,#263244);border-radius:12px;background:rgba(255,255,255,.02)}.bom-ref{font-family:monospace;font-weight:800;font-size:16px;color:#74a7ff}.bom-info{min-width:0;display:grid;gap:3px}.bom-info b{font-size:14px}.bom-info small,.bom-info span{display:block;color:var(--mudo,#8794a7);font-size:12px;white-space:normal}.prod-bom-resultados{margin-bottom:14px}@media(max-width:720px){.bom-item{grid-template-columns:76px 1fr}.bom-item>.btn,.bom-item>.etiqueta{grid-column:auto}.bom-info small{font-size:11px}}


/* Engenharia / Pós-venda */
.consulta-tecnica{border-color:color-mix(in srgb,var(--azul, #4285ff) 35%,var(--linha));background:linear-gradient(180deg,color-mix(in srgb,var(--painel) 96%,#4285ff 4%),var(--painel))}
.consulta-tecnica h3{margin:1rem 0 .55rem}.chips{display:flex;gap:.5rem;flex-wrap:wrap}.linha-tempo{padding:.25rem 0}.evento{display:flex;gap:.8rem;align-items:flex-start;padding:.65rem 0;border-bottom:1px solid var(--linha)}.evento i{width:10px;height:10px;border-radius:50%;background:var(--azul,#4285ff);margin-top:.35rem;box-shadow:0 0 0 4px color-mix(in srgb,var(--azul,#4285ff) 15%,transparent)}.evento div{display:flex;flex-direction:column;gap:.2rem}.evento small{color:var(--tinta-2)}
.nav-grupo[data-grupo-prefix="#/engenharia"] .nav-grupo-titulo,.nav-grupo[data-grupo-prefix="#/posvenda"] .nav-grupo-titulo{font-weight:700}


/* Boas-vindas personalizadas por área */
dialog.boas-vindas{width:min(720px,calc(100vw - 28px));max-height:min(86vh,760px);padding:0;border:1px solid var(--linha);border-radius:22px;background:var(--fundo-2);color:var(--tinta);box-shadow:0 28px 90px #0009;overflow:hidden}
dialog.boas-vindas::backdrop{background:#07111bcc;backdrop-filter:blur(5px)}
.boas-capa{display:flex;align-items:center;gap:18px;padding:28px 30px;background:linear-gradient(135deg,var(--fundo-3),var(--fundo-2));border-bottom:1px solid var(--linha)}
.boas-capa .avatar-grande{width:72px;height:72px;flex:0 0 72px}
.boas-capa h2{font-size:2rem;line-height:1;margin:7px 0 9px}.boas-capa p{margin:0;color:var(--tinta-2);font-size:1.04rem;line-height:1.5;max-width:560px}
.boas-area{display:inline-flex;padding:.26rem .58rem;border-radius:999px;background:var(--azul-fraco);color:var(--azul);font-weight:750;font-size:.78rem;letter-spacing:.02em}
.boas-corpo{padding:24px 30px 28px}.boas-titulo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.boas-titulo h3{margin:0;font-size:1.05rem}
.boas-pendentes{display:grid;gap:8px;margin-bottom:20px;max-height:300px;overflow:auto}.boas-pendente{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--linha);border-radius:12px;background:var(--fundo-3);color:var(--tinta);text-decoration:none}.boas-pendente:hover{border-color:var(--azul)}.boas-pendente>span{width:8px;height:8px;border-radius:50%;background:var(--verde)}.boas-pendente.vermelho>span{background:var(--vermelho)}.boas-pendente.ambar>span{background:var(--ambar)}.boas-pendente b{font-weight:600}
@media(max-width:640px){.boas-capa{padding:22px 19px;align-items:flex-start}.boas-capa .avatar-grande{width:58px;height:58px;flex-basis:58px}.boas-capa h2{font-size:1.55rem}.boas-corpo{padding:18px 19px 22px}.boas-titulo{align-items:flex-start;flex-direction:column}.boas-pendentes{max-height:38vh}}


/* Ajustes do modal de usuários */
dialog.janela-usuario { width: min(860px, 96vw); }
#f-usuario .grade-form { grid-template-columns: 1fr; gap: 0.85rem; }
#f-usuario .campo { display: flex; flex-direction: column; gap: 0.35rem; }
#f-usuario .permissoes { gap: 0.9rem; }
#f-usuario .perm-linha {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.45rem;
  padding: 0.65rem 0;
  border-top: 1px solid var(--linha);
}
#f-usuario .perm-linha:first-child { border-top: 0; padding-top: 0.2rem; }
#f-usuario .perm-linha > span {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  font-weight: 600;
}
#f-usuario .perm-desc { display: block; font-weight: 400; font-size: 0.92rem; color: var(--tinta-2); }
#f-usuario .segmentado {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  overflow: visible;
}
#f-usuario .segmentado button {
  flex: 1 1 130px;
  min-width: 130px;
  text-align: center;
}
#f-usuario .admin-check { margin-bottom: 0.2rem; }
@media (max-width: 640px) {
  dialog.janela-usuario { width: min(98vw, 98vw); }
  #f-usuario .segmentado button { flex-basis: calc(50% - 4px); min-width: 110px; }
}


/* Produção por fabricante e processo de montagem detalhado */
.op-fabricante { display:block; margin-top:.25rem; color:var(--tinta-2); font-size:.86rem; }
.etiqueta.fabricante { background:rgba(245,158,11,.12); border-color:rgba(245,158,11,.35); color:var(--ambar); }
.roteiro-detalhado { display:flex; flex-direction:column; gap:.75rem; padding-left:0; list-style:none; }
.passo-montagem { border:1px solid var(--linha); border-radius:12px; padding:.85rem; background:var(--campo); }
.passo-topo { display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin-bottom:.7rem; }
.passo-instrucao { margin:.55rem 0 .7rem; padding:.7rem .8rem; border-left:3px solid var(--azul); background:rgba(47,123,255,.06); border-radius:8px; }
.passo-instrucao p { margin:0 0 .45rem; white-space:pre-wrap; }
.passo-meta { display:flex; flex-wrap:wrap; gap:.75rem; color:var(--tinta-2); font-size:.88rem; }
@media (max-width:640px){ .passo-topo{align-items:flex-start;flex-direction:column}.passo-topo .linha-acoes{width:100%} }


/* Perfil e Status do dia nas mensagens */
.chat-lista-acoes { display:flex; gap:.45rem; align-items:center; }
.chat-avatar[data-perfil] { cursor:pointer; position:relative; }
.chat-avatar.status-ativo { box-shadow: 0 0 0 3px var(--fundo), 0 0 0 5px #3b86ff; }
.chat-item.ativo .chat-avatar.status-ativo { box-shadow: 0 0 0 3px var(--superficie-2), 0 0 0 5px #3b86ff; }
.perfil-status-dialog { width:min(560px,94vw); }
.perfil-status-corpo { display:flex; flex-direction:column; align-items:center; gap:1rem; text-align:center; }
.perfil-foto-grande { width:148px; height:148px; border-radius:50%; overflow:hidden; display:grid; place-items:center; font-size:2.5rem; font-weight:800; background:var(--grad-azul); color:white; border:3px solid var(--linha-forte); }
.perfil-foto-grande.com-status { box-shadow:0 0 0 4px var(--fundo),0 0 0 7px #3b86ff; }
.perfil-foto-grande img { width:100%; height:100%; object-fit:cover; }
.status-card { width:100%; max-width:460px; border:1px solid var(--linha); background:var(--superficie-2); border-radius:16px; padding:1rem; display:flex; flex-direction:column; gap:.75rem; align-items:center; }
.status-sentimento { font-size:1.15rem; font-weight:800; }
.status-card p { margin:0; font-size:1.02rem; line-height:1.45; overflow-wrap:anywhere; }
.status-card small { color:var(--tinta-3); }
.status-foto { width:100%; max-height:420px; object-fit:contain; border-radius:12px; background:#05080d; }
.status-previa { width:100%; display:grid; place-items:center; }
.status-previa img { max-width:100%; max-height:300px; border-radius:12px; object-fit:contain; }
@media(max-width:700px){
  .chat-lista-cab { align-items:flex-start; }
  .chat-lista-acoes { flex-wrap:wrap; justify-content:flex-end; }
  .perfil-foto-grande { width:120px; height:120px; }
}


/* Produção de amplificadores: teste e controle de qualidade */
.qualidade-acoes { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; padding:.55rem .75rem .75rem; }
.qualidade-acoes .ativo { outline:2px solid currentColor; outline-offset:2px; }
@media (min-width: 1400px) { .colunas-etapas { grid-template-columns: repeat(3, minmax(320px, 1fr)); } }


/* Correção do editor de Processo de produção */
#roteiro.roteiro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: start;
}
#roteiro.roteiro > div {
  min-width: 0;
  border: 1px solid var(--linha);
  border-radius: 14px;
  background: var(--superficie-2);
  padding: 1rem;
}
#roteiro.roteiro > div > h3 {
  margin: 0 0 .85rem;
}
#roteiro .roteiro-detalhado {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  min-height: 0;
  margin: 0 0 .85rem;
}
#roteiro .roteiro-detalhado > li.passo-montagem {
  display: block;
  width: 100%;
  min-width: 0;
  padding: .9rem;
  border: 1px solid var(--linha);
  border-radius: 12px;
  background: var(--campo);
}
#roteiro .passo-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .8rem;
}
#roteiro .passo-topo > strong {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
#roteiro .passo-topo .linha-acoes {
  flex: 0 0 auto;
  flex-wrap: nowrap;
}
#roteiro .passo-montagem > .campo {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  width: 100%;
  margin-bottom: .75rem;
}
#roteiro .passo-montagem textarea,
#roteiro .passo-montagem input {
  width: 100%;
  min-width: 0;
}
#roteiro .passo-montagem .grade-form {
  grid-template-columns: minmax(0, 2fr) minmax(140px, .8fr);
  gap: .75rem;
}
#roteiro > div > .linha-acoes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .6rem;
  align-items: center;
}
#roteiro > div > .linha-acoes input {
  width: 100%;
  min-width: 0;
}
@media (max-width: 1100px) {
  #roteiro.roteiro { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  #roteiro.roteiro > div { padding: .8rem; }
  #roteiro .passo-topo { flex-direction: column; }
  #roteiro .passo-topo .linha-acoes { width: 100%; flex-wrap: wrap; }
  #roteiro .passo-montagem .grade-form { grid-template-columns: 1fr; }
  #roteiro > div > .linha-acoes { grid-template-columns: 1fr; }
  #roteiro > div > .linha-acoes .btn { width: 100%; }
}


/* Tela exclusiva das 4 bancadas de produção */
.bc-topo-dir{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.bc-bancada-chip{display:inline-flex;align-items:center;padding:.5rem .8rem;border-radius:999px;background:var(--sel-fundo);color:var(--sel-texto);font-weight:700}
.bc-bancadas{border:1px solid var(--linha);background:var(--painel);border-radius:16px;padding:1rem;margin-bottom:1rem}
.bc-bancadas-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.bc-bancadas-cab h2{margin:0 0 .2rem}.bc-bancadas-cab p{margin:0}
.bc-bancadas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.bc-bancada-card{border:1px solid var(--linha-forte);background:var(--campo);color:var(--tinta);border-radius:14px;padding:1rem;text-align:left;display:flex;flex-direction:column;gap:.35rem;min-height:116px;cursor:pointer}
.bc-bancada-card:hover{border-color:var(--azul)}.bc-bancada-card.ativa{outline:2px solid var(--azul);background:var(--sel-fundo)}
.bc-bancada-card b{font-size:1rem}.bc-bancada-card small{color:var(--tinta-2);line-height:1.3}.bc-bancada-num{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta-2);font-weight:700}
.bc-trabalho-atual{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;row-gap:.2rem;align-items:center;border:1px solid var(--linha);border-radius:14px;padding:.9rem 1rem;margin-bottom:1rem;background:var(--painel)}
.bc-trabalho-atual>span{grid-row:1/3;color:var(--tinta-2);font-size:.85rem;text-transform:uppercase}.bc-trabalho-atual>b{font-size:1.05rem}.bc-trabalho-atual small{color:var(--tinta-2)}
.bc-resumo-op{border:1px solid var(--linha);background:var(--painel);border-radius:16px;padding:1rem 1.15rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.9rem;box-shadow:var(--sombra-card)}
.bc-resumo-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.bc-resumo-titulo{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
.bc-resumo-titulo strong{font:600 2.3rem/1 var(--condensada)}
.bc-resumo-titulo span{font:600 1.5rem/1 var(--condensada);color:var(--tinta-2)}
.bc-resumo-chips{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}
.bc-resumo-metricas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.bc-resumo-metricas>div{display:flex;flex-direction:column;gap:.2rem;background:var(--campo);border:1px solid var(--linha);border-radius:12px;padding:.8rem .9rem}
.bc-resumo-metricas small{color:var(--tinta-2);text-transform:uppercase;font-size:.78rem;letter-spacing:.04em}
.bc-resumo-metricas b{font:600 1.55rem/1.05 var(--condensada)}
.bc-resumo-vu .vu.grande{height:28px}
button.bc-op{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer}
@media(max-width:1000px){.bc-bancadas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bc-resumo-metricas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bc-bancadas-grid{grid-template-columns:1fr}.bc-bancadas-cab{flex-direction:column}.bc-trabalho-atual{grid-template-columns:1fr}.bc-trabalho-atual>span{grid-row:auto}.bc-resumo-titulo strong{font-size:1.9rem}.bc-resumo-titulo span{font-size:1.2rem}.bc-resumo-metricas{grid-template-columns:1fr}}


/* Logística / separação de componentes */
.log-resumo{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:.75rem;margin:1rem 0}
.log-resumo>div{background:var(--campo);border:1px solid var(--linha);border-radius:10px;padding:.8rem;display:flex;flex-direction:column;gap:.25rem}
.log-itens{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem}
.log-item{display:grid;grid-template-columns:minmax(220px,2fr) 100px 120px 150px minmax(180px,1fr) auto;gap:.6rem;align-items:end;border:1px solid var(--linha);border-radius:10px;padding:.7rem;background:var(--campo)}
.log-item>div:first-child{display:flex;flex-direction:column;align-self:center}.log-item label{font-size:.8rem;color:var(--tinta-2)}.log-item label input,.log-item label select{margin-top:.25rem}
.log-item.faltante,.log-item.divergente{border-color:var(--vermelho)}.log-item.separado{border-color:rgba(34,197,94,.45)}
.log-dashboard{display:flex;flex-direction:column;gap:.75rem}.log-op{display:grid;grid-template-columns:minmax(260px,2fr) 120px 120px 140px auto;align-items:center;gap:1rem;text-decoration:none;color:inherit}.log-op>div:first-child{display:flex;flex-direction:column;gap:.2rem}
@media(max-width:900px){.log-resumo{grid-template-columns:1fr 1fr}.log-item,.log-op{grid-template-columns:1fr 1fr}.log-item>div:first-child,.log-op>div:first-child{grid-column:1/-1}}


/* Navegação contextual entre processos */
.nav-processo-contexto {
  display: flex;
  gap: .55rem;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0 .8rem;
  padding: .55rem .7rem;
  border: 1px solid var(--linha);
  border-radius: var(--raio);
  background: var(--campo);
}
@media (max-width: 640px) {
  .nav-processo-contexto .btn { flex: 1 1 100%; }
}


/* Correção do importador da lista de componentes */
.previa {
  width: 100%;
  max-height: 470px;
  overflow: auto;
  border: 1px solid var(--linha);
  border-radius: var(--raio);
}
.previa table {
  min-width: 1040px;
  table-layout: fixed;
}
.previa th,
.previa td {
  box-sizing: border-box;
  vertical-align: middle;
}
.previa th {
  white-space: nowrap;
  line-height: 1.15;
}
.previa th:nth-child(1),
.previa td:nth-child(1) { width: 58px; text-align: center; }
.previa th:nth-child(2),
.previa td:nth-child(2) { width: 70px; }
.previa th:nth-child(3),
.previa td:nth-child(3) { width: 150px; }
.previa th:nth-child(4),
.previa td:nth-child(4) { width: 380px; white-space: normal; overflow-wrap: anywhere; }
.previa th:nth-child(5),
.previa td:nth-child(5) { width: 120px; }
.previa th:nth-child(6),
.previa td:nth-child(6) { width: 170px; white-space: normal; overflow-wrap: anywhere; }
.previa th:nth-child(7),
.previa td:nth-child(7) { width: 120px; white-space: nowrap; }

@media (max-width: 900px) {
  .previa table { min-width: 940px; }
  .previa th:nth-child(4),
  .previa td:nth-child(4) { width: 300px; }
}


/* Foto do produto dentro da OP / tela de bancada */
.op-topo { align-items: stretch; }
.op-topo-conteudo { flex: 1 1 620px; min-width: 0; }
.op-foto-produto {
  width: 190px; min-width: 190px; min-height: 160px;
  align-self: flex-start; padding: 8px; border: 1px solid var(--linha);
  border-radius: 14px; background: var(--campo); cursor: pointer; color: var(--tinta-2);
  display: flex; flex-direction: column; gap: 6px; align-items: center;
}
.op-foto-produto img { width: 100%; height: 135px; object-fit: contain; border-radius: 9px; background: #090d13; }
.op-foto-produto span { font-size: .82rem; }
.op-foto-dialog { width: min(1000px, 95vw); }
.op-foto-dialog-corpo { padding: 14px; display: grid; place-items: center; background: #080c12; min-height: 55vh; }
.op-foto-dialog-corpo img { max-width: 100%; max-height: 78vh; object-fit: contain; user-select: none; }
.bc-foto-produto { width: 72px; height: 58px; padding: 3px; border: 1px solid var(--linha); border-radius: 9px; background: var(--campo); cursor:pointer; flex: 0 0 auto; }
.bc-foto-produto img { width:100%; height:100%; object-fit:contain; border-radius:6px; background:#090d13; }
.bc-foto-produto span { display:none; }
@media (max-width: 760px) {
  .op-foto-produto { width: 120px; min-width: 120px; min-height: 105px; }
  .op-foto-produto img { height: 90px; }
  .op-topo { flex-wrap: wrap; }
}

/* Substituição controlada de componentes na Logística */
.log-item.modificado {
  border-color: #f59e0b;
  box-shadow: inset 4px 0 0 #f59e0b;
}
.log-item-ident { min-width: 260px; }
.substituicao-badge {
  margin-top: .5rem;
  padding: .55rem .7rem;
  border: 1px solid rgba(245,158,11,.5);
  border-radius: 10px;
  background: rgba(245,158,11,.08);
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.substituicao-badge > span {
  align-self: flex-start;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .05em;
  color: #fbbf24;
}
.substituicao-badge b { color: #fcd34d; }
.substituicao-badge small { color: var(--tinta-2); }
.log-acoes-item { display:flex; gap:.4rem; flex-wrap:wrap; align-items:center; }
.sub-restrita { font-size:.78rem; white-space:nowrap; }
dialog.janela-substituicao { width:min(760px,96vw); }
.sub-original {
  display:grid;
  gap:.25rem;
  padding:.8rem 1rem;
  border:1px solid var(--linha);
  border-radius:var(--raio);
  background:var(--campo);
  margin-bottom:1rem;
}
.sub-original b { font-size:1.08rem; }
.sub-resultados { display:grid; gap:.5rem; max-height:320px; overflow:auto; margin:.6rem 0 1rem; }
.sub-resultado {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  text-align:left;
  padding:.75rem .9rem;
  border:1px solid var(--linha);
  border-radius:10px;
  background:var(--campo);
  color:var(--tinta);
  cursor:pointer;
}
.sub-resultado:hover { border-color:var(--azul); }
.sub-resultado > div { display:flex; flex-direction:column; gap:.1rem; min-width:0; }
.sub-resultado small { color:var(--tinta-2); }
.sub-manual { border-top:1px solid var(--linha); padding-top:.8rem; }
.sub-manual summary { cursor:pointer; font-weight:700; margin-bottom:.8rem; }


/* Perfil Logística: somente a separação fica operacional dentro da OP */
.op-topo-logistica-restrito .op-topo-conteudo {
  opacity: .55;
}
.op-area-bloqueada-logistica {
  position: relative;
  opacity: .32;
  filter: grayscale(.35);
  pointer-events: none;
  user-select: none;
}
.op-area-bloqueada-logistica::after {
  content: 'Bloqueado para Logística';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: inherit;
  background: rgba(4, 9, 16, .40);
  color: var(--tinta-2);
  font-size: .86rem;
  font-weight: 600;
  letter-spacing: .02em;
}
.abas .aba-bloqueada-logistica,
.abas button:disabled.aba-bloqueada-logistica {
  opacity: .26 !important;
  filter: grayscale(1);
  cursor: not-allowed !important;
  pointer-events: none;
  color: var(--tinta-2) !important;
  border-color: transparent !important;
}
.abas button[data-aba="logistica"][aria-selected="true"] {
  opacity: 1;
}


/* Área exclusiva da Logística */
.logistica-op-exclusiva { max-width: 1420px; margin: 0 auto; }
.logistica-op-topo { align-items: center; }
.logistica-foto-produto, .logistica-foto-produto img { width: 120px; height: 90px; object-fit: contain; border-radius: 12px; }
.logistica-foto-produto { cursor: zoom-in; overflow: hidden; border: 1px solid var(--linha); background: var(--campo); }
.logistica-op-resumo { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:.8rem; margin:1rem 0; }
.logistica-op-resumo > div { background:var(--campo); border:1px solid var(--linha); border-radius:var(--raio); padding:.8rem 1rem; display:flex; flex-direction:column; gap:.25rem; }
.logistica-op-resumo small { color:var(--tinta-2); }
.logistica-op-resumo b { font-size:1.08rem; }
@media(max-width:800px){ .logistica-op-resumo{grid-template-columns:repeat(2,1fr)} .logistica-foto-produto{width:90px;height:72px} }


/* Marketing / Compras — cadastro central por código */
.cat-resumo{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.cat-resumo b{font:600 2rem var(--titulo);color:var(--azul)}.cat-resumo span{color:var(--tinta-2)}
.cat-lista{display:flex;flex-direction:column;gap:.55rem}.cat-item{display:grid;grid-template-columns:100px minmax(0,1fr) 210px;gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--linha);border-radius:14px;background:var(--bloco);color:inherit;text-decoration:none}.cat-item:hover{border-color:var(--azul)}.cat-item.pendente-foto{border-left:3px solid #f5a623}.cat-item-foto{height:62px;border-radius:10px;background:var(--campo);display:flex;align-items:center;justify-content:center;color:var(--tinta-2)}.cat-sem-foto{font-size:.82rem}.cat-item-info{min-width:0;display:flex;flex-direction:column;gap:.2rem}.cat-item-info>b{font-size:1.05rem}.cat-item-info>strong{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-item-info small{color:var(--tinta-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-status{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.cat-status small{color:var(--tinta-2)}
.etiqueta.erro{background:#3a151b;color:#ff98a7;border-color:#7b2534}.etiqueta.aviso{background:#35280b;color:#ffd36b;border-color:#765a10}.etiqueta.ok{background:#123526;color:#71e6aa;border-color:#246547}
.cat-detalhe-grid{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(480px,1.2fr);gap:1rem}.cat-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem}.cat-foto{position:relative;border:1px solid var(--linha);border-radius:12px;padding:.55rem;background:var(--campo)}.cat-foto img{display:block;width:100%;height:180px;object-fit:contain;border-radius:8px;background:#070a0e}.cat-foto .btn{margin-top:.5rem;width:100%}.cat-foto-vazia{min-height:220px;border:1px dashed var(--linha-forte);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--tinta-2);text-align:center}.cat-usos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cat-uso{display:grid;grid-template-columns:130px 1fr auto;gap:.8rem;padding:.65rem .7rem;border-bottom:1px solid var(--linha);color:inherit;text-decoration:none}.cat-uso:hover{background:var(--campo)}.cat-uso small{color:var(--tinta-2)}
@media(max-width:900px){.cat-item{grid-template-columns:70px 1fr}.cat-status{grid-column:2;align-items:flex-start}.cat-detalhe-grid,.cat-usos{grid-template-columns:1fr}}



/* Componentes — catálogo técnico compacto */
.cmp-lista-bloco{padding:0!important;overflow:hidden}
.cmp-lista-cab{display:grid;grid-template-columns:76px minmax(260px,1.35fr) minmax(240px,1fr) 220px 28px;gap:16px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--linha);background:var(--campo);color:var(--tinta-2);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.cmp-lista{display:flex;flex-direction:column}
.cmp-linha{display:grid!important;grid-template-columns:76px minmax(260px,1.35fr) minmax(240px,1fr) 220px 28px!important;gap:16px!important;align-items:center!important;min-height:92px!important;padding:12px 16px!important;border:0!important;border-bottom:1px solid var(--linha)!important;border-radius:0!important;background:transparent!important;color:inherit!important;text-decoration:none!important;transform:none!important}
.cmp-linha:last-child{border-bottom:0!important}
.cmp-linha:hover{background:var(--campo)!important}
.cmp-thumb{width:70px!important;height:66px!important;border:1px solid var(--linha);border-radius:10px;overflow:hidden;background:#0b1118;display:flex;align-items:center;justify-content:center;color:var(--tinta-2);font-size:.72rem;text-align:center}
.cmp-thumb img{display:block!important;width:100%!important;height:100%!important;max-width:70px!important;max-height:66px!important;object-fit:contain!important;background:#fff}
.cmp-ident,.cmp-tecnico{min-width:0;display:flex;flex-direction:column;gap:4px}
.cmp-ident b{font-size:1rem;color:var(--tinta)}
.cmp-ident strong{font-size:.9rem;font-weight:500;color:var(--tinta-2);white-space:normal;line-height:1.3}
.cmp-tecnico span{font-size:.88rem;color:var(--tinta)}
.cmp-tecnico small{color:var(--tinta-2);line-height:1.3}
.cmp-status{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cmp-status .etiqueta{margin:0;white-space:nowrap}
.cmp-abrir{font-size:1.8rem;color:var(--tinta-2);text-align:right}
.cmp-vazio{padding:32px;display:flex;flex-direction:column;gap:5px;text-align:center;color:var(--tinta-2)}
.cmp-vazio strong{color:var(--tinta)}
@media(max-width:1050px){
 .cmp-lista-cab{display:none}
 .cmp-linha{grid-template-columns:72px minmax(0,1fr) auto!important;gap:12px!important}
 .cmp-thumb{grid-row:1/3}
 .cmp-ident{grid-column:2}
 .cmp-tecnico{grid-column:2}
 .cmp-status{grid-column:2;grid-row:3}
 .cmp-abrir{grid-column:3;grid-row:1/4;align-self:center}
}
@media(max-width:620px){
 .cmp-linha{grid-template-columns:64px minmax(0,1fr)!important;padding:10px!important}
 .cmp-thumb{width:60px!important;height:60px!important}
 .cmp-thumb img{max-width:60px!important;max-height:60px!important}
 .cmp-abrir{display:none}
 .cmp-status{grid-column:1/3}
}


/* Departamentos e consulta visual de componentes na Produção */
.deptos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem;margin-top:.55rem}.dept-check{display:flex;align-items:center;gap:.55rem;padding:.65rem .75rem;border:1px solid var(--linha);border-radius:10px;background:var(--campo)}.dept-check input{width:auto}.link-codigo-op{appearance:none;border:0;background:none;color:var(--azul,#67a4ff);font:inherit;font-weight:700;padding:0;text-decoration:underline;cursor:pointer;text-align:left}.codigo-prod-visual{height:280px;border:1px solid var(--linha);border-radius:12px;background:var(--campo);display:flex;align-items:center;justify-content:center;overflow:hidden}.codigo-prod-visual img{max-width:100%;max-height:100%;object-fit:contain}.codigo-sem-foto{color:var(--tinta-2)}.codigo-prod-info{display:flex;flex-direction:column;gap:.35rem;margin-top:.8rem}.codigo-prod-mini{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.codigo-prod-mini button{width:64px;height:64px;padding:2px;border:1px solid var(--linha);border-radius:8px;background:var(--campo);cursor:pointer}.codigo-prod-mini img{width:100%;height:100%;object-fit:contain}.bc-cod.link-codigo-op{min-width:0}

/* Bancada: linha de componente sem botao aninhado */
.bc-lista div.bc-linha { box-sizing:border-box; }
.bc-lista div.bc-linha:focus-visible { outline:2px solid var(--azul); outline-offset:2px; }


/* Confirmação de ações do Assistente */
.assist-acao { margin-top:.65rem; padding:.75rem; border:1px solid var(--linha-forte); border-radius:12px; background:var(--campo); display:flex; flex-direction:column; gap:.4rem; }
.assist-acao small { color:var(--tinta-2); line-height:1.35; }
.assist-acao .linha-acoes { margin-top:.25rem; }


/* Produção: instruções e alterações técnicas visíveis ao operador */
.bc-etapa-instrucao { align-items: center; }
.bc-etapa-instrucao .bc-nome { display:flex; flex-direction:column; align-items:flex-start; gap:.28rem; min-width:0; }
.bc-instrucao { display:block; font-weight:400; color:var(--tinta-2); white-space:normal; line-height:1.35; }
.bc-meta { display:block; font-weight:400; color:var(--tinta-2); font-size:.83rem; white-space:normal; }
.bc-instrucao-detalhe { border:1px solid var(--linha-forte); background:var(--campo); border-radius:12px; padding:1rem; margin:.5rem 0 1rem; }
.bc-instrucao-detalhe h3 { margin:0 0 .5rem; }
.bc-instrucao-detalhe p { margin:.25rem 0 .75rem; white-space:pre-wrap; }
.bc-instrucao-detalhe > div { display:flex; flex-direction:column; gap:.35rem; color:var(--tinta-2); }
.bc-aviso-sem-instrucao { border:1px solid var(--ambar); border-radius:10px; padding:.75rem; margin:.5rem 0 1rem; color:var(--ambar); }
.bc-linha.componente-modificado { border-color:var(--ambar); background:color-mix(in srgb, var(--ambar) 7%, var(--campo)); }
.bc-troca { display:block; margin-top:.25rem; color:var(--ambar); white-space:normal; }
.bc-troca b { margin-right:.4rem; }
.bc-pill.modificado { color:var(--ambar); border-color:var(--ambar); }
.bc-substituicao-alerta { display:flex; flex-direction:column; gap:.35rem; border:1px solid var(--ambar); background:color-mix(in srgb, var(--ambar) 8%, var(--campo)); border-radius:12px; padding:.9rem; margin-bottom:1rem; }
.bc-substituicao-alerta > b { color:var(--ambar); }
@media (max-width:720px) {
  .bc-etapa-instrucao { grid-template-columns:1fr auto; }
  .bc-etapa-instrucao .bc-resp { grid-column:1 / -1; }
}

.reportar-erro-topo{white-space:nowrap}.lista-erros{display:grid;gap:.75rem}.erro-item small{display:block;color:var(--tinta-2);margin-top:.2rem}.recebimento-final-log{max-width:1100px}


/* Tabela de usuários compacta */
.usuarios-tabela-wrap { overflow-x:auto; }
.usuarios-tabela { width:100%; min-width:1180px; table-layout:auto; }
.usuarios-tabela th,
.usuarios-tabela td { padding:.48rem .55rem; font-size:.88rem; white-space:nowrap; }
.usuarios-tabela thead th { font-size:.72rem; letter-spacing:.05em; line-height:1.15; }
.usuarios-tabela th:first-child,
.usuarios-tabela td:first-child { min-width:120px; }
.usuarios-tabela th:nth-child(2),
.usuarios-tabela td:nth-child(2) { min-width:96px; }
.usuarios-tabela th:nth-child(3),
.usuarios-tabela td:nth-child(3) { min-width:82px; }
.usuarios-tabela .usuario-celula { gap:.45rem; flex-wrap:wrap; }
.usuarios-tabela .chat-avatar.pequeno { width:30px; height:30px; min-width:30px; }
.usuarios-tabela .etiqueta { padding:.24rem .52rem; font-size:.76rem; min-height:0; }
.usuarios-tabela .btn.peq { padding:.35rem .58rem; font-size:.78rem; min-height:32px; }
.usuarios-tabela td.mudo { font-size:.78rem; }
@media (min-width:1450px) {
  .usuarios-tabela { min-width:0; }
  .usuarios-tabela th,
  .usuarios-tabela td { padding:.42rem .45rem; font-size:.84rem; }
  .usuarios-tabela .etiqueta { font-size:.72rem; padding:.22rem .46rem; }
}

/* Evita que o dock de mensagens cubra controles em janelas/modais */
body:has(dialog[open]) .dock { display: none !important; }


/* Dados da OP em modo leitura para operadores da Produção */
.op-dados-grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.op-dados-grade>div{display:flex;flex-direction:column;gap:.25rem;background:var(--campo);border:1px solid var(--linha);border-radius:10px;padding:.8rem .9rem}
.op-dados-grade small,.op-dados-observacao small{color:var(--tinta-2);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
.op-dados-grade b{font-size:1.05rem}
.op-dados-observacao{border-top:1px solid var(--linha);padding-top:.9rem;margin-top:.4rem}
.op-dados-observacao p{margin:.4rem 0 1rem;white-space:pre-wrap}
@media(max-width:850px){.op-dados-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.op-dados-grade{grid-template-columns:1fr}}


/* Importador: cabeçalho opaco para não sobrepor a primeira linha */
.previa thead th {
  background: var(--superficie) !important;
  position: sticky;
  top: 0;
  z-index: 4;
  box-shadow: inset 0 -1px 0 var(--linha-forte), 0 3px 8px rgba(0,0,0,.18);
  min-height: 44px;
  vertical-align: middle;
}
.previa tbody td {
  background: var(--superficie);
  line-height: 1.35;
  vertical-align: middle;
}
.previa tbody tr.com-aviso td { background: var(--ambar-claro); }
.previa tbody tr.erro td { background: var(--vermelho-claro); }
.previa tbody tr.ignorada td { background: var(--superficie); }


/* Pausa de processo e entregas parciais para a Logística */
.sub.pausada,.bc-linha.s3{border-color:var(--ambar)!important;background:color-mix(in srgb,var(--ambar) 7%,var(--superficie))}
.sub-pausa{display:flex;flex-direction:column;gap:.2rem;margin:.55rem 0;padding:.55rem .7rem;border:1px solid var(--ambar);border-radius:9px;background:color-mix(in srgb,var(--ambar) 8%,var(--campo));color:var(--tinta)}
.sub-pausa b{color:var(--ambar)}.sub-pausa-acoes{margin:.45rem 0}
.bc-pill.s3{border-color:var(--ambar);color:var(--ambar);background:color-mix(in srgb,var(--ambar) 8%,var(--campo))}
.entregas-log-lista{display:flex;flex-direction:column;gap:.65rem;margin:1rem 0}.entrega-log{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:1rem;align-items:center;border:1px solid var(--linha);border-radius:12px;background:var(--campo);padding:.8rem 1rem}.entrega-log>div{display:flex;flex-direction:column;gap:.25rem}.entrega-log.recebido{border-color:rgba(34,197,94,.4)}.entrega-log textarea{width:100%}.recebimento-encerrar{border-top:1px solid var(--linha);padding-top:1rem;margin-top:1rem;display:flex;flex-direction:column;gap:.65rem}@media(max-width:760px){.entrega-log{grid-template-columns:1fr}}


/* Fluxo visual da Logística em quatro fases */
.log-secao{margin-bottom:1.15rem}
.log-secao>.bloco-titulo{margin-bottom:.65rem}
.log-fase-separacao{border-left:3px solid var(--ambar);padding-left:.85rem}
.log-fase-produção{border-left:3px solid var(--verde-botao);padding-left:.85rem}
.log-fase-recebimento{border-left:3px solid var(--botao);padding-left:.85rem}
.log-historico{margin-top:1.4rem}

/* Separação já liberada: consulta somente */
.log-sep-fechada .log-item input:disabled,.log-sep-fechada .log-item select:disabled{opacity:.8;cursor:not-allowed}.log-sep-fechada .log-item{opacity:.92}


/* Histórico permanente de lotes enviados à Logística */
.historico-entregas{border:1px solid var(--linha);background:var(--painel);border-radius:14px;padding:1rem 1.1rem;margin:0 0 1rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:var(--sombra-card)}
.historico-entregas.compacto{padding:.85rem 1rem}
.historico-entregas-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.historico-entregas-cab h3{margin:0 0 .2rem;font-size:1.15rem}.historico-entregas-cab p{margin:0;color:var(--tinta-2);font-size:.88rem}
.historico-entregas-resumo{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:.55rem}
.historico-entregas-resumo>div{border:1px solid var(--linha);background:var(--campo);border-radius:10px;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.18rem}
.historico-entregas-resumo small{color:var(--tinta-2);font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}.historico-entregas-resumo b{font:600 1.3rem/1.05 var(--condensada)}
.historico-entregas-lista{display:flex;flex-direction:column;gap:.45rem}
.hist-lote{display:grid;grid-template-columns:180px minmax(0,1fr);gap:.8rem;align-items:center;border:1px solid var(--linha);border-radius:10px;padding:.65rem .75rem;background:var(--campo)}
.hist-lote.recebido{border-color:rgba(34,197,94,.35)}.hist-lote.pendente{border-color:rgba(245,158,11,.4)}
.hist-lote-qtd{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.hist-lote-qtd b{font:600 1.25rem var(--condensada)}
.hist-lote-info{display:flex;flex-direction:column;gap:.18rem;color:var(--tinta-2);font-size:.86rem}.hist-lote-info small{color:var(--tinta-3)}
.hist-lote-vazio{padding:.7rem;border:1px dashed var(--linha);border-radius:9px;color:var(--tinta-2);text-align:center}
@media(max-width:1100px){.historico-entregas-resumo{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.historico-entregas-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}.hist-lote{grid-template-columns:1fr}.historico-entregas-cab{flex-direction:column}}

/* Indicador de Produto --------------------------------------------------- */
.ind-form .ind-grupo{border-top:1px solid var(--borda);padding-top:16px;margin-top:16px}.ind-form .ind-grupo:first-of-type{border-top:0;padding-top:0}.ind-grupo h3{margin:0 0 10px;font-size:15px}.ind-calc-resumo{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.ind-calc-resumo>span{background:var(--painel-2,#111a27);border:1px solid var(--borda);border-radius:10px;padding:10px 13px}.ind-recs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}.ind-rec{border:1px solid var(--borda);border-radius:12px;padding:14px;background:var(--painel-2,#111a27)}.ind-rec.invalido{opacity:.72}.ind-rec-top,.ind-base-cab{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ind-rec h3,.ind-base-cab h2{margin:3px 0 7px}.ind-rec p{font-size:13px;color:var(--mudo);margin:8px 0 0}.ind-score{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:38px;padding:0 10px;border-radius:999px;font-weight:800;border:1px solid var(--borda)}.ind-score.ok{background:#173c2a;color:#7ee2a8}.ind-score.info{background:#183459;color:#9fc5ff}.ind-score.aviso{background:#4a3816;color:#ffd37a}.ind-score.erro{background:#4a2025;color:#ff9ba4}.ind-base-aprovada{border-color:#2b7650}.ind-base-cab small{color:#77dca0;font-weight:800}.ind-resumo-mini,.ind-ficha{padding:10px 12px;border:1px solid var(--borda);border-radius:10px;background:var(--painel-2,#111a27);margin-bottom:12px}.ind-ficha>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;color:var(--mudo);font-size:12px}.ind-consultas{display:grid;gap:10px}.ind-consulta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--borda);border-radius:12px;padding:13px;background:var(--painel-2,#111a27)}.ind-consulta p{margin:5px 0}.ind-consulta.tecnico{align-items:flex-start}.ind-consulta .ind-ficha{margin:8px 0}.ind-consulta small{color:var(--mudo)}
@media(max-width:760px){.ind-consulta{grid-template-columns:1fr}.ind-recs{grid-template-columns:1fr}.ind-base-cab{flex-direction:column}.ind-score{align-self:flex-start}}

/* Indicador: atendimento rápido Vendas <-> P&D */
.ind-vendedor{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.ind-vendedor>b{font-size:15px}.ind-acoes-consulta{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:145px}.ind-acoes-consulta .btn{text-align:center;justify-content:center}
@media(max-width:760px){.ind-consulta{grid-template-columns:1fr}.ind-acoes-consulta{flex-direction:row;flex-wrap:wrap;min-width:0}}

/* Fiscal — laboratório */
.fiscal-lab{border:1px solid #d59b22;background:rgba(213,155,34,.11);padding:12px 14px;border-radius:12px;margin:0 0 16px;color:var(--tinta)}
.fiscal-lab b{color:#f2b84b}.fiscal-kpis{margin-bottom:16px}.fiscal-config .span2,.grade-form .span2{grid-column:span 2}
.fiscal-migracao{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.fiscal-migracao article{display:flex;gap:12px;border:1px solid var(--borda);border-radius:12px;padding:12px;background:var(--painel2)}
.fiscal-migracao article>span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:var(--azul);font-weight:800}.fiscal-migracao p{margin:5px 0 0;color:var(--mudo);font-size:.9rem}
.fiscal-json{max-height:220px;overflow:auto;background:#080d14;border:1px solid var(--borda);border-radius:10px;padding:12px;white-space:pre-wrap}.fiscal-validacao{border:1px solid var(--borda);border-radius:10px;padding:12px}.fiscal-validacao.ok{border-color:#1c8b5b}.fiscal-validacao.erro{border-color:#b64d55}.fiscal-validacao small{display:block;color:var(--mudo);margin-top:8px}.fiscal-eventos{display:grid;gap:7px}.fiscal-eventos>div{display:grid;grid-template-columns:110px 1fr auto;gap:10px;padding:9px;border-bottom:1px solid var(--borda)}.fiscal-eventos small{color:var(--mudo)}
@media(max-width:700px){.fiscal-config .span2,.grade-form .span2{grid-column:auto}.fiscal-eventos>div{grid-template-columns:1fr}}

/* Fiscal laboratório — itens e simulação */
.fiscal-produtos{margin-top:18px;padding-top:14px;border-top:1px solid var(--borda)}
.fiscal-produtos h3{margin:0 0 10px}
.fiscal-item-add{align-items:end}
.fiscal-item-add .btn{min-height:42px}
.fiscal-modal .tabela-wrap{max-height:260px;overflow:auto}

/* Modal fiscal: minimizar e fechar */
.fiscal-modal{width:min(1060px,96vw)}
.fiscal-modal .modal-corpo{padding:0;overflow:hidden}
.fiscal-modal-topo{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--borda);background:linear-gradient(180deg,rgba(17,25,42,.9),rgba(10,17,30,.96));position:sticky;top:0;z-index:3}
.fiscal-modal-titulos h2{margin:0 0 6px}.fiscal-modal-titulos p{margin:0;color:var(--mudo)}
.fiscal-modal-acoes-topo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.fiscal-icone-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--borda);background:rgba(33,46,71,.9);color:var(--tinta);font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:.18s transform,.18s background,.18s border-color}
.fiscal-icone-btn:hover{transform:translateY(-1px);background:rgba(58,83,126,.95);border-color:rgba(120,160,255,.35)}
.fiscal-icone-btn.perigo{font-size:30px;color:#ffd7db;background:rgba(83,22,31,.82);border-color:rgba(204,82,97,.5)}
.fiscal-icone-btn.perigo:hover{background:rgba(122,28,43,.92);border-color:rgba(236,98,114,.7)}
.fiscal-modal-conteudo{padding:20px}
.fiscal-modal.minimizado{width:min(560px,92vw)}
.fiscal-modal.minimizado .fiscal-modal-conteudo{display:none}
.fiscal-modal.minimizado .fiscal-modal-topo{border-bottom:0}
@media(max-width:700px){.fiscal-modal-topo{padding:14px 16px;align-items:flex-start}.fiscal-modal-conteudo{padding:16px}.fiscal-icone-btn{width:38px;height:38px;border-radius:10px}}

/* -----------------------------------------------------------------------
   Vendas — painel comercial confortável, consulta rápida sem repintura global
   ----------------------------------------------------------------------- */
.vendas-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:27px 30px;margin-bottom:15px;border:1px solid var(--azul-borda);border-radius:20px;background:linear-gradient(115deg,rgba(45,111,221,.22),rgba(49,74,112,.12) 55%,transparent),var(--superficie);box-shadow:var(--sombra-card)}
.vendas-hero h1{font-size:clamp(2rem,3.3vw,3rem);margin:4px 0 8px;letter-spacing:.01em}
.vendas-hero p{margin:0;color:var(--tinta-2);max-width:610px;font-size:1rem;line-height:1.6}
.vendas-sobretitulo{font-weight:700;font-size:.73rem;letter-spacing:.16em;color:var(--azul)}
.vendas-hero>.btn{min-height:47px;border-radius:12px;padding:0 18px}
.vendas-atalhos{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:5px;border-radius:12px;border:1px solid var(--linha);background:var(--superficie);width:max-content;max-width:100%}
.vendas-atalhos>a{padding:10px 17px;min-height:43px;display:inline-flex;align-items:center;text-decoration:none;border-radius:9px;color:var(--tinta-2);font-weight:600;transition:background .15s}
.vendas-atalhos>a:hover{background:var(--superficie-2);color:var(--tinta)}
.vendas-atalhos>a.ativo{background:var(--azul-claro);border:1px solid var(--azul-borda);color:var(--azul)}
.vendas-painel,.vendas-historico,.vendas-form{border-radius:18px;padding:24px}
.vendas-bloco-cab{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:21px}
.vendas-bloco-cab h2{margin:0 0 7px;font-size:1.65rem}
.vendas-bloco-cab p{color:var(--tinta-2);margin:0;line-height:1.5;font-size:.92rem}
.vendas-tag{display:inline-flex;align-items:center;font-size:.8rem;font-weight:650;white-space:normal;padding:6px 11px;border:1px solid var(--azul-borda);border-radius:999px;color:var(--azul);background:var(--azul-claro)}
.vendas-filtros{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:18px}
.vendas-filtros .campo{min-width:190px;flex:1;max-width:310px;gap:7px}
.vendas-filtros .vendas-busca{flex:2;max-width:none;min-width:min(100%,280px)}
.vendas-filtros input,.vendas-filtros select{min-height:46px;border-radius:11px;font-size:.98rem;padding-inline:13px}
.vendas-filtros>.btn{min-height:46px;border-radius:11px}
.vendas-controles{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--tinta-2);font-size:.83rem;border-bottom:1px solid var(--linha);padding-bottom:12px;margin-bottom:7px}
.vendas-controles small{font-size:.81rem;color:var(--tinta-3)}
.vendas-lista{display:grid;gap:0}
.vendas-produto{display:grid;grid-template-columns:130px minmax(180px,1.7fr) minmax(120px,.7fr) auto;gap:14px;align-items:center;padding:15px 8px;border-bottom:1px solid var(--linha)}
.vendas-produto:last-child{border-bottom:0}.vendas-produto:hover{background:var(--azul-claro);border-radius:9px}
.vendas-produto-codigo{color:var(--azul);font:700 1.04rem var(--condensada);letter-spacing:.025em}
.vendas-produto-descricao{display:flex;flex-direction:column;gap:4px;min-width:0}
.vendas-produto-descricao b{font-size:1rem;overflow-wrap:anywhere}
.vendas-produto-descricao span{font-size:.85rem;color:var(--tinta-2);overflow-wrap:anywhere}
.vendas-produto-categoria{color:var(--tinta-2);font-size:.88rem;overflow-wrap:anywhere}
.vendas-copiar{min-width:116px}
.vendas-vazio{padding:22px;border:1px dashed var(--linha-forte);border-radius:12px;color:var(--tinta-2);text-align:center;line-height:1.5}
.vendas-passo-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}
.vendas-passo-info>span{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid var(--linha);background:var(--superficie);border-radius:11px;color:var(--tinta-2);font-size:.88rem}
.vendas-passo-info b,.vendas-passo{width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--azul-claro);color:var(--azul);border:1px solid var(--azul-borda);display:grid;place-items:center;font-weight:750}
.vendas-form-grupo{margin-top:20px;padding:21px;border-radius:13px;border:1px solid var(--linha);background:var(--campo)}
.vendas-grupo-titulo{display:flex;align-items:center;gap:12px;margin-bottom:17px}
.vendas-grupo-titulo h3{margin:0;font-size:1.26rem}
.vendas-grupo-titulo p{font-size:.86rem;color:var(--tinta-2);margin:4px 0 0}
.vendas-form-grupo .grade-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.vendas-form .campo{gap:7px}
.vendas-form input,.vendas-form select{min-height:45px;border-radius:10px}
.vendas-opcional{margin-top:13px;border-radius:12px;border:1px solid var(--linha);background:var(--superficie-2)}
.vendas-opcional summary{display:flex;align-items:center;gap:12px;padding:17px 19px;cursor:pointer;list-style:none}
.vendas-opcional summary::-webkit-details-marker{display:none}
.vendas-opcional summary:after{content:'⌄';font-size:1.35rem;margin-left:5px;color:var(--tinta-2)}
.vendas-opcional[open] summary:after{content:'⌃'}
.vendas-opcional summary>span{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--linha-forte);border-radius:8px;color:var(--azul);font-weight:750}
.vendas-opcional summary>b{font-size:1rem}.vendas-opcional summary>small{margin-left:auto;color:var(--tinta-3);font-size:.81rem}
.vendas-opcional .grade-form{padding:2px 20px 20px;grid-template-columns:repeat(4,minmax(0,1fr))}
.vendas-form-rodape{display:flex;justify-content:space-between;gap:19px;align-items:center;flex-wrap:wrap;padding:19px;margin-top:21px;border:1px solid var(--azul-borda);border-radius:12px;background:var(--azul-claro)}
.vendas-form-rodape>div:first-child{flex:1;min-width:min(100%,300px)}
.vendas-form-rodape b{font-size:.98rem}.vendas-form-rodape p{margin:4px 0;color:var(--tinta);font-weight:550}
.vendas-form-rodape small{color:var(--tinta-2)}
.vendas-form-acoes{display:flex;gap:9px;flex-wrap:wrap}.vendas-form-acoes .btn{min-height:48px}
.vendas-historico{margin-top:18px}.vendas-historico-filtros{margin-bottom:17px}
.vendas-historico-filtros>.campo{max-width:450px}
.vendas-consulta{align-items:start;gap:20px;padding:18px;margin-bottom:0}
.vendas-consulta[hidden]{display:none!important}
.vendas-consulta-cab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.vendas-status{border-radius:999px;font-size:.75rem;font-weight:750;padding:5px 9px;border:1px solid var(--ambar-borda);color:var(--ambar);background:var(--ambar-claro)}
.vendas-status.respondida{background:var(--verde-claro);color:var(--verde);border-color:var(--verde-borda)}
.vendas-consulta-resposta{max-width:460px;overflow-wrap:anywhere}
.vendas-consulta-resposta .btn{margin-top:12px}.vendas-consulta p{line-height:1.5}
#ind-resultado:not(:empty){scroll-margin-top:85px;margin-top:16px}
@media(max-width:1040px){.vendas-form-grupo .grade-form,.vendas-opcional .grade-form{grid-template-columns:repeat(2,minmax(0,1fr))}.vendas-produto{grid-template-columns:110px minmax(0,1fr) auto}.vendas-produto-categoria{display:none}}
@media(max-width:760px){.vendas-hero{padding:20px}.vendas-hero>.btn{width:100%}.vendas-painel,.vendas-form,.vendas-historico{padding:15px}.vendas-passo-info{grid-template-columns:1fr}.vendas-passo-info>span{padding:10px}.vendas-form-grupo{padding:14px}.vendas-form-grupo .grade-form,.vendas-opcional .grade-form{grid-template-columns:repeat(2,minmax(0,1fr))}.vendas-produto{grid-template-columns:1fr auto;gap:7px}.vendas-produto-codigo{grid-column:1}.vendas-produto-descricao{grid-column:1}.vendas-copiar{grid-column:2;grid-row:1/3;align-self:center}.vendas-filtros .campo{min-width:min(100%,220px)}.vendas-form-rodape{padding:14px}.vendas-form-acoes{width:100%}.vendas-form-acoes .btn{flex:1}.vendas-atalhos{width:100%}.vendas-atalhos>a{flex:1;justify-content:center;text-align:center;padding:9px}.vendas-opcional summary>small{font-size:.72rem}}
@media(max-width:440px){.vendas-form-grupo .grade-form,.vendas-opcional .grade-form{grid-template-columns:1fr}.vendas-hero h1{font-size:2rem}.vendas-consulta-cab{align-items:flex-start}.vendas-filtros .campo{max-width:none;min-width:100%}.vendas-produto-codigo{font-size:1rem}}

/* Indicador: agrupamento de perguntas no mesmo atendimento */
.vendas-cliente-ref{display:flex;align-items:end;gap:12px;padding:12px 16px;margin-bottom:16px;border:1px solid var(--linha, var(--borda));border-radius:12px;background:var(--superficie, var(--painel2))}
.vendas-cliente-ref .campo{flex:1;min-width:180px}
.vendas-cliente-ref small{color:var(--mudo);max-width:350px;line-height:1.45}
.ind-cliente-contexto{font-size:.91rem;margin:5px 0 10px;color:var(--texto, var(--tinta))}
.ind-perguntas{margin:10px 0 12px;padding:10px 12px;border-radius:10px;background:rgba(76,123,210,.07);border:1px solid var(--borda, var(--linha));overflow-wrap:anywhere}
.ind-perguntas>b{display:block;margin-bottom:8px;font-size:.92rem}
.ind-perguntas-itens{display:grid;gap:8px}
.ind-pergunta-item{padding:8px 10px;border-left:3px solid #5075d5;border-radius:5px;background:rgba(60,87,132,.10)}
.ind-pergunta-item p{margin:0 0 4px;white-space:pre-wrap}
.ind-pergunta-item small{font-size:.77rem;color:var(--mudo)}
.ind-pergunta-vazia{margin:10px 0;color:var(--mudo);font-size:.88rem}
@media(max-width:720px){.vendas-cliente-ref{display:block}.vendas-cliente-ref small{display:block;margin-top:8px}}


/* Indicador Vendas/P&D — anexos de dúvidas técnicas */
.ind-modal-duvida{width:min(720px,96vw)}
.ind-modal-duvida .janela-corpo{max-height:calc(90vh - 70px);overflow-y:auto}
.ind-upload-card{margin:16px 0;padding:15px;border:1px solid var(--borda);background:rgba(47,73,116,.09);border-radius:14px}
.ind-upload-titulo{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px}
.ind-upload-titulo span{color:var(--mudo);font-size:.82rem}
.ind-upload-alvo{display:flex;align-items:center;gap:12px;padding:14px;border:1px dashed #647ca8;border-radius:12px;cursor:pointer;background:rgba(39,66,119,.12);transition:background .15s,border-color .15s}
.ind-upload-alvo:hover,.ind-upload-alvo.arrastando{background:rgba(50,92,166,.2);border-color:#5991f6}
.ind-upload-alvo span:last-child{display:grid;gap:3px}.ind-upload-alvo small{color:var(--mudo);font-size:.82rem}
.ind-upload-simbolo{width:42px;height:42px;border-radius:12px;background:rgba(55,111,236,.25);color:#a9c7ff;display:grid;place-items:center;font-size:28px;flex-shrink:0}
.ind-upload-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
.ind-upload-alvo:has(+.ind-upload-input:focus-visible){outline:2px solid #4487ff;outline-offset:2px}
.ind-upload-ajuda{font-size:.78rem;color:var(--mudo);line-height:1.5;margin:9px 0 0}
.ind-upload-previas{display:grid;gap:8px;margin-top:10px}
.ind-upload-previas:empty{display:none}
.ind-upload-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--superficie,rgba(10,17,26,.7));border:1px solid var(--borda);border-radius:10px;min-width:0}
.ind-upload-item img,.ind-upload-item video{width:86px;height:62px;object-fit:contain;background:#080d15;border-radius:6px;flex-shrink:0}
.ind-upload-arquivo-icone,.ind-anexo-icone{width:52px;height:52px;display:grid;place-items:center;font-size:26px;flex-shrink:0}
.ind-upload-item-info,.ind-anexo-descricao{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;overflow-wrap:anywhere}
.ind-upload-item-info b,.ind-anexo-descricao b{font-weight:650;font-size:.88rem}
.ind-upload-item-info small,.ind-anexo-descricao small{color:var(--mudo);font-size:.76rem}
.ind-upload-remover{border:1px solid var(--borda);border-radius:8px;background:transparent;color:#ff858e;font-size:22px;min-width:36px;height:36px;cursor:pointer}
.ind-upload-remover:hover{background:rgba(255,80,90,.13)}
.ind-upload-estado{font-size:.83rem;color:var(--mudo);margin-right:auto}
.ind-anexos-salvos{margin:12px 0;padding:12px;border:1px solid var(--borda);border-radius:12px;min-width:0;background:rgba(63,109,180,.07)}
.ind-anexos-salvos>b{font-size:.92rem;display:block;margin-bottom:9px}
.ind-anexos-lista{display:grid;gap:8px}
.ind-anexo-salvo{display:flex;align-items:center;gap:10px;border:1px solid var(--borda);border-radius:10px;padding:8px;background:rgba(8,15,27,.36);min-width:0}
.ind-anexo-salvo img,.ind-anexo-salvo video{width:120px;height:82px;object-fit:contain;background:#070b11;border-radius:8px;flex-shrink:0}
.ind-anexo-descricao a{color:#91bfff;font-size:.83rem;width:max-content;max-width:100%}
@media(max-width:520px){.ind-modal-duvida{width:96vw}.ind-modal-duvida .janela-corpo{padding:13px}.ind-upload-item img,.ind-upload-item video{width:65px;height:50px}.ind-anexo-salvo img,.ind-anexo-salvo video{width:85px;height:70px}.ind-upload-card{padding:12px}}

/* Desenvolvimento — planejamento, reuniões, votação e START */
.plan-fluxo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:14px 16px;border:1px solid var(--linha);border-radius:12px;background:var(--superficie-2)}
.plan-fluxo span{padding:8px 11px;border-radius:999px;background:var(--campo);font-weight:700;font-size:.86rem}.plan-fluxo b{color:var(--tinta-3)}
.plan-board{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:14px;align-items:start}
.plan-col{border:1px solid var(--linha);border-radius:14px;background:var(--superficie-2);overflow:hidden;min-height:150px}
.plan-col>header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--linha);background:var(--campo)}
.plan-col>header span{min-width:27px;height:27px;padding:0 7px;display:grid;place-items:center;border-radius:999px;background:var(--superficie);font-weight:800}
.plan-col>div{display:grid;gap:10px;padding:10px}.plan-col>div>.mudo{padding:12px;text-align:center}
.plan-card{display:grid;gap:5px;padding:12px;border:1px solid var(--linha);border-radius:11px;background:var(--superficie);color:inherit;text-decoration:none;transition:transform .12s,border-color .12s}
.plan-card:hover{transform:translateY(-1px);border-color:var(--linha-forte)}.plan-card>span{font-size:.9rem}.plan-mini{display:flex;gap:10px;flex-wrap:wrap;margin-top:5px;font-size:.76rem;color:var(--tinta-2)}
.plan-mini span{padding:4px 7px;border-radius:7px;background:var(--campo)}
.plan-stepper{display:flex;align-items:center;justify-content:space-between;gap:8px;overflow-x:auto;padding:4px 0 8px}
.plan-stepper>span{display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--tinta-3);font-weight:700}.plan-stepper>span i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--linha-forte);font-style:normal;background:var(--campo)}
.plan-stepper>span.feito,.plan-stepper>span.atual{color:var(--tinta)}.plan-stepper>span.feito i{background:var(--verde-claro);color:var(--verde);border-color:var(--verde-borda)}.plan-stepper>span.atual i{background:var(--azul-claro);color:var(--azul);border-color:var(--azul-borda)}.plan-stepper>b{color:var(--tinta-3)}
.plan-reuniao{padding:14px 0;border-bottom:1px solid var(--linha)}.plan-reuniao:last-child{border-bottom:0}.plan-reuniao header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.plan-reuniao header>div{display:grid;gap:3px}.plan-reuniao header small{color:var(--tinta-3)}.plan-reuniao p{margin:9px 0;white-space:pre-wrap;line-height:1.45}
.plan-votos,.plan-votos-geral{display:grid;gap:7px;margin-top:10px}.plan-votos>span,.plan-votos-geral>span{padding:8px 10px;border-radius:8px;background:var(--campo);font-size:.88rem}.plan-votos-geral>span{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.plan-votos-geral small{display:block;color:var(--tinta-3)}
@media(max-width:1100px){.plan-board{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:680px){.plan-board{grid-template-columns:1fr}.plan-stepper{justify-content:flex-start}.plan-stepper>b{display:none}.plan-stepper>span{padding-right:10px}.plan-fluxo b{display:none}.plan-fluxo span{width:100%}}

/* Desenvolvimento — quadro visual de reunião / prioridades (TV e monitor) */
.plan-reuniao-page{display:grid;gap:18px;padding-bottom:24px}
.plan-topo-reuniao{margin-bottom:0}
.plan-resumo-reuniao{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr));gap:10px}
.plan-resumo-reuniao>div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:end;padding:14px 16px;border:1px solid var(--linha);border-radius:14px;background:var(--superficie-2)}
.plan-resumo-reuniao small{grid-column:1/-1;color:var(--tinta-3);font-weight:800;letter-spacing:.055em;font-size:.7rem}
.plan-resumo-reuniao b{font-size:1.8rem;line-height:1;margin-top:6px}.plan-resumo-reuniao span{font-size:.8rem;color:var(--tinta-2);padding-bottom:2px}
.plan-alerta-conflito{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 15px;border:1px solid #ba7a28;border-radius:12px;background:rgba(186,122,40,.12)}
.plan-alerta-conflito b{color:#ffd58c}.plan-alerta-conflito span{color:var(--tinta-2);font-size:.88rem}
.plan-secao-titulo{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:2px;padding-top:2px}
.plan-secao-titulo>div{display:grid;gap:3px}.plan-secao-titulo>div>span{font-size:.72rem;letter-spacing:.11em;font-weight:900;color:var(--azul)}
.plan-secao-titulo h2{margin:0;font-size:1.25rem}.plan-secao-titulo>small{color:var(--tinta-3);font-weight:800;white-space:nowrap}
.plan-ranking{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;align-items:start}
.plan-ranking-slot{min-width:0;border:1px solid var(--linha-forte);border-radius:16px;background:var(--superficie-2);overflow:hidden;box-shadow:0 7px 22px rgba(0,0,0,.12)}
.plan-ranking-slot>header{display:flex;align-items:center;gap:10px;min-height:70px;padding:12px 14px;border-bottom:1px solid var(--linha);background:linear-gradient(135deg,var(--campo),var(--superficie-2))}
.plan-ranking-slot>header>div{display:grid;gap:2px;min-width:0}.plan-ranking-slot>header b{font-size:.85rem;letter-spacing:.07em}.plan-ranking-slot>header small{color:var(--tinta-3);font-size:.74rem}
.plan-ranking-slot>header em{margin-left:auto;padding:4px 7px;border-radius:999px;background:#5a2c19;color:#ffd0b5;font-size:.64rem;font-style:normal;font-weight:900;letter-spacing:.05em}
.plan-ranking-num{width:45px;height:45px;display:grid;place-items:center;flex:0 0 45px;border-radius:13px;background:var(--superficie);border:1px solid var(--linha-forte);font-weight:950;font-size:1.25rem}
.plan-ranking-1{border-color:#cf6b5c}.plan-ranking-1 .plan-ranking-num{background:rgba(207,107,92,.15);border-color:#cf6b5c;color:#ffb0a4}
.plan-ranking-2{border-color:#d69a46}.plan-ranking-2 .plan-ranking-num{background:rgba(214,154,70,.14);border-color:#d69a46;color:#ffd18c}
.plan-ranking-3{border-color:#7798d8}.plan-ranking-3 .plan-ranking-num{background:rgba(119,152,216,.14);border-color:#7798d8;color:#a9c4ff}
.plan-ranking-4{border-color:#6f8997}.plan-ranking-4 .plan-ranking-num{background:rgba(111,137,151,.14);border-color:#6f8997;color:#b8cfda}
.plan-ranking-slot.conflito{box-shadow:0 0 0 2px rgba(225,151,67,.22),0 7px 22px rgba(0,0,0,.12)}
.plan-ranking-corpo{display:grid;gap:10px;padding:10px}
.plan-slot-vazio{min-height:135px;display:grid;place-items:center;align-content:center;text-align:center;gap:6px;padding:20px;border:1px dashed var(--linha-forte);border-radius:12px;color:var(--tinta-3)}
.plan-slot-vazio b{color:var(--tinta-2);font-size:.9rem}.plan-slot-vazio span{font-size:.78rem}
.plan-ideias{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:12px}
.plan-card{display:grid;min-width:0;border:1px solid var(--linha);border-radius:13px;background:var(--superficie);overflow:hidden;transition:border-color .12s,transform .12s,box-shadow .12s}
.plan-card:hover{transform:translateY(-1px);border-color:var(--linha-forte);box-shadow:0 8px 24px rgba(0,0,0,.13)}
.plan-card-link{display:grid;gap:10px;padding:13px;color:inherit;text-decoration:none;min-width:0}
.plan-card-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}.plan-card-ident{display:flex;gap:9px;align-items:flex-start;min-width:0}.plan-card-ident>div{display:grid;gap:2px;min-width:0}
.plan-modelo{font-size:1.05rem;line-height:1.1;overflow-wrap:anywhere}.plan-card-ident>div>span{font-size:.79rem;color:var(--tinta-2);line-height:1.25}
.plan-posicao,.plan-ideia-tag{display:grid;place-items:center;min-width:36px;height:30px;padding:0 8px;border-radius:9px;font-size:.78rem;font-weight:950;background:var(--campo);border:1px solid var(--linha-forte);flex-shrink:0}
.plan-ideia-tag{font-size:.62rem;letter-spacing:.05em;color:var(--azul)}
.plan-objetivo{margin:0;color:var(--tinta-2);font-size:.78rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.plan-info-tv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.plan-info-tv>span{display:grid;gap:1px;padding:7px 8px;border-radius:8px;background:var(--campo);min-width:0}.plan-info-tv small{font-size:.61rem;letter-spacing:.04em;color:var(--tinta-3);font-weight:800}.plan-info-tv b{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-codigo{color:var(--tinta-3);font-size:.68rem}
.plan-quick{display:flex;align-items:center;gap:5px;padding:8px 10px;border-top:1px solid var(--linha);background:var(--campo);overflow-x:auto}
.plan-quick>span{margin-right:auto;color:var(--tinta-3);font-size:.7rem;font-weight:700;white-space:nowrap}.plan-quick button{min-width:34px;height:30px;border:1px solid var(--linha-forte);border-radius:8px;background:var(--superficie);color:var(--tinta);font-weight:900;cursor:pointer}
.plan-quick button:hover,.plan-quick button.ativo{border-color:var(--azul);background:var(--azul-claro);color:var(--azul)}
.plan-vazio-grande{grid-column:1/-1;min-height:150px;display:grid;place-items:center;align-content:center;text-align:center;gap:5px;border:1px dashed var(--linha-forte);border-radius:14px;background:var(--superficie-2);color:var(--tinta-3)}.plan-vazio-grande b{color:var(--tinta-2)}
.plan-pausados{border:1px solid var(--linha);border-radius:14px;background:var(--superficie-2);overflow:hidden}.plan-pausados summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer}.plan-pausados summary span{color:var(--tinta-3);font-size:.8rem}.plan-pausados>div{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:10px;padding:0 10px 10px}
.plan-rodape-reuniao{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 2px;color:var(--tinta-3);font-size:.8rem}.plan-rodape-reuniao a{color:var(--azul)}

/* Modo apresentação: pensado para TV/monitor e decisão em reunião */
main:fullscreen{overflow:auto;background:var(--fundo);padding:18px 22px}
.plan-reuniao-page.modo-apresentacao{max-width:1900px;margin:0 auto;gap:20px}
.plan-reuniao-page.modo-apresentacao .topo-pagina>a,.plan-reuniao-page.modo-apresentacao .topo-pagina>div:first-child>a{display:none}
.plan-reuniao-page.modo-apresentacao .plan-topo-reuniao h1{font-size:2rem}.plan-reuniao-page.modo-apresentacao .plan-topo-reuniao p{font-size:1rem}
.plan-reuniao-page.modo-apresentacao .plan-resumo-reuniao b{font-size:2.2rem}
.plan-reuniao-page.modo-apresentacao .plan-ranking{grid-template-columns:repeat(4,minmax(260px,1fr));gap:16px}
.plan-reuniao-page.modo-apresentacao .plan-ranking-num{width:56px;height:56px;flex-basis:56px;font-size:1.5rem}
.plan-reuniao-page.modo-apresentacao .plan-ranking-slot>header{min-height:82px;padding:14px 16px}.plan-reuniao-page.modo-apresentacao .plan-ranking-slot>header b{font-size:1rem}
.plan-reuniao-page.modo-apresentacao .plan-modelo{font-size:1.28rem}.plan-reuniao-page.modo-apresentacao .plan-card-ident>div>span{font-size:.9rem}.plan-reuniao-page.modo-apresentacao .plan-info-tv b{font-size:.86rem}.plan-reuniao-page.modo-apresentacao .plan-info-tv small{font-size:.68rem}
.plan-reuniao-page.modo-apresentacao .plan-ideias{grid-template-columns:repeat(4,minmax(240px,1fr))}
.plan-reuniao-page.modo-apresentacao .plan-rodape-reuniao{display:none}

@media(max-width:1250px){.plan-ranking{grid-template-columns:repeat(2,minmax(260px,1fr))}.plan-ideias,.plan-pausados>div{grid-template-columns:repeat(2,minmax(250px,1fr))}.plan-resumo-reuniao{grid-template-columns:repeat(3,minmax(130px,1fr))}}
@media(max-width:760px){.plan-resumo-reuniao{grid-template-columns:repeat(2,minmax(120px,1fr))}.plan-ranking,.plan-ideias,.plan-pausados>div{grid-template-columns:1fr}.plan-secao-titulo{align-items:flex-start;flex-direction:column}.plan-secao-titulo>small{white-space:normal}.plan-topo-reuniao{align-items:flex-start}.plan-card-topo{align-items:flex-start}.plan-alerta-conflito{align-items:flex-start}}


/* Cadastro completo de produtos - Importação */
.prod-cad-shell{padding:0;overflow:hidden}.prod-cadastro-completo>.prod-cad-abas{padding:10px 18px 0;margin:0;background:var(--fundo2);position:sticky;top:0;z-index:3}.prod-cad-pagina{padding:20px}.prod-cad-pagina[hidden]{display:none!important}.prod-cad-grupo{border:1px solid var(--linha);border-radius:12px;padding:14px;background:var(--fundo2);margin-bottom:14px}.prod-cad-grupo>h3{margin:0 0 12px;color:var(--tinta);font-size:1rem}.prod-grade-4{grid-template-columns:repeat(4,minmax(0,1fr))}.prod-cad-rodape{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid var(--linha);background:var(--fundo2);position:sticky;bottom:0;z-index:3}.prod-texto-tecnico{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.45;min-height:420px}.prod-lista-linha{display:grid;grid-template-columns:1.2fr 2fr .7fr auto;gap:8px;margin-bottom:8px}.prod-fornecedor-linha{display:grid;grid-template-columns:1.6fr 1.2fr .65fr .8fr .65fr .85fr auto 1.4fr auto;gap:7px;align-items:center;margin-bottom:8px}.prod-check{display:flex;align-items:center;gap:5px;font-size:.82rem}.prod-arq-layout{display:grid;grid-template-columns:300px 1fr;gap:16px}.prod-foto-cadastro img,.prod-foto-vazia{width:100%;height:240px;object-fit:contain;background:#090d13;border-radius:10px;border:1px solid var(--linha);margin-bottom:12px}.prod-foto-vazia{display:flex;align-items:center;justify-content:center;color:var(--tinta-3)}
@media(max-width:1100px){.prod-grade-4{grid-template-columns:repeat(2,minmax(0,1fr))}.prod-fornecedor-linha{grid-template-columns:repeat(4,minmax(0,1fr))}.prod-fornecedor-linha [data-remover]{grid-column:4}.prod-arq-layout{grid-template-columns:1fr}}
@media(max-width:650px){.prod-grade-4{grid-template-columns:1fr}.prod-lista-linha,.prod-fornecedor-linha{grid-template-columns:1fr}.prod-cad-rodape{flex-direction:column;align-items:stretch}.prod-cad-rodape .btn{width:100%}.prod-texto-tecnico{min-height:300px}}

/* Desenvolvimento integrado - quadro de projetos */
.dev-quadro-cadastrado{margin-bottom:16px}
.dev-tabela-projetos tbody tr{cursor:pointer;transition:background .15s ease}
.dev-tabela-projetos tbody tr:hover,.dev-tabela-projetos tbody tr:focus{background:color-mix(in srgb,var(--azul) 10%,var(--superficie));outline:none}
.dev-tabela-projetos th:nth-child(1){min-width:90px}.dev-tabela-projetos th:nth-child(2){min-width:95px}.dev-tabela-projetos th:nth-child(3){min-width:170px}.dev-tabela-projetos th:nth-child(4){min-width:150px}.dev-tabela-projetos th:nth-child(5){min-width:110px}.dev-tabela-projetos th:nth-child(6){min-width:320px}
.dev-obs-cel{white-space:normal;min-width:320px;max-width:520px;line-height:1.35}

/* Firmware/DSP simplificado - 2026-10-21 */
.fw-bloco{background:#10161f!important;color:#f3f6fa;border:1px solid #344154!important}
.fw-bloco h2,.fw-bloco h3{color:#f3f6fa}
.fw-topo{align-items:flex-start}
.fw-cadastro{margin-top:1rem;padding:1rem;border:1px solid #2e3a49;border-radius:14px;background:#141b25}
.fw-cadastro h3{margin:0 0 .9rem;font-size:1rem}
.fw-form-grid{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(240px,1.5fr) minmax(160px,1fr) minmax(125px,.75fr) minmax(240px,1.35fr);gap:.75rem;align-items:end}
.fw-form-grid .campo,.fw-form-rodape .campo{color:#dce5ef;margin:0;min-width:0}
.fw-form-grid input,.fw-form-grid select,.fw-form-rodape input{width:100%;box-sizing:border-box}
.fw-form-rodape{display:flex;gap:.75rem;align-items:end;margin-top:.75rem}
.fw-observacao{flex:1}
.fw-salvar{min-width:150px;height:42px}
.fw-lista-wrap{margin-top:1.15rem}
.fw-lista-titulo{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:.55rem}
.fw-lista-titulo h3{margin:0}
.fw-lista{border:1px solid #2f3a49;border-radius:14px;overflow:hidden;background:#121923}
.fw-item{display:grid;grid-template-columns:120px minmax(230px,1.4fr) 110px minmax(210px,1.1fr) 130px;gap:.8rem;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #2a3442}
.fw-item:last-child{border-bottom:0}
.fw-item-identidade,.fw-item-versao,.fw-item-arquivo{min-width:0}
.fw-item-identidade b,.fw-item-versao b{display:block;color:#f5f8fc}
.fw-item-identidade small,.fw-item-versao small{display:block;color:#98a7b8;margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-item-arquivo>span{display:block;color:#b8c3d0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-item-acao{text-align:right}
.fw-historico{margin-top:.3rem;color:#9eacbc}
.fw-historico summary{cursor:pointer;font-size:.82rem;font-weight:700;width:max-content}
.fw-historico-lista{margin-top:.45rem;border-top:1px solid #2f3a49}
.fw-historico-linha{display:flex;gap:.6rem;align-items:center;justify-content:space-between;padding:.45rem 0}
.fw-historico-linha div{min-width:0}
.fw-historico-linha small{display:block;color:#8999aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}
.fw-vazio{margin-top:.3rem;min-height:90px}
@media(max-width:1050px){.fw-form-grid{grid-template-columns:1fr 1fr}.fw-arquivo-input,.fw-nome{grid-column:span 1}.fw-item{grid-template-columns:100px minmax(190px,1fr) 90px minmax(160px,1fr) 110px}}
@media(max-width:760px){.fw-form-grid{grid-template-columns:1fr}.fw-form-rodape{flex-direction:column;align-items:stretch}.fw-salvar{width:100%}.fw-lista-titulo{display:block}.fw-item{grid-template-columns:1fr;gap:.35rem}.fw-item-acao{text-align:left}}

/* Projetos - visão simples para acompanhamento - 2026-10-21 */
.dev-projetos-topo{align-items:flex-end}
.dev-resumo-simples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.dev-resumo-simples button{appearance:none;text-align:left;background:#111821;border:1px solid #303c4c;border-radius:14px;padding:14px 16px;color:var(--tinta);cursor:pointer;min-height:104px}
.dev-resumo-simples button:hover,.dev-resumo-simples button:focus-visible{border-color:var(--azul);outline:none;background:#151e29}
.dev-resumo-simples small{display:block;color:#9eacbd;font-size:.72rem;font-weight:800;letter-spacing:.04em}
.dev-resumo-simples b{display:block;font-size:2rem;line-height:1.15;margin:.25rem 0;color:#f3f7fb}
.dev-resumo-simples span{display:block;color:#91a0b2;font-size:.8rem;line-height:1.25}
.dev-barra-simples{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.dev-barra-simples #dev-busca{width:min(390px,100%)}
.dev-como-ler{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;border:1px solid #2c3745;border-radius:10px;background:#0e141c;color:#98a7b7;font-size:.82rem}
.dev-como-ler>b{color:#e6edf5}.dev-como-ler strong{color:#cfd9e4}
.dev-lista-simples{display:grid;gap:10px}
.dev-projeto-simples{display:grid;grid-template-columns:minmax(165px,.85fr) minmax(250px,1.55fr) minmax(200px,1fr) minmax(250px,1.3fr) 125px;gap:16px;align-items:center;background:#111821;border:1px solid #303c4c;border-radius:14px;padding:14px 16px;min-width:0}
.dev-projeto-simples.atrasado{border-color:#7d3d44}
.dev-projeto-simples small{display:block;color:#8999aa;font-size:.69rem;font-weight:800;letter-spacing:.035em;margin-bottom:5px}
.dev-projeto-ident,.dev-projeto-ideia,.dev-projeto-situacao,.dev-projeto-proximo{min-width:0}
.dev-projeto-ident h2{margin:2px 0 3px;font-size:1.08rem;color:#f4f7fb;line-height:1.15}
.dev-projeto-ident>span{display:block;color:#a6b4c3;font-size:.8rem}.dev-projeto-ident>small{margin:.35rem 0 0;color:#c6d1dd}
.dev-projeto-num{font-size:.73rem;color:#718397;font-weight:800}
.dev-projeto-ideia p{margin:0;color:#d2dbe5;font-size:.89rem;line-height:1.36;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dev-projeto-situacao>.etiqueta{margin-bottom:7px}.dev-projeto-situacao>b{display:block;color:#e6edf5;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dev-progresso-mini{height:6px;border-radius:999px;background:#26313e;overflow:hidden;margin:8px 0 3px}.dev-progresso-mini i{height:100%;display:block;background:var(--azul);border-radius:999px}
.dev-projeto-situacao em{color:#8191a3;font-size:.72rem;font-style:normal}
.dev-projeto-proximo strong{display:block;color:#f4f7fb;font-size:.93rem;line-height:1.25;margin-bottom:8px}.dev-projeto-proximo>span{display:block;color:#9aaabc;font-size:.78rem;margin-top:3px}.dev-projeto-proximo>span b{color:#d8e1eb}
.dev-projeto-abrir{text-align:right}.dev-projeto-abrir .btn{white-space:nowrap}
@media(max-width:1200px){.dev-resumo-simples{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-projeto-simples{grid-template-columns:minmax(150px,.8fr) minmax(240px,1.4fr) minmax(190px,1fr);align-items:start}.dev-projeto-proximo{grid-column:2}.dev-projeto-abrir{grid-column:3;grid-row:2;text-align:left}}
@media(max-width:760px){.dev-resumo-simples{grid-template-columns:1fr 1fr}.dev-barra-simples{display:block}.dev-barra-simples #dev-busca{margin-top:10px;width:100%}.dev-como-ler{display:block}.dev-como-ler span{display:block;margin-top:5px}.dev-projeto-simples{grid-template-columns:1fr;gap:12px}.dev-projeto-proximo,.dev-projeto-abrir{grid-column:auto;grid-row:auto}.dev-projeto-abrir .btn{width:100%}}


/* 2026-10-21 — Projetos: visual híbrido, gráfico anterior + leitura simples */
.dev-projetos-topo h1{font-size:2.35rem}
.dev-projetos-topo p{font-size:1.08rem;line-height:1.45}
.dev-resumo-simples button{min-height:116px;padding:17px 19px}
.dev-resumo-simples small{font-size:.82rem}
.dev-resumo-simples b{font-size:2.45rem}
.dev-resumo-simples span{font-size:.94rem;line-height:1.35}
.dev-grafico-status{background:#111821;border:1px solid #303c4c;border-radius:14px;padding:16px 18px;margin:0 0 16px}
.dev-grafico-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.dev-grafico-cab h2{font-size:1.45rem;margin:0;color:#f3f7fb}.dev-grafico-cab p{margin:3px 0 0;color:#9eacbd;font-size:.95rem}.dev-grafico-cab>strong{font-size:1.25rem;color:#dfe8f2}
.dev-grafico-barras{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.dev-grafico-item{appearance:none;border:1px solid #303c4c;border-radius:11px;background:#0e141c;color:#eef4fa;padding:11px 12px;text-align:left;cursor:pointer;min-width:0}
.dev-grafico-item:hover,.dev-grafico-item:focus-visible{border-color:#4f8eea;outline:none;background:#131d29}
.dev-grafico-item>span{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}.dev-grafico-item b{font-size:1.55rem;line-height:1}.dev-grafico-item small{font-size:.82rem;color:#a8b6c5;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dev-grafico-item>i{display:block;height:12px;border-radius:999px;background:#222d39;overflow:hidden}.dev-grafico-item>i>em{display:block;height:100%;border-radius:999px;background:#4f86ff;min-width:3px}
.dev-grafico-item.decidir>i>em,.dev-grafico-item.validar>i>em{background:#e0a328}.dev-grafico-item.pausados>i>em{background:#7e8a98}.dev-grafico-item.concluidos>i>em{background:#32b781}
.dev-como-ler{font-size:.98rem;padding:12px 14px}.dev-como-ler strong{font-size:1rem}
.dev-lista-simples{gap:14px}
.dev-projeto-hibrido{grid-template-columns:minmax(185px,.9fr) minmax(260px,1.35fr) minmax(265px,1.15fr) minmax(285px,1.3fr) 145px;padding:19px 20px;gap:20px;min-height:168px}
.dev-projeto-hibrido small{font-size:.80rem;letter-spacing:.045em;margin-bottom:7px}
.dev-projeto-ident h2{font-size:1.55rem;line-height:1.08;margin:4px 0 7px;color:#f4f7fb}.dev-projeto-ident>span{font-size:1rem;color:#b3c0cf}.dev-projeto-num{font-size:.9rem;color:#8fa0b2;font-weight:800}.dev-prioridade{display:inline-flex!important;margin-top:8px;padding:4px 9px;border-radius:999px;background:#243348;color:#bcd6ff!important;font-size:.86rem!important;font-weight:800;width:max-content}
.dev-projeto-ideia p{font-size:1.12rem;line-height:1.42;margin:0;color:#e1e8f0}
.dev-situacao-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.dev-situacao-cab>div{min-width:0}.dev-situacao-cab .etiqueta{font-size:.84rem;padding:.28rem .58rem}.dev-pct-visual{font:700 2.15rem/1 var(--condensada);color:#a9c8ff;white-space:nowrap}.dev-etapa-atual{display:block;font-size:1.04rem;margin:10px 0 9px;color:#f1f5f9}.dev-projeto-situacao .vu{margin-top:4px}.dev-projeto-situacao em{display:block;margin-top:7px;color:#8999aa;font-style:normal;font-size:.88rem}
.dev-projeto-proximo>strong{display:block;font-size:1.18rem;line-height:1.3;color:#f2f6fa;margin-bottom:10px}.dev-projeto-proximo>span{display:block;font-size:.98rem;line-height:1.45;color:#aebaca;margin-top:3px}.dev-projeto-proximo>span b{color:#e8eef5}
.dev-projeto-abrir .btn{font-size:1rem;padding:.72rem .95rem;min-width:130px}
@media(max-width:1280px){.dev-grafico-barras{grid-template-columns:repeat(3,minmax(0,1fr))}.dev-projeto-hibrido{grid-template-columns:minmax(180px,.85fr) minmax(260px,1.25fr) minmax(240px,1fr);align-items:start}.dev-projeto-proximo{grid-column:2/3}.dev-projeto-abrir{grid-column:3;grid-row:2;text-align:left}}
@media(max-width:820px){.dev-grafico-barras{grid-template-columns:1fr 1fr}.dev-grafico-cab{align-items:flex-start;flex-direction:column}.dev-projeto-hibrido{grid-template-columns:1fr}.dev-projeto-proximo,.dev-projeto-abrir{grid-column:auto;grid-row:auto}.dev-projeto-abrir .btn{width:100%}.dev-projeto-ident h2{font-size:1.7rem}.dev-projeto-ideia p{font-size:1.08rem}}

/* 2026-10-21 — Tema chumbo ESCURO global (fundo + lateral + topo) */
:root:not([data-tema="claro"]) {
  --fundo: #15191e;
  --superficie: #1d232a;
  --superficie-2: #252c34;
  --campo: #11161b;
  --tinta: #f3f6f9;
  --tinta-2: #bac4ce;
  --tinta-3: #8693a0;
  --linha: #303944;
  --linha-forte: #3d4855;
  --painel: #0c1015;
  --painel-2: #171d24;
  --led-off: #333d48;
  --aviso-fundo: #202730;
  --aviso-texto: #f3f6f9;
  --sombra: rgba(0,0,0,.58);
  --sombra-card: 0 1px 0 rgba(255,255,255,.025) inset, 0 10px 28px rgba(0,0,0,.32);
}

:root:not([data-tema="claro"]) body {
  background: #15191e !important;
  background-image: none !important;
}
:root:not([data-tema="claro"]) .app,
:root:not([data-tema="claro"]) main,
:root:not([data-tema="claro"]) .conteudo,
:root:not([data-tema="claro"]) .pagina {
  background: #15191e !important;
}

/* Lateral mais escura e integrada ao restante do sistema. */
:root:not([data-tema="claro"]) .lateral {
  background: linear-gradient(180deg, #090d11 0%, #06090c 100%) !important;
  border-right-color: #222b34 !important;
}
:root:not([data-tema="claro"]) .marca-lateral,
:root:not([data-tema="claro"]) .nav-grupo,
:root:not([data-tema="claro"]) .lateral-pe,
:root:not([data-tema="claro"]) .usuario-lateral {
  border-color: #222b34 !important;
}
:root:not([data-tema="claro"]) .nav-item.ativo,
:root:not([data-tema="claro"]) .nav-sub.ativo {
  background: linear-gradient(90deg, rgba(47,123,255,.24), rgba(47,123,255,.035)) !important;
}

/* Topo no mesmo tom profundo da lateral. */
:root:not([data-tema="claro"]) .topo,
:root:not([data-tema="claro"]) .painel {
  background: #0c1015 !important;
  border-bottom-color: #252e38 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Blocos e cartões: escuros, mas claramente destacados do fundo. */
:root:not([data-tema="claro"]) .bloco,
:root:not([data-tema="claro"]) .quadro,
:root:not([data-tema="claro"]) .kpi,
:root:not([data-tema="claro"]) .tabela-wrap,
:root:not([data-tema="claro"]) .passos,
:root:not([data-tema="claro"]) .dev-etapas,
:root:not([data-tema="claro"]) .grafico,
:root:not([data-tema="claro"]) .entrada-caixa {
  background: #1d232a !important;
  border-color: #303944 !important;
}

/* Projetos: mantém contraste para TV/monitor sem voltar ao cinza médio. */
:root:not([data-tema="claro"]) .dev-resumo-simples button,
:root:not([data-tema="claro"]) .dev-grafico-status,
:root:not([data-tema="claro"]) .dev-projeto-simples,
:root:not([data-tema="claro"]) .dev-projeto-hibrido {
  background: #1d232a;
  border-color: #3d4855;
}
:root:not([data-tema="claro"]) .dev-resumo-simples button:hover,
:root:not([data-tema="claro"]) .dev-resumo-simples button:focus-visible,
:root:not([data-tema="claro"]) .dev-grafico-item:hover,
:root:not([data-tema="claro"]) .dev-grafico-item:focus-visible {
  background: #252c34;
}
:root:not([data-tema="claro"]) .dev-grafico-item,
:root:not([data-tema="claro"]) .dev-como-ler {
  background: #171d24;
  border-color: #3d4855;
}
:root:not([data-tema="claro"]) .dev-grafico-item>i,
:root:not([data-tema="claro"]) .dev-progresso-mini {
  background: #333d48;
}
