/* Desinfecção e correção final — cloro, flúor, pH e alcalinidade.
 *
 * Herda a folha da família de saneamento. A geometria de página NÃO é
 * redeclarada — largura, margem e as duas colunas do `.workspace` são da
 * folha-base, e ela mantém a responsividade por uma escada de breakpoints
 * inteira. Aqui só entra a colocação do painel de resultados, que é do produto.
 */
@import url("../shared/ep-hidrologia.css");
@import url("../shared/ep-como-usar.css");

.final-workspace > .results-panel { grid-column: 1 / -1; }

/* --------------------------------------------------------------- entrada */

.fonte-normativa {
  margin: 0 0 12px; padding: 12px 14px; border-radius: 10px;
  border: 1px solid #cfe0d8; border-left: 3px solid #0e6b4f; background: #f4f9f7;
  font-size: .78rem; line-height: 1.6; color: #2f4c42;
}
.fonte-normativa b { color: #0e6b4f; }

.field-help.piora {
  border-left: 2px solid #b02a37; padding-left: 9px; color: #6b2028;
}

/* O número que a rota escolhida entrega — carreira, alga ou condutividade —
 * fica em destaque ao lado da entrada que o governa. */
.destaque-g {
  margin: 8px 0 4px; padding: 11px 13px; border-radius: 10px;
  border: 1px solid #0e6b4f; background: #f4f9f7;
  font-size: .78rem; line-height: 1.5; color: #2f4c42;
}
.destaque-g.critico { border-color: #b02a37; background: #fdf4f4; color: #6b2028; }
.destaque-g .numero {
  display: block; font-size: 1.5rem; font-weight: 600; color: #0e6b4f;
  font-variant-numeric: tabular-nums; margin-bottom: 2px;
}
.destaque-g.critico .numero { color: #b02a37; }
.destaque-g .conta { font-variant-numeric: tabular-nums; }

.constantes { display: grid; gap: 6px; margin-top: 8px; }
.constante {
  display: grid; grid-template-columns: 4.6rem 1fr 6.6rem; gap: 2px 8px; align-items: center;
  padding: 7px 9px; border-radius: 8px; border: 1px solid var(--line, #d7e0dc); background: #fff;
  font-size: .76rem;
}
.constante > .simbolo {
  font-weight: 600; color: var(--ink, #24302c); font-size: .82rem; text-align: center;
}
.constante > label { display: contents; }
.constante input {
  width: 100%; padding: 4px 6px; border-radius: 6px; border: 1px solid var(--line, #d7e0dc);
  font: inherit; text-align: right; font-variant-numeric: tabular-nums; background: #fff;
}
.constante > small {
  grid-column: 2 / -1; color: var(--muted, #848f8b); line-height: 1.45; font-size: .7rem;
}
.constante.fora-da-faixa { border-color: #d9a441; background: #fdf9f0; }
.constante .aviso { color: #8a5a0f; }

/* ---------------------------------------------------------------- desenho */

.df-tanque { fill: #eef5f7; stroke: #1f7f8c; stroke-width: 1.8; }
.df-agua { fill: #dfeef4; stroke: none; }
.df-parede { stroke: #24302c; stroke-width: 2.2; fill: none; }
.df-chicana { stroke: #8a5a0f; stroke-width: 2.4; fill: none; }
.df-caminho { stroke: #1f7f8c; stroke-width: 1.6; fill: none; }
.df-dose { stroke: #a4670f; stroke-width: 1.8; fill: none; }
.df-corrente { stroke: #24302c; stroke-width: 1.8; fill: none; }
.df-cota { stroke: #47544f; stroke-width: .9; fill: none; }
.df-rotulo { font-size: 11px; fill: #47544f; }
.df-rotulo-nome { font-size: 11px; fill: #24302c; font-weight: 600; }

.df-eixo { stroke: #24302c; stroke-width: 1.2; }
.df-grade { stroke: #d7e0dc; stroke-width: .8; }
.df-decaimento { fill: none; stroke: #0e6b4f; stroke-width: 2.4; }
.df-limite { stroke: #b02a37; stroke-width: 1.6; stroke-dasharray: 7 4; }
.df-teto { stroke: #d9a441; stroke-width: 1.4; stroke-dasharray: 5 3; }
.df-barra-mais { fill: #0e6b4f; opacity: .8; }
.df-barra-menos { fill: #b02a37; opacity: .8; }
.df-zero { stroke: #24302c; stroke-width: 1.2; }
.df-adotado { fill: #24302c; }

.canvas-legenda {
  margin: 8px 2px 0; font-size: .78rem; line-height: 1.55; color: var(--muted, #848f8b);
}
.canvas-legenda b { color: var(--ink, #24302c); }

/* ------------------------------------------------------- quadros das abas */

.quadro-governa tr.governa td { background: #f2f9f6; font-weight: 600; }
.quadro-governa tr.governa td:last-child { color: #0e6b4f; }

.tres-numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
  margin: 10px 0 14px; }
.tres-numeros > div {
  padding: 11px 13px; border-radius: 10px; border: 1px solid var(--line, #d7e0dc);
  background: #fff; text-align: center;
}
.tres-numeros > div.critico { border-color: #b02a37; background: #fdf4f4; }
.tres-numeros > div.bom { border-color: #0e6b4f; background: #f4f9f7; }
.tres-numeros span { display: block; font-size: .7rem; color: var(--muted, #848f8b); }
.tres-numeros b {
  display: block; font-size: 1.3rem; margin: 4px 0 2px; font-variant-numeric: tabular-nums;
}
.tres-numeros small { font-size: .68rem; color: var(--muted, #848f8b); }

.avisos { display: grid; gap: 8px; margin: 12px 0 16px; }
.aviso-caixa {
  padding: 10px 13px; border-radius: 10px; border: 1px solid #e2d3ae;
  border-left: 3px solid #d9a441; background: #fdf9f0;
  font-size: .78rem; line-height: 1.55; color: #5c4718;
}
.aviso-caixa.chave { border-color: #cfe0d8; border-left-color: #0e6b4f; background: #f4f9f7;
  color: #2f4c42; }
.aviso-caixa.grave { border-color: #e0b4b8; border-left-color: #b02a37; background: #fdf4f4;
  color: #6b2028; }

.conama {
  margin: 12px 0 16px; padding: 13px 15px; border-radius: 10px;
  border: 1px solid var(--line, #d7e0dc); background: #fff;
}
.conama.sim { border-color: #0e6b4f; background: #f4f9f7; }
.conama.nao { border-color: #b02a37; background: #fdf4f4; }
.conama h4 { margin: 0 0 10px; font-size: .84rem; }
.conama p { margin: 8px 0 0; font-size: .8rem; line-height: 1.55; }
.conama-literal {
  margin-top: 10px; padding: 9px 11px; border-radius: 8px; background: #f7f9f8;
  font-size: .74rem; font-style: italic; color: #47544f;
}

/* ------------------------------------------------------------- memorial */

.mem-fonte {
  margin: 0 0 14px; padding: 12px 14px; border-radius: 10px;
  border: 1px solid #cfe0d8; border-left: 3px solid #0e6b4f; background: #f4f9f7;
  font-size: .8rem; line-height: 1.6; color: #2f4c42;
}
.mem-fonte b { color: #0e6b4f; }

/* Últimos dois tokens secundários acertados no piso de contraste.
 *
 * `#7d9389` sobre branco dava 3,28:1; `#65736e` sobre o verde escuro da faixa
 * de saídas dava 3,06:1. O segundo é texto CLARO sobre fundo escuro, e por isso
 * foi CLAREADO, não escurecido — a primeira tentativa escureceu os dois, o que
 * levou o rótulo da faixa a 1,38:1, pior que estava. A direção da correção vem
 * de comparar a luminância do texto com a do fundo, e não de supor. */
