/* Estilos isolados do painel público de transparência. */
.fila-cabecalho {
    padding: clamp(1.3rem, 4vw, 3rem);
    background: linear-gradient(125deg, #0953ae, #087bdc);
    color: #fff;
    border-radius: 1.2rem;
}
.fila-cabecalho h1 { font-size: clamp(1.65rem, 3.4vw, 2.9rem); font-weight: 750; line-height: 1.13; overflow-wrap: anywhere; }
.fila-cabecalho p { max-width: 65ch; }
.fila-icone { font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.2; }
.fila-sobretitulo { font-size: .85rem; font-weight: 600; opacity: .95; }
.fila-aviso { background: #eaf4ff; color: #1b4268; padding: 1rem 1.2rem; border-radius: .8rem; border: 1px solid #c9e4fa; }
.fila-filtros { background: #fff; padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid #dce5ef; border-radius: 1rem; box-shadow: 0 4px 18px #1632540a; }

/* Indicadores: borda completa e faixa lateral na cor de cada situação. */
.fila-indicador {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    height: 100%;
    min-height: 172px;
    padding: clamp(1rem, 2.2vw, 1.5rem);
    border: 3px solid var(--fila-cor);
    border-left-width: 8px;
    border-radius: 16px;
    background: var(--fila-fundo);
    color: var(--fila-texto);
    box-shadow: 0 6px 18px var(--fila-sombra);
}
.fila-indicador-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.fila-indicador-topo > span { font-size: .94rem; font-weight: 700; line-height: 1.4; }
.fila-indicador-topo > i {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border: 1px solid var(--fila-cor);
    border-radius: 12px;
    background: #ffffffb3;
    font-size: 1.35rem;
}
.fila-indicador > strong { display: block; font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.12; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.fila-amarelo { --fila-cor: #d59a12; --fila-fundo: #fff8e3; --fila-texto: #795009; --fila-sombra: #a3711114; }
.fila-verde { --fila-cor: #15966d; --fila-fundo: #e9f8ef; --fila-texto: #086047; --fila-sombra: #15805e14; }
.fila-vermelho { --fila-cor: #d64e60; --fila-fundo: #fff0f2; --fila-texto: #9b2d3e; --fila-sombra: #b4394b14; }

/* Cartões por categoria: azul para consultas, violeta para exames e verde para cirurgias. */
.fila-listas { display: grid; gap: 28px; }
.fila-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
.fila-grupo-risco { min-width: 0; }
.fila-grupo-titulo { margin: 0 0 16px; color: #334b62; font-size: 1rem; font-weight: 700; }
.fila-card {
    --fila-card-cor: #1465d3;
    container: fila-atendimento / inline-size;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    border: 2px solid var(--fila-card-cor);
    border-top-width: 4px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 5px 18px #16325408;
}
.fila-card--exame { --fila-card-cor: #7a42c4; }
.fila-card--cirurgia { --fila-card-cor: #008677; }
.fila-card-cabecalho {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: clamp(16px, 2.3vw, 24px);
    border-bottom: 1px solid #e2eaf2;
    background: #fff;
}
.fila-card-icone {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border: 1px solid #dce5ef;
    border-radius: 13px;
    background: #fff;
    color: var(--fila-card-cor);
    font-size: 1.45rem;
}
.fila-card-titulo { min-width: 0; }
.fila-card h3 { margin: 0 0 10px; color: #193b59; font-size: clamp(1.05rem, 1.6vw, 1.2rem); font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.fila-tipo { display: inline-block; max-width: 100%; font-size: .75rem; color: #526579; background: #fff; border: 1px solid #dce5ef; border-radius: 30px; padding: 5px 10px; font-weight: 600; line-height: 1.4; }
.fila-classificacao { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 16px clamp(16px, 2.3vw, 24px) 0; }
.fila-classificacao > span { font-size: .8rem; font-weight: 600; color: #526579; }
.fila-risco { display: inline-flex; align-items: center; gap: 7px; border: 1px solid; border-radius: 30px; padding: 5px 11px; background: #fff; font-size: .8rem; line-height: 1.4; font-weight: 700; }
.fila-risco::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.fila-risco--urgente { border-color: #d34051; color: #a12336; }
.fila-risco--eletivo { border-color: #d29b10; color: #795100; }
.fila-risco--prioritario { border-color: #246de4; color: #174eaa; }
.fila-total-titulo { margin: 18px clamp(16px, 2.3vw, 24px) -6px; color: #526579; font-size: .8rem; font-weight: 700; }
.fila-distribuicao { padding: 0 clamp(16px, 2.3vw, 24px) 24px; }
.fila-distribuicao h4 { margin: 0 0 12px; font-size: .85rem; color: #334b62; font-weight: 700; }
.fila-risco-linha { border: 1px solid #dce5ef; border-left: 4px solid #64748b; border-radius: 12px; padding: 14px; background: #fff; }
.fila-risco-linha + .fila-risco-linha { margin-top: 10px; }
.fila-risco-linha--urgente { border-color: #efbac3; border-left-color: #ce2e42; }
.fila-risco-linha--eletivo { border-color: #e7cd8c; border-left-color: #d29b10; }
.fila-risco-linha--prioritario { border-color: #bfd7f5; border-left-color: #246de4; }
.fila-sem-risco { font-size: .8rem; color: #526579; }
.fila-risco-numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 12px 0 0; }
.fila-risco-numeros > div { min-width: 0; }
.fila-risco-numeros dt { font-size: .72rem; font-weight: 500; color: #526579; }
.fila-risco-numeros dd { margin: 5px 0 0; font-size: 1.25rem; font-weight: 750; color: #173a58; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.fila-numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: clamp(16px, 2.3vw, 24px); }
.fila-numeros > div {
    min-width: 0;
    padding: 14px 12px;
    border: 1px solid var(--numero-borda);
    border-top: 3px solid var(--numero-cor);
    border-radius: 12px;
    background: #fff;
    color: var(--numero-cor);
}
.fila-numeros span { display: flex; align-items: baseline; gap: 6px; font-size: .75rem; font-weight: 600; line-height: 1.45; }
.fila-numeros span > i { flex-shrink: 0; }
.fila-numeros strong { display: block; font-size: clamp(1.4rem, 2.1vw, 1.8rem); font-weight: 750; color: #173a58; margin-top: 10px; line-height: 1.2; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.fila-numero--espera { --numero-cor: #95630a; --numero-borda: #e7cd8c; }
.fila-numero--atendidos { --numero-cor: #08744f; --numero-borda: #a9d9c3; }
.fila-numero--faltosos { --numero-cor: #af3346; --numero-borda: #efbac3; }
.fila-referencia { display: flex; align-items: baseline; gap: 8px; margin: 0; padding: 14px 22px; border-top: 1px solid #e0e7ee; background: #fff; font-size: .8rem; color: #526579; }
.fila-referencia > i { color: var(--fila-card-cor); flex-shrink: 0; }
.fila-referencia strong { font-weight: 650; }
.fila-subgrupos { border-top: 1px solid #dce5ef; }
.fila-subgrupos > summary { padding: 16px 22px; color: var(--fila-card-cor); font-weight: 700; cursor: pointer; }
.fila-subgrupos > summary:focus-visible { outline: 3px solid #1465d3; outline-offset: -4px; }
.fila-subgrupo { margin: 0 14px 16px; border: 1px solid #dce5ef; border-radius: 12px; overflow: hidden; }
.fila-subgrupo-nome { margin: 0; padding: 16px 18px 0; font-size: 1rem; font-weight: 750; color: #193b59; overflow-wrap: anywhere; }
.fila-subgrupo .fila-numeros { padding: 16px; }
.fila-subgrupo .fila-distribuicao { padding-left: 16px; padding-right: 16px; }
.fila-atualizacao { border-top: 1px solid #dee7ef; padding: 1.1rem 0; font-size: .86rem; color: #506479; }
.fila-vazio { padding: 3rem 1rem; background: #fff; border: 2px dashed #b6cde5; border-radius: 1rem; color: #47617c; }
.fila-vazio i { font-size: 2rem; display: block; margin-bottom: .5rem; }

/* A largura do próprio cartão determina quando os números precisam de linhas. */
@media (max-width: 991.98px) { .fila-lista { grid-template-columns: minmax(0, 1fr); gap: 16px; } }
@container fila-atendimento (max-width: 510px) {
    .fila-risco-numeros { grid-template-columns: 1fr; gap: 8px; }
    .fila-risco-numeros > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
    .fila-risco-numeros dd { margin: 0; }
    .fila-numeros { grid-template-columns: 1fr; gap: 9px; }
    .fila-numeros > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top-width: 1px; border-left: 4px solid var(--numero-cor); padding: 12px 14px; }
    .fila-numeros span { font-size: .82rem; }
    .fila-numeros strong { margin-top: 0; font-size: clamp(1.35rem, 5cqi, 1.7rem); text-align: right; }
}
@media (max-width: 575.98px) {
    .fila-cabecalho { border-radius: .8rem; }
    .fila-filtros .btn { min-height: 48px; }
    .fila-indicador { min-height: 142px; gap: 12px; }
    .fila-card { border-radius: 14px; }
    .fila-card-cabecalho { gap: 10px; }
    .fila-card-icone { width: 40px; height: 40px; font-size: 1.25rem; border-radius: 10px; }
    .fila-numeros { grid-template-columns: 1fr; gap: 9px; }
    .fila-numeros > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top-width: 1px; border-left: 4px solid var(--numero-cor); padding: 12px; }
    .fila-numeros span { font-size: .8rem; }
    .fila-numeros strong { margin-top: 0; font-size: 1.4rem; text-align: right; }
    .fila-referencia { padding: 12px 16px; }
}
