/* =====================================================================================
   Epidemiologia (nov/2026), na fundação mm-*. Colunas das grades, boletim por semana epidemiológica e o canal endêmico
   (SVG). Só tokens --p-*; sem media query de largura (mc-scaled cuida da escala).
   ===================================================================================== */
.ep .ep-g-not  { --cols: 118px minmax(210px, 1.4fr) minmax(190px, 1.2fr) 96px 130px 130px 36px; }
.ep .ep-g-enc  { --cols: 118px minmax(210px, 1.4fr) minmax(190px, 1.2fr) 110px 120px 150px; }
.ep .ep-g-sug  { --cols: 112px minmax(210px, 1.4fr) 80px minmax(200px, 1.3fr) minmax(150px, 1fr) 140px; }
.ep .ep-g-sur  { --cols: 112px minmax(230px, 1.6fr) minmax(160px, 1fr) 90px 90px 120px 36px; }
.ep .ep-g-agr  { --cols: 80px minmax(240px, 1.8fr) 70px 150px 100px 90px 90px 36px; }
.ep .ep-g-rn   { --cols: 104px minmax(220px, 1.5fr) 110px 100px 120px 140px 36px; }
.ep .ep-num { font-family: var(--p-mono); font-size: .72rem; font-weight: 700; color: var(--p-ink); white-space: nowrap; }
.ep .ep-sub { font-size: .7rem; color: var(--p-faint); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ep .ep-nome { font-weight: 700; color: var(--p-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ep .ep-alerta { color: var(--p-orange); font-weight: 700; }
.ep .ep-alerta.grave { color: var(--p-red); }
.ep .ep-mapa, .ep-mapa { height: 560px; border-radius: 0 0 14px 14px; z-index: 1; }
.ep-imediata { display: inline-flex; align-items: center; gap: 3px; font-size: .6rem; font-weight: 800; letter-spacing: .4px; text-transform: uppercase;
    color: var(--p-red); background: var(--p-red-soft); border-radius: 6px; padding: 1px 5px; margin-left: 6px; vertical-align: middle; }

/* Boletim: casos por semana epidemiológica (rolagem horizontal só na tabela) */
.ep-bol { width: 100%; border-collapse: collapse; font-size: .72rem; }
.ep-bol th, .ep-bol td { padding: 5px 6px; border-bottom: 1px solid var(--p-border-soft); text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ep-bol th { font-size: .6rem; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--p-faint); background: var(--p-soft); position: sticky; top: 0; }
.ep-bol th:first-child, .ep-bol td:first-child { text-align: left; position: sticky; left: 0; background: var(--p-surface, #fff); z-index: 1; min-width: 220px; }
.ep-bol th:first-child { background: var(--p-soft); z-index: 2; }
.ep-bol td.zero { color: var(--p-faint); }
.ep-bol td.q { background: color-mix(in srgb, var(--p-orange) calc(var(--q, 0) * 1%), transparent); }
.ep-bol tfoot td { font-weight: 800; color: var(--p-ink); }
.ep-bol-wrap { overflow-x: auto; max-height: 560px; }

/* Canal endêmico (SVG desenhado no servidor) */
.ep-canal { width: 100%; height: auto; display: block; }
.ep-canal .eixo { stroke: var(--p-border); stroke-width: 1; }
.ep-canal .grade { stroke: var(--p-border-soft); stroke-width: 1; stroke-dasharray: 3 3; }
.ep-canal text { font-size: 10px; fill: var(--p-faint); font-family: inherit; }
.ep-canal .z-exito { fill: color-mix(in srgb, #16a34a 16%, transparent); }
.ep-canal .z-seg { fill: color-mix(in srgb, #eab308 20%, transparent); }
.ep-canal .z-alerta { fill: color-mix(in srgb, #ea580c 22%, transparent); }
.ep-canal .z-epi { fill: color-mix(in srgb, #dc2626 10%, transparent); }
.ep-canal .linha-q3 { fill: none; stroke: #dc2626; stroke-width: 1.5; stroke-dasharray: 4 3; }
.ep-canal .linha-md { fill: none; stroke: #ca8a04; stroke-width: 1.2; }
.ep-canal .atual { fill: none; stroke: var(--p-ink); stroke-width: 2.4; }
.ep-canal .ponto { fill: var(--p-ink); }
.ep-canal .ponto.EPIDEMICA { fill: #dc2626; }
.ep-canal .ponto.ALERTA { fill: #ea580c; }
.ep-legenda { display: flex; flex-wrap: wrap; gap: 12px; font-size: .7rem; color: var(--p-text); }
.ep-legenda span::before { content: ""; display: inline-block; width: 12px; height: 8px; border-radius: 2px; margin-right: 5px; vertical-align: middle; background: var(--c); }

/* Abas da ficha (Notificação | Investigação | Encerramento) */
.ep-abas { display: flex; gap: 4px; border-bottom: 1px solid var(--p-border-soft); margin: -4px 0 14px; }
.ep-abas button { border: 0; background: none; padding: 8px 12px; font-size: .78rem; font-weight: 700; color: var(--p-faint); border-bottom: 2px solid transparent; cursor: pointer; }
.ep-abas button.on { color: var(--p-blue); border-bottom-color: var(--p-blue-light); }
.ep-abas button:disabled { opacity: .45; cursor: default; }
.prmd-btn.ep-perigo { color: var(--p-red); border-color: color-mix(in srgb, var(--p-red) 45%, transparent); }
