:root {
    --cor-fundo: #f4f7f2;
    --cor-superficie: #ffffff;
    --cor-texto: #17201a;
    --cor-muted: #617066;
    --cor-borda: #dfe7dd;
    --cor-primaria: #167a4a;
    --cor-primaria-escura: #0f5a37;
    --cor-secundaria: #245e8f;
    --cor-perigo: #b42318;
    --sombra: 0 18px 45px rgba(25, 40, 30, 0.08);
}

* {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    margin: 0;
    min-height: 100vh;
    background: var(--cor-fundo);
    color: var(--cor-texto);
    font-family: Arial, Helvetica, sans-serif;
    position: relative;
}

.video-interno-bg {
    filter: grayscale(1) contrast(0.92) brightness(1.08);
    height: 100%;
    inset: 0;
    object-fit: cover;
    opacity: 0.2;
    pointer-events: none;
    position: fixed;
    width: 100%;
    z-index: 0;
}

body::before {
    background: rgba(244, 247, 242, 0.58);
    content: "";
    inset: 0;
    pointer-events: none;
    position: fixed;
    z-index: 1;
}

.tela-login::before {
    display: none;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
    max-width: 100%;
}

img,
video {
    max-width: 100%;
}

.topo-app {
    align-items: center;
    background:
        linear-gradient(115deg, rgba(22, 151, 93, 0.98) 0%, rgba(22, 139, 128, 0.96) 48%, rgba(27, 91, 151, 0.98) 100%);
    backdrop-filter: blur(10px);
    border-bottom: 0;
    box-shadow: 0 12px 30px rgba(9, 51, 48, 0.18);
    display: flex;
    gap: 20px;
    min-height: 112px;
    overflow: hidden;
    padding: 16px clamp(16px, 4vw, 40px);
    position: sticky;
    top: 0;
    z-index: 10;
}

.topo-app::before {
    background:
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.22), transparent 34%),
        linear-gradient(90deg, rgba(255, 255, 255, 0.16), transparent 42%, rgba(255, 255, 255, 0.1));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.topo-app::after {
    background: linear-gradient(90deg, #0f6b44 0%, #21a366 34%, #1e8aa5 68%, #123d70 100%);
    bottom: 0;
    content: "";
    height: 10px;
    left: 0;
    position: absolute;
    right: 0;
}

.marca {
    align-items: center;
    display: flex;
    min-width: 250px;
    position: relative;
    z-index: 1;
}

.marca img {
    display: block;
    filter:
        drop-shadow(0 0 2px rgba(255, 255, 255, 0.92))
        drop-shadow(0 0 8px rgba(222, 255, 237, 0.72))
        drop-shadow(0 0 16px rgba(97, 224, 159, 0.34))
        drop-shadow(0 10px 16px rgba(0, 28, 29, 0.28))
        brightness(1.1)
        saturate(1.06);
    height: 76px;
    object-fit: contain;
    transform: translateY(-4px);
    width: 282px;
}

.menu-principal {
    align-items: center;
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    gap: 8px;
    position: relative;
    z-index: 1;
}

.menu-principal a,
.usuario-topo a {
    align-items: center;
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.9);
    display: inline-flex;
    font-weight: 700;
    justify-content: center;
    min-height: 40px;
    padding: 9px 11px;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.menu-principal a.ativo,
.menu-principal a:hover,
.usuario-topo a:hover {
    background: rgba(255, 255, 255, 0.2);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2), 0 8px 18px rgba(3, 39, 44, 0.16);
    color: #ffffff;
    transform: translateY(-1px);
}

/* Disponibilidade da equipe e pausas de atendimento */
.form-botao-pausa {
    margin: 0;
}

.botao-pausar-atendimento {
    background: linear-gradient(180deg, #df3b3b 0%, #a71220 100%) !important;
    box-shadow: 0 10px 22px rgba(167, 18, 32, 0.28);
    color: #fff !important;
}

.botao-pausar-atendimento:hover:not(:disabled) {
    box-shadow: 0 13px 26px rgba(167, 18, 32, 0.38);
    transform: translateY(-1px);
}

.botao-pausar-atendimento:disabled {
    cursor: not-allowed;
    filter: grayscale(0.45);
    opacity: 0.55;
}

.botao-retomar-atendimento {
    background: linear-gradient(180deg, #218f58 0%, #12643b 100%) !important;
    box-shadow: 0 10px 22px rgba(18, 100, 59, 0.28);
    color: #fff !important;
    transition: box-shadow 0.2s ease, filter 0.2s ease, transform 0.2s ease;
}

.botao-retomar-atendimento:hover {
    background: linear-gradient(180deg, #29a667 0%, #0f5733 100%) !important;
    box-shadow: 0 13px 27px rgba(18, 100, 59, 0.38);
    transform: translateY(-1px);
}

.botao-retomar-atendimento:active {
    box-shadow: 0 6px 14px rgba(18, 100, 59, 0.28);
    transform: translateY(1px);
}

.alerta-temporario {
    max-height: 160px;
    opacity: 1;
    overflow: hidden;
    transition: margin 0.32s ease, max-height 0.32s ease, opacity 0.25s ease, padding 0.32s ease;
}

.alerta-temporario.esta-saindo {
    margin-bottom: 0;
    margin-top: 0;
    max-height: 0;
    opacity: 0;
    padding-bottom: 0;
    padding-top: 0;
}

.bloco-situacao-equipe {
    margin-bottom: 22px;
}

.legenda-situacao-equipe {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.grade-situacao-equipe {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    padding: 18px;
}

.cartao-situacao-profissional {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid #d7e4dc;
    border-left: 5px solid #218f58;
    border-radius: 12px;
    display: grid;
    gap: 8px;
    padding: 13px 14px;
}

.cartao-situacao-profissional.esta-pausado {
    background: #fff8f1;
    border-color: #f0d5bd;
    border-left-color: #d05b28;
}

.cartao-situacao-profissional > div {
    align-items: baseline;
    display: flex;
    gap: 7px;
}

.cartao-situacao-profissional > div strong {
    color: #1f3440;
    font-size: 1rem;
}

.cartao-situacao-profissional small,
.cartao-situacao-profissional p,
.cartao-situacao-profissional time {
    color: #64727c;
    font-size: 0.82rem;
    margin: 0;
}

.cartao-situacao-profissional p small {
    display: block;
    margin-top: 3px;
}

.cartao-situacao-profissional time {
    font-weight: 900;
}

.status-profissional {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 900;
    height: 28px;
    justify-self: start;
    line-height: 1;
    padding: 0 10px;
    white-space: nowrap;
}

.status-profissional-disponivel {
    background: #daf3e5;
    color: #14623c;
}

.status-profissional-pausado {
    background: #ffe0ca;
    color: #9a3c17;
}

.indicador-pausa-longa {
    background: #ffcfca;
    border-radius: 7px;
    color: #9e1d27;
    font-size: 0.72rem;
    justify-self: start;
    padding: 4px 7px;
}

.bloco-historico-pausas {
    margin-bottom: 22px;
    overflow: hidden;
}

.bloco-historico-pausas > summary {
    color: #1f3440;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 900;
    padding: 18px 20px;
}

.bloco-historico-pausas[open] > summary {
    border-bottom: 1px solid #e1e9e4;
}

.texto-apoio-pausas {
    color: #65747d;
    font-size: 0.86rem;
    margin: 15px 18px 0;
}

.bloco-historico-pausas table {
    min-width: 980px;
    table-layout: fixed;
}

.bloco-historico-pausas th:nth-child(1),
.bloco-historico-pausas td:nth-child(1) {
    width: 12%;
}

.bloco-historico-pausas th:nth-child(2),
.bloco-historico-pausas td:nth-child(2) {
    overflow-wrap: anywhere;
    white-space: normal;
    width: 17%;
}

.bloco-historico-pausas th:nth-child(3),
.bloco-historico-pausas td:nth-child(3),
.bloco-historico-pausas th:nth-child(4),
.bloco-historico-pausas td:nth-child(4) {
    width: 14%;
}

.bloco-historico-pausas th:nth-child(5),
.bloco-historico-pausas td:nth-child(5) {
    width: 9%;
}

.bloco-historico-pausas th:nth-child(6),
.bloco-historico-pausas td:nth-child(6) {
    width: 34%;
}

.bloco-historico-pausas td small,
.auditoria-pausa > span,
.auditoria-pausa > small {
    display: block;
    margin-top: 4px;
}

.correcao-pausa {
    margin-top: 8px;
}

.correcao-pausa > summary {
    color: var(--cor-primaria-escura);
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 900;
}

.correcao-pausa form {
    background: #f3f7f5;
    border-radius: 9px;
    display: grid;
    gap: 7px;
    margin-top: 8px;
    padding: 9px;
}

.correcao-pausa label {
    font-size: 0.74rem;
}

.correcao-pausa input {
    font-size: 0.78rem;
    min-height: 34px;
    padding: 6px 8px;
}

.correcao-pausa .botao-mini {
    background: #247a4d;
    color: #fff;
    justify-self: start;
    min-height: 32px;
    padding: 6px 12px;
    width: auto;
}

.correcao-pausa .botao-mini:hover {
    background: #155d38;
    box-shadow: 0 6px 14px rgba(21, 93, 56, 0.24);
}

.modal-pausa-atendimento {
    background: #fff;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 28px 80px rgba(12, 31, 23, 0.36);
    color: #1f3440;
    max-width: min(520px, calc(100vw - 30px));
    padding: 0;
    width: 100%;
}

.modal-pausa-atendimento::backdrop {
    background: rgba(8, 24, 17, 0.64);
    backdrop-filter: blur(3px);
}

.form-pausa-atendimento {
    display: grid;
    gap: 16px;
    padding: 22px;
}

.form-pausa-atendimento > header {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
}

.form-pausa-atendimento h2,
.form-pausa-atendimento p {
    margin: 0;
}

.form-pausa-atendimento header p {
    color: #66747d;
    font-size: 0.88rem;
    margin-top: 5px;
}

.fechar-modal-pausa {
    background: #eef3f0;
    border: 0;
    border-radius: 50%;
    color: #33463c;
    cursor: pointer;
    font-size: 1.5rem;
    height: 36px;
    line-height: 1;
    width: 36px;
}

.nota-pausa-atendimento {
    background: #f5f8f6;
    border-left: 4px solid #6f8d7c;
    border-radius: 8px;
    color: #53665b;
    font-size: 0.82rem;
    line-height: 1.45;
    padding: 10px 12px;
}

.form-pausa-atendimento .botao-secundario {
    background: #e3e9e5;
    border: 1px solid #74877c;
    color: #263d31;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.form-pausa-atendimento .botao-secundario:hover {
    background: #090a0a;
    border-color: #090a0a;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
    color: #fff;
    transform: translateY(-1px);
}

.form-pausa-atendimento .botao-secundario:active {
    box-shadow: 0 4px 10px rgba(38, 61, 49, 0.2);
    transform: translateY(1px);
}

.corpo-bloqueio-pausa {
    display: grid;
    gap: 16px;
    padding: 22px;
}

.corpo-bloqueio-pausa > header > div {
    align-items: center;
    display: flex;
    gap: 10px;
}

.corpo-bloqueio-pausa h2,
.corpo-bloqueio-pausa p {
    margin: 0;
}

.corpo-bloqueio-pausa > p {
    color: #33463c;
    line-height: 1.5;
}

.corpo-bloqueio-pausa > small {
    background: #fff2cc;
    border-radius: 8px;
    color: #74530c;
    font-weight: 800;
    padding: 8px 10px;
}

.icone-bloqueio-pausa {
    align-items: center;
    background: #b42318;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 950;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.corpo-bloqueio-pausa .acoes-formulario {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.corpo-bloqueio-pausa .acoes-formulario form {
    margin: 0;
}

.corpo-bloqueio-pausa .acoes-formulario .botao-secundario:hover {
    background: #090a0a;
    color: #fff;
}

.form-atendimento-pausado {
    background: rgba(244, 247, 245, 0.72);
    border-radius: 10px;
    opacity: 0.62;
}

@media (max-width: 760px) {
    .acoes-cabecalho-painel {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .acoes-cabecalho-painel > *,
    .acoes-cabecalho-painel button,
    .acoes-cabecalho-painel a {
        width: 100%;
    }

    .legenda-situacao-equipe {
        margin-top: 8px;
    }

    .grade-situacao-equipe {
        grid-template-columns: 1fr;
        padding: 13px;
    }
}

.menu-principal .item-menu-inativo,
.menu-lateral-links .item-menu-inativo {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.58);
    cursor: not-allowed;
    display: inline-flex;
    font-weight: 800;
    gap: 7px;
    min-height: 40px;
    padding: 9px 11px;
    user-select: none;
}

.menu-lateral-links .item-menu-inativo {
    min-height: 41px;
    padding: 8px 11px;
}

.item-menu-inativo small {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    font-size: 0.6rem;
    letter-spacing: 0.04em;
    padding: 3px 6px;
    text-transform: uppercase;
}

.usuario-topo {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-left: auto;
    position: relative;
    z-index: 1;
}

.usuario-topo .botao-sair-topo {
    background: transparent;
    box-shadow: 0 8px 18px rgba(124, 25, 18, 0.18);
    color: #ffffff;
    isolation: isolate;
    min-width: 72px;
    overflow: visible;
    position: relative;
    z-index: 1;
}

.texto-botao-sair {
    position: relative;
    z-index: 3;
}

.botao-sair-topo::after {
    background: linear-gradient(180deg, #ee8d85 0%, #d85f55 100%);
    border-radius: inherit;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 2;
}

.usuario-topo .botao-painel-topo {
    background: linear-gradient(180deg, #202326 0%, #050607 100%);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
    color: #ffffff;
    min-width: 84px;
    overflow: hidden;
    position: relative;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.usuario-topo .botao-painel-topo::before {
    background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.18) 42%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0.18) 58%, transparent 100%);
    content: "";
    inset: -40% auto -40% -80%;
    position: absolute;
    transform: skewX(-18deg);
    transition: left 0.95s ease;
    width: 58%;
}

.usuario-topo .botao-painel-topo:hover,
.usuario-topo .botao-painel-topo.ativo {
    background: linear-gradient(180deg, #2d3135 0%, #090b0d 100%);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.34);
    color: #ffffff;
    transform: translateY(-1px);
}

.usuario-topo .botao-painel-topo:hover::before {
    left: 130%;
}

.usuario-topo .botao-painel-topo:active {
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.28);
    transform: translateY(0);
}

.usuario-topo .botao-sair-topo:hover {
    box-shadow: 0 10px 22px rgba(124, 25, 18, 0.32);
}

.usuario-topo .botao-sair-topo:hover::after,
.botao-sair-lateral:hover::after {
    background: linear-gradient(180deg, #e04a3d 0%, #b82d23 100%);
}

.menu-lateral-app {
    background:
        linear-gradient(165deg, rgba(22, 151, 93, 0.98) 0%, rgba(22, 139, 128, 0.96) 48%, rgba(27, 91, 151, 0.98) 100%);
    box-shadow: 12px 0 30px rgba(9, 51, 48, 0.18);
    display: flex;
    flex-direction: column;
    gap: 14px;
    inset: 0 auto 0 0;
    padding: 10px 38px 20px 18px;
    position: fixed;
    width: 330px;
    z-index: 10;
}

.menu-lateral-app::before {
    background:
        radial-gradient(circle at 10% 0%, rgba(255, 255, 255, 0.24), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.14), transparent 44%, rgba(255, 255, 255, 0.08)),
        linear-gradient(rgba(255, 255, 255, 0.11) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px),
        conic-gradient(from 45deg, rgba(255, 255, 255, 0.08) 0 25%, transparent 0 50%, rgba(255, 255, 255, 0.08) 0 75%, transparent 0);
    background-size: auto, auto, 30px 30px, 30px 30px, 60px 60px;
    content: "";
    inset: 0;
    opacity: 0.82;
    pointer-events: none;
    position: absolute;
}

.menu-lateral-app::after {
    background: linear-gradient(180deg, #0f6b44 0%, #21a366 34%, #1e8aa5 68%, #123d70 100%);
    bottom: 0;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 10px;
}

.marca-lateral,
.menu-lateral-links,
.botao-sair-lateral {
    position: relative;
    z-index: 1;
}

.marca-lateral {
    display: flex;
    justify-content: center;
    margin-bottom: 0;
    padding: 0 0 8px;
    width: 100%;
}

.marca-lateral img {
    display: block;
    filter:
        drop-shadow(0 0 2px rgba(255, 255, 255, 0.92))
        drop-shadow(0 0 8px rgba(222, 255, 237, 0.72))
        drop-shadow(0 0 14px rgba(97, 224, 159, 0.3))
        drop-shadow(0 8px 14px rgba(0, 28, 29, 0.28))
        brightness(1.1)
        saturate(1.06);
    height: 148px;
    object-fit: contain;
    transform: translateY(-32px);
    width: 286px;
}

.menu-lateral-links {
    align-content: start;
    display: grid;
    flex: 1 1 auto;
    gap: 8px;
    margin-top: -30px;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 7px 4px 0;
    scrollbar-color: rgba(255, 255, 255, 0.38) transparent;
    scrollbar-width: thin;
}

.menu-lateral-links a {
    align-items: center;
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.92);
    display: flex;
    font-weight: 800;
    font-size: 0.95rem;
    min-height: 41px;
    padding: 8px 11px;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.menu-lateral-links a.ativo,
.menu-lateral-links a:hover {
    background: rgba(255, 255, 255, 0.2);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2), 0 8px 18px rgba(3, 39, 44, 0.16);
    color: #ffffff;
    transform: translateX(2px);
}

.menu-principal a.link-care-cidadao-marca,
.menu-lateral-links a.link-care-cidadao-marca {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: none;
    font-size: 1.02rem;
    letter-spacing: -0.02em;
}

.menu-principal a.link-care-cidadao-marca:hover,
.menu-principal a.link-care-cidadao-marca.ativo,
.menu-lateral-links a.link-care-cidadao-marca:hover,
.menu-lateral-links a.link-care-cidadao-marca.ativo {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24), 0 8px 18px rgba(3, 39, 44, 0.16);
    filter: brightness(1.02);
}

.menu-principal a.link-care-cidadao-marca:active,
.menu-lateral-links a.link-care-cidadao-marca:active {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2), 0 4px 12px rgba(3, 39, 44, 0.14);
}

.menu-principal a.link-care-cidadao-marca span,
.menu-lateral-links a.link-care-cidadao-marca span {
    background: linear-gradient(160deg, #00b449 0%, #009a44 56%, #ef2b24 100%);
    background-clip: text;
    color: #009a44;
    filter: drop-shadow(0 1px 1px rgba(0, 24, 26, 0.42));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.menu-principal a.link-care-cidadao-marca strong,
.menu-lateral-links a.link-care-cidadao-marca strong {
    background: linear-gradient(160deg, #159ee9 0%, #0879c9 56%, #ef2b24 100%);
    background-clip: text;
    color: #0879c9;
    filter: drop-shadow(0 1px 1px rgba(0, 24, 26, 0.42));
    font-weight: inherit;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.menu-principal .item-care-inativo,
.menu-lateral-links .item-care-inativo {
    background: rgba(255, 255, 255, 0.78);
    box-shadow: none;
    font-size: 1.02rem;
    justify-content: center;
    letter-spacing: -0.02em;
    opacity: 0.72;
}

.menu-principal .item-care-inativo > span,
.menu-lateral-links .item-care-inativo > span {
    color: #168a48;
    font-weight: 900;
}

.menu-principal .item-care-inativo > strong,
.menu-lateral-links .item-care-inativo > strong {
    color: #167bb8;
    font-weight: 900;
}

.menu-principal .item-care-inativo small,
.menu-lateral-links .item-care-inativo small {
    background: rgba(77, 88, 93, 0.14);
    color: #566269;
    -webkit-text-fill-color: currentColor;
}

.menu-lateral-links a.link-submenu-secretaria {
    background: transparent;
    border-left: 0;
    font-size: 1rem;
    margin-left: 0;
    min-height: 41px;
    padding: 8px 11px;
}

.menu-lateral-links a.link-submenu-secretaria.ativo,
.menu-lateral-links a.link-submenu-secretaria:hover {
    background: rgba(255, 255, 255, 0.2);
}

.botao-sigaf-lateral {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border: 0;
    border-radius: 8px;
    box-shadow: none;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    margin-top: 8px;
    min-height: 41px;
    padding: 6px 11px;
    position: relative;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, filter 0.18s ease;
    width: 100%;
    z-index: 1;
}

.botao-sigaf-lateral img {
    display: block;
    max-height: 28px;
    max-width: 152px;
    object-fit: contain;
    width: 100%;
}

.menu-lateral-links .botao-sigaf-lateral:hover {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24), 0 8px 18px rgba(3, 39, 44, 0.16);
    filter: brightness(1.02);
    transform: translateX(2px);
}

.menu-lateral-links .botao-sigaf-lateral:active {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2), 0 4px 12px rgba(3, 39, 44, 0.14);
    transform: translateX(1px);
}

.botao-sair-lateral {
    align-items: center;
    background: transparent;
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(124, 25, 18, 0.18);
    color: #ffffff;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    flex: 0 0 auto;
    margin-top: 0;
    min-height: 42px;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.botao-sair-lateral:hover {
    box-shadow: 0 10px 22px rgba(124, 25, 18, 0.32);
    transform: translateY(-1px);
}

@media (max-height: 860px) and (min-width: 901px) {
    .menu-lateral-app {
        gap: 8px;
        padding-bottom: 12px;
        padding-top: 6px;
    }

    .marca-lateral {
        padding-bottom: 0;
    }

    .marca-lateral img {
        height: 126px;
        transform: translateY(-20px);
    }

    .menu-lateral-links {
        gap: 6px;
        margin-top: 0;
    }

    .menu-lateral-links a,
    .menu-lateral-links .item-menu-inativo {
        min-height: 36px;
        padding: 6px 10px;
    }

    .botao-sigaf-lateral {
        margin-top: 2px;
        min-height: 36px;
    }

    .botao-sair-lateral {
        min-height: 38px;
    }
}

.com-menu-lateral .container {
    margin-left: 330px;
    max-width: calc(100% - 330px);
    padding-left: 28px;
    padding-right: 28px;
}

.container {
    margin: 0 auto;
    max-width: 1180px;
    padding: 28px 18px 46px;
    position: relative;
    z-index: 2;
}

.mascote-rive-assistente {
    bottom: 6px;
    height: 292px;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 14px;
    transform: translateX(120%) translateY(24px) scale(0.84);
    transform-origin: right bottom;
    width: 312px;
    z-index: 35;
}

.mascote-rive-assistente.ativo {
    opacity: 1;
    transform: translateX(0) translateY(0) scale(1);
}

.mascote-rive-assistente.perto-menu {
    z-index: 45;
}

.mascote-rive-balao {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(22, 122, 74, 0.18);
    border-radius: 8px;
    bottom: 220px;
    box-shadow: 0 16px 34px rgba(15, 42, 28, 0.16);
    display: grid;
    gap: 3px;
    max-width: 230px;
    opacity: 0;
    padding: 11px 13px;
    position: absolute;
    right: 8px;
    transform: translateY(10px) scale(0.96);
}

.mascote-rive-assistente.ativo .mascote-rive-balao {
    animation: mascoteRiveBalaoFala 10.4s ease-in-out both;
}

.mascote-rive-balao::after {
    background: inherit;
    border-bottom: 1px solid rgba(22, 122, 74, 0.18);
    border-right: 1px solid rgba(22, 122, 74, 0.18);
    bottom: -7px;
    content: "";
    height: 12px;
    position: absolute;
    right: 58px;
    transform: rotate(45deg);
    width: 12px;
}

.mascote-rive-balao strong {
    color: var(--cor-primaria-escura);
    font-size: 0.85rem;
    font-weight: 950;
}

.mascote-rive-balao span {
    color: var(--cor-muted);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.32;
}

.mascote-rive-botao {
    background: transparent;
    border: 0;
    bottom: 0;
    border-radius: 0;
    box-shadow: none;
    height: 238px;
    overflow: visible;
    padding: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    width: 272px;
}

.mascote-medi-video {
    display: block;
    filter: drop-shadow(0 13px 16px rgba(10, 31, 22, 0.24));
    height: 100%;
    inset: 0;
    object-fit: contain;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity 140ms ease;
    width: 100%;
    z-index: 2;
}

.mascote-rive-botao.video-medi-ativo .mascote-medi-video {
    opacity: 1;
}

.menu-lateral-app .menu-lateral-links a.mascote-alvo-destaque,
.menu-principal a.mascote-alvo-destaque {
    animation: none;
    background: #ffffff !important;
    box-sizing: border-box;
    box-shadow: inset 4px 0 0 #2aa867 !important;
    color: #0f6b44 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
}

.menu-lateral-app .menu-lateral-links a.mascote-alvo-destaque {
    max-width: 100%;
    width: 100%;
}

@keyframes mascoteRiveFlutuar {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }
}

@keyframes mascoteAlvoPulso {
    0%,
    100% {
        filter: brightness(1);
    }

    50% {
        filter: brightness(1.12);
    }
}

@keyframes mascoteRiveBalaoFala {
    0%,
    8% {
        opacity: 0;
        transform: translateX(15px) translateY(10px) scale(0.96);
    }

    18% {
        opacity: 1;
        transform: translateX(-65px) translateY(0) scale(1);
    }

    30%,
    70% {
        opacity: 1;
        transform: translateX(-120px) translateY(0) scale(1);
    }

    78% {
        opacity: 1;
        transform: translateX(-100px) translateY(0) scale(1);
    }

    92% {
        opacity: 1;
        transform: translateX(0) translateY(0) scale(1);
    }

    100% {
        opacity: 0;
        transform: translateX(28px) translateY(8px) scale(0.97);
    }
}

.pagina-privacidade {
    max-width: 1060px;
}

.bloco-privacidade {
    line-height: 1.58;
    padding: 22px;
}

.introducao-privacidade {
    background: linear-gradient(135deg, #edf8f2 0%, #eef6fb 100%);
    border: 1px solid #cfe2d7;
    border-radius: 12px;
    padding: 18px;
}

.introducao-privacidade p {
    color: #40554a;
    margin: 10px 0 0;
}

.selo-versao-privacidade {
    background: #183d2c;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 900;
    padding: 5px 10px;
}

.indice-privacidade {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.indice-privacidade a {
    background: #e8eff4;
    border-radius: 999px;
    color: var(--cor-secundaria);
    font-size: 0.78rem;
    font-weight: 900;
    padding: 7px 10px;
    text-decoration: none;
}

.indice-privacidade a:hover,
.indice-privacidade a:focus-visible {
    background: #d8e6ef;
}

.grade-privacidade {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 20px;
}

.grade-privacidade article {
    background: #ffffff;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(25, 40, 30, 0.06);
    padding: 18px;
}

.grade-privacidade h2 {
    font-size: 1.04rem;
    margin: 0 0 8px;
}

.grade-privacidade p {
    color: var(--cor-muted);
    margin: 0;
}

.grade-privacidade ul {
    color: var(--cor-muted);
    margin: 8px 0 0;
    padding-left: 20px;
}

.grade-privacidade li + li {
    margin-top: 6px;
}

.grade-privacidade article[id] {
    scroll-margin-top: 90px;
}

.privacidade-largura-total {
    grid-column: 1 / -1;
}

.privacidade-destaque-ia {
    background: linear-gradient(145deg, #f2f7ff 0%, #f6f3ff 100%) !important;
    border-color: #cfd8eb !important;
}

.privacidade-contato {
    border-left: 4px solid #188654 !important;
}

.referencias-privacidade {
    align-items: flex-start;
    border-top: 1px solid var(--cor-borda);
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 22px;
    padding-top: 16px;
}

.referencias-privacidade strong {
    color: var(--cor-texto);
    width: 100%;
}

.referencias-privacidade a {
    color: var(--cor-secundaria);
    font-size: 0.84rem;
    font-weight: 800;
}

.botao-whatsapp-privacidade {
    margin-top: 14px;
}

.texto-privacidade-observacao {
    border-top: 1px solid var(--cor-borda);
    color: var(--cor-muted);
    margin: 22px 0 0;
    padding-top: 16px;
}

.status-publico-pwa .topo-app {
    display: none;
}

.status-publico {
    align-items: center;
    background:
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.88), transparent 32%),
        linear-gradient(135deg, rgba(232, 246, 238, 0.96), rgba(222, 239, 248, 0.92));
    display: grid;
    min-height: 100vh;
    padding: 24px;
    position: relative;
    z-index: 2;
}

.status-publico-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(22, 122, 74, 0.16);
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(25, 40, 30, 0.14);
    display: grid;
    gap: 16px;
    justify-self: center;
    max-width: 520px;
    padding: 24px;
    text-align: center;
    width: min(100%, 520px);
}

.status-publico-logo {
    justify-self: center;
    max-height: 78px;
    object-fit: contain;
    width: min(100%, 300px);
}

.status-publico-cidade {
    color: var(--cor-muted);
    font-weight: 800;
    line-height: 1.45;
    margin: 0;
}

.status-publico-cidade strong {
    color: var(--cor-texto);
}

.status-publico-seletor {
    color: var(--cor-muted);
    display: grid;
    font-weight: 800;
    gap: 7px;
    text-align: left;
}

.status-movimento {
    border-radius: 8px;
    color: #ffffff;
    display: grid;
    gap: 6px;
    min-height: 164px;
    padding: 26px 18px;
    place-items: center;
}

.status-movimento span {
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.status-movimento strong {
    font-size: clamp(2.4rem, 11vw, 4.5rem);
    line-height: 0.95;
}

.status-movimento small {
    font-size: 0.96rem;
    font-weight: 800;
}

.status-movimento-vazio {
    background: linear-gradient(135deg, #1d8b5f 0%, #168b80 100%);
}

.status-movimento-razoavel,
.status-movimento-carregando {
    background: linear-gradient(135deg, #d9822b 0%, #b86317 100%);
}

.status-movimento-lotado {
    background: linear-gradient(135deg, #c43f32 0%, #8f261f 100%);
}

.status-publico-numeros {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.status-publico-numeros article {
    background: #f7faf6;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    padding: 14px;
}

.status-publico-numeros span {
    color: var(--cor-muted);
    display: block;
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.status-publico-numeros strong {
    color: var(--cor-primaria-escura);
    display: block;
    font-size: 2rem;
    margin-top: 3px;
}

.status-publico-atualizacao {
    color: var(--cor-muted);
    font-weight: 800;
    margin: 0;
}

.status-publico-legenda {
    border-top: 1px solid var(--cor-borda);
    display: grid;
    gap: 8px;
    padding-top: 14px;
    text-align: left;
}

.status-publico-legenda span {
    align-items: center;
    color: var(--cor-muted);
    display: flex;
    font-size: 0.86rem;
    font-weight: 800;
    gap: 8px;
}

.status-publico-legenda i {
    border-radius: 999px;
    display: inline-flex;
    height: 11px;
    width: 11px;
}

.legenda-vazio {
    background: #1d8b5f;
}

.legenda-razoavel {
    background: #d9822b;
}

.legenda-lotado {
    background: #c43f32;
}

.cabecalho-pagina {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 20px;
}

.cabecalho-print-relatorio {
    display: none;
}

.cabecalho-pdf-oficial {
    display: block;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.dados-cabecalho-print {
    text-align: center;
}

.cabecalho-pagina h1 {
    font-size: clamp(1.7rem, 3vw, 2.2rem);
    margin: 0 0 6px;
}

.titulo-boas-vindas {
    align-items: flex-end;
    display: inline-flex;
    gap: 0;
    line-height: 1.08;
}

.cabecalho-pagina p {
    color: var(--cor-muted);
    margin: 0;
}

.acoes-cabecalho-painel {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: flex-end;
    margin-left: auto;
    min-height: 56px;
}

.pagina-painel .cabecalho-pagina > div:first-child {
    flex: 1 1 auto;
    min-width: 210px;
}

.subtitulo-painel-principal span,
.subtitulo-painel-principal strong {
    display: block;
}

.subtitulo-painel-principal {
    line-height: 1.12;
}

.subtitulo-painel-principal span {
    font-size: clamp(0.9rem, 1.1vw, 1.08rem);
    white-space: nowrap;
}

.subtitulo-painel-principal strong {
    color: var(--cor-texto);
    font-size: 1.03rem;
    letter-spacing: normal;
    margin-top: 3px;
}

.quebra-cidade-painel {
    display: none;
}

.pagina-painel .acoes-cabecalho-painel {
    flex: 0 0 auto;
    gap: 10px;
    margin-left: auto;
    margin-right: -18px;
}

.pagina-painel .acoes-cabecalho-painel .botao-primario {
    flex-shrink: 0;
    white-space: nowrap;
}

.pagina-painel .acoes-cabecalho-painel .botao-novo-atendimento {
    min-width: 190px;
    padding-left: 24px;
    padding-right: 24px;
}

.pagina-painel .acoes-cabecalho-painel .botao-pausar-atendimento,
.pagina-painel .acoes-cabecalho-painel .botao-retomar-atendimento {
    min-width: 168px;
}

@media (min-width: 1081px) {
    .pagina-painel .cabecalho-pagina {
        align-items: flex-start;
        justify-content: space-between;
    }

    .pagina-painel .acoes-cabecalho-painel {
        align-self: flex-start;
        justify-content: flex-end;
    }

}

@media (min-width: 1601px) {
    .subtitulo-painel-principal span,
    .subtitulo-painel-principal strong {
        display: inline;
    }

    .subtitulo-painel-principal strong {
        margin-left: 0;
        margin-top: 0;
    }
}

@media (max-width: 1600px) {
    .subtitulo-painel-principal span {
        display: inline;
    }

    .quebra-cidade-painel {
        display: inline;
    }

    .subtitulo-painel-principal strong {
        display: inline-block;
        width: auto;
        margin-left: 0;
        margin-top: 2px;
        white-space: nowrap;
    }
}

@media (max-width: 1080px) {
    .pagina-painel .cabecalho-pagina {
        align-items: flex-start;
        flex-direction: column;
    }

    .pagina-painel .cabecalho-pagina > div:first-child,
    .pagina-painel .acoes-cabecalho-painel {
        width: 100%;
    }

    .pagina-painel .acoes-cabecalho-painel {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 480px) {
    .subtitulo-painel-principal span {
        font-size: 0.8rem;
        letter-spacing: -0.02em;
    }
}

.logo-cidade-cabecalho {
    align-items: center;
    display: grid;
    height: 78px;
    justify-content: center;
    overflow: hidden;
    place-items: center;
    width: 168px;
}

.logo-cidade-cabecalho img {
    display: block;
    filter: drop-shadow(0 7px 13px rgba(25, 40, 30, 0.16));
    max-height: 78px;
    max-width: 168px;
    object-fit: contain;
    object-position: center;
    width: auto;
}

.pagina-login {
    display: grid;
    min-height: calc(100vh - 72px);
    place-items: center;
    padding: 24px;
}

.card-login {
    background: var(--cor-superficie);
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    box-shadow: var(--sombra);
    max-width: 430px;
    padding: 30px;
    width: 100%;
}

.cabecalho-login {
    display: grid;
    gap: 6px;
    margin-bottom: 20px;
}

.cabecalho-login strong {
    color: var(--cor-primaria);
    font-size: 2rem;
}

.cabecalho-login span,
.texto-apoio-login {
    color: var(--cor-muted);
}

.formulario,
.form-filtros {
    display: grid;
    gap: 14px;
}

.formulario label,
.form-filtros label {
    color: var(--cor-muted);
    display: grid;
    font-weight: 700;
    gap: 7px;
}

input,
select,
textarea {
    background: #fff;
    border: 1px solid #cfd9cc;
    border-radius: 8px;
    color: var(--cor-texto);
    min-height: 44px;
    padding: 10px 12px;
    width: 100%;
}

textarea {
    min-height: 110px;
    resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--cor-primaria);
    outline: 3px solid rgba(22, 122, 74, 0.15);
}

.linha-campos,
.form-filtros {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-filtros {
    align-items: end;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.checkbox-linha {
    align-items: center;
    display: flex !important;
    flex-direction: row;
}

.checkbox-linha input {
    min-height: auto;
    width: auto;
}

.campo-dias-fluxo {
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    padding: 14px;
}

.campo-dias-fluxo legend {
    color: var(--cor-muted);
    font-weight: 800;
    padding: 0 6px;
}

.endereco-padronizado {
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 14px;
}

.endereco-padronizado legend {
    color: var(--cor-secundaria);
    font-weight: 900;
    padding: 0 6px;
}

.endereco-padronizado small {
    color: var(--cor-muted);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.45;
    text-transform: uppercase;
}

.linha-endereco-curta {
    grid-template-columns: minmax(95px, 0.45fr) minmax(0, 1.55fr);
}

.botao-primario,
.botao-secundario,
.botao-mini {
    align-items: center;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
}

.botao-primario {
    background: var(--cor-primaria);
    color: #fff;
}

.botao-primario:hover {
    background: var(--cor-primaria-escura);
}

.botao-secundario {
    background: #e8eff4;
    color: var(--cor-secundaria);
}

.botao-preto-sistema {
    align-items: center;
    background: linear-gradient(180deg, #202326 0%, #050607 100%);
    border: 0;
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 42px;
    overflow: hidden;
    padding: 10px 16px;
    position: relative;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.botao-preto-sistema::before {
    background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.18) 42%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0.18) 58%, transparent 100%);
    content: "";
    inset: -40% auto -40% -80%;
    position: absolute;
    transform: skewX(-18deg);
    transition: left 0.95s ease;
    width: 58%;
}

.botao-preto-sistema:hover {
    background: linear-gradient(180deg, #2d3135 0%, #090b0d 100%);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.34);
    color: #ffffff;
    transform: translateY(-1px);
}

.botao-preto-sistema:hover::before {
    left: 130%;
}

.botao-preto-sistema:active {
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.28);
    transform: translateY(0);
}

.botao-buscar {
    background: var(--cor-primaria) !important;
    box-shadow: none;
    color: #ffffff !important;
}

.botao-buscar:hover {
    background: var(--cor-primaria-escura) !important;
}

.botao-laranja {
    background: linear-gradient(180deg, #f29b38 0%, #d86b1f 100%) !important;
    box-shadow: 0 8px 18px rgba(196, 91, 27, 0.22);
    color: #ffffff !important;
}

.botao-laranja:hover {
    background: linear-gradient(180deg, #f7a94d 0%, #c95f1a 100%) !important;
    box-shadow: 0 10px 22px rgba(196, 91, 27, 0.32);
    transform: translateY(-1px);
}

.botao-painel-tv {
    background: linear-gradient(180deg, #d87924 0%, #a94714 100%) !important;
    box-shadow: 0 8px 18px rgba(143, 62, 16, 0.26);
}

.botao-painel-tv:hover {
    background: linear-gradient(180deg, #e2842c 0%, #963d10 100%) !important;
    box-shadow: 0 10px 22px rgba(143, 62, 16, 0.34);
}

.botao-novo-atendimento {
    background: linear-gradient(180deg, #202326 0%, #050607 100%) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.24);
    color: #ffffff !important;
    overflow: hidden;
    position: relative;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.botao-novo-atendimento::before {
    background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.18) 42%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.18) 58%, transparent 100%);
    content: "";
    inset: -40% auto -40% -80%;
    position: absolute;
    transform: skewX(-18deg);
    transition: left 0.95s ease;
    width: 58%;
}

.botao-novo-atendimento:hover {
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.34);
    transform: translateY(-1px);
}

.botao-novo-atendimento:hover::before {
    left: 130%;
}

.botao-mini {
    background: #eef6f1;
    color: var(--cor-primaria-escura);
    font-size: 0.84rem;
    font-weight: 900;
    min-height: 34px;
    padding: 7px 10px;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.botao-mini:hover {
    background: linear-gradient(180deg, #f5fbf7 0%, #d9efe3 100%);
    box-shadow: 0 8px 18px rgba(22, 122, 74, 0.14);
    transform: translateY(-1px);
}

.botao-mini:active {
    box-shadow: 0 4px 10px rgba(22, 122, 74, 0.12);
    transform: translateY(0);
}

.botao-editar-pessoa {
    background: #d9ebe1;
    color: #135341;
}

.botao-editar-pessoa:hover {
    background: linear-gradient(180deg, #eaf5ef 0%, #c7e0d1 100%);
    box-shadow: 0 8px 18px rgba(19, 83, 65, 0.18);
}

.botao-editar-perfil {
    background: #b7cddd;
    color: #15344b;
}

.botao-editar-perfil:hover {
    background: linear-gradient(180deg, #cfdee8 0%, #9fb9cb 100%);
    box-shadow: 0 8px 18px rgba(21, 52, 75, 0.22);
}

.botao-mini.destaque {
    background: #d5e6f5;
    color: #184d78;
}

.botao-mini.destaque:hover {
    background: linear-gradient(180deg, #e9f3fb 0%, #c5dcf0 100%);
    box-shadow: 0 8px 18px rgba(24, 77, 120, 0.2);
}

.botao-mini.alerta {
    background: #f6e3b8;
    color: #7a4d0a;
}

.botao-mini.alerta:hover {
    background: linear-gradient(180deg, #fff4d8 0%, #ecd094 100%);
    box-shadow: 0 8px 18px rgba(122, 77, 10, 0.2);
}

.botao-mini.perigo {
    background: #f5d8d2;
    color: #9e2f23;
}

.botao-mini.perigo:hover,
.botao-excluir-perfil:hover {
    background: linear-gradient(180deg, #fbe8e4 0%, #edc3bb 100%);
    box-shadow: 0 8px 18px rgba(158, 47, 35, 0.22);
    transform: translateY(-1px);
}

.botao-mini.perigo:active,
.botao-excluir-perfil:active {
    box-shadow: 0 4px 10px rgba(177, 53, 32, 0.16);
    transform: translateY(0);
}

.acoes-formulario,
.acoes-tabela {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.acoes-concluir-atendimento {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.acoes-concluir-atendimento .botao-primario,
.acoes-concluir-atendimento .botao-mini {
    font-size: 0.94rem;
    height: 46px;
    line-height: 1;
    min-height: 46px;
    padding: 0 14px;
    white-space: nowrap;
    width: 100%;
}

.acoes-tabela form {
    margin: 0;
}

td.acoes-tabela {
    display: table-cell;
    vertical-align: middle;
    white-space: nowrap;
}

td.acoes-tabela form {
    display: inline-flex;
    vertical-align: middle;
}

td.acoes-tabela .botao-mini {
    vertical-align: middle;
}

td.acoes-perfis-tabela {
    white-space: normal;
}

td.acoes-perfis-tabela .botao-mini,
td.acoes-perfis-tabela form,
td.acoes-perfis-tabela form button {
    width: 100%;
}

td.acoes-perfis-tabela .botao-mini {
    min-width: 86px;
}

td.acoes-perfis-tabela form {
    display: block;
    margin: 6px 0 0;
}

.tabela-perfis-admin {
    table-layout: fixed;
}

.tabela-perfis-admin th:nth-child(1),
.tabela-perfis-admin td:nth-child(1) {
    width: 18%;
    white-space: nowrap;
}

.tabela-perfis-admin th:nth-child(2),
.tabela-perfis-admin td:nth-child(2) {
    width: 28%;
}

.tabela-perfis-admin th:nth-child(3),
.tabela-perfis-admin td:nth-child(3) {
    width: 22%;
}

.tabela-perfis-admin th:nth-child(4),
.tabela-perfis-admin td:nth-child(4) {
    width: 14%;
    white-space: nowrap;
}

.tabela-perfis-admin th:nth-child(5),
.tabela-perfis-admin td:nth-child(5) {
    width: 18%;
}

.tabela-usuarios-cadastrados table {
    table-layout: fixed;
}

.tabela-usuarios-cadastrados {
    overflow: hidden;
}

.tabela-usuarios-cadastrados tbody {
    display: table-row-group;
}

.tabela-usuarios-cadastrados th:nth-child(1),
.tabela-usuarios-cadastrados td:nth-child(1) {
    width: 36%;
}

.tabela-usuarios-cadastrados th:nth-child(2),
.tabela-usuarios-cadastrados td:nth-child(2) {
    width: 22%;
    padding-left: 18px;
}

.tabela-usuarios-cadastrados th:nth-child(3),
.tabela-usuarios-cadastrados td:nth-child(3) {
    width: 14%;
}

.tabela-usuarios-cadastrados th:nth-child(4),
.tabela-usuarios-cadastrados td:nth-child(4) {
    width: 28%;
}

.tabela-usuarios-cadastrados td.acoes-tabela {
    display: table-cell;
    min-width: 0;
    padding-right: 10px;
    vertical-align: middle;
    white-space: nowrap;
}

.acoes-tabela-grade {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    justify-content: flex-start;
    width: 100%;
}

.tabela-usuarios-cadastrados .coluna-acoes-usuarios {
    text-align: left;
}

.tabela-usuarios-cadastrados .botao-mini {
    flex: 0 0 auto;
    font-size: 0.84rem;
    justify-content: center;
    line-height: 1.1;
    min-height: 34px;
    min-width: 0;
    padding: 7px 10px;
    text-align: center;
    white-space: nowrap;
}

.tabela-usuarios-cadastrados .acoes-tabela-grade form {
    flex: 0 0 auto;
    margin: 0;
}

.tabela-usuarios-cadastrados .acoes-tabela-grade form .botao-mini {
    width: auto;
}

.tabela-usuarios-cadastrados.tabela-pessoas-cadastradas th:nth-child(1),
.tabela-usuarios-cadastrados.tabela-pessoas-cadastradas td:nth-child(1) {
    width: 36%;
}

.tabela-usuarios-cadastrados.tabela-pessoas-cadastradas th:nth-child(2),
.tabela-usuarios-cadastrados.tabela-pessoas-cadastradas td:nth-child(2) {
    width: 34%;
}

.tabela-usuarios-cadastrados.tabela-pessoas-cadastradas th:nth-child(3),
.tabela-usuarios-cadastrados.tabela-pessoas-cadastradas td:nth-child(3) {
    width: 30%;
}

.tabela-pessoas-cadastradas .acoes-tabela-grade {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.tabela-pessoas-cadastradas .acoes-tabela-grade .botao-mini,
.tabela-pessoas-cadastradas .acoes-tabela-grade form,
.tabela-pessoas-cadastradas .acoes-tabela-grade form .botao-mini {
    min-width: 0;
    width: 100%;
}

.tabela-pessoas-cadastradas {
    max-height: calc(100vh - 225px);
    overflow-y: auto;
}

.tabela-pessoas-cadastradas thead {
    background: #fff;
    box-shadow: 0 -10px 0 10px #fff, 0 1px 0 var(--cor-borda);
    position: sticky;
    top: 0;
    z-index: 5;
}

.tabela-pessoas-cadastradas thead th {
    background: #fff;
    background-clip: border-box;
}

.tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(1),
.tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(1) {
    width: 36%;
}

.tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(2),
.tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(2) {
    padding-left: 0;
    width: 22%;
}

.tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(3),
.tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(3) {
    width: 14%;
}

.tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(4) {
    text-align: left;
    width: 28%;
}

.tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(4) {
    text-align: right;
    width: 28%;
}

.tabela-usuarios-sistema td.acoes-tabela {
    padding-right: 8px;
    text-align: right;
    white-space: nowrap;
}

.tabela-usuarios-sistema td.acoes-tabela > a.botao-mini,
.tabela-usuarios-sistema td.acoes-tabela > form {
    display: inline-flex;
    vertical-align: middle;
    width: calc(50% - 6px);
}

.tabela-usuarios-sistema td.acoes-tabela > a.botao-mini {
    margin-right: 4px;
}

.tabela-usuarios-sistema td.acoes-tabela > a.botao-mini:only-child {
    margin-right: calc(50% - 2px);
}

.tabela-usuarios-sistema td.acoes-tabela > form .botao-mini {
    width: 100%;
}

.tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(1),
.tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(1) {
    width: 32%;
}

.tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(2),
.tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(2) {
    width: 18%;
}

.tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(3),
.tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(3) {
    width: 20%;
}

.tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(4),
.tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(4) {
    text-align: center;
    width: 10%;
}

.tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(5),
.tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(5) {
    width: 20%;
}

.ubs-usuario-mobile {
    display: none;
}

@media (max-width: 1600px) {
    .com-menu-lateral .container {
        margin-left: 300px;
        max-width: calc(100% - 300px);
        padding-left: 18px;
        padding-right: 18px;
    }

    .menu-lateral-app {
        padding-left: 20px;
        padding-right: 20px;
        width: 300px;
    }

    .tabela-usuarios-cadastrados th:nth-child(1),
    .tabela-usuarios-cadastrados td:nth-child(1) {
        width: 40%;
    }

    .tabela-usuarios-cadastrados th:nth-child(2),
    .tabela-usuarios-cadastrados td:nth-child(2) {
        width: 24%;
    }

    .tabela-usuarios-cadastrados th:nth-child(3),
    .tabela-usuarios-cadastrados td:nth-child(3) {
        width: 14%;
    }

    .tabela-usuarios-cadastrados th:nth-child(4),
    .tabela-usuarios-cadastrados td:nth-child(4) {
        width: 22%;
    }

    .tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(1),
    .tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(1) {
        width: 44%;
    }

    .tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(2),
    .tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(2) {
        width: 24%;
    }

    .tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(3),
    .tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(3) {
        width: 14%;
    }

    .tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(4),
    .tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(4) {
        width: 18%;
    }

    .tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(4) {
        padding-right: 4px;
        text-align: right;
    }

    .tabela-usuarios-cadastrados .botao-mini {
        font-size: 0.84rem;
        min-height: 34px;
        min-width: 0;
        padding: 7px 10px;
    }

    .tabela-usuarios-sistema td.acoes-tabela {
        gap: 6px;
        padding-right: 4px;
        text-align: right;
        white-space: normal;
    }

    .tabela-usuarios-sistema td.acoes-tabela > a.botao-mini,
    .tabela-usuarios-sistema td.acoes-tabela > form,
    .tabela-usuarios-sistema td.acoes-tabela > form .botao-mini {
        width: 84px;
    }

    .tabela-usuarios-sistema td.acoes-tabela > a.botao-mini,
    .tabela-usuarios-sistema td.acoes-tabela > form .botao-mini {
        display: flex;
    }

    .tabela-usuarios-sistema td.acoes-tabela > a.botao-mini {
        margin-left: auto;
        margin-right: 0;
    }

    .tabela-usuarios-sistema td.acoes-tabela > a.botao-mini:only-child {
        margin-right: 0;
    }

    .tabela-usuarios-sistema td.acoes-tabela > form {
        display: block;
        margin-left: auto;
    }

    .tabela-usuarios-sistema td.acoes-tabela > form {
        margin-top: 7px;
    }

    .tabela-usuarios-cadastrados .acoes-tabela-grade {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .tabela-usuarios-cadastrados .acoes-tabela-grade .botao-mini,
    .tabela-usuarios-cadastrados .acoes-tabela-grade form,
    .tabela-usuarios-cadastrados .acoes-tabela-grade form .botao-mini {
        min-width: 0;
        width: 100%;
    }

    .tabela-usuarios-cadastrados.tabela-pessoas-cadastradas th:nth-child(1),
    .tabela-usuarios-cadastrados.tabela-pessoas-cadastradas td:nth-child(1) {
        width: 36%;
    }

    .tabela-usuarios-cadastrados.tabela-pessoas-cadastradas th:nth-child(2),
    .tabela-usuarios-cadastrados.tabela-pessoas-cadastradas td:nth-child(2) {
        width: 34%;
    }

    .tabela-usuarios-cadastrados.tabela-pessoas-cadastradas th:nth-child(3),
    .tabela-usuarios-cadastrados.tabela-pessoas-cadastradas td:nth-child(3) {
        width: 30%;
    }

    .tabela-pessoas-cadastradas .botao-mini {
        font-size: 0.84rem;
        min-height: 34px;
        min-width: 0;
        padding: 7px 10px;
    }

    .col-atendimento-horario {
        width: 15%;
    }

    .col-atendimento-beneficiario {
        width: 26%;
    }

    .col-atendimento-tipo {
        width: 20%;
    }

    .col-atendimento-atendente {
        width: 14%;
    }

    .col-atendimento-status {
        width: 25%;
    }

    .tabela-atendimentos-hoje th:nth-child(1),
    .tabela-atendimentos-hoje td:nth-child(1) {
        width: 15%;
    }

    .tabela-atendimentos-hoje th:nth-child(2),
    .tabela-atendimentos-hoje td:nth-child(2) {
        width: 26%;
    }

    .tabela-atendimentos-hoje th:nth-child(3),
    .tabela-atendimentos-hoje td:nth-child(3) {
        width: 20%;
    }

    .tabela-atendimentos-hoje th:nth-child(4),
    .tabela-atendimentos-hoje td:nth-child(4) {
        width: 14%;
    }

    .tabela-atendimentos-hoje th:nth-child(5),
    .tabela-atendimentos-hoje td:nth-child(5) {
        width: 25%;
    }

    .tabela-atendimentos-hoje th,
    .tabela-atendimentos-hoje td {
        padding-left: 8px;
        padding-right: 8px;
    }

    .tabela-atendimentos-hoje th:nth-child(4),
    .tabela-atendimentos-hoje td:nth-child(4) {
        padding-left: 0;
        padding-right: 4px;
    }

    .tabela-atendimentos-hoje th:nth-child(1),
    .tabela-atendimentos-hoje td:nth-child(1) {
        padding-left: 10px;
        padding-right: 4px;
        white-space: nowrap;
    }

    .tabela-atendimentos-hoje th:nth-child(2),
    .tabela-atendimentos-hoje td:nth-child(2) {
        padding-left: 28px;
    }

    .tabela-atendimentos-hoje th:nth-child(3),
    .tabela-atendimentos-hoje td:nth-child(3) {
        padding-left: 8px;
    }

    .tabela-atendimentos-hoje th:nth-child(5),
    .tabela-atendimentos-hoje td:nth-child(5) {
        padding-left: 10px;
    }

    .tabela-atendimentos-hoje td:nth-child(5) .botao-mini {
        min-width: 96px;
        padding-left: 8px;
        padding-right: 8px;
    }

    .selo-processo-judicial {
        font-size: 0.56rem !important;
        letter-spacing: 0;
        padding-left: 5px;
        padding-right: 5px;
    }
}

@media (max-width: 1180px) {
    .grade-dupla,
    .grade-formulario-lista {
        grid-template-columns: minmax(0, 1fr);
    }

    .grade-demanda-bairro {
        grid-template-columns: minmax(0, 1fr);
    }

    .bloco-atendimentos-relatorio table {
        font-size: 0.86rem;
    }

    .bloco-atendimentos-relatorio th,
    .bloco-atendimentos-relatorio td {
        --relatorio-padding-x: 8px;
    }

    .grade-siglas {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.alerta {
    border-radius: 8px;
    font-weight: 700;
    margin: 0 0 16px;
    padding: 12px 14px;
}

.alerta.sucesso {
    background: #e8f4ed;
    color: var(--cor-primaria-escura);
}

.alerta.erro {
    background: #fff0ed;
    color: var(--cor-perigo);
}

.alerta.aviso {
    background: #fff7e8;
    color: #8a5517;
}

.alerta-fluxo-fechado {
    margin: 16px 18px 0;
}

button:disabled,
input:disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.grade-metricas {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 10px;
}

.metrica,
.bloco {
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(5px);
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    box-shadow: var(--sombra);
}

.metrica {
    display: grid;
    gap: 10px;
    min-height: 110px;
    padding: 20px;
}

.metrica span {
    color: var(--cor-muted);
    font-weight: 700;
}

.metrica strong {
    color: var(--cor-primaria);
    font-size: 2.1rem;
}

.metrica small {
    color: var(--cor-muted);
    font-weight: 800;
}

.metrica-processo-judicial {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(246, 241, 233, 0.9) 100%);
    border-color: rgba(198, 132, 46, 0.24);
}

.metrica-processo-judicial strong {
    color: #9b5d12;
}

.grade-metricas-grafico .metrica {
    border: 0;
    color: #ffffff;
}

.grade-metricas-grafico .metrica span,
.grade-metricas-grafico .metrica small,
.grade-metricas-grafico .metrica strong {
    color: #ffffff;
}

.metrica-destaque-azul {
    background: linear-gradient(135deg, #226597 0%, #1e8aa5 100%);
    box-shadow: 0 18px 42px rgba(30, 101, 151, 0.22);
}

.metrica-destaque-laranja {
    background: linear-gradient(135deg, #e98935 0%, #c94d2d 100%);
    box-shadow: 0 18px 42px rgba(190, 84, 35, 0.22);
}

.metrica-destaque-verde {
    background: linear-gradient(135deg, #7056d8 0%, #4f3aa7 100%);
    box-shadow: 0 18px 42px rgba(79, 58, 167, 0.2);
}

.grade-metricas-demanda .metrica {
    border: 0;
    color: #ffffff;
}

.grade-metricas-demanda .metrica span {
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}

.grade-metricas-demanda .metrica strong {
    color: #ffffff;
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    font-weight: 950;
    line-height: 1.08;
    overflow-wrap: anywhere;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.28);
}

.grade-metricas-demanda .metrica-destaque-verde {
    background: linear-gradient(135deg, #7056d8 0%, #4f3aa7 100%);
}

.grade-metricas-demanda .metrica-destaque-azul {
    background: linear-gradient(135deg, #1f5f8f 0%, #176f87 100%);
}

.grade-metricas-demanda .metrica-destaque-laranja {
    background: linear-gradient(135deg, #d17124 0%, #b94526 100%);
}

.grade-metricas-demanda .metrica-destaque-roxo {
    background: linear-gradient(135deg, #f7d35b 0%, #e8a82e 100%);
}

.grade-metricas-demanda .metrica-destaque-roxo span {
    color: rgba(63, 45, 9, 0.82);
    text-shadow: none;
}

.grade-metricas-demanda .metrica-destaque-roxo strong {
    color: #3f2d09;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.38);
}

.grade-dupla {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.grade-formulario-lista {
    align-items: start;
    grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
}

.pagina-atendimentos .grade-formulario-lista {
    grid-template-columns: minmax(340px, 0.84fr) minmax(0, 1.16fr);
}

.pagina-atendimentos .grade-formulario-lista > * {
    min-width: 0;
}

@media (min-width: 1181px) {
    .pagina-atendimentos [data-bloco-atendimentos-hoje] {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
    }

    .pagina-atendimentos [data-bloco-atendimentos-hoje] .tabela-atendimentos-hoje {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-height: 0;
    }

    .pagina-atendimentos [data-bloco-atendimentos-hoje] .tabela-atendimentos-hoje table {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-height: 0;
    }

    .pagina-atendimentos [data-bloco-atendimentos-hoje] .tabela-atendimentos-hoje thead {
        flex: 0 0 auto;
    }

    .pagina-atendimentos [data-bloco-atendimentos-hoje] .tabela-atendimentos-hoje tbody {
        flex: 1 1 auto;
        max-height: none;
        min-height: 0;
    }
}

@media (max-width: 1180px) {
    .pagina-atendimentos .grade-formulario-lista {
        grid-template-columns: minmax(0, 1fr);
    }
}

.grade-fluxo-diario-config {
    gap: 18px;
    margin-bottom: 18px;
}

.bloco-configuracao-atual-fluxo {
    margin-bottom: 18px;
}

.grade-usuarios {
    align-items: stretch;
}

.grade-usuarios > .bloco {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.grade-usuarios .tabela-usuarios-cadastrados {
    flex: 1;
}

.bloco {
    overflow: hidden;
}

.bloco > header,
.bloco .cabecalho-bloco-linha {
    align-items: center;
    border-bottom: 1px solid var(--cor-borda);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 16px 18px;
}

.bloco h2 {
    font-size: 1.05rem;
    margin: 0;
}

.bloco > .formulario,
.bloco > .tabela-responsiva,
.bloco-filtros,
.lista-producao,
.lista-simples {
    padding: 18px;
}

.tabela-bairros-cadastrados {
    container-type: inline-size;
    max-height: calc(100vh - 220px);
    overflow-y: auto;
    padding-right: 12px;
}

.tabela-bairros-cadastrados table {
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
}

.tabela-bairros-cadastrados .col-bairro-nome {
    width: 28%;
}

.tabela-bairros-cadastrados .col-bairro-ubs {
    width: 22%;
}

.tabela-bairros-cadastrados .col-bairro-status {
    width: 112px;
}

.tabela-bairros-cadastrados .col-bairro-acoes {
    width: 360px;
}

.tabela-bairros-cadastrados thead {
    background: #fff;
    box-shadow: 0 -10px 0 10px #fff;
    position: sticky;
    top: 0;
    z-index: 5;
}

.tabela-bairros-cadastrados thead th {
    background: #fff;
    background-clip: border-box;
    color: var(--cor-muted);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.15;
    text-transform: uppercase;
    white-space: nowrap;
}

.tabela-bairros-cadastrados thead .status-bairro-texto {
    color: inherit;
    display: inline-block;
    font-size: inherit;
    font-weight: inherit;
    text-transform: inherit;
}

.tabela-bairros-cadastrados th,
.tabela-bairros-cadastrados td {
    border-bottom: 1px solid var(--cor-borda);
    padding-left: 8px;
    padding-right: 8px;
    vertical-align: middle;
}

.tabela-bairros-cadastrados th:nth-child(2),
.tabela-bairros-cadastrados td.celula-bairro-ubs {
    padding-left: 12px;
    padding-right: 4px;
}

.tabela-bairros-cadastrados th:nth-child(3),
.tabela-bairros-cadastrados td.celula-bairro-status {
    padding-left: 2px;
    padding-right: 10px;
    text-align: right;
}

.celula-bairro-nome strong {
    display: block;
}

.celula-bairro-nome strong,
.celula-bairro-ubs {
    line-height: 1.25;
    overflow-wrap: anywhere;
    white-space: normal;
}

.celula-bairro-ubs {
    white-space: normal;
}

.texto-bairro-sem-ubs,
.tabela-bairros-cadastrados tbody .status-bairro-texto {
    color: var(--cor-muted);
    display: inline-block;
    font-size: 0.84rem;
    font-weight: 800;
}

.tabela-bairros-cadastrados th:nth-child(4),
.tabela-bairros-cadastrados td.acoes-tabela {
    text-align: left;
    padding-left: 80px;
    padding-right: 8px;
}

.tabela-bairros-cadastrados td.acoes-tabela {
    vertical-align: middle;
}

.acoes-bairros-grade {
    align-items: stretch;
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, 82px);
    justify-content: start;
}

.acoes-bairros-grade .botao-mini,
.acoes-bairros-grade form {
    width: 82px;
}

.acoes-bairros-grade form {
    align-items: stretch;
    display: flex;
    height: 34px;
    line-height: 0;
    margin: 0;
}

.acoes-bairros-grade .botao-mini,
.acoes-bairros-grade form .botao-mini {
    align-items: center;
    appearance: none;
    box-sizing: border-box;
    display: inline-flex;
    font-weight: 900 !important;
    height: 34px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    padding: 0 8px;
    text-align: center;
    vertical-align: top;
    white-space: nowrap;
    width: 100%;
}

@media (max-width: 1800px) {
    .tabela-bairros-cadastrados .col-bairro-nome {
        width: 30%;
    }

    .tabela-bairros-cadastrados .col-bairro-ubs {
        width: 20%;
    }

    .tabela-bairros-cadastrados .col-bairro-status {
        width: 118px;
    }

    .tabela-bairros-cadastrados .col-bairro-acoes {
        width: 390px;
    }

    .tabela-bairros-cadastrados th:nth-child(3),
    .tabela-bairros-cadastrados td.celula-bairro-status {
        padding-left: 12px;
        padding-right: 8px;
        text-align: right;
    }

    .tabela-bairros-cadastrados th:nth-child(4),
    .tabela-bairros-cadastrados td.acoes-tabela {
        padding-left: 120px;
        padding-right: 2px;
    }

    .acoes-bairros-grade {
        grid-template-columns: repeat(2, 78px);
    }

    .acoes-bairros-grade .botao-mini,
    .acoes-bairros-grade form {
        width: 78px;
    }

    .acoes-bairros-grade form:last-child {
        grid-column: 1 / span 2;
        width: 78px;
    }
}

@container (max-width: 760px) {
    .tabela-bairros-cadastrados .col-bairro-nome {
        width: 30%;
    }

    .tabela-bairros-cadastrados .col-bairro-ubs {
        width: 18%;
    }

    .tabela-bairros-cadastrados .col-bairro-status {
        width: 112px;
    }

    .tabela-bairros-cadastrados .col-bairro-acoes {
        width: 260px;
    }

    .tabela-bairros-cadastrados td.celula-bairro-status .status-bairro-texto {
        transform: translateX(18px);
    }

    .tabela-bairros-cadastrados th:nth-child(3) {
        padding-left: 22px;
        padding-right: 0;
        text-align: right;
    }

    .tabela-bairros-cadastrados th:nth-child(3) .titulo-bairro-status {
        transform: translateX(18px);
    }

    .tabela-bairros-cadastrados th:nth-child(4),
    .tabela-bairros-cadastrados td.acoes-tabela {
        padding-left: 88px;
        padding-right: 2px;
    }

    .acoes-bairros-grade {
        grid-template-columns: repeat(2, 78px);
    }

    .acoes-bairros-grade .botao-mini,
    .acoes-bairros-grade form {
        width: 78px;
    }

    .acoes-bairros-grade form:last-child {
        grid-column: 1 / span 2;
        width: 78px;
    }
}

@media (max-width: 900px) {
    .form-filtros-secretaria,
    .grade-pizzas-secretaria,
    .grade-dashboard-geral-secretaria,
    .grade-secretaria-graficos,
    .grade-secretaria-executiva,
    .grade-secretaria-detalhes {
        grid-template-columns: 1fr;
    }

    .grupo-filtro-periodo,
    .grupo-filtro-analise {
        grid-template-columns: 1fr;
    }

    .acoes-filtro-secretaria .botao-buscar {
        width: 100%;
    }

    .pizza-secretaria-card {
        grid-template-columns: minmax(150px, 0.45fr) minmax(0, 1fr);
    }

    .linha-grafico-secretaria,
    .grafico-barras-secretaria-compacto .linha-grafico-secretaria {
        grid-template-columns: minmax(0, 1fr) 48px;
    }

    .linha-grafico-secretaria div {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .linha-grafico-secretaria em {
        display: none;
    }

    .lista-alertas-secretaria,
    .lista-secretaria-ranking {
        max-height: none;
    }

    .tabela-pessoas-cadastradas {
        max-height: calc(100vh - 195px);
    }

    .tabela-bairros-cadastrados {
        max-height: calc(100vh - 190px);
    }

    .tabela-bairros-cadastrados .col-bairro-nome {
        width: 30%;
    }

    .tabela-bairros-cadastrados .col-bairro-ubs {
        width: 18%;
    }

    .tabela-bairros-cadastrados .col-bairro-status {
        width: 108px;
    }

    .tabela-bairros-cadastrados .col-bairro-acoes {
        width: 208px;
    }

    .tabela-bairros-cadastrados td.celula-bairro-status .status-bairro-texto {
        transform: translateX(16px);
    }

    .tabela-bairros-cadastrados th:nth-child(3) {
        padding-left: 20px;
        padding-right: 0;
        text-align: right;
    }

    .tabela-bairros-cadastrados th:nth-child(3) .titulo-bairro-status {
        transform: translateX(16px);
    }

    .tabela-bairros-cadastrados th,
    .tabela-bairros-cadastrados td {
        padding-left: 5px;
        padding-right: 5px;
    }

    .tabela-bairros-cadastrados th:nth-child(4),
    .tabela-bairros-cadastrados td.acoes-tabela {
        padding-left: 68px;
        padding-right: 2px;
    }

    .acoes-bairros-grade {
        grid-template-columns: repeat(2, 64px);
        justify-content: start;
    }

    .acoes-bairros-grade .botao-mini,
    .acoes-bairros-grade form {
        width: 64px;
    }

    .acoes-bairros-grade form:last-child {
        grid-column: 1 / span 2;
        width: 64px;
    }

    .acoes-bairros-grade .botao-mini,
    .acoes-bairros-grade form .botao-mini {
        font-size: 0.74rem;
        padding-left: 5px;
        padding-right: 5px;
    }
}

.bloco-filtros {
    margin-bottom: 18px;
}

.lista-producao,
.lista-simples {
    display: grid;
    gap: 10px;
}

.lista-informativos {
    display: grid;
    gap: 12px;
    padding: 18px;
}

.lista-assinaturas {
    display: grid;
    gap: 12px;
    padding: 18px;
}

.item-assinatura {
    align-items: center;
    background: rgba(247, 250, 246, 0.84);
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) 150px;
    min-height: 92px;
    padding: 12px;
}

.item-assinatura strong {
    display: block;
}

.item-assinatura span,
.item-assinatura small,
.preview-assinatura span {
    color: var(--cor-muted);
    display: block;
    font-size: 0.86rem;
    margin-top: 4px;
}

.item-assinatura img,
.preview-assinatura img {
    background: #ffffff;
    border: 1px solid rgba(207, 217, 204, 0.9);
    border-radius: 8px;
    max-height: 74px;
    object-fit: contain;
    padding: 8px;
    width: 100%;
}

.preview-assinatura {
    background: rgba(247, 250, 246, 0.84);
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    padding: 12px;
}

.bloco-vistoria-dia {
    margin-bottom: 18px;
}

.bloco-vistoria-dia header p {
    color: var(--cor-muted);
    margin: 4px 0 0;
}

.formulario-vistoria-dia {
    align-items: end;
    border-bottom: 1px solid var(--cor-borda);
    display: grid;
    grid-template-columns: minmax(220px, 0.3fr) auto;
    padding: 18px;
}

.formulario-assinar-dia {
    border-top: 1px solid var(--cor-borda);
    padding: 18px;
}

.grade-metricas-vistoria {
    margin: 18px;
}

.alerta-vistoria {
    margin: 0 18px 18px;
}

.tabela-vistoria-dia {
    border-top: 1px solid var(--cor-borda);
}

.container-relatorio-esus {
    max-width: 1120px;
}

.folha-relatorio-esus {
    background: #ffffff;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    box-shadow: var(--sombra);
    padding: 30px;
}

.topo-relatorio-esus {
    align-items: center;
    border-bottom: 2px solid #dfe7dd;
    display: flex;
    gap: 18px;
    padding-bottom: 18px;
}

.topo-relatorio-oficial {
    display: grid;
    gap: 10px;
    justify-items: center;
    text-align: center;
}

.topo-relatorio-esus img {
    height: 74px;
    object-fit: contain;
    width: 230px;
}

.topo-relatorio-esus img.cabecalho-pdf-oficial {
    height: auto;
    width: 100%;
}

.topo-relatorio-esus strong {
    display: block;
    font-size: 1.35rem;
}

.topo-relatorio-esus span,
.dados-relatorio-esus span,
.assinatura-relatorio-esus span,
.assinatura-relatorio-esus small {
    color: var(--cor-muted);
}

.dados-relatorio-esus {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 22px 0;
}

.dados-relatorio-esus div {
    background: #f7faf6;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    padding: 14px;
}

.dados-relatorio-esus span {
    display: block;
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.dados-relatorio-esus strong {
    display: block;
    font-size: 1.1rem;
    margin-top: 4px;
}

.resumo-relatorio-esus {
    margin-bottom: 22px;
}

.resumo-relatorio-esus article {
    background: #f7faf6;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    padding: 16px;
}

.resumo-relatorio-esus h2 {
    font-size: 1rem;
    margin: 0 0 10px;
}

.resumo-relatorio-esus p {
    margin: 7px 0;
}

.tabela-relatorio-esus {
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
}

.observacao-relatorio-esus {
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    margin-top: 18px;
    padding: 14px;
}

.observacao-relatorio-esus p {
    margin: 8px 0 0;
}

.assinatura-relatorio-esus {
    align-items: center;
    display: grid;
    justify-items: center;
    margin: 34px auto 0;
    max-width: 420px;
    text-align: center;
}

.assinatura-relatorio-esus img {
    max-height: 92px;
    object-fit: contain;
    width: 100%;
}

.assinatura-relatorio-esus strong {
    border-top: 1px solid #202820;
    display: block;
    margin-top: 10px;
    padding-top: 8px;
    width: 100%;
}

.item-informativo {
    align-items: center;
    border: 1px solid var(--cor-borda);
    border-radius: 18px;
    display: grid;
    gap: 12px;
    grid-template-columns: 86px minmax(0, 1fr) auto;
    padding: 12px;
}

.item-informativo img {
    aspect-ratio: 4 / 3;
    background: #eef6f1;
    border-radius: 16px;
    object-fit: cover;
    width: 86px;
}

.item-informativo span {
    color: var(--cor-muted);
    display: block;
    font-size: 0.84rem;
    margin-top: 4px;
}

.lista-producao div,
.lista-simples div {
    align-items: center;
    background: rgba(247, 250, 246, 0.84);
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 12px;
}

.lista-simples div {
    align-items: flex-start;
    display: grid;
}

.bloco-grafico-diario > header p {
    color: var(--cor-muted);
    margin: 4px 0 0;
}

.bloco-grafico-diario-coordenadora {
    margin-bottom: 18px;
}

.resumo-grafico-horario {
    align-items: center;
    background: rgba(28, 91, 116, 0.08);
    border: 1px solid rgba(28, 91, 116, 0.14);
    border-radius: 8px;
    display: grid;
    justify-items: center;
    min-width: 96px;
    padding: 9px 12px;
}

.resumo-grafico-horario span {
    color: var(--cor-muted);
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
}

.resumo-grafico-horario strong {
    color: #1c5b74;
    font-size: 1.35rem;
    line-height: 1;
}

.grade-metricas-grafico-coordenadora {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0 18px;
}

.leitura-grafico-coordenadora {
    padding: 0 18px 18px;
}

.grafico-horarios {
    display: grid;
    gap: 14px;
    padding: 20px 18px 22px;
}

.linha-grafico-horario {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 82px minmax(0, 1fr) 44px;
}

.rotulo-horario {
    color: var(--cor-muted);
    font-size: 0.9rem;
    font-weight: 900;
}

.trilho-grafico {
    background: rgba(223, 231, 221, 0.78);
    border-radius: 999px;
    height: 22px;
    overflow: hidden;
    position: relative;
}

.barra-grafico {
    background: linear-gradient(90deg, #2d8fc2 0%, #1b7650 100%);
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
    height: 100%;
    min-width: 0;
    transition: width 0.24s ease;
}

.barra-grafico.barra-pico {
    background: linear-gradient(90deg, #f2a546 0%, #d65b32 100%);
}

.barra-grafico.barra-tranquila {
    background: linear-gradient(90deg, #7fb59a 0%, #5e8796 100%);
}

.linha-grafico-horario strong {
    color: var(--cor-texto);
    font-size: 1rem;
    text-align: right;
}

.bloco-leitura-grafico {
    margin-top: 18px;
}

.fila-dia-dashboard {
    margin-bottom: 18px;
}

.proximo-fila-dashboard {
    margin-bottom: 18px;
}

.proximo-fila-card {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(20, 145, 92, 0.96) 0%, rgba(23, 132, 154, 0.96) 52%, rgba(33, 99, 171, 0.96) 100%);
    border: 2px solid rgba(255, 255, 255, 0.52);
    border-radius: 8px;
    box-shadow:
        0 0 0 7px rgba(255, 189, 87, 0.2),
        0 20px 52px rgba(13, 70, 72, 0.28);
    display: grid;
    justify-items: center;
    min-height: 138px;
    padding: 18px;
    text-align: center;
}

.proximo-fila-card span {
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.proximo-fila-card strong {
    color: #ffffff;
    font-size: clamp(2rem, 4vw, 3.25rem);
    filter: drop-shadow(0 3px 8px rgba(0, 30, 34, 0.26));
    line-height: 1.05;
    margin-top: 4px;
}

.proximo-fila-card small {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
    font-weight: 800;
    margin-top: 6px;
}

.proximo-fila-card.proximo-fila-idoso,
.proximo-fila-card.fila-idoso {
    background:
        linear-gradient(135deg, rgba(242, 137, 43, 0.98) 0%, rgba(221, 88, 38, 0.98) 52%, rgba(166, 46, 36, 0.98) 100%);
    border-color: rgba(255, 255, 255, 0.58);
    box-shadow:
        0 0 0 7px rgba(255, 218, 136, 0.24),
        0 20px 52px rgba(116, 46, 18, 0.3);
}

.proximo-fila-card.proximo-fila-idoso span,
.proximo-fila-card.proximo-fila-idoso small,
.proximo-fila-card.fila-idoso span,
.proximo-fila-card.fila-idoso small,
.proximo-fila-card.fila-prioridade-especial span,
.proximo-fila-card.fila-prioridade-especial small {
    color: rgba(255, 255, 255, 0.92);
}

.proximo-fila-card.fila-prioridade-especial {
    background:
        linear-gradient(135deg, rgba(160, 61, 190, 0.98) 0%, rgba(196, 69, 112, 0.98) 52%, rgba(232, 101, 47, 0.98) 100%);
    border-color: rgba(255, 255, 255, 0.64);
    box-shadow:
        0 0 0 8px rgba(255, 191, 87, 0.27),
        0 20px 56px rgba(101, 30, 95, 0.34);
}

.proximo-fila-card.proximo-fila-fechado {
    background:
        linear-gradient(135deg, rgba(75, 88, 94, 0.96) 0%, rgba(46, 64, 78, 0.96) 52%, rgba(34, 48, 61, 0.96) 100%);
    box-shadow:
        0 0 0 7px rgba(255, 189, 87, 0.16),
        0 18px 42px rgba(24, 38, 48, 0.24);
}

.atendimento-chamado {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(20, 145, 92, 0.96) 0%, rgba(23, 132, 154, 0.96) 52%, rgba(33, 99, 171, 0.96) 100%);
    border: 2px solid rgba(255, 255, 255, 0.56);
    border-radius: 8px;
    box-shadow:
        0 0 0 6px rgba(255, 189, 87, 0.18),
        0 18px 42px rgba(13, 70, 72, 0.24);
    color: #ffffff;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 18px;
}

.atendimento-chamado span {
    color: rgba(255, 255, 255, 0.82);
    display: block;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.atendimento-chamado strong {
    display: block;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1.05;
    margin-top: 4px;
}

.atendimento-chamado small {
    color: rgba(255, 255, 255, 0.9);
    display: block;
    font-weight: 800;
    margin-top: 6px;
}

.atendimento-chamado .botao-secundario {
    background: rgba(255, 255, 255, 0.92);
    color: #1d5b85;
    flex-shrink: 0;
}

.beneficiarios-atendimento {
    border: 1px solid rgba(36, 94, 143, 0.16);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 12px;
}

.retirante-atendimento {
    background: rgba(232, 246, 238, 0.9);
    border: 1px solid rgba(22, 122, 74, 0.22);
    border-radius: 8px;
    display: grid;
    gap: 4px;
    padding: 12px;
}

.retirante-atendimento span {
    color: var(--cor-muted);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.retirante-atendimento strong {
    color: var(--cor-primaria-escura);
    font-size: 1.15rem;
}

.cabecalho-beneficiarios-atendimento {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.cabecalho-beneficiarios-atendimento strong {
    color: var(--cor-texto);
    display: block;
    font-size: 0.96rem;
}

.cabecalho-beneficiarios-atendimento span {
    color: var(--cor-muted);
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
}

.lista-beneficiarios-atendimento {
    display: grid;
    gap: 10px;
}

.item-beneficiario-atendimento {
    background: rgba(247, 250, 246, 0.82);
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
    padding: 10px;
}

.item-beneficiario-atendimento .botao-mini {
    justify-self: start;
}

.campos-atualizacao-cadastro {
    background: rgba(241, 246, 250, 0.94);
    border: 1px solid rgba(36, 94, 143, 0.22);
    border-radius: 9px;
    box-sizing: border-box;
    display: grid;
    gap: 10px;
    max-width: 100%;
    min-width: 0;
    padding: 12px;
    width: 100%;
}

.campos-atualizacao-cadastro[hidden] {
    display: none;
}

.correcao-bairro-obrigatoria {
    background: rgba(255, 244, 224, 0.96);
    border: 1px solid rgba(202, 104, 22, 0.38);
    border-left: 4px solid #d66b16;
    border-radius: 9px;
    display: grid;
    gap: 10px;
    padding: 12px;
}

.correcao-bairro-obrigatoria[hidden] {
    display: none;
}

.correcao-bairro-obrigatoria > header {
    display: grid;
    gap: 3px;
}

.correcao-bairro-obrigatoria > header strong {
    color: #9a3f0d;
    font-size: 0.9rem;
}

.correcao-bairro-obrigatoria > header small,
.correcao-bairro-obrigatoria > small {
    color: #75411f;
    font-size: 0.76rem;
    font-weight: 700;
}

.grade-correcao-bairro {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grade-correcao-bairro select,
.grade-correcao-bairro input {
    box-sizing: border-box;
    width: 100%;
}

.campos-atualizacao-cadastro > header {
    border-bottom: 1px solid rgba(36, 94, 143, 0.14);
    display: grid;
    gap: 3px;
    padding-bottom: 9px;
}

.campos-atualizacao-cadastro > header strong {
    color: #184d78;
    font-size: 0.9rem;
}

.campos-atualizacao-cadastro > header small,
.campos-atualizacao-cadastro > small {
    color: var(--cor-muted);
    font-size: 0.74rem;
    font-weight: 700;
}

.grade-atualizacao-cadastro {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
}

.grade-atualizacao-cadastro label,
.grade-atualizacao-cadastro input,
.grade-atualizacao-cadastro select,
.grade-atualizacao-cadastro textarea {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.campo-atualizacao-largo {
    grid-column: 1 / -1;
}

.retorno-atualizacao-cadastro {
    border: 1px solid rgba(36, 94, 143, 0.2);
    border-radius: 7px;
    font-size: 0.76rem;
    font-weight: 800;
    margin: 0;
    padding: 8px 10px;
}

.retorno-atualizacao-cadastro.aviso {
    background: rgba(255, 248, 220, 0.96);
    border-color: rgba(198, 132, 46, 0.28);
    color: #7a4a12;
}

.retorno-atualizacao-cadastro.sucesso {
    background: rgba(232, 246, 238, 0.94);
    border-color: rgba(24, 122, 74, 0.22);
    color: #165d3b;
}

.retorno-atualizacao-cadastro.erro {
    background: rgba(255, 237, 235, 0.94);
    border-color: rgba(187, 51, 42, 0.24);
    color: #942b24;
}

@media (max-width: 620px) {
    .grade-atualizacao-cadastro,
    .grade-correcao-bairro {
        grid-template-columns: 1fr;
    }

    .campo-atualizacao-largo {
        grid-column: auto;
    }
}

.campos-remume-atendimento {
    background: rgba(235, 247, 240, 0.72);
    border: 1px solid rgba(24, 122, 74, 0.2);
    border-radius: 8px;
    box-sizing: border-box;
    display: grid;
    gap: 10px;
    max-width: 100%;
    min-width: 0;
    padding: 12px;
    width: 100%;
}

.campos-remume-atendimento[hidden],
.resultados-busca-remume[hidden] {
    display: none;
}

.item-beneficiario-atendimento label[hidden],
.formulario-editar-atendimento label[hidden] {
    display: none !important;
}

.linha-remume-receitas {
    grid-template-columns: minmax(112px, 0.34fr) minmax(0, 1fr);
    margin-top: 10px;
    min-width: 0;
}

.linha-remume-receitas > label {
    align-content: start;
    display: grid;
    grid-template-rows: 54px 44px;
}

.rotulo-campo-remume {
    align-content: start;
    display: grid;
    line-height: 1.2;
}

.rotulo-campo-remume small {
    color: inherit;
    display: block;
    font-size: 0.72rem;
    font-weight: inherit;
    margin-top: 2px;
}

.linha-remume-receitas select,
.linha-remume-receitas input {
    height: 44px;
    min-height: 44px;
}

.acoes-rapidas-remume {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.acoes-rapidas-remume .botao-mini {
    background: rgba(255, 248, 220, 0.96);
    border: 1px solid rgba(198, 132, 46, 0.3);
    color: #7a4a12;
    margin: 0;
}

.acoes-rapidas-remume .botao-mini:hover,
.acoes-rapidas-remume .botao-mini:focus-visible {
    background: #f8e7a9;
    box-shadow: 0 7px 16px rgba(154, 101, 29, 0.2);
    outline: none;
    transform: translateY(-1px);
}

.acoes-rapidas-remume .botao-mini[hidden] {
    display: none;
}

.retorno-ultima-retirada {
    border: 1px solid rgba(36, 94, 143, 0.2);
    border-radius: 8px;
    color: #184d78;
    font-size: 0.79rem;
    font-weight: 700;
    margin: 0;
    padding: 9px 11px;
}

.retorno-ultima-retirada[hidden] {
    display: none;
}

.retorno-ultima-retirada.sucesso {
    background: rgba(232, 246, 238, 0.92);
    border-color: rgba(24, 122, 74, 0.25);
    color: #165d3b;
}

.retorno-ultima-retirada.aviso {
    background: rgba(255, 248, 235, 0.94);
    border-color: rgba(198, 132, 46, 0.27);
    color: #7a4a12;
}

.retorno-ultima-retirada.erro {
    background: rgba(255, 237, 235, 0.94);
    border-color: rgba(187, 51, 42, 0.25);
    color: #942b24;
}

.campos-remume-atendimento label,
.campos-remume-atendimento input,
.campos-remume-atendimento select,
.seletor-remume-atendimento,
.resultados-busca-remume,
.quadro-medicamentos-remume-selecionados {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.seletor-remume-atendimento {
    display: block;
    margin-top: 12px;
}

.acoes-adicionar-remume {
    display: flex;
    justify-content: flex-start;
    margin-top: 6px;
}

.botao-adicionar-remume {
    margin: 0;
    min-height: 42px;
    padding-inline: 20px;
}

.botao-adicionar-remume:focus-visible {
    outline: none;
}

.resultados-busca-remume {
    background: #fff;
    border: 1px solid rgba(36, 94, 143, 0.2);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(24, 58, 82, 0.12);
    display: grid;
    gap: 4px;
    max-height: 320px;
    overflow-y: auto;
    padding: 6px;
}

.resultados-busca-remume > p {
    color: var(--cor-muted);
    font-size: 0.82rem;
    margin: 0;
    padding: 10px;
}

.resultado-busca-remume {
    background: #fff;
    border: 0;
    border-bottom: 1px solid rgba(36, 94, 143, 0.1);
    color: var(--cor-texto);
    cursor: pointer;
    display: grid;
    gap: 3px;
    padding: 10px;
    text-align: left;
    width: 100%;
}

.resultado-busca-remume:last-child {
    border-bottom: 0;
}

.resultado-busca-remume:hover,
.resultado-busca-remume:focus-visible {
    background: rgba(232, 246, 238, 0.9);
    outline: none;
}

.resultado-busca-remume strong {
    color: #165d3b;
    font-size: 0.86rem;
}

.resultado-busca-remume small {
    color: var(--cor-muted);
    font-size: 0.74rem;
}

.medicamentos-remume-selecionados {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 48px;
    padding: 10px;
}

.medicamentos-remume-selecionados > p {
    align-self: center;
    color: var(--cor-muted);
    font-size: 0.82rem;
    margin: 0;
}

.quadro-medicamentos-remume-selecionados {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(24, 122, 74, 0.24);
    border-radius: 10px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    overflow: hidden;
}

.quadro-medicamentos-remume-selecionados > header {
    align-items: center;
    background: rgba(232, 246, 238, 0.9);
    border-bottom: 1px solid rgba(24, 122, 74, 0.16);
    display: flex;
    gap: 8px;
    justify-content: space-between;
    padding: 9px 11px;
}

.quadro-medicamentos-remume-selecionados > header strong {
    color: #165d3b;
    font-size: 0.84rem;
}

.quadro-medicamentos-remume-selecionados > header small {
    color: var(--cor-muted);
    font-size: 0.72rem;
    font-weight: 700;
}

.item-remume-selecionado {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(24, 122, 74, 0.25);
    border-radius: 999px;
    color: #165d3b;
    display: inline-flex;
    gap: 7px;
    max-width: 100%;
    min-width: 0;
    padding: 6px 7px 6px 11px;
}

.item-remume-selecionado strong {
    font-size: 0.78rem;
    overflow-wrap: anywhere;
}

.item-remume-selecionado button {
    align-items: center;
    background: #eaf6ee;
    border: 0;
    border-radius: 50%;
    color: #17663f;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 24px;
    font-size: 1rem;
    height: 24px;
    justify-content: center;
    padding: 0;
    width: 24px;
}

.modal-selecao-remume {
    display: grid;
    grid-template-rows: auto auto minmax(220px, 1fr) auto;
    max-height: min(88vh, 780px);
    overflow: hidden;
    width: min(760px, 100%);
}

.busca-modal-remume {
    margin-bottom: 12px;
}

.busca-modal-remume input {
    box-sizing: border-box;
    width: 100%;
}

.lista-modal-remume {
    border: 1px solid var(--cor-borda);
    border-radius: 9px;
    min-height: 220px;
    overflow-y: auto;
    padding: 6px;
}

.lista-modal-remume h3 {
    background: rgba(232, 246, 238, 0.94);
    border-radius: 6px;
    color: #165d3b;
    font-size: 0.76rem;
    margin: 7px 0 4px;
    padding: 7px 9px;
    text-transform: uppercase;
}

.lista-modal-remume h3:first-child {
    margin-top: 0;
}

.opcao-modal-remume {
    align-items: flex-start;
    border-bottom: 1px solid rgba(36, 94, 143, 0.09);
    cursor: pointer;
    display: flex;
    gap: 9px;
    padding: 8px 9px;
}

.opcao-modal-remume:hover {
    background: rgba(235, 244, 251, 0.8);
}

.opcao-modal-remume input {
    flex: 0 0 auto;
    margin-top: 2px;
    width: auto;
}

.opcao-modal-remume span {
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.35;
}

.vazio-modal-remume {
    color: var(--cor-muted);
    margin: 0;
    padding: 24px 12px;
    text-align: center;
}

.rodape-modal-remume {
    align-items: center;
    border-top: 1px solid var(--cor-borda);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 12px;
    padding-top: 12px;
}

.rodape-modal-remume > strong {
    color: #165d3b;
    font-size: 0.82rem;
}

.rodape-modal-remume > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

@media (max-width: 620px) {
    .linha-remume-receitas {
        grid-template-columns: 1fr;
    }

    .linha-remume-receitas > label {
        grid-template-rows: auto 44px;
    }

    .modal-selecao-remume-overlay {
        padding: 10px;
    }

    .modal-selecao-remume {
        max-height: 92vh;
        padding: 16px;
    }

    .rodape-modal-remume {
        align-items: stretch;
        flex-direction: column;
    }

    .rodape-modal-remume > div,
    .rodape-modal-remume button {
        width: 100%;
    }
}

.checkbox-processo-judicial {
    align-items: center;
    background: rgba(255, 248, 235, 0.9);
    border: 1px solid rgba(198, 132, 46, 0.26);
    border-radius: 8px;
    color: #7a4a12;
    font-weight: 900;
    padding: 10px 12px;
}

.resumo-processo-judicial-selecionado {
    background: #eef8f2;
    border: 1px solid #bfdcca;
    border-radius: 8px;
    color: #185b39;
    font-size: 0.8rem;
    font-weight: 850;
    margin-top: -4px;
    padding: 8px 10px;
}

.modal-processo-judicial {
    display: grid;
    grid-template-rows: auto auto auto minmax(190px, 1fr) auto;
    max-height: min(88vh, 720px);
    overflow: hidden;
    width: min(760px, 100%);
}

.modal-processo-judicial header p {
    color: #165d3b;
    font-size: 0.85rem;
    font-weight: 850;
    margin: 5px 0 0;
}

.busca-modal-processo-judicial {
    margin-bottom: 10px;
}

.busca-modal-processo-judicial input {
    width: 100%;
}

.retorno-processo-judicial {
    background: #f3f7f4;
    border-radius: 8px;
    color: var(--cor-muted);
    font-size: 0.82rem;
    margin-bottom: 8px;
    padding: 9px 10px;
}

.retorno-processo-judicial.erro {
    background: #fff0ed;
    color: var(--cor-perigo);
}

.lista-processos-judiciais {
    display: grid;
    gap: 8px;
    min-height: 190px;
    overflow-y: auto;
    padding-right: 3px;
}

.card-processo-judicial {
    border: 1px solid #d9e4dc;
    border-radius: 9px;
    overflow: visible;
}

.card-processo-judicial > header {
    align-items: flex-start;
    background: #f4f8f5;
    border: 0;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin: 0;
    padding: 9px 10px;
}

.card-processo-judicial > header > div:first-child {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.card-processo-judicial > header strong {
    color: #1d4d36;
    font-size: 0.84rem;
}

.card-processo-judicial > header small {
    color: #5f6f65;
    font-size: 0.72rem;
}

.selos-processo-judicial {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: flex-end;
}

.selo-processo-judicial-modal {
    background: #e8f4ed;
    border-radius: 999px;
    color: #17623d;
    font-size: 0.62rem;
    font-weight: 900;
    padding: 4px 7px;
    text-transform: uppercase;
    white-space: nowrap;
}

.selo-processo-judicial-modal.nao-atende,
.selo-processo-judicial-modal.impedido {
    background: #f8ded9;
    color: #942d22;
}

.selo-processo-judicial-modal.situacao {
    background: #fff0ce;
    color: #79510d;
}

.medicamentos-do-processo {
    display: grid;
}

.linha-medicamento-judicial {
    align-items: center;
    border-top: 1px solid #e7ede8;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) 105px;
    padding: 8px 10px;
}

.linha-medicamento-judicial > label:first-child {
    align-items: flex-start;
    cursor: pointer;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.linha-medicamento-judicial > label:first-child input {
    flex: 0 0 auto;
    margin-top: 3px;
    width: auto;
}

.linha-medicamento-judicial > label:first-child span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.linha-medicamento-judicial strong {
    color: #273c31;
    font-size: 0.8rem;
    line-height: 1.3;
}

.linha-medicamento-judicial small {
    color: #6b786f;
    font-size: 0.68rem;
}

.quantidade-entregue-judicial {
    color: #526259;
    font-size: 0.66rem;
    gap: 3px;
}

.quantidade-entregue-judicial input {
    min-height: 34px;
    padding: 6px 8px;
}

.card-processo-judicial > details {
    border-top: 1px solid #e7ede8;
    color: #66736b;
    font-size: 0.7rem;
    padding: 7px 10px;
}

.card-processo-judicial > details summary {
    color: #35604a;
    cursor: pointer;
    font-weight: 800;
}

.card-processo-judicial > details p {
    margin: 6px 0 0;
}

.processo-bloqueado .medicamentos-do-processo {
    background: #fbf7f6;
}

@media (max-width: 620px) {
    .modal-processo-judicial-overlay {
        padding: 10px;
    }

    .modal-processo-judicial {
        max-height: 94vh;
        padding: 15px;
    }

    .card-processo-judicial > header {
        display: grid;
    }

    .selos-processo-judicial {
        justify-content: flex-start;
    }

    .linha-medicamento-judicial {
        grid-template-columns: 1fr;
    }

    .quantidade-entregue-judicial {
        max-width: 130px;
        padding-left: 26px;
    }
}

.selo-processo-judicial {
    background: #fff2d9;
    border: 1px solid rgba(198, 132, 46, 0.26);
    border-radius: 999px;
    color: #8a5413 !important;
    display: inline-flex !important;
    font-size: 0.64rem !important;
    font-weight: 950 !important;
    margin-top: 6px;
    padding: 3px 6px;
    text-transform: uppercase;
    white-space: nowrap;
}

.metricas-processos-judiciais {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.metricas-processos-judiciais .data-publicacao-processos {
    font-size: 1rem;
}

.metrica-rascunho-processos {
    border-color: #efb36d;
}

.aviso-rascunho-processos {
    background: #fff6e9;
    border: 1px solid #efc58f;
    border-radius: 9px;
    color: #74400f;
    line-height: 1.5;
    margin: 0 0 18px;
    padding: 12px 14px;
}

.grade-acoes-processos-judiciais {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 18px;
}

.bloco-importacao-processos,
.bloco-novo-processo-judicial {
    margin: 0;
}

.bloco-importacao-processos {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.bloco-importacao-processos > header {
    min-height: 76px;
}

.bloco-importacao-processos > .formulario {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.bloco-importacao-processos .nota-pausa-atendimento {
    flex: 1;
}

.acoes-importacao-processos {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: auto;
}

.acoes-importacao-processos button {
    box-sizing: border-box;
    font-size: 0.9rem;
    font-weight: 800;
    height: 42px;
    min-height: 42px;
    padding: 10px 12px;
    white-space: nowrap;
    width: 100%;
}

.botao-limpar-importacao {
    background: #e6e9eb;
    border: 1px solid #c7ced4;
    color: #4c565d;
    transition: background 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.botao-limpar-importacao:hover,
.botao-limpar-importacao:focus-visible {
    background: linear-gradient(180deg, #f2f4f5 0%, #d3d8dc 100%);
    box-shadow: 0 8px 18px rgba(65, 76, 84, 0.16);
    color: #273138;
    transform: translateY(-1px);
}

.botao-limpar-importacao:active {
    box-shadow: 0 4px 10px rgba(65, 76, 84, 0.12);
    transform: translateY(0);
}

.remume-ia-envio,
.remume-ia-processando {
    align-items: center;
    background: linear-gradient(135deg, #edf8f2 0%, #edf5fc 58%, #fff3ee 100%);
    border: 1px solid rgba(20, 132, 107, 0.28);
    border-radius: 12px;
    display: grid;
    gap: 13px;
    grid-template-columns: auto minmax(0, 1fr);
    overflow: hidden;
    position: relative;
}

.remume-ia-envio {
    color: #184d49;
    margin-top: 12px;
    padding: 13px 14px;
}

.remume-ia-envio[hidden] {
    display: none;
}

.remume-ia-processando {
    color: #184d49;
    margin-bottom: 16px;
}

.remume-ia-envio::after,
.remume-ia-processando::after {
    animation: remumeIaProgresso 1.35s ease-in-out infinite;
    background: linear-gradient(90deg, transparent, #009a44 34%, #0879c9 68%, transparent);
    bottom: 0;
    content: "";
    height: 4px;
    left: -45%;
    position: absolute;
    width: 45%;
}

.remume-ia-envio strong,
.remume-ia-envio small,
.remume-ia-processando strong,
.remume-ia-processando [data-remume-ia-mensagem] {
    display: block;
}

.remume-ia-envio small,
.remume-ia-processando [data-remume-ia-mensagem] {
    color: #557069;
    margin-top: 3px;
}

.remume-ia-envio .ia-geracao-spinner,
.remume-ia-processando .ia-geracao-spinner {
    border-top-color: #009a44;
    border-right-color: #0879c9;
}

@keyframes remumeIaProgresso {
    0% { left: -45%; }
    100% { left: 105%; }
}

@media (prefers-reduced-motion: reduce) {
    .remume-ia-envio::after,
    .remume-ia-processando::after,
    .remume-ia-envio .ia-geracao-spinner,
    .remume-ia-processando .ia-geracao-spinner {
        animation-duration: 2.5s;
    }
}

.bloco-novo-processo-judicial {
    grid-column: 1 / -1;
}

.bloco-importacao-ia-processos {
    border-color: rgba(67, 92, 145, 0.28);
}

.botao-importar-ia-processos {
    background: linear-gradient(180deg, #4275a8 0%, #294f82 100%);
}

.botao-importar-ia-processos:hover,
.botao-importar-ia-processos:focus-visible {
    background: linear-gradient(180deg, #4e86bc 0%, #315e94 100%);
}

.botao-importar-ia-processos:disabled {
    cursor: not-allowed;
    filter: grayscale(0.7);
    opacity: 0.58;
}

.aviso-ia-indisponivel {
    color: #9a3f32;
    font-weight: 800;
}

.bloco-novo-processo-judicial > summary {
    color: #a52f26;
    cursor: pointer;
    font-size: 1.08rem;
    font-weight: 900;
}

.bloco-novo-processo-judicial > summary:hover,
.bloco-novo-processo-judicial > summary:focus-visible {
    color: #7f1f19;
}

.bloco-novo-processo-judicial[open] > summary {
    border-bottom: 1px solid var(--cor-borda);
    margin-bottom: 16px;
    padding-bottom: 12px;
}

.cabecalho-revisao-processos {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.botao-publicar-processos {
    animation: pulsoCalculadoraFarmaceutica 2.4s ease-in-out infinite;
    background: linear-gradient(180deg, #1f5f8f 0%, #176f87 100%) !important;
    box-shadow: 0 8px 18px rgba(22, 87, 121, 0.2);
    color: #ffffff !important;
    white-space: nowrap;
}

.botao-publicar-processos:hover {
    animation-play-state: paused;
    background: linear-gradient(180deg, #256f9f 0%, #167a83 100%) !important;
}

.acoes-publicacao-listas {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    justify-content: flex-end;
}

.acoes-publicacao-listas form {
    margin: 0;
}

.botao-exportar-lista {
    box-sizing: border-box;
    min-height: 42px;
    text-decoration: none;
    white-space: nowrap;
}

.filtro-rascunho-processos {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(240px, 1fr) auto auto;
    margin: 16px 0;
}

.filtro-rascunho-processos label {
    color: var(--cor-secundaria);
    display: grid;
    font-size: 0.82rem;
    font-weight: 900;
    gap: 6px;
}

.botao-buscar-processos {
    align-self: end;
    min-height: 44px;
    padding: 10px 14px;
}

.lista-revisao-processos {
    display: grid;
    gap: 9px;
}

.item-revisao-processo {
    align-items: start;
    border: 1px solid var(--cor-borda);
    border-radius: 9px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 5px;
}

.item-revisao-pendente {
    background: #fffaf0;
    border-color: #e7b85c;
}

.selo-revisao-ia {
    background: #fff0c8;
    border: 1px solid #e4b04b;
    border-radius: 999px;
    color: #794b00;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 900;
    justify-self: start;
    margin-top: 3px;
    padding: 3px 7px;
    text-transform: uppercase;
}

.observacao-revisao-ia {
    background: #fff7df;
    border-radius: 7px;
    color: #6f4b12;
    margin: 10px 0;
    padding: 9px 11px;
}

.item-revisao-processo > details > summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 1.2fr);
    list-style-position: inside;
    padding: 10px;
}

.item-revisao-processo > details > summary span {
    display: grid;
    gap: 2px;
}

.item-revisao-processo > details > summary small {
    color: var(--cor-muted);
    font-size: 0.75rem;
}

.resumo-medicamento-rascunho {
    color: var(--cor-secundaria);
    font-weight: 800;
}

.formulario-processo-rascunho {
    border-top: 1px solid var(--cor-borda);
    margin-top: 6px;
    padding: 14px 10px 10px;
}

.grade-campos-processo-rascunho {
    display: grid;
    gap: 11px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grade-campos-processo-rascunho label {
    min-width: 0;
}

.campo-paciente-processo-rascunho,
.campo-medicamento-processo-rascunho {
    grid-column: span 2;
}

.campo-observacoes-processo-rascunho {
    grid-column: 1 / -1;
}

.acao-excluir-processo-rascunho {
    padding: 6px 5px 0 0;
}

.lista-vazia-processos {
    background: #f4f7f5;
    border-radius: 8px;
    color: var(--cor-muted);
    padding: 14px;
}

.paginacao-processos {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 16px;
}

.paginacao-processos a {
    align-items: center;
    background: #e8eff4;
    border-radius: 6px;
    color: var(--cor-secundaria);
    display: inline-flex;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0 8px;
    text-decoration: none;
}

.paginacao-processos a.ativo {
    background: var(--cor-primaria);
    color: #fff;
}

@media (max-width: 900px) {
    .metricas-processos-judiciais,
    .grade-acoes-processos-judiciais,
    .grade-campos-processo-rascunho {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .campo-observacoes-processo-rascunho {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .metricas-processos-judiciais,
    .grade-acoes-processos-judiciais,
    .grade-campos-processo-rascunho,
    .item-revisao-processo > details > summary,
    .filtro-rascunho-processos {
        grid-template-columns: 1fr;
    }

    .campo-paciente-processo-rascunho,
    .campo-medicamento-processo-rascunho,
    .campo-observacoes-processo-rascunho {
        grid-column: auto;
    }

    .cabecalho-revisao-processos {
        align-items: stretch;
        flex-direction: column;
    }

    .acoes-publicacao-listas {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }

    .acoes-publicacao-listas form,
    .acoes-publicacao-listas button,
    .acoes-publicacao-listas .botao-exportar-lista {
        width: 100%;
    }

    .acoes-importacao-processos {
        grid-template-columns: 1fr;
    }
}

.busca-beneficiario-atendimento {
    background: rgba(241, 246, 250, 0.94);
    border: 1px solid rgba(36, 94, 143, 0.2);
    border-radius: 9px;
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 11px;
}

.busca-beneficiario-atendimento label,
.busca-beneficiario-atendimento input {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.orientacao-busca-beneficiario {
    color: var(--cor-muted);
    font-size: 0.74rem;
    font-weight: 700;
    margin: 0;
}

.resultados-busca-beneficiario {
    background: #ffffff;
    border: 1px solid rgba(36, 94, 143, 0.2);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(24, 58, 82, 0.12);
    display: grid;
    gap: 3px;
    max-height: 310px;
    overflow-y: auto;
    padding: 5px;
}

.resultados-busca-beneficiario[hidden] {
    display: none;
}

.resultado-beneficiario-atendimento {
    align-items: center;
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid rgba(36, 94, 143, 0.1);
    color: var(--cor-texto);
    cursor: pointer;
    display: grid;
    gap: 4px 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px;
    text-align: left;
    width: 100%;
}

.resultado-beneficiario-atendimento:last-child {
    border-bottom: 0;
}

.resultado-beneficiario-atendimento:hover,
.resultado-beneficiario-atendimento:focus-visible {
    background: rgba(232, 246, 238, 0.88);
    outline: none;
}

.resultado-beneficiario-atendimento strong {
    color: #165d3b;
    font-size: 0.84rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.resultado-beneficiario-atendimento span {
    color: var(--cor-muted);
    font-size: 0.71rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}

.resultado-beneficiario-atendimento small {
    align-items: center;
    background: rgba(255, 248, 220, 0.96);
    border: 1px solid rgba(198, 132, 46, 0.28);
    border-radius: 999px;
    color: #7a4a12;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 900;
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-content: center;
    padding: 5px 8px;
}

.busca-beneficiario-vazia {
    color: var(--cor-muted);
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0;
    padding: 12px 10px;
}

.busca-beneficiario-vazia.erro {
    color: #942b24;
}

.lista-completa-beneficiarios {
    border: 1px solid rgba(36, 94, 143, 0.14);
    border-radius: 8px;
    padding: 8px 10px;
}

.lista-completa-beneficiarios summary {
    color: #184d78;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 900;
}

.lista-completa-beneficiarios[open] summary {
    margin-bottom: 8px;
}

.campo-beneficiario-cadastrado {
    background: rgba(232, 239, 244, 0.74);
    border: 1px solid rgba(36, 94, 143, 0.14);
    border-radius: 8px;
    padding: 10px;
}

.beneficiario-cadastrado-resumo {
    background: rgba(232, 246, 238, 0.9);
    border: 1px solid rgba(22, 122, 74, 0.2);
    border-radius: 8px;
    display: grid;
    gap: 4px;
    padding: 10px;
}

.beneficiario-cadastrado-resumo span {
    color: var(--cor-muted);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.beneficiario-cadastrado-resumo strong {
    color: var(--cor-primaria-escura);
    font-size: 0.98rem;
}

.acoes-beneficiario-atendimento {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.botao-limpar-beneficiario {
    background: #e7ebee;
    border: 1px solid #c7ced4;
    color: #46515a;
}

.botao-limpar-beneficiario:hover,
.botao-limpar-beneficiario:focus-visible {
    background: linear-gradient(180deg, #f3f5f6 0%, #d8dde1 100%);
    box-shadow: 0 8px 18px rgba(70, 81, 90, 0.16);
    color: #303940;
    outline: none;
    transform: translateY(-1px);
}

.botao-cancelar-beneficiario,
.botao-cancelar-processo-judicial {
    background: #f5d8d2;
    color: #9e2f23;
}

.botao-cancelar-beneficiario:hover,
.botao-cancelar-beneficiario:focus-visible,
.botao-cancelar-processo-judicial:hover,
.botao-cancelar-processo-judicial:focus-visible {
    background: linear-gradient(180deg, #fbe8e4 0%, #edc3bb 100%);
    box-shadow: 0 8px 18px rgba(158, 47, 35, 0.22);
    color: #9e2f23;
    outline: none;
    transform: translateY(-1px);
}

.botao-cancelar-beneficiario:active,
.botao-cancelar-processo-judicial:active {
    box-shadow: 0 4px 10px rgba(177, 53, 32, 0.16);
    transform: translateY(0);
}

.botao-gerar-codigo-care {
    background: #f5d8d2;
    border: 0;
    color: #8f2b22;
    font-weight: 900;
    margin: 6px 0 0;
    height: 34px;
    line-height: 1;
    min-height: 34px;
    min-width: 96px;
    padding: 7px 10px;
}

.botao-gerar-codigo-care:hover,
.botao-gerar-codigo-care:focus-visible {
    background: linear-gradient(180deg, #fbe8e4 0%, #edc3bb 100%);
    box-shadow: 0 8px 18px rgba(158, 47, 35, 0.22);
    color: #7f241c;
    outline: none;
    transform: translateY(-1px);
}

.botao-gerar-codigo-care:active {
    box-shadow: 0 4px 10px rgba(177, 53, 32, 0.16);
    transform: translateY(0);
}

.botao-gerar-codigo-care:disabled,
.botao-gerar-codigo-care[aria-disabled="true"] {
    background: #e2e5e7;
    box-shadow: none;
    color: #737b80;
    cursor: not-allowed;
    height: 34px;
    line-height: 1;
    min-height: 34px;
    min-width: 96px;
    opacity: 0.82;
    padding: 7px 10px;
    transform: none;
}

.botao-gerar-codigo-care:disabled:hover,
.botao-gerar-codigo-care:disabled:focus-visible {
    background: #e2e5e7;
    box-shadow: none;
    color: #737b80;
    outline: none;
    transform: none;
}

.retorno-beneficiario-atendimento {
    color: var(--cor-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.retorno-beneficiario-atendimento.sucesso {
    color: #157347;
}

.retorno-beneficiario-atendimento.aviso {
    color: #b76512;
}

.retorno-beneficiario-atendimento.erro {
    color: #b42318;
}

.pagina-atendimentos .alerta.aviso,
.pagina-atendimentos .retorno-atualizacao-cadastro.aviso,
.pagina-atendimentos .retorno-ultima-retirada.aviso,
.pagina-atendimentos .retorno-beneficiario-atendimento.aviso {
    background: rgba(255, 237, 235, 0.94);
    border: 1px solid rgba(187, 51, 42, 0.25);
    border-radius: 8px;
    color: #942b24;
}

.pagina-atendimentos .retorno-beneficiario-atendimento.aviso {
    display: block;
    margin: 6px 0 0;
    padding: 8px 10px;
}

.detalhes-atendimento {
    display: grid;
    gap: 10px;
}

.detalhes-atendimento p {
    background: rgba(247, 250, 246, 0.78);
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 10px;
}

.detalhes-atendimento span {
    color: var(--cor-muted);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.detalhes-atendimento strong {
    color: var(--cor-texto);
    font-size: 0.96rem;
}

.modal-atendimento-aberto {
    overflow: hidden;
}

.modal-atendimento-overlay {
    align-items: center;
    background: rgba(13, 30, 25, 0.62);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 22px;
    position: fixed;
    z-index: 80;
}

.modal-atendimento-overlay[hidden] {
    display: none;
}

.relatorio-status-acoes {
    text-align: center;
    vertical-align: middle;
}

.relatorio-status-acoes > * {
    margin-left: auto;
    margin-right: auto;
}

.botao-visualizar-medicamentos-relatorio {
    display: block;
    font-size: 0.78rem;
    margin-top: 7px;
    min-height: 32px;
    min-width: 86px;
    padding: 6px 10px;
}

.modal-medicamentos-relatorio {
    max-width: 610px;
}

.resumo-modal-medicamentos-relatorio {
    background: #f4f8f5;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 3px;
    margin-bottom: 12px;
    padding: 10px 12px;
}

.resumo-modal-medicamentos-relatorio span {
    color: var(--cor-muted);
    font-size: 0.82rem;
}

.lista-modal-medicamentos-relatorio {
    display: grid;
    gap: 8px;
}

.item-modal-medicamento-relatorio {
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 6px;
    padding: 10px 12px;
}

.item-modal-medicamento-relatorio > div {
    align-items: center;
    display: flex;
    gap: 9px;
}

.tipo-modal-medicamento-relatorio {
    background: #e3f2e8;
    border-radius: 999px;
    color: #176a3a;
    flex: 0 0 auto;
    font-size: 0.68rem;
    font-weight: 900;
    padding: 4px 7px;
    text-transform: uppercase;
}

.tipo-modal-medicamento-relatorio.judicial {
    background: #fff0df;
    color: #b35416;
}

.item-modal-medicamento-relatorio small {
    color: var(--cor-muted);
}

.item-modal-medicamento-relatorio .processo-modal-medicamento-relatorio {
    color: #b42318;
}

.mensagem-modal-medicamentos-relatorio {
    color: var(--cor-muted);
    margin: 14px 0;
}

.acoes-modal-medicamentos-relatorio {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.modal-atendimento {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 10px;
    box-shadow: 0 28px 70px rgba(0, 24, 25, 0.3);
    max-height: min(86vh, 760px);
    max-width: 860px;
    overflow: auto;
    padding: 22px;
    position: relative;
    width: min(860px, 100%);
}

.modal-atendimento header {
    border-bottom: 1px solid var(--cor-borda);
    margin-bottom: 14px;
    padding: 0 44px 14px 0;
}

.modal-atendimento header span {
    color: var(--cor-muted);
    display: block;
    font-size: 0.82rem;
    font-weight: 900;
    text-transform: uppercase;
}

.modal-atendimento header h2 {
    color: var(--cor-texto);
    font-size: 1.35rem;
    margin: 4px 0 0;
}

.fechar-modal-atendimento {
    align-items: center;
    background: linear-gradient(180deg, #d13f32 0%, #a9271e 100%);
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.25rem;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 34px;
}

.retirante-modal-atendimento {
    background: linear-gradient(135deg, rgba(22, 122, 74, 0.96), rgba(36, 94, 143, 0.94));
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(9, 51, 48, 0.16);
    color: #ffffff;
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
    padding: 14px;
}

.retirante-modal-atendimento span {
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.retirante-modal-atendimento strong {
    font-size: 1.35rem;
}

.grade-modal-atendimento {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr;
}

.modal-editar-atendimento {
    max-width: 720px;
}

.grade-editar-atendimento {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detalhes-beneficiario-modal {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.detalhes-entrega-modal {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.detalhes-entrega-modal p:nth-child(4),
.detalhes-entrega-modal p:nth-child(5) {
    grid-column: span 2;
}

.detalhes-pessoa-modal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detalhe-modal-largo {
    grid-column: 1 / -1;
}

.ajuda-campo-atendimento {
    color: var(--cor-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.atendimento-chamado-prioridade {
    background:
        linear-gradient(135deg, rgba(242, 137, 43, 0.98) 0%, rgba(221, 88, 38, 0.98) 52%, rgba(166, 46, 36, 0.98) 100%);
}

.atendimento-chamado.fila-prioridade-especial {
    background:
        linear-gradient(135deg, rgba(160, 61, 190, 0.98) 0%, rgba(196, 69, 112, 0.98) 52%, rgba(232, 101, 47, 0.98) 100%);
}

.grade-dashboard-operacional {
    align-items: stretch;
    min-height: clamp(560px, calc(100vh - 430px), 820px);
}

.grade-dashboard-operacional .fila-dia-dashboard {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

.coluna-dashboard-operacional {
    display: grid;
    gap: 28px;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
}

.fila-dia-dashboard header p {
    color: var(--cor-muted);
    margin: 4px 0 0;
}

.form-fila-dia {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(260px, 1.3fr) minmax(150px, 0.55fr) minmax(180px, 0.9fr) auto;
    margin-bottom: 16px;
}

.bloco-fila-atendimento {
    margin-bottom: 14px;
}

.pagina-atendimentos .cabecalho-pagina {
    align-items: center;
    margin-bottom: 10px;
}

.botao-calculadora-farmaceutica {
    animation: pulsoCalculadoraFarmaceutica 2.4s ease-in-out infinite;
    background: linear-gradient(180deg, #1f5f8f 0%, #176f87 100%) !important;
    box-shadow: 0 8px 18px rgba(22, 87, 121, 0.2);
    color: #ffffff !important;
    display: inline-grid;
    flex: 0 0 auto;
    gap: 1px;
    justify-items: center;
    line-height: 1.05;
    min-width: 142px;
    padding-bottom: 9px;
    padding-top: 9px;
    text-align: center;
}

.botao-calculadora-farmaceutica span {
    display: block;
}

.botao-calculadora-farmaceutica:hover {
    animation-play-state: paused;
    background: linear-gradient(180deg, #256f9f 0%, #167a83 100%) !important;
}

@keyframes pulsoCalculadoraFarmaceutica {
    0%,
    100% {
        box-shadow: 0 8px 18px rgba(22, 87, 121, 0.2);
        transform: scale(1);
    }

    50% {
        box-shadow:
            0 8px 18px rgba(22, 87, 121, 0.2),
            0 0 0 7px rgba(33, 163, 102, 0.16),
            0 0 18px rgba(30, 138, 165, 0.22);
        transform: scale(1.025);
    }
}

.calculadora-farmaceutica {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(22, 122, 74, 0.22);
    border-radius: 10px;
    bottom: 24px;
    box-shadow: 0 18px 46px rgba(18, 61, 112, 0.22);
    color: var(--cor-texto);
    max-height: min(720px, calc(100vh - 48px));
    overflow: hidden;
    position: fixed;
    right: 24px;
    width: min(520px, calc(100vw - 32px));
    z-index: 80;
}

.calculadora-farmaceutica[hidden] {
    display: none;
}

.calculadora-farmaceutica.minimizada {
    width: min(340px, calc(100vw - 32px));
}

.calculadora-farmaceutica.minimizada .calculadora-farmaceutica-corpo {
    display: none;
}

.calculadora-farmaceutica-topo {
    align-items: center;
    background:
        linear-gradient(115deg, rgba(22, 151, 93, 0.98) 0%, rgba(22, 139, 128, 0.96) 48%, rgba(27, 91, 151, 0.98) 100%);
    color: #ffffff;
    cursor: move;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 12px 14px;
    user-select: none;
}

.calculadora-farmaceutica-topo span {
    color: rgba(255, 255, 255, 0.78);
    display: block;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.calculadora-farmaceutica-topo strong {
    display: block;
    font-size: 1.05rem;
    line-height: 1.1;
}

.calculadora-farmaceutica-acoes {
    display: flex;
    gap: 6px;
}

.calculadora-farmaceutica-acoes button {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.1rem;
    font-weight: 900;
    height: 32px;
    justify-content: center;
    line-height: 1;
    width: 34px;
}

.calculadora-farmaceutica-corpo {
    display: grid;
    gap: 12px;
    max-height: calc(100vh - 124px);
    overflow-y: auto;
    padding: 14px;
}

.aviso-calculadora {
    background: rgba(255, 242, 217, 0.72);
    border: 1px solid rgba(217, 130, 43, 0.22);
    border-radius: 8px;
    color: #8f4d12;
    font-size: 0.82rem;
    font-weight: 800;
    margin: 0;
    padding: 9px 10px;
}

.abas-calculadora {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.abas-calculadora button {
    background: rgba(232, 246, 238, 0.9);
    border: 1px solid rgba(22, 122, 74, 0.16);
    border-radius: 999px;
    color: var(--cor-primaria-escura);
    cursor: pointer;
    font-size: 0.76rem;
    font-weight: 900;
    padding: 7px 9px;
}

.abas-calculadora button.ativo {
    background: linear-gradient(180deg, #1c8a5b 0%, #126a42 100%);
    color: #ffffff;
}

.painel-calculadora {
    display: none;
    gap: 10px;
}

.painel-calculadora.ativo {
    display: grid;
}

.grade-calculadora {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grade-calculadora label {
    color: var(--cor-muted);
    display: grid;
    font-size: 0.78rem;
    font-weight: 900;
    gap: 5px;
}

.grade-calculadora input,
.grade-calculadora select {
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    font: inherit;
    min-height: 40px;
    padding: 8px 10px;
    width: 100%;
}

.resultado-calculadora {
    background: linear-gradient(180deg, #f8fcfa 0%, #e8f3ec 100%);
    border: 1px solid rgba(22, 122, 74, 0.18);
    border-radius: 8px;
    color: var(--cor-texto);
    display: block;
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.35;
    min-height: 48px;
    padding: 12px;
}

.botao-limpar-calculadora {
    justify-self: flex-start;
}

.bloco-fila-atendimento + .grade-formulario-lista {
    margin-top: 0;
}

.bloco-fila-atendimento header p {
    color: var(--cor-muted);
    margin: 4px 0 0;
}

.status-fluxo-atendimento {
    background: rgba(232, 246, 238, 0.9);
    border: 1px solid rgba(22, 122, 74, 0.2);
    border-radius: 8px;
    color: var(--cor-primaria-escura);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 900;
    justify-content: center;
    padding: 9px 12px;
    text-align: center;
}

.form-fila-atendimento {
    grid-template-columns: minmax(220px, 1.15fr) minmax(150px, 0.6fr) minmax(190px, 0.88fr) minmax(170px, 0.85fr) auto;
    margin-bottom: 0;
}

.form-fila-atendimento [data-retorno-fila-rapida] {
    grid-column: 1 / -1;
    margin: 0;
}

.checkbox-fila-idoso {
    min-height: 42px;
    line-height: 1.25;
}

.contador-fila-cumprida {
    align-items: center;
    background: rgba(232, 246, 238, 0.9);
    border: 1px solid rgba(22, 122, 74, 0.2);
    border-radius: 8px;
    display: grid;
    justify-items: center;
    min-width: 92px;
    padding: 8px 12px;
}

.contador-fila-cumprida span {
    color: var(--cor-muted);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.contador-fila-cumprida strong {
    color: var(--cor-primaria-escura);
    font-size: 1.35rem;
}

.fila-dia-lista {
    display: grid;
    gap: 10px;
    max-height: 270px;
    overflow-y: auto;
    padding-inline: 6px;
}

.fila-dia-lista::-webkit-scrollbar {
    width: 8px;
}

.fila-dia-lista::-webkit-scrollbar-thumb {
    background: rgba(22, 122, 74, 0.35);
    border-radius: 999px;
}

.fila-dia-lista::-webkit-scrollbar-track {
    background: rgba(223, 231, 221, 0.55);
    border-radius: 999px;
}

.lista-ultimos-atendimentos {
    max-height: 178px;
    overflow-y: auto;
    padding-inline: 6px;
}

.grade-resumo-coordenadora > .bloco:last-child {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.grade-resumo-coordenadora .lista-ultimos-atendimentos {
    max-height: 314px;
    min-height: 314px;
    overflow-y: auto;
}

.lista-ultimos-atendimentos::-webkit-scrollbar {
    width: 8px;
}

.lista-ultimos-atendimentos::-webkit-scrollbar-thumb {
    background: rgba(36, 94, 143, 0.35);
    border-radius: 999px;
}

.lista-ultimos-atendimentos::-webkit-scrollbar-track {
    background: rgba(223, 231, 221, 0.55);
    border-radius: 999px;
}

.grade-dashboard-operacional .form-fila-dia {
    grid-template-columns: 1fr;
}

.grade-dashboard-operacional .fila-dia-lista {
    max-height: none;
}

.grade-dashboard-operacional .fila-dia-corpo,
.grade-dashboard-operacional .lista-ultimos-atendimentos {
    min-height: 0;
}

.grade-dashboard-operacional .fila-dia-lista {
    height: clamp(360px, calc(100vh - 620px), 560px);
}

.grade-dashboard-operacional .coluna-dashboard-operacional > .bloco:last-child {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.grade-dashboard-operacional .lista-ultimos-atendimentos {
    flex: 1 1 0;
    max-height: none;
    overflow-y: scroll;
    scrollbar-gutter: stable;
}

.fila-dia-corpo {
    min-height: 0;
}

.grade-dashboard-operacional .item-fila-dia {
    grid-template-columns: 46px minmax(0, 1fr);
}

.grade-dashboard-operacional .acoes-fila-dia {
    grid-column: 1 / -1;
    justify-content: flex-start;
}

.fila-dia-vazia {
    color: var(--cor-muted);
    margin: 0;
}

.item-fila-dia {
    align-items: center;
    background: rgba(247, 250, 246, 0.88);
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    padding: 12px;
}

.posicao-fila-dia {
    align-items: center;
    aspect-ratio: 1;
    background: linear-gradient(180deg, #1c8a5b 0%, #126a42 100%);
    border-radius: 8px;
    color: #ffffff;
    display: flex;
    font-size: 1.35rem;
    font-weight: 900;
    justify-content: center;
}

.dados-fila-dia {
    display: grid;
    gap: 3px;
}

.dados-fila-dia strong {
    align-items: center;
    color: var(--cor-texto);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dados-fila-dia em {
    background: #fff2d9;
    border: 1px solid rgba(217, 130, 43, 0.28);
    border-radius: 999px;
    color: #9b5716;
    font-size: 0.74rem;
    font-style: normal;
    font-weight: 900;
    padding: 3px 8px;
}

.dados-fila-dia span,
.dados-fila-dia small {
    color: var(--cor-muted);
}

.status-fila-em_atendimento {
    border-color: rgba(36, 94, 143, 0.38);
}

.status-fila-em_atendimento .posicao-fila-dia {
    background: linear-gradient(180deg, #2f6f9f 0%, #24577d 100%);
}

.fila-idoso {
    border-color: rgba(217, 130, 43, 0.36);
}

.fila-idoso .posicao-fila-dia {
    background: linear-gradient(180deg, #d9822b 0%, #b86317 100%);
}

.fila-prioridade-especial {
    border-color: rgba(186, 72, 142, 0.46);
    box-shadow: 0 12px 24px rgba(126, 51, 112, 0.12);
}

.fila-prioridade-especial .posicao-fila-dia {
    background: linear-gradient(180deg, #ba488e 0%, #812c75 100%);
}

.status-fila-atendido {
    opacity: 0.72;
}

.status-fila-atendido .posicao-fila-dia {
    background: linear-gradient(180deg, #69756f 0%, #4f5a54 100%);
}

.status-fila-cancelado {
    opacity: 0.58;
}

.status-fila-cancelado .posicao-fila-dia {
    background: linear-gradient(180deg, #b94a3d 0%, #8d2f26 100%);
}

.acoes-fila-dia {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.lista-simples span,
td small {
    color: var(--cor-muted);
    display: block;
    font-size: 0.84rem;
    margin-top: 3px;
}

.tabela-responsiva {
    background: var(--cor-superficie);
    overflow-x: hidden;
    width: 100%;
}

.tabela-responsiva table {
    border-collapse: separate;
    border-spacing: 0;
}

table {
    border-collapse: collapse;
    min-width: 100%;
    width: 100%;
}

th,
td {
    border-bottom: 1px solid var(--cor-borda);
    padding: 12px 10px;
    text-align: left;
    vertical-align: middle;
    overflow-wrap: anywhere;
    word-break: normal;
}

th {
    background: #ffffff;
    background-clip: padding-box;
    color: var(--cor-muted);
    font-size: 0.82rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.tabela-responsiva thead th {
    box-shadow: 0 1px 0 var(--cor-borda);
}

td strong {
    display: block;
    overflow-wrap: anywhere;
}

td small {
    overflow-wrap: anywhere;
}

.tabela-atendimentos-hoje table {
    min-width: 0;
    table-layout: fixed;
    width: 100%;
}

.tabela-atendimentos-hoje {
    overflow: hidden;
}

.tabela-atendimentos-hoje colgroup {
    display: none;
}

.tabela-atendimentos-hoje thead,
.tabela-atendimentos-hoje tbody tr {
    display: table;
    table-layout: fixed;
    width: 100%;
}

.tabela-atendimentos-hoje tbody {
    display: block;
    max-height: 390px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.tabela-atendimentos-hoje tbody::-webkit-scrollbar {
    width: 8px;
}

.tabela-atendimentos-hoje tbody::-webkit-scrollbar-thumb {
    background: rgba(36, 94, 143, 0.35);
    border-radius: 999px;
}

.tabela-atendimentos-hoje tbody::-webkit-scrollbar-track {
    background: rgba(223, 231, 221, 0.55);
    border-radius: 999px;
}

.col-atendimento-horario {
    width: 12%;
}

.col-atendimento-beneficiario {
    width: 29%;
}

.col-atendimento-tipo {
    width: 24%;
}

.col-atendimento-atendente {
    width: 15%;
}

.col-atendimento-status {
    width: 20%;
}

.tabela-atendimentos-hoje th:nth-child(1),
.tabela-atendimentos-hoje td:nth-child(1) {
    width: 12%;
}

.tabela-atendimentos-hoje th:nth-child(2),
.tabela-atendimentos-hoje td:nth-child(2) {
    width: 29%;
}

.tabela-atendimentos-hoje th:nth-child(3),
.tabela-atendimentos-hoje td:nth-child(3) {
    width: 24%;
}

.tabela-atendimentos-hoje th:nth-child(4),
.tabela-atendimentos-hoje td:nth-child(4) {
    width: 15%;
    padding-right: 16px;
    white-space: nowrap;
}

.tabela-atendimentos-hoje th:nth-child(5),
.tabela-atendimentos-hoje td:nth-child(5) {
    width: 20%;
    padding-left: 16px;
}

.tabela-atendimentos-hoje tbody td[colspan] {
    width: 100%;
}

.tabela-atendimentos-hoje td:nth-child(5) .botao-mini {
    min-width: 96px;
    white-space: nowrap;
}

.cpf-atendimento-hoje {
    display: inline-block;
    white-space: nowrap;
}

.resumo-retirada-atendimento-hoje {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 6px;
}

.resumo-retirada-atendimento-hoje span {
    background: rgba(255, 248, 220, 0.96);
    border: 1px solid rgba(198, 132, 46, 0.3);
    border-radius: 999px;
    color: #7a4a12;
    display: inline-flex;
    font-size: 0.67rem;
    font-weight: 900;
    line-height: 1;
    padding: 5px 7px;
    white-space: nowrap;
}

.detalhes-no-modal-atendimento {
    color: var(--cor-muted);
    display: block;
    font-size: 0.67rem;
    margin-top: 5px;
    white-space: nowrap;
}

.processo-numero-atendimento {
    color: #b42318;
    font-weight: 400;
}

.processos-judiciais-atendimento {
    display: flex;
    flex-wrap: wrap;
    font-weight: 400;
    gap: 3px 6px;
    margin-top: 5px;
}

.relatorio-tipo-atendimento .resumo-retirada-relatorio {
    flex-wrap: nowrap;
    gap: 4px;
    margin-top: 5px;
}

.relatorio-tipo-atendimento .resumo-retirada-relatorio span {
    font-size: 0.56rem;
    padding: 3px 5px;
    white-space: nowrap;
}

.relatorio-tipo-atendimento .processos-judiciais-relatorio {
    display: flex;
    margin-top: 9px;
}

.relatorio-tipo-atendimento .selo-processo-judicial {
    font-size: 0.56rem !important;
    margin-top: 6px;
    padding: 3px 5px;
}

.care-atalho-rotinas {
    margin-top: 12px;
}

.care-rotinas-topo-acoes {
    align-items: center;
    display: flex;
    gap: 14px;
}

.care-rotinas-topo-acoes img {
    height: 88px;
    object-fit: contain;
    width: 88px;
}

.care-rotinas-topo-acoes .logo-care-cidadao-topo {
    margin-top: 0;
}

.care-busca-rotinas,
.care-editor-rotinas,
.care-historico-rotinas {
    margin-top: 18px;
}

.care-busca-rotinas > header p,
.care-editor-rotinas > header p,
.care-historico-rotinas > header p {
    color: var(--cor-muted);
    margin: 4px 0 0;
}

.care-busca-rotinas-form {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(260px, 1fr) auto;
    padding: 16px 18px;
}

.care-busca-rotinas-form input {
    border: 1px solid var(--cor-borda);
    border-radius: 9px;
    font-size: 1rem;
    padding: 10px 12px;
}

.tabela-care-cidadaos td strong,
.tabela-care-cidadaos td small,
.tabela-care-cidadaos td span {
    display: block;
}

.tabela-care-cidadaos td small {
    color: var(--cor-muted);
    margin-top: 3px;
}

.tabela-care-cidadaos th:nth-child(3),
.tabela-care-cidadaos td:nth-child(3) {
    text-align: center;
}

.tabela-care-cidadaos th:last-child,
.tabela-care-cidadaos td:last-child {
    padding-left: 30px;
    text-align: left;
}

.care-acoes-lista-rotinas {
    align-items: center;
    display: grid;
    gap: 7px;
    grid-auto-columns: max-content;
    grid-auto-flow: column;
    justify-content: start;
}

.care-acoes-lista-rotinas form {
    margin: 0;
}

.care-acoes-lista-rotinas .botao-mini {
    align-items: center;
    box-sizing: border-box;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    line-height: 1.2;
    margin: 0;
    min-height: 34px;
    padding: 7px 10px;
    white-space: nowrap;
}

@media (max-width: 1400px) {
    .care-acoes-lista-rotinas {
        align-items: stretch;
        gap: 5px;
        grid-auto-columns: 1fr;
        grid-auto-flow: row;
        grid-template-columns: minmax(108px, 1fr);
    }

    .care-acoes-lista-rotinas .botao-mini {
        display: flex;
        text-align: center;
        width: 100%;
    }
}

.linha-selecionada-care {
    background: #edf8f1;
}

.care-codigo-gerado-destaque {
    align-items: center;
    background: linear-gradient(120deg, #edf8f1, #edf5fb);
    border: 1px solid #bcdcca;
    border-radius: 14px;
    display: flex;
    gap: 22px;
    justify-content: space-between;
    margin-top: 16px;
    padding: 14px 18px;
}

.care-codigo-gerado-destaque span,
.care-codigo-gerado-destaque strong {
    display: block;
}

.care-codigo-gerado-destaque strong {
    color: #0879c9;
    font-size: 1.75rem;
    letter-spacing: 0.12em;
    margin-top: 4px;
}

.care-codigo-gerado-destaque p {
    color: #496359;
    font-weight: 700;
    margin: 0;
}

.care-editor-retorno {
    background: #edf8f1;
    border-bottom: 1px solid #c9e5d4;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1.2fr);
    padding: 16px 18px;
}

.care-editor-retorno label,
.care-editor-campos label {
    color: #294b3f;
    display: grid;
    font-size: 0.84rem;
    font-weight: 900;
    gap: 6px;
}

.care-editor-retorno input[type="date"],
.care-editor-campos input[type="text"],
.care-editor-campos input[type="date"] {
    border: 1px solid #b9cfdf;
    border-radius: 9px;
    min-height: 40px;
    padding: 8px 10px;
    width: 100%;
}

.care-editor-retorno small,
.care-editor-campos small,
.care-gerar-codigo-editor small {
    color: #63776f;
    font-size: 0.72rem;
    font-weight: 700;
}

.care-gerar-codigo-editor {
    align-content: center;
    align-items: center;
    background: #fff8f6;
    border-radius: 10px;
    grid-template-columns: auto minmax(0, 1fr) !important;
    padding: 9px 11px;
}

.care-gerar-codigo-texto {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.care-gerar-codigo-texto strong {
    color: #174936;
}

.care-gerar-codigo-editor input,
.care-manter-rotina input,
.care-lembrete-editor input {
    height: 19px;
    width: 19px;
}

.care-editor-lista {
    display: grid;
    gap: 14px;
    padding: 18px;
}

.care-editor-medicamento {
    border: 1px solid #d6e8df;
    border-radius: 13px;
    overflow: hidden;
}

.care-editor-medicamento > header {
    align-items: center;
    background: linear-gradient(120deg, #eaf8f0, #eaf5fc);
    display: flex;
    justify-content: space-between;
    padding: 12px 14px;
}

.care-editor-medicamento > header span,
.care-editor-medicamento > header strong {
    display: block;
}

.care-editor-medicamento > header span {
    color: var(--cor-muted);
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.care-editor-medicamento > header em {
    background: #dff3e7;
    border-radius: 999px;
    color: #11683f;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
    padding: 6px 9px;
}

.care-editor-medicamento-acoes {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.care-editor-medicamento-acoes .botao-mini {
    white-space: nowrap;
}

.care-manter-rotina,
.care-lembrete-editor {
    align-items: center;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px;
}

.care-manter-rotina {
    color: #205a46;
    font-weight: 900;
    padding: 12px 14px 0;
}

.care-editor-dose-visual {
    padding: 12px 14px 0;
}

.care-editor-dose-visual .care-configuracao-tomada {
    margin-bottom: 10px;
}

.care-editor-dose-visual .care-resumo-dose {
    margin: 0;
}

.care-editor-campos {
    display: grid;
    gap: 12px;
    grid-template-columns: 1.2fr 1fr 0.7fr 0.7fr;
    padding: 12px 14px 14px;
}

.care-editor-campos .campo-instrucoes-care {
    grid-column: span 3;
}

.care-lembrete-editor {
    align-self: end;
    background: #edf8f1;
    border-radius: 9px;
    min-height: 40px;
    padding: 8px 10px;
}

.care-editor-medicamento.rotina-encerrada {
    border-color: #e0e3e1;
    opacity: 0.78;
}

.care-editor-medicamento.rotina-encerrada > header {
    background: #f1f3f2;
}

.care-editor-medicamento.rotina-encerrada > header em {
    background: #e5e7e6;
    color: #5a6560;
}

.care-editor-medicamento.rotina-encerrada > p {
    color: var(--cor-muted);
    margin: 0;
    padding: 12px 14px;
}

.care-editor-rotinas .acoes-formulario {
    border-top: 1px solid var(--cor-borda);
    padding: 14px 18px;
}

@media (max-width: 850px) {
    .care-editor-medicamento > header {
        align-items: flex-start;
        gap: 10px;
    }

    .care-editor-medicamento-acoes {
        align-items: flex-end;
        flex-direction: column;
    }

    .care-rotinas-topo-acoes,
    .care-codigo-gerado-destaque {
        align-items: stretch;
        flex-direction: column;
    }

    .care-busca-rotinas-form,
    .care-editor-retorno,
    .care-editor-campos {
        grid-template-columns: 1fr;
    }

    .care-editor-campos .campo-instrucoes-care {
        grid-column: auto;
    }
}

@media print {
    .resumo-retirada-relatorio span,
    .relatorio-tipo-atendimento .selo-processo-judicial,
    .relatorio-tipo-atendimento .processo-numero-atendimento {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}

.acoes-atendimento-hoje {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.acoes-atendimento-hoje .botao-mini {
    min-width: 96px;
}

.botao-editar-atendimento {
    background: #d9ebe1;
    color: #135341;
}

.botao-editar-atendimento:hover {
    background: linear-gradient(180deg, #eaf5ef 0%, #c7e0d1 100%);
    box-shadow: 0 8px 18px rgba(19, 83, 65, 0.18);
    transform: translateY(-1px);
}

@media (max-width: 1600px) {
    .tabela-atendimentos-hoje td:nth-child(5) .botao-mini {
        min-width: 96px;
        padding-left: 8px;
        padding-right: 8px;
    }

    .selo-processo-judicial {
        font-size: 0.56rem !important;
        letter-spacing: 0;
        padding-left: 5px;
        padding-right: 5px;
    }

}

@media (prefers-reduced-motion: reduce) {
    .botao-calculadora-farmaceutica,
    .botao-publicar-processos {
        animation: none;
    }
}

.tabela-atendimentos-hoje td:nth-child(5) small {
    white-space: nowrap;
}

.status-atendimento-relatorio {
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 900;
    justify-content: center;
    min-width: 86px;
    padding: 6px 10px;
    text-transform: uppercase;
}

.status-atendimento-concluido {
    background: #dff4e7;
    color: #0f6a43;
}

.status-atendimento-registrado {
    background: #e9eef4;
    color: #45566a;
}

.status-atendimento-cancelado {
    background: #f5d8d2;
    color: #9e2f23;
}

.bloco-atendimentos-relatorio table {
    --relatorio-padding-x: 10px;
    font-size: 0.94rem;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    width: 100%;
}

.col-rel-data {
    width: 11%;
}

.col-rel-retirante {
    width: 21%;
}

.col-rel-beneficiario {
    width: 21%;
}

.col-rel-atendente {
    width: 11%;
}

.col-rel-tipo {
    width: 25%;
}

.col-rel-status {
    width: 11%;
}

.bloco-atendimentos-relatorio th:nth-child(2),
.bloco-atendimentos-relatorio td:nth-child(2),
.bloco-atendimentos-relatorio th:nth-child(3),
.bloco-atendimentos-relatorio td:nth-child(3) {
    padding-left: 18px;
}

.bloco-atendimentos-relatorio th {
    font-size: 0.74rem;
    padding: 11px var(--relatorio-padding-x);
}

.bloco-atendimentos-relatorio td {
    padding: 12px var(--relatorio-padding-x);
    vertical-align: top;
}

.bloco-atendimentos-relatorio th + th,
.bloco-atendimentos-relatorio td + td {
    border-left: 1px solid rgba(25, 70, 55, 0.08);
}

.bloco-atendimentos-relatorio td small {
    font-size: 0.78rem;
    line-height: 1.35;
}

.bloco-atendimentos-relatorio td {
    line-height: 1.25;
}

.bloco-atendimentos-relatorio td small {
    white-space: normal;
}

.bloco-atendimentos-relatorio th:nth-child(4),
.bloco-atendimentos-relatorio td:nth-child(4) {
    white-space: nowrap;
}

.bloco-atendimentos-relatorio th:nth-child(6),
.bloco-atendimentos-relatorio td:nth-child(6) {
    text-align: center;
}

.bloco-atendimentos-relatorio th:nth-child(n+2),
.bloco-atendimentos-relatorio td:nth-child(n+2) {
    padding-left: var(--relatorio-padding-x);
}

.bloco-atendimentos-relatorio th:nth-child(6),
.bloco-atendimentos-relatorio td:nth-child(6) {
    padding-left: var(--relatorio-padding-x);
    padding-right: var(--relatorio-padding-x);
}

.bloco-atendimentos-relatorio th:nth-child(5),
.bloco-atendimentos-relatorio td:nth-child(5) {
    padding-left: var(--relatorio-padding-x);
    padding-right: var(--relatorio-padding-x);
}

.bloco-atendimentos-relatorio th:nth-child(4),
.bloco-atendimentos-relatorio td:nth-child(4) {
    padding-left: 8px;
    padding-right: 8px;
}

.relatorio-data-horario strong,
.relatorio-data-horario small,
.relatorio-retirante strong,
.relatorio-retirante strong span,
.relatorio-beneficiario strong,
.relatorio-beneficiario strong span,
.relatorio-beneficiario small,
.relatorio-tipo-atendimento strong,
.relatorio-tipo-atendimento small {
    display: block;
}

.relatorio-data-horario small {
    margin-top: 3px;
}

.relatorio-beneficiario strong,
.relatorio-tipo-atendimento strong {
    margin-bottom: 4px;
    white-space: normal;
}

.relatorio-retirante strong span,
.relatorio-beneficiario strong span {
    line-height: 1.18;
}

.nome-prioridade-relatorio,
.nome-prioridade-relatorio span {
    color: #b91c1c;
    font-weight: 900;
}

.rotulo-prioridade-relatorio {
    color: var(--cor-muted);
    display: block;
    line-height: 1.35;
    margin-top: 4px;
}

.relatorio-tipo-atendimento small {
    margin-top: 5px;
}

.form-busca {
    display: flex;
    gap: 8px;
    min-width: min(100%, 360px);
}

.form-busca-siglas {
    min-width: min(100%, 460px);
}

.atalhos-siglas {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0 18px;
    padding-left: 16px;
    padding-right: 16px;
}

.atalhos-siglas a {
    align-items: center;
    background: #eef6f1;
    border: 1px solid rgba(22, 122, 74, 0.16);
    border-radius: 8px;
    color: var(--cor-primaria-escura);
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0 10px;
    text-decoration: none;
}

.atalhos-siglas a:hover {
    background: #dff1e7;
    box-shadow: 0 8px 18px rgba(22, 122, 74, 0.12);
    transform: translateY(-1px);
}

.lista-siglas-medicamentos {
    display: grid;
    gap: 18px;
    padding-left: 16px;
    padding-right: 16px;
}

.grupo-siglas {
    border-top: 1px solid rgba(25, 70, 55, 0.12);
    display: grid;
    gap: 12px;
    padding-top: 16px;
}

.grupo-siglas h2 {
    color: var(--cor-primaria-escura);
    font-size: 1.2rem;
    margin: 0;
}

.grade-siglas {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.item-sigla {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--cor-borda);
    border-left: 4px solid var(--cor-primaria);
    border-radius: 8px;
    display: grid;
    gap: 5px;
    padding: 10px 11px;
}

.item-sigla strong {
    color: var(--cor-secundaria);
    font-size: 1rem;
}

.item-sigla span {
    color: var(--cor-texto);
    font-size: 0.9rem;
    line-height: 1.38;
}

.grade-demanda-bairro,
.grade-medicamentos-procurados {
    align-items: start;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
}

.lista-ranking-demanda {
    display: grid;
    gap: 10px;
}

.tabela-atendimentos-encontrados {
    max-height: 620px;
    overflow-y: auto;
}

.lista-ranking-bairro-medicamento {
    max-height: 500px;
    overflow-y: auto;
    padding-right: 6px;
}

.lista-ranking-medicamentos {
    max-height: 500px;
    overflow-y: auto;
    padding-right: 6px;
}

.lista-leitura-gestao-publica {
    max-height: 470px;
    overflow-y: auto;
}

.lista-pontos-atencao {
    max-height: 470px;
    overflow-y: auto;
}

.tabela-atendimentos-encontrados::-webkit-scrollbar,
.lista-ranking-bairro-medicamento::-webkit-scrollbar,
.lista-ranking-medicamentos::-webkit-scrollbar,
.lista-leitura-gestao-publica::-webkit-scrollbar,
.lista-pontos-atencao::-webkit-scrollbar {
    width: 8px;
}

.tabela-atendimentos-encontrados::-webkit-scrollbar-thumb,
.lista-ranking-bairro-medicamento::-webkit-scrollbar-thumb,
.lista-ranking-medicamentos::-webkit-scrollbar-thumb,
.lista-leitura-gestao-publica::-webkit-scrollbar-thumb,
.lista-pontos-atencao::-webkit-scrollbar-thumb {
    background: rgba(22, 122, 74, 0.35);
    border-radius: 999px;
}

.tabela-atendimentos-encontrados::-webkit-scrollbar-track,
.lista-ranking-bairro-medicamento::-webkit-scrollbar-track,
.lista-ranking-medicamentos::-webkit-scrollbar-track,
.lista-leitura-gestao-publica::-webkit-scrollbar-track,
.lista-pontos-atencao::-webkit-scrollbar-track {
    background: rgba(223, 231, 221, 0.55);
    border-radius: 999px;
}

.item-ranking-demanda {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
    padding: 12px 12px 10px;
    position: relative;
}

.item-ranking-demanda strong,
.item-ranking-demanda span {
    display: block;
    position: relative;
    z-index: 1;
}

.item-ranking-demanda strong {
    color: var(--cor-secundaria);
    font-size: 0.96rem;
}

.item-ranking-demanda span {
    color: var(--cor-muted);
    font-size: 0.86rem;
    font-weight: 800;
    margin-top: 3px;
}

.item-ranking-demanda em {
    align-self: center;
    background: #e8f4ed;
    border-radius: 999px;
    color: var(--cor-primaria-escura);
    font-style: normal;
    font-weight: 900;
    min-width: 42px;
    padding: 6px 10px;
    position: relative;
    text-align: center;
    z-index: 1;
}

.item-ranking-demanda i {
    background: linear-gradient(90deg, rgba(22, 122, 74, 0.16), rgba(37, 131, 190, 0.08));
    bottom: 0;
    left: 0;
    max-width: 100%;
    position: absolute;
    top: 0;
    z-index: 0;
}

.container-secretaria-saude {
    max-width: 1320px;
}

.filtros-secretaria-recolhiveis {
    overflow: hidden;
}

.filtros-secretaria-recolhiveis > summary {
    align-items: center;
    color: #155b78;
    cursor: pointer;
    display: flex;
    font-weight: 950;
    justify-content: space-between;
    min-height: 52px;
    padding: 15px 18px;
}

.filtros-secretaria-recolhiveis > summary::after {
    content: "+";
    font-size: 1.2rem;
    font-weight: 950;
}

.filtros-secretaria-recolhiveis[open] > summary {
    border-bottom: 1px solid rgba(28, 91, 116, 0.08);
}

.filtros-secretaria-recolhiveis[open] > summary::after {
    content: "-";
}

.filtros-secretaria-recolhiveis > summary::-webkit-details-marker {
    display: none;
}

.form-filtros-secretaria {
    align-items: stretch;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 18px;
}

.grupo-filtro-secretaria {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(28, 91, 116, 0.14);
    border-radius: 8px;
    display: grid;
    gap: 14px;
    margin: 0;
    min-width: 0;
    padding: 16px;
}

.grupo-filtro-secretaria h3 {
    color: #155b78;
    font-size: 0.9rem;
    font-weight: 950;
    grid-column: 1 / -1;
    margin: 0;
}

.grupo-filtro-periodo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grupo-filtro-analise {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.acoes-filtro-secretaria {
    align-items: end;
    display: flex;
    grid-column: 1 / -1;
    justify-content: flex-end;
}

.acoes-filtro-secretaria .botao-buscar {
    min-height: 44px;
    white-space: nowrap;
}

.form-filtros-ubs {
    align-items: end;
    grid-template-columns: minmax(360px, 520px) minmax(160px, 1fr);
    justify-content: stretch;
}

.form-filtros-ubs .grupo-filtro-periodo {
    align-items: end;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    padding: 14px;
}

.acoes-filtro-ubs {
    align-items: end;
    grid-column: auto;
    justify-content: flex-end;
}

.formulario-encaminhamento-ubs {
    display: grid;
    gap: 12px;
    padding: 18px;
}

.formulario-encaminhamento-ubs .campo-encaminhamento-mensagem {
    grid-column: 1 / -1;
}

.formulario-encaminhamento-ubs textarea {
    min-height: 118px;
    resize: vertical;
}

.lista-encaminhamentos-ubs {
    display: grid;
    gap: 12px;
    padding: 18px;
}

.item-encaminhamento-ubs {
    align-items: center;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(28, 91, 116, 0.12);
    border-radius: 8px;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding: 14px;
}

.item-encaminhamento-ubs.prioridade-encaminhamento-alta {
    border-left: 5px solid #c94c24;
}

.item-encaminhamento-ubs.prioridade-encaminhamento-media {
    border-left: 5px solid #d9a21b;
}

.item-encaminhamento-ubs.prioridade-encaminhamento-baixa {
    border-left: 5px solid #167a4a;
}

.item-encaminhamento-ubs strong {
    color: #203844;
    display: block;
    font-size: 0.98rem;
    font-weight: 950;
}

.item-encaminhamento-ubs span {
    color: var(--cor-muted);
    display: block;
    font-size: 0.82rem;
    font-weight: 850;
    margin-top: 3px;
}

.linha-prioridade-encaminhamento {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.selo-prioridade-encaminhamento {
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.7rem;
    font-weight: 950;
    padding: 5px 9px;
    text-transform: uppercase;
}

.selo-prioridade-alta {
    background: #c94c24;
}

.selo-prioridade-media {
    background: #d9a21b;
    color: #3a2b04;
}

.selo-prioridade-baixa {
    background: #167a4a;
}

.item-encaminhamento-ubs p {
    color: var(--cor-texto);
    font-size: 0.9rem;
    line-height: 1.35;
    margin: 8px 0 0;
}

.status-encaminhamento {
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 950;
    padding: 7px 10px;
    text-align: center;
    white-space: nowrap;
}

.status-encaminhamento-novo {
    background: #d86b1f;
}

.status-encaminhamento-lido {
    background: #1b7a9e;
}

.status-encaminhamento-em_andamento {
    background: #6b5fb8;
}

.status-encaminhamento-concluido {
    background: #167a4a;
}

.form-status-encaminhamento {
    align-items: center;
    display: flex;
    gap: 8px;
}

.form-status-encaminhamento select {
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    font: inherit;
    min-height: 36px;
    padding: 7px 9px;
}

.bloco-encaminhamentos-recebidos,
.bloco-encaminhamentos-recentes {
    margin-top: 18px;
}

.alerta-demonstrativo-secretaria {
    margin-top: 18px;
}

.grade-metricas-secretaria .metrica strong {
    font-size: clamp(1.25rem, 2.1vw, 2.05rem);
    line-height: 1.08;
}

.bloco-pizzas-secretaria {
    margin-top: 18px;
}

.bloco-pizzas-secretaria header {
    border-bottom: 1px solid rgba(28, 91, 116, 0.08);
}

.grade-pizzas-secretaria {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 22px;
}

.pizza-secretaria-card {
    align-items: center;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 247, 0.92)),
        radial-gradient(circle at 90% 10%, rgba(27, 122, 158, 0.12), transparent 30%);
    border: 1px solid rgba(22, 122, 74, 0.14);
    border-radius: 8px;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(150px, 178px) minmax(0, 1fr);
    min-height: 280px;
    padding: 22px;
}

.pizza-secretaria-desenho {
    align-items: center;
    aspect-ratio: 1;
    border-radius: 50%;
    box-shadow:
        inset 0 0 0 16px rgba(255, 255, 255, 0.78),
        0 18px 30px rgba(25, 54, 72, 0.12);
    display: flex;
    justify-content: center;
    margin: 0 auto;
    max-width: 178px;
    position: relative;
    width: 100%;
}

.pizza-secretaria-desenho::after {
    background: linear-gradient(180deg, #ffffff, #f4faf7);
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(28, 91, 116, 0.08);
    content: "";
    height: 58%;
    position: absolute;
    width: 58%;
}

.pizza-secretaria-desenho span {
    color: #155b78;
    font-size: 1.45rem;
    font-weight: 950;
    position: relative;
    z-index: 1;
}

.pizza-secretaria-info {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.pizza-secretaria-info h3 {
    color: #203844;
    font-size: clamp(0.86rem, 1vw, 1rem);
    font-weight: 950;
    margin: 0 0 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pizza-secretaria-info p {
    align-items: start;
    color: var(--cor-muted);
    display: grid;
    font-size: 0.9rem;
    gap: 3px 8px;
    grid-template-columns: 12px minmax(0, 1fr);
    margin: 0;
}

.pizza-secretaria-info i {
    border-radius: 999px;
    display: block;
    height: 10px;
    width: 10px;
}

.pizza-secretaria-info span {
    overflow: hidden;
    overflow-wrap: anywhere;
    text-overflow: clip;
    white-space: normal;
    line-height: 1.12;
}

.pizza-secretaria-info strong {
    color: #155b78;
    font-weight: 950;
    font-size: 0.78rem;
    grid-column: 1 / 2;
    line-height: 1;
    text-align: center;
}

.grade-dashboard-geral-secretaria {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
}

.grade-dashboard-geral-secretaria .grafico-secretaria-card:nth-child(1) {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 249, 244, 0.92)),
        radial-gradient(circle at 10% 10%, rgba(22, 122, 74, 0.16), transparent 34%);
}

.grade-dashboard-geral-secretaria .grafico-secretaria-card:nth-child(2) {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 246, 253, 0.92)),
        radial-gradient(circle at 10% 10%, rgba(107, 95, 184, 0.15), transparent 34%);
}

.grade-dashboard-geral-secretaria .grafico-secretaria-card:nth-child(3) {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 252, 0.92)),
        radial-gradient(circle at 10% 10%, rgba(27, 122, 158, 0.15), transparent 34%);
}

.grafico-faixa-secretaria-resumo {
    min-height: 260px;
}

.grade-secretaria-graficos {
    align-items: stretch;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.65fr);
    margin-top: 18px;
}

.grade-secretaria-graficos-unico,
.grade-secretaria-unica {
    grid-template-columns: minmax(0, 1fr);
}

.coluna-graficos-secretaria {
    display: grid;
    gap: 18px;
}

.grafico-secretaria-card {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 247, 0.92)),
        radial-gradient(circle at 12% 10%, rgba(30, 129, 176, 0.13), transparent 28%);
    border: 1px solid rgba(22, 122, 74, 0.14);
    box-shadow: 0 18px 38px rgba(25, 54, 72, 0.08);
}

.grafico-secretaria-card header {
    align-items: start;
    border-bottom: 1px solid rgba(28, 91, 116, 0.08);
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.grafico-secretaria-card header strong {
    background: linear-gradient(135deg, #155b78, #167a4a);
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 950;
    padding: 8px 12px;
    white-space: nowrap;
}

.grafico-secretaria-card header p {
    color: var(--cor-muted);
    margin: 4px 0 0;
}

.grafico-barras-secretaria {
    display: grid;
    gap: 13px;
    padding: 18px;
}

.grafico-barras-secretaria-grande {
    gap: 16px;
}

.linha-grafico-secretaria {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(120px, 0.45fr) minmax(180px, 1fr) 52px 42px;
}

.grafico-barras-secretaria-compacto .linha-grafico-secretaria {
    grid-template-columns: minmax(96px, 0.52fr) minmax(120px, 1fr) 46px;
}

.grafico-barras-secretaria-compacto .linha-grafico-secretaria span {
    line-height: 1.12;
    white-space: normal;
}

.linha-grafico-secretaria span {
    color: #203844;
    font-size: 0.88rem;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.linha-grafico-secretaria div {
    background: rgba(224, 234, 230, 0.9);
    border-radius: 999px;
    height: 18px;
    overflow: hidden;
    position: relative;
}

.linha-grafico-secretaria i {
    background: linear-gradient(90deg, #167a4a 0%, #1b7a9e 100%);
    border-radius: inherit;
    bottom: 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
    display: block;
    left: 0;
    position: absolute;
    top: 0;
}

.linha-grafico-secretaria strong,
.linha-grafico-secretaria em {
    color: #155b78;
    font-size: 0.86rem;
    font-style: normal;
    font-weight: 950;
    text-align: right;
}

.linha-grafico-secretaria em {
    color: var(--cor-muted);
}

.grafico-faixa-secretaria {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-auto-flow: column;
    grid-auto-columns: minmax(62px, 1fr);
    min-height: 220px;
    padding: 18px 18px 16px;
}

.grafico-faixa-secretaria div {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-rows: auto minmax(120px, 1fr) auto;
    height: 100%;
    justify-items: center;
}

.grafico-faixa-secretaria strong {
    color: #203844;
    font-size: 0.78rem;
    font-weight: 950;
}

.grafico-faixa-secretaria span {
    align-self: end;
    background: linear-gradient(180deg, #1b7a9e 0%, #167a4a 100%);
    border-radius: 8px 8px 3px 3px;
    display: block;
    min-height: 12px;
    width: min(48px, 80%);
}

.grafico-faixa-secretaria em {
    color: var(--cor-muted);
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 900;
}

.grade-secretaria-executiva,
.grade-secretaria-detalhes {
    align-items: start;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
    margin-top: 18px;
}

.lista-secretaria-ranking {
    max-height: 430px;
    overflow-y: auto;
    padding-right: 6px;
}

.lista-alertas-secretaria {
    display: grid;
    gap: 12px;
    max-height: 430px;
    overflow-y: auto;
    padding: 18px;
}

.grade-alertas-secretaria {
    align-items: start;
}

.grade-alertas-secretaria .bloco-alertas-secretaria {
    display: flex;
    flex-direction: column;
    min-height: 660px;
}

.grade-alertas-secretaria .lista-alertas-secretaria {
    flex: 1;
    max-height: 550px;
}

.lista-alertas-secretaria article {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 250, 246, 0.92));
    border: 1px solid rgba(216, 107, 31, 0.2);
    border-left: 4px solid #d86b1f;
    border-radius: 8px;
    display: grid;
    gap: 7px;
    padding: 13px 14px;
}

.lista-alertas-secretaria article.alerta-prioridade-alta {
    border-left-color: #c94c24;
}

.lista-alertas-secretaria article.alerta-prioridade-media {
    border-left-color: #d9822b;
}

.lista-alertas-secretaria article.alerta-prioridade-baixa {
    border-left-color: #167a4a;
}

.alerta-secretaria-topo {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.lista-alertas-secretaria span {
    color: #a94714;
    font-size: 0.74rem;
    font-weight: 950;
    text-transform: uppercase;
}

.lista-alertas-secretaria em {
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 950;
    padding: 5px 8px;
    white-space: nowrap;
}

.alerta-prioridade-alta em {
    background: #c94c24;
}

.alerta-prioridade-media em {
    background: #d9822b;
}

.alerta-prioridade-baixa em {
    background: #167a4a;
}

.lista-alertas-secretaria strong {
    color: var(--cor-texto);
    font-size: 0.95rem;
    line-height: 1.35;
}

.lista-alertas-secretaria small {
    color: #155b78;
    font-size: 0.78rem;
    font-weight: 950;
}

.lista-alertas-secretaria p {
    color: var(--cor-muted);
    font-size: 0.84rem;
    line-height: 1.35;
    margin: 0;
}

.lista-alertas-secretaria b {
    color: var(--cor-muted);
    font-size: 0.78rem;
    font-weight: 850;
}

.bloco-encaminhamento-secretaria {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 247, 0.92)),
        radial-gradient(circle at 92% 8%, rgba(22, 122, 74, 0.12), transparent 32%);
    border: 1px solid rgba(22, 122, 74, 0.14);
}

.bloco-encaminhamento-secretaria .lista-pontos-atencao {
    padding: 18px;
}

.bloco-encaminhamento-secretaria .lista-pontos-atencao div {
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(28, 91, 116, 0.1);
    border-left: 4px solid #167a4a;
}

.bloco-analise-ia-secretaria {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(244, 249, 252, 0.94)),
        radial-gradient(circle at 96% 8%, rgba(28, 91, 116, 0.12), transparent 34%);
    border: 1px solid rgba(28, 91, 116, 0.14);
    margin-top: 18px;
    scroll-margin-top: 18px;
}

.bloco-analise-ia-secretaria header {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.bloco-analise-ia-secretaria header form {
    flex-shrink: 0;
}

.acoes-ia-gestao {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.acoes-ia-gestao button {
    min-height: 38px;
    white-space: nowrap;
}

.grade-metricas-ia-operacional {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.grade-acoes-ia-operacional {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    margin: 18px 0;
}

.grade-acoes-ia-ubs {
    grid-template-columns: repeat(3, minmax(190px, 1fr));
}

.grade-acoes-ia-secretaria {
    grid-template-columns: repeat(5, minmax(160px, 1fr));
}

.bloco-prioridades-ia-secretaria {
    margin-top: 18px;
}

.grade-prioridades-ia-secretaria {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    padding: 10px 18px 18px;
}

.card-prioridade-ia-secretaria {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(244, 249, 252, 0.92));
    border: 1px solid rgba(28, 91, 116, 0.14);
    border-left: 4px solid #1b7a9e;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    min-height: 138px;
    padding: 14px;
}

.card-prioridade-ia-secretaria span {
    color: #1c5b74;
    font-size: 0.74rem;
    font-weight: 950;
    text-transform: uppercase;
}

.card-prioridade-ia-secretaria strong {
    color: var(--cor-texto);
    font-size: 0.98rem;
    font-weight: 950;
    line-height: 1.2;
}

.card-prioridade-ia-secretaria div {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.card-prioridade-ia-secretaria em,
.card-prioridade-ia-secretaria b {
    border-radius: 999px;
    font-size: 0.74rem;
    font-style: normal;
    font-weight: 950;
    padding: 6px 9px;
}

.card-prioridade-ia-secretaria em {
    background: #e9f5ef;
    color: #126a42;
}

.card-prioridade-ia-secretaria b {
    background: #e5f1f7;
    color: #155b78;
}

.card-prioridade-ia-secretaria small {
    color: var(--cor-muted);
    font-size: 0.78rem;
    font-weight: 850;
}

.card-acao-ia {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(19, 41, 54, 0.14);
    color: #ffffff;
    display: grid;
    gap: 12px;
    min-height: 178px;
    padding: 18px;
    position: relative;
}

.card-acao-ia strong {
    font-size: 1.02rem;
    font-weight: 950;
    line-height: 1.18;
}

.card-acao-ia span {
    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.35;
    opacity: 0.92;
}

.card-acao-ia button {
    align-self: end;
    background: rgba(255, 255, 255, 0.94);
    border: 0;
    border-radius: 8px;
    color: #152733;
    cursor: pointer;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 950;
    min-height: 38px;
    padding: 9px 12px;
    text-transform: uppercase;
}

.card-acao-ia button:disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.card-acao-ia.ia-card-verde {
    background: linear-gradient(145deg, #167a4a, #0f5a37);
}

.card-acao-ia.ia-card-azul {
    background: linear-gradient(145deg, #245e8f, #163d62);
}

.card-acao-ia.ia-card-laranja {
    background: linear-gradient(145deg, #d86b1f, #9d4314);
}

.card-acao-ia.ia-card-roxo {
    background: linear-gradient(145deg, #6b5fb8, #403985);
}

.card-acao-ia.ia-card-preto {
    background: linear-gradient(145deg, #2d353a, #080b0d);
}

.ia-geracao-andamento {
    align-items: center;
    background: linear-gradient(135deg, #eef6ff 0%, #f5f0ff 100%);
    border: 1px solid rgba(57, 92, 151, 0.24);
    border-radius: 10px;
    color: #284d75;
    display: flex;
    gap: 14px;
    margin-top: 14px;
    padding: 16px;
}

.ia-geracao-andamento p {
    color: #586b7d;
    margin: 4px 0 0;
}

.ia-geracao-andamento.falhou {
    background: #fff0ed;
    border-color: rgba(174, 54, 39, 0.28);
    color: #9e2f23;
}

.ia-geracao-spinner {
    animation: iaGeracaoGirar 0.85s linear infinite;
    border: 4px solid rgba(48, 91, 143, 0.18);
    border-radius: 50%;
    border-top-color: #315f91;
    flex: 0 0 auto;
    height: 34px;
    width: 34px;
}

.selo-status-geracao-ia {
    background: #e6f0fb;
    border-radius: 999px;
    color: #275986;
    display: inline-flex;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 900;
    margin-top: 4px;
    padding: 3px 7px;
    text-transform: uppercase;
}

.selo-status-geracao-ia.falhou {
    background: #f8ded8;
    color: #9e2f23;
}

@keyframes iaGeracaoGirar {
    to { transform: rotate(360deg); }
}

.campo-pergunta-ia {
    background: rgba(255, 255, 255, 0.95);
    border: 0;
    border-radius: 8px;
    color: #152733;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 800;
    min-height: 76px;
    padding: 10px;
    resize: vertical;
    width: 100%;
}

.campo-pergunta-ia::placeholder {
    color: #65747c;
}

.grupo-encaminhamento-ia textarea {
    min-height: 110px;
}

.bloco-encaminhamento-ia {
    margin-bottom: 18px;
}

.bloco-ia-operacional-pagina {
    margin-top: 18px;
}

.corpo-analise-ia-secretaria {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.32fr);
    padding: 16px 18px 18px;
}

.resultado-analise-ia {
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(28, 91, 116, 0.12);
    border-left: 4px solid #1c5b74;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 16px;
}

.resultado-analise-ia div {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.resultado-analise-ia strong {
    color: var(--cor-texto);
    font-size: 0.98rem;
    font-weight: 950;
}

.resultado-analise-ia span {
    color: var(--cor-muted);
    font-size: 0.78rem;
    font-weight: 850;
}

.resultado-analise-ia small {
    color: #1c5b74;
    font-size: 0.8rem;
    font-weight: 900;
}

.resultado-analise-ia p {
    color: var(--cor-texto);
    font-size: 0.92rem;
    line-height: 1.55;
    margin: 0;
    white-space: normal;
}

.resultado-analise-ia p strong {
    color: #123748;
    font-weight: 950;
}

.arquivo-analises-ia {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(28, 91, 116, 0.12);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    max-height: 520px;
    overflow-y: auto;
    padding: 14px;
}

.arquivo-analises-ia > strong {
    color: var(--cor-texto);
    font-size: 0.92rem;
    font-weight: 950;
}

.arquivo-analises-ia > span {
    color: var(--cor-muted);
    font-size: 0.82rem;
    font-weight: 850;
}

.item-arquivo-analise-ia {
    background: rgba(244, 249, 252, 0.86);
    border: 1px solid rgba(28, 91, 116, 0.1);
    border-radius: 8px;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px 11px;
}

.item-arquivo-analise-ia.ativo,
.item-arquivo-analise-ia:hover {
    background: rgba(28, 91, 116, 0.1);
    border-color: rgba(28, 91, 116, 0.24);
}

.item-arquivo-analise-ia a {
    color: var(--cor-texto);
    display: grid;
    gap: 3px;
    text-decoration: none;
}

.item-arquivo-analise-ia form {
    align-self: center;
}

.item-arquivo-analise-ia button {
    background: rgba(201, 76, 36, 0.1);
    border: 1px solid rgba(201, 76, 36, 0.26);
    border-radius: 999px;
    color: #9d3418;
    cursor: pointer;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 950;
    min-height: 28px;
    padding: 5px 9px;
    text-transform: uppercase;
}

.item-arquivo-analise-ia button:hover {
    background: #c94c24;
    color: #ffffff;
}

.item-arquivo-analise-ia a span {
    font-size: 0.82rem;
    font-weight: 950;
}

.item-arquivo-analise-ia a small {
    color: var(--cor-muted);
    font-size: 0.74rem;
    font-weight: 850;
}

.lista-secretaria-ranking::-webkit-scrollbar,
.lista-alertas-secretaria::-webkit-scrollbar,
.arquivo-analises-ia::-webkit-scrollbar {
    width: 8px;
}

.lista-secretaria-ranking::-webkit-scrollbar-thumb,
.lista-alertas-secretaria::-webkit-scrollbar-thumb,
.arquivo-analises-ia::-webkit-scrollbar-thumb {
    background: rgba(22, 122, 74, 0.35);
    border-radius: 999px;
}

.lista-secretaria-ranking::-webkit-scrollbar-track,
.lista-alertas-secretaria::-webkit-scrollbar-track,
.arquivo-analises-ia::-webkit-scrollbar-track {
    background: rgba(223, 231, 221, 0.55);
    border-radius: 999px;
}

.bloco-demanda-bairro-dashboard {
    margin-bottom: 18px;
}

.bloco-demanda-bairro-dashboard header p {
    color: var(--cor-muted);
    margin: 4px 0 0;
}

.corpo-demanda-bairro-dashboard {
    align-items: stretch;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
    padding: 18px;
}

.grafico-demanda-bairro-dashboard {
    background: linear-gradient(180deg, rgba(248, 252, 250, 0.96), rgba(239, 247, 244, 0.92));
    border: 1px solid rgba(29, 139, 95, 0.12);
    border-radius: 8px;
    min-height: 280px;
    padding: 18px 14px 10px;
    position: relative;
}

.grafico-demanda-bairro-dashboard canvas {
    height: 100% !important;
    min-height: 250px;
    width: 100% !important;
}

.lista-demanda-bairro-dashboard {
    display: grid;
    gap: 10px;
}

.item-demanda-bairro-dashboard {
    align-items: center;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
    padding: 12px;
    position: relative;
}

.item-demanda-bairro-dashboard strong,
.item-demanda-bairro-dashboard span {
    position: relative;
    z-index: 1;
}

.item-demanda-bairro-dashboard strong {
    color: var(--cor-secundaria);
    font-size: 0.92rem;
}

.item-demanda-bairro-dashboard span {
    background: #e5f1f7;
    border-radius: 999px;
    color: #164e76;
    font-weight: 950;
    min-width: 42px;
    padding: 6px 10px;
    text-align: center;
}

.item-demanda-bairro-dashboard i {
    background: linear-gradient(90deg, rgba(26, 116, 168, 0.14), rgba(22, 122, 74, 0.07));
    bottom: 0;
    left: 0;
    max-width: 100%;
    position: absolute;
    top: 0;
    z-index: 0;
}

.painel-admin-acao {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 16px;
    margin-top: 0;
}

.botao-admin-grande {
    align-items: center;
    border-radius: 8px;
    color: #ffffff;
    display: flex;
    font-size: clamp(1.25rem, 3vw, 2rem);
    font-weight: 900;
    justify-content: center;
    min-height: 148px;
    padding: 28px;
    text-align: center;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.botao-admin-municipio {
    background: linear-gradient(180deg, #1c8a5b 0%, #126a42 100%);
    box-shadow: 0 18px 34px rgba(18, 106, 66, 0.24);
}

.botao-admin-perfis {
    background: linear-gradient(180deg, #d9822b 0%, #b86317 100%);
    box-shadow: 0 18px 34px rgba(184, 99, 23, 0.22);
}

.botao-admin-informativo {
    background: linear-gradient(180deg, #2f6f9f 0%, #24577d 100%);
    box-shadow: 0 18px 34px rgba(36, 87, 125, 0.24);
}

.botao-admin-administrador {
    background: linear-gradient(180deg, #243746 0%, #111d27 100%);
    box-shadow: 0 18px 34px rgba(17, 29, 39, 0.24);
}

.botao-admin-consulta {
    background: linear-gradient(180deg, #59636f 0%, #3f4852 100%);
    box-shadow: 0 18px 34px rgba(63, 72, 82, 0.22);
}

.botao-admin-mapa {
    background: linear-gradient(180deg, #256d72 0%, #194d52 100%);
    box-shadow: 0 18px 34px rgba(25, 77, 82, 0.22);
}

.botao-admin-secretaria {
    background: linear-gradient(180deg, #1b7a9e 0%, #155b78 100%);
    box-shadow: 0 18px 34px rgba(21, 91, 120, 0.22);
}

.botao-admin-grande:hover {
    transform: translateY(-2px);
}

.botao-admin-municipio:hover {
    box-shadow: 0 22px 42px rgba(18, 106, 66, 0.34);
}

.botao-admin-perfis:hover {
    box-shadow: 0 22px 42px rgba(184, 99, 23, 0.32);
}

.botao-admin-informativo:hover {
    box-shadow: 0 22px 42px rgba(36, 87, 125, 0.34);
}

.botao-admin-administrador:hover {
    box-shadow: 0 22px 42px rgba(17, 29, 39, 0.34);
}

.botao-admin-consulta:hover {
    box-shadow: 0 22px 42px rgba(63, 72, 82, 0.32);
}

.botao-admin-mapa:hover {
    box-shadow: 0 22px 42px rgba(25, 77, 82, 0.32);
}

.botao-admin-secretaria:hover {
    box-shadow: 0 22px 42px rgba(21, 91, 120, 0.32);
}

.botao-admin-grande:active {
    transform: translateY(0);
}

.cabecalho-pagina-com-acoes,
.acoes-cabecalho-logs {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.acoes-cabecalho-logs {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.grade-metricas-logs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.metrica-log-falha strong {
    color: #a02d2d;
}

.form-filtros-logs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.form-filtros-logs .campo-busca-log {
    grid-column: span 2;
}

.form-filtros-logs .botao-primario,
.form-filtros-logs .botao-limpar-filtros {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 44px;
}

.form-filtros-logs .botao-limpar-filtros {
    background: #b7cddd;
    box-shadow: none;
    color: #15344b;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.form-filtros-logs .botao-limpar-filtros:hover,
.form-filtros-logs .botao-limpar-filtros:focus-visible {
    background: linear-gradient(180deg, #cfdee8 0%, #9fb9cb 100%);
    box-shadow: 0 8px 18px rgba(21, 52, 75, 0.22);
    color: #15344b;
    transform: translateY(-1px);
}

.form-filtros-logs .botao-limpar-filtros:focus-visible {
    outline: 3px solid rgba(21, 52, 75, 0.2);
    outline-offset: 2px;
}

.form-filtros-logs .botao-limpar-filtros:active {
    box-shadow: 0 4px 10px rgba(21, 52, 75, 0.16);
    transform: translateY(0);
}

.bloco-lista-logs > header p {
    color: var(--cor-muted);
    margin: 4px 0 0;
}

.tabela-logs-acesso {
    overflow-x: auto;
}

.tabela-logs-acesso table {
    min-width: 1120px;
}

.tabela-logs-acesso th,
.tabela-logs-acesso td {
    font-size: 0.82rem;
    vertical-align: middle;
}

.tabela-logs-acesso td strong,
.tabela-logs-acesso td span:not(.selo-log) {
    display: block;
}

.tabela-logs-acesso td span:not(.selo-log) {
    color: var(--cor-muted);
    font-size: 0.76rem;
    margin-top: 3px;
}

.selo-log {
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.74rem;
    font-weight: 900;
    padding: 6px 9px;
    white-space: nowrap;
}

.selo-log.sucesso {
    background: #e0f4e8;
    color: #11633e;
}

.selo-log.falha {
    background: #fbe5e5;
    color: #982c2c;
}

.coluna-ip-log {
    font-family: Consolas, monospace;
    white-space: nowrap;
}

.paginacao-logs {
    padding: 18px;
}

.aviso-privacidade-logs {
    color: var(--cor-muted);
    font-size: 0.82rem;
    margin: 14px 0 24px;
    text-align: center;
}

@media (max-width: 900px) {
    .cabecalho-pagina-com-acoes {
        align-items: stretch;
        flex-direction: column;
    }

    .acoes-cabecalho-logs {
        justify-content: stretch;
    }

    .acoes-cabecalho-logs a,
    .acoes-cabecalho-logs button {
        flex: 1 1 180px;
        text-align: center;
    }

    .grade-metricas-logs,
    .form-filtros-logs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .grade-metricas-logs,
    .form-filtros-logs {
        grid-template-columns: 1fr;
    }

    .form-filtros-logs .campo-busca-log {
        grid-column: auto;
    }
}

.botao-amplo {
    width: 100%;
}

.campo-municipio-fallback {
    display: none;
}

.lista-municipios {
    display: grid;
    gap: 10px;
    padding: 18px;
}

.item-municipio {
    align-items: center;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: 58px minmax(0, 1fr);
    padding: 12px;
}

.item-municipio-card {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr);
}

.resumo-municipio-card {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 58px minmax(0, 1fr);
}

.item-municipio.ativo,
.item-municipio:hover {
    background: #eef6f1;
    border-color: rgba(22, 122, 74, 0.34);
}

.item-municipio img,
.marca-municipio {
    align-items: center;
    aspect-ratio: 1;
    background: #dfeee5;
    border-radius: 8px;
    color: var(--cor-primaria-escura);
    display: flex;
    font-size: 1.5rem;
    font-weight: 900;
    justify-content: center;
    object-fit: contain;
    width: 58px;
}

.item-municipio small {
    color: var(--cor-muted);
    display: block;
    margin-top: 3px;
}

.acoes-municipio-card {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 12px;
}

.acoes-municipio-card form {
    margin: 0;
}

.botao-card-municipio {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 8px;
    box-shadow: 0 8px 16px rgba(24, 39, 33, 0.1);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 900;
    justify-content: center;
    min-height: 40px;
    overflow: hidden;
    padding: 8px 10px;
    position: relative;
    text-align: center;
    transition: box-shadow 0.18s ease, transform 0.18s ease, filter 0.18s ease;
    width: 100%;
}

.botao-card-municipio.ativar {
    background: linear-gradient(180deg, #21a66b 0%, #167a4a 100%);
    border-color: rgba(15, 90, 55, 0.28);
    color: #ffffff;
}

.botao-card-municipio.desativar {
    background: linear-gradient(180deg, #d94d3f 0%, #a9271e 100%);
    border-color: rgba(139, 31, 23, 0.3);
    color: #ffffff;
}

.botao-card-municipio.excluir {
    background: linear-gradient(180deg, #25292d 0%, #050607 100%);
    border-color: rgba(0, 0, 0, 0.36);
    color: #ffffff;
}

.botao-card-municipio.excluir::before {
    background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.13) 43%, rgba(255, 255, 255, 0.48) 50%, rgba(255, 255, 255, 0.13) 57%, transparent 100%);
    content: "";
    inset: -45% auto -45% -85%;
    position: absolute;
    transform: skewX(-18deg);
    transition: left 0.46s ease;
    width: 68%;
}

.botao-card-municipio:not(:disabled):hover {
    box-shadow: 0 12px 24px rgba(24, 39, 33, 0.18);
    filter: brightness(1.04);
    transform: translateY(-1px);
}

.botao-card-municipio.excluir:not(:disabled):hover::before {
    left: 125%;
}

.botao-card-municipio:not(:disabled):active {
    box-shadow: 0 6px 12px rgba(24, 39, 33, 0.14);
    transform: translateY(0);
}

.botao-card-municipio:disabled {
    background: #e8ece9;
    border-color: rgba(144, 154, 148, 0.2);
    box-shadow: none;
    color: #8b978f;
    cursor: not-allowed;
    opacity: 1;
}

.secao-perfis-municipio {
    margin-top: 18px;
}

.grade-perfis-implantacao {
    display: grid;
    gap: 12px;
}

.grade-perfis-admin {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 18px;
}

.lista-perfis-dinamicos {
    display: grid;
    gap: 12px;
}

.perfil-implantacao {
    background: #f7faf6;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.perfil-implantacao strong {
    color: var(--cor-primaria-escura);
}

.perfil-implantacao-linha {
    align-items: end;
    grid-template-columns: minmax(150px, 0.7fr) minmax(220px, 1.1fr) minmax(220px, 1.1fr) minmax(150px, 0.75fr);
}

.perfil-implantacao-linha .botao-remover-perfil {
    grid-column: 4;
    justify-self: end;
    margin-top: -2px;
}

.acoes-perfis-dinamicos {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.botao-adicionar-perfil,
.botao-salvar-perfil,
.botao-remover-perfil {
    border-radius: 8px;
    font-size: 0.9rem;
    min-height: 40px;
    padding: 9px 14px;
    width: min(100%, 172px);
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.botao-adicionar-perfil:hover,
.botao-salvar-perfil:hover,
.botao-remover-perfil:hover {
    box-shadow: 0 8px 18px rgba(23, 39, 31, 0.15);
    transform: translateY(-1px);
}

.botao-adicionar-perfil {
    background: linear-gradient(180deg, #d9822b 0%, #b86317 100%);
    box-shadow: 0 8px 18px rgba(184, 99, 23, 0.2);
    color: #ffffff;
}

.botao-adicionar-perfil:hover {
    background: linear-gradient(180deg, #e99139 0%, #c76c1c 100%);
    box-shadow: 0 10px 22px rgba(184, 99, 23, 0.3);
}

.botao-remover-perfil {
    align-self: end;
    background: linear-gradient(180deg, #202326 0%, #050607 100%);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
    color: #ffffff;
}

.botao-remover-perfil:hover {
    background: linear-gradient(180deg, #2d3135 0%, #090b0d 100%);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
}

.tela-login .topo-app {
    display: none;
}

.tela-login .pagina-login {
    align-items: center;
    display: grid;
    gap: clamp(34px, 6vw, 92px);
    grid-template-columns: minmax(320px, 430px) minmax(420px, 760px);
    isolation: isolate;
    justify-content: center;
    min-height: 100vh;
    overflow: hidden;
    position: relative;
    padding: clamp(28px, 6vw, 72px);
}

.tela-login .pagina-login::before {
    background: rgba(9, 24, 17, 0.48);
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}

.video-login-bg {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: -2;
}

.tela-login .card-login {
    background: rgba(15, 104, 57, 0.78);
    backdrop-filter: blur(8px);
    border: 2px solid rgba(255, 255, 255, 0.32);
    box-shadow:
        0 0 0 8px rgba(255, 255, 255, 0.08),
        0 0 0 14px rgba(13, 129, 69, 0.16),
        inset 0 0 0 1px rgba(255, 255, 255, 0.18),
        0 22px 60px rgba(4, 18, 10, 0.24);
    justify-self: start;
    position: relative;
    z-index: 1;
}

.tela-login .card-login-admin {
    background: rgba(14, 64, 88, 0.78);
    box-shadow:
        0 0 0 8px rgba(255, 255, 255, 0.08),
        0 0 0 14px rgba(29, 116, 168, 0.16),
        inset 0 0 0 1px rgba(255, 255, 255, 0.18),
        0 22px 60px rgba(4, 18, 10, 0.24);
}

.tela-login .pagina-recuperar-senha {
    grid-template-columns: minmax(320px, 430px);
    justify-items: center;
}

.tela-login .pagina-recuperar-senha .card-login {
    justify-self: center;
    width: min(430px, 100%);
}

.tela-login .formulario label {
    color: #ffffff;
}

.tela-login .cabecalho-login strong {
    background: linear-gradient(180deg, #ffffff 0%, #e8f3ec 55%, #c8dfd0 100%);
    background-clip: text;
    color: #ffffff;
    font-style: normal;
    font-weight: 800;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 2px 4px rgba(0, 45, 22, 0.28));
}

.titulo-farma {
    font-style: italic;
    font-weight: 500;
}

.titulo-tech {
    font-style: normal;
    font-weight: 900;
}

.tela-login .cabecalho-login span,
.tela-login .texto-apoio-login {
    color: rgba(232, 244, 237, 0.82);
}

.logo-techeng-recuperacao {
    display: block;
    filter:
        drop-shadow(0 0 2px rgba(255, 255, 255, 0.82))
        drop-shadow(0 0 8px rgba(255, 255, 255, 0.62))
        drop-shadow(0 8px 15px rgba(0, 20, 34, 0.26));
    height: 78px;
    margin: 0;
    object-fit: contain;
    position: absolute;
    right: 42px;
    top: 28px;
    width: auto;
    z-index: 2;
}

.acoes-login {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 16px;
}

.acoes-login-uma-coluna {
    grid-template-columns: minmax(0, 1fr);
}

.campo-senha-login {
    display: block;
    position: relative;
}

.campo-senha-login input {
    padding-right: 48px;
}

.botao-alternar-senha {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: #17633f;
    cursor: pointer;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    margin: 0;
    min-height: 34px;
    min-width: 34px;
    padding: 0;
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    z-index: 2;
}

.botao-alternar-senha svg {
    fill: currentColor;
    height: 20px;
    width: 20px;
}

.botao-alternar-senha:hover,
.botao-alternar-senha.senha-visivel {
    background: rgba(23, 99, 63, 0.08);
    color: #0d472c;
}

.botao-alternar-senha:focus-visible {
    outline: 3px solid rgba(255, 212, 71, 0.48);
    outline-offset: 2px;
}

.botao-login-entrar,
.botao-login-limpar {
    align-items: center;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 40px;
    padding: 9px 14px;
    width: 100%;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.botao-login-entrar {
    background: linear-gradient(180deg, #e98736 0%, #d96f1e 100%);
    box-shadow: 0 8px 18px rgba(124, 63, 18, 0.24);
    color: #ffffff;
}

.botao-login-entrar:hover {
    background: linear-gradient(180deg, #f09545 0%, #e17824 100%);
    box-shadow: 0 10px 22px rgba(124, 63, 18, 0.34);
    transform: translateY(-1px);
}

.botao-login-entrar:active {
    background: linear-gradient(180deg, #c86018 0%, #b95514 100%);
    box-shadow: 0 5px 12px rgba(88, 45, 14, 0.28);
    transform: translateY(0);
}

.botao-login-limpar {
    background: linear-gradient(180deg, #f0f2f3 0%, #cfd5d8 100%);
    box-shadow: 0 8px 18px rgba(16, 24, 28, 0.16);
    color: #273238;
}

.botao-login-limpar:hover {
    background: linear-gradient(180deg, #ffffff 0%, #dae0e3 100%);
    box-shadow: 0 10px 22px rgba(16, 24, 28, 0.22);
    transform: translateY(-1px);
}

.botao-login-limpar:active {
    background: linear-gradient(180deg, #c4ccd0 0%, #b0babf 100%);
    box-shadow: 0 5px 12px rgba(16, 24, 28, 0.18);
    transform: translateY(0);
}

.botao-login-entrar:focus-visible,
.botao-login-limpar:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.42);
    outline-offset: 3px;
}

.logo-login-grande {
    animation: entrada-logo-login 0.9s ease both;
    display: block;
    filter:
        drop-shadow(0 0 10px rgba(255, 255, 255, 0.92))
        drop-shadow(0 0 26px rgba(255, 255, 255, 0.74))
        drop-shadow(0 24px 40px rgba(0, 0, 0, 0.34));
    justify-self: center;
    max-height: 72vh;
    max-width: 100%;
    object-fit: contain;
    position: relative;
    width: clamp(420px, 48vw, 760px);
    z-index: 1;
}

.link-logo-admin-login {
    display: block;
    position: relative;
    transition: filter 0.2s ease, transform 0.2s ease;
    z-index: 1;
}

.link-logo-admin-login:hover {
    filter: saturate(1.05);
    transform: translateY(-2px);
}

.link-logo-admin-login:focus-visible {
    border-radius: 18px;
    outline: 3px solid rgba(255, 255, 255, 0.42);
    outline-offset: 6px;
}

.link-login-comum {
    color: rgba(232, 244, 237, 0.9);
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 800;
    margin-top: 12px;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.link-login-comum:hover {
    color: #ffffff;
}

.links-login-secundarios {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.slogan-login-marca {
    color: #ffffff;
    filter: drop-shadow(0 3px 8px rgba(0, 24, 18, 0.34));
    font-family: "Segoe UI", "Inter", Arial, sans-serif;
    font-size: clamp(1.2rem, 1.68vw, 1.5rem);
    font-style: italic;
    font-weight: 720;
    left: 56%;
    letter-spacing: 0;
    margin: 0;
    max-width: min(100%, 680px);
    padding: 0 12px;
    position: absolute;
    text-align: center;
    text-transform: none;
    top: 50%;
    transform: translate(-50%, clamp(38px, 4.6vw, 74px));
    width: 100%;
    z-index: 1;
}

.slogan-login-marca span {
    animation: revelar-linha-slogan 3s cubic-bezier(0.22, 1, 0.36, 1) both;
    color: #e9fff2;
    display: block;
    overflow: hidden;
    position: relative;
    text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.28),
        0 0 12px rgba(155, 230, 191, 0.44),
        0 0 22px rgba(97, 185, 228, 0.26);
    white-space: nowrap;
}

.slogan-login-marca span:nth-child(2) {
    animation-delay: 0.95s;
    color: #cceeff;
    left: 34px;
    margin-top: 3px;
    opacity: 0.92;
}

.slogan-login-marca span:nth-child(1) {
    left: -24px;
}

@keyframes entrada-logo-login {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.985);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes entrada-slogan-login {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    70% {
        opacity: 1;
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes entrada-slogan-login-fixo {
    from {
        opacity: 0;
        transform: translate(-50%, clamp(98px, 9.5vw, 142px));
    }
    70% {
        opacity: 1;
    }
    to {
        opacity: 1;
        transform: translate(-50%, clamp(82px, 8.5vw, 124px));
    }
}

@keyframes revelar-linha-slogan {
    from {
        opacity: 0;
        clip-path: inset(0 100% 0 0);
    }
    to {
        opacity: 1;
        clip-path: inset(0 0 0 0);
    }
}

.area-login-marca {
    align-items: center;
    display: grid;
    gap: 0;
    justify-self: end;
    max-height: calc(100vh - 80px);
    max-width: min(100%, 760px);
    min-width: 0;
    position: relative;
    transform: translate(24px, -42px);
    width: 100%;
    z-index: 1;
}

.informativo-login {
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(4px);
    border: 2px solid rgba(255, 255, 255, 0.42);
    border-radius: 26px;
    box-shadow:
        0 0 0 8px rgba(255, 255, 255, 0.08),
        0 24px 64px rgba(4, 18, 10, 0.28);
    left: 50%;
    max-width: min(88vw, 940px);
    padding: 10px;
    position: fixed;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    z-index: 5;
}

.informativo-login img {
    border-radius: 22px;
    display: block;
    max-height: min(78vh, 820px);
    max-width: min(84vw, 900px);
    object-fit: contain;
    width: auto;
}

.fechar-informativo-login {
    align-items: center;
    background: linear-gradient(180deg, #d13f32 0%, #a9271e 100%);
    border: 2px solid rgba(255, 255, 255, 0.75);
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(124, 25, 18, 0.24);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.2rem;
    font-weight: 900;
    height: 30px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: absolute;
    right: -12px;
    top: -12px;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    width: 30px;
}

.fechar-informativo-login:hover {
    background: linear-gradient(180deg, #e04a3d 0%, #b82d23 100%);
    box-shadow: 0 10px 22px rgba(124, 25, 18, 0.34);
    transform: translateY(-1px);
}

.informativo-login.oculto {
    display: none;
}

.suporte-whatsapp-login {
    align-items: center;
    background: linear-gradient(180deg, rgba(37, 211, 102, 0.72) 0%, rgba(18, 140, 74, 0.68) 100%);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 16px 16px 6px 16px;
    bottom: 26px;
    box-shadow: 0 14px 28px rgba(5, 30, 16, 0.24);
    color: #ffffff;
    display: inline-flex;
    height: 48px;
    justify-content: center;
    opacity: 0.82;
    position: fixed;
    right: 26px;
    transition: background 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
    width: 56px;
    z-index: 8;
}

.suporte-whatsapp-login svg {
    fill: currentColor;
    height: 28px;
    opacity: 0.86;
    width: 28px;
}

.suporte-whatsapp-login:hover {
    background: linear-gradient(180deg, rgba(37, 211, 102, 0.92) 0%, rgba(18, 140, 74, 0.88) 100%);
    box-shadow: 0 18px 36px rgba(5, 30, 16, 0.36);
    filter: saturate(1.08);
    opacity: 1;
    transform: translateY(-2px) scale(1.03);
}

.suporte-whatsapp-login:active {
    box-shadow: 0 10px 22px rgba(5, 30, 16, 0.3);
    transform: translateY(0) scale(0.98);
}

@media (max-width: 640px) {
    body {
        font-size: 0.94rem;
    }

    .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .bloco > header,
    .bloco .cabecalho-bloco-linha,
    .bloco > .formulario,
    .bloco > .tabela-responsiva,
    .bloco-filtros {
        padding-left: 12px;
        padding-right: 12px;
    }

    .botao-primario,
    .botao-secundario {
        min-height: 40px;
    }
}

@media (max-width: 900px) {
    .topo-app,
    .cabecalho-pagina {
        align-items: flex-start;
        flex-direction: column;
    }

    .grade-privacidade {
        grid-template-columns: 1fr;
    }

    .privacidade-largura-total {
        grid-column: auto;
    }

    .calculadora-farmaceutica {
        bottom: 12px;
        right: 12px;
        width: calc(100vw - 24px);
    }

    .grade-calculadora {
        grid-template-columns: 1fr;
    }

    .menu-principal,
    .usuario-topo {
        width: 100%;
    }

    .usuario-topo {
        justify-content: space-between;
        margin-left: 0;
    }

    .menu-lateral-app {
        bottom: auto;
        display: grid;
        gap: 12px;
        grid-template-columns: 1fr auto;
        left: 0;
        padding: 12px 14px;
        right: 0;
        top: 0;
        width: auto;
    }

    .menu-lateral-app::after {
        bottom: 0;
        height: 6px;
        left: 0;
        right: 0;
        top: auto;
        width: auto;
    }

    .marca-lateral {
        border-bottom: 0;
        grid-column: 1 / -1;
        justify-content: center;
        margin-bottom: 18px;
        padding: 0 0 12px;
    }

    .marca-lateral img {
        height: 88px;
        transform: translateY(-8px);
        width: 250px;
    }

    .modal-atendimento {
        max-height: 88vh;
        padding: 18px;
    }

    .grade-modal-atendimento {
        grid-template-columns: 1fr;
    }

    .detalhes-beneficiario-modal,
    .detalhes-entrega-modal,
    .detalhes-pessoa-modal {
        grid-template-columns: 1fr;
    }

    .detalhes-entrega-modal p:nth-child(4),
    .detalhes-entrega-modal p:nth-child(5) {
        grid-column: auto;
    }

    .menu-lateral-links {
        align-items: center;
        display: flex;
        flex: 1 1 100%;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 0;
        overflow: visible;
        padding: 0;
    }

    .menu-lateral-links a,
    .menu-lateral-links .item-menu-inativo {
        font-size: 0.92rem;
        min-height: 36px;
        padding: 7px 9px;
    }

    .menu-lateral-links .botao-sigaf-lateral {
        margin-top: 0;
        min-height: 36px;
        padding: 5px 9px;
    }

    table {
        min-width: 100%;
    }

    th,
    td {
        padding-left: 8px;
        padding-right: 8px;
    }

    .acoes-tabela {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .acoes-tabela .botao-mini,
    .acoes-tabela form,
    .acoes-tabela form button {
        flex-basis: auto;
        width: 100%;
    }

    .tabela-usuarios-cadastrados .acoes-tabela-grade {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-items: stretch;
    }

    .tabela-usuarios-cadastrados .acoes-tabela-grade .botao-mini,
    .tabela-usuarios-cadastrados .acoes-tabela-grade form,
    .tabela-usuarios-cadastrados .acoes-tabela-grade form .botao-mini {
        width: 100%;
    }

    .botao-sair-lateral {
        align-self: auto;
        bottom: 12px;
        left: 14px;
        margin-top: 0;
        min-height: 38px;
        min-width: 68px;
        position: fixed;
        right: auto;
        transform: none;
        z-index: 30;
    }

    .mascote-rive-assistente {
        bottom: 5px;
        right: 6px;
        height: 232px;
        width: 224px;
    }

    .mascote-rive-balao {
        bottom: 164px;
        max-width: 150px;
        padding: 8px 9px;
        right: 0;
    }

    .mascote-rive-balao::after {
        right: 38px;
    }

    .mascote-rive-balao span {
        display: none;
    }

    .mascote-rive-botao {
        height: 186px;
        width: 212px;
    }

    .acoes-cabecalho-painel {
        justify-content: space-between;
        margin-left: 0;
        width: 100%;
    }

    .logo-cidade-cabecalho {
        height: 64px;
        width: 138px;
    }

    .logo-cidade-cabecalho img {
        max-height: 64px;
        max-width: 138px;
        width: auto;
    }

    .com-menu-lateral .container {
        margin-left: auto;
        max-width: 1180px;
        padding-top: 160px;
    }

    .grade-metricas,
    .grade-dupla,
    .grade-formulario-lista,
    .grade-siglas,
    .corpo-demanda-bairro-dashboard,
    .painel-admin-acao,
    .grade-perfis-admin,
    .perfil-implantacao-linha,
    .grade-editar-atendimento,
    .linha-campos,
    .campo-dias-fluxo,
    .form-fila-dia,
    .item-beneficiario-atendimento,
    .linha-remume-receitas,
    .formulario-vistoria-dia,
    .form-filtros {
        grid-template-columns: 1fr;
    }

    .grade-secretaria-graficos {
        grid-template-columns: 1fr;
    }

    .grade-dashboard-geral-secretaria {
        grid-template-columns: 1fr;
    }

    .grupo-filtro-periodo,
    .grupo-filtro-analise {
        grid-template-columns: 1fr;
    }

    .acoes-filtro-secretaria .botao-buscar {
        width: 100%;
    }

    .grade-pizzas-secretaria {
        grid-template-columns: 1fr;
    }

    .pizza-secretaria-card {
        grid-template-columns: minmax(150px, 0.45fr) minmax(0, 1fr);
    }

    .linha-grafico-secretaria,
    .grafico-barras-secretaria-compacto .linha-grafico-secretaria {
        grid-template-columns: minmax(0, 1fr) 48px;
    }

    .linha-grafico-secretaria div {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .linha-grafico-secretaria em {
        display: none;
    }

    .item-encaminhamento-ubs {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .bloco-analise-ia-secretaria header,
    .resultado-analise-ia div {
        align-items: stretch;
        flex-direction: column;
    }

    .bloco-analise-ia-secretaria header form,
    .bloco-analise-ia-secretaria header button {
        width: 100%;
    }

    .corpo-analise-ia-secretaria {
        grid-template-columns: 1fr;
    }

    .arquivo-analises-ia {
        max-height: none;
    }

    .form-status-encaminhamento {
        justify-content: flex-start;
    }

    .atendimento-chamado {
        align-items: stretch;
        flex-direction: column;
    }

    .item-fila-dia {
        grid-template-columns: 46px minmax(0, 1fr);
    }

    .linha-grafico-horario {
        grid-template-columns: 70px minmax(0, 1fr) 34px;
    }

    .acoes-fila-dia {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .item-informativo {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .item-assinatura {
        grid-template-columns: 1fr;
    }

    .dados-relatorio-esus,
    .topo-relatorio-esus {
        grid-template-columns: 1fr;
    }

    .topo-relatorio-esus {
        align-items: flex-start;
        flex-direction: column;
    }

    .item-informativo .acoes-tabela {
        grid-column: 1 / -1;
    }

    .tela-login .pagina-login {
        gap: 24px;
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
    }

    .tela-login .card-login {
        justify-self: center;
    }

    .area-login-marca {
        justify-self: center;
        transform: none;
        width: min(100%, 520px);
    }

    .logo-login-grande {
        max-height: 34vh;
        width: min(100%, 520px);
    }

    .slogan-login-marca {
        font-size: 1rem;
        margin-top: 0;
        transform: translate(-50%, 30px);
    }

    .informativo-login {
        max-width: calc(100vw - 28px);
    }

    .informativo-login img {
        max-height: 64vh;
        max-width: calc(100vw - 54px);
    }

    .suporte-whatsapp-login {
        bottom: 16px;
        height: 46px;
        right: 16px;
        width: 52px;
    }

    .suporte-whatsapp-login svg {
        height: 27px;
        width: 27px;
    }
}

@media (max-width: 1600px) {
    .tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(1),
    .tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(1) {
        width: 40%;
    }

    .tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(2),
    .tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(2) {
        width: 28%;
    }

    .tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(3),
    .tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(3) {
        display: none;
    }

    .tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(4),
    .tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(4) {
        text-align: left;
        width: 9%;
    }

    .tabela-usuarios-cadastrados.tabela-usuarios-sistema th:nth-child(5),
    .tabela-usuarios-cadastrados.tabela-usuarios-sistema td:nth-child(5) {
        text-align: right;
        width: 23%;
    }

    .tabela-usuarios-cadastrados.tabela-usuarios-sistema td:first-child strong {
        line-height: 1.16;
        white-space: normal;
    }

    .tabela-usuarios-sistema td.acoes-tabela {
        padding-right: 0;
        text-align: right;
        white-space: normal;
    }

    .tabela-usuarios-sistema td.acoes-tabela > a.botao-mini,
    .tabela-usuarios-sistema td.acoes-tabela > form {
        display: flex;
        margin-left: auto;
        width: 84px;
    }

    .tabela-usuarios-sistema td.acoes-tabela > a.botao-mini {
        margin-bottom: 7px;
        margin-right: 0;
    }

    .tabela-usuarios-sistema td.acoes-tabela > a.botao-mini:only-child {
        margin-bottom: 0;
        margin-right: 0;
    }

    .tabela-usuarios-sistema td.acoes-tabela > form .botao-mini {
        min-width: 0;
        width: 100%;
    }

    .ubs-usuario-mobile {
        color: var(--cor-muted);
        display: block;
        font-size: 0.76rem;
        font-weight: 800;
        line-height: 1.2;
        margin-top: 4px;
    }
}

@media (max-width: 1100px) {
    .grade-acoes-ia-operacional,
    .grade-metricas-ia-operacional,
    .grade-prioridades-ia-secretaria {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .grade-acoes-ia-operacional,
    .grade-metricas-ia-operacional,
    .grade-prioridades-ia-secretaria {
        grid-template-columns: 1fr;
    }

    .card-acao-ia {
        min-height: 150px;
    }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 7mm;
    }

    .topo-app,
    .menu-lateral-app,
    .menu-principal,
    .menu-lateral-links,
    .usuario-topo,
    .calculadora-farmaceutica,
    .video-interno-bg,
    .mascote-rive-assistente,
    .acoes-relatorio-impressao,
    .cabecalho-pagina,
    .cabecalho-pagina .botao-secundario,
    .cabecalho-pagina .botao-primario,
    .cabecalho-pagina .botao-preto-sistema,
    .bloco-filtros,
    .grade-acoes-ia-operacional,
    .arquivo-analises-ia,
    .metrica-resumo-atendente,
    .botao-visualizar-medicamentos-relatorio,
    .modal-medicamentos-relatorio-overlay {
        display: none !important;
    }

    body::before {
        display: none;
    }

    body {
        background: #fff;
    }

    .container {
        margin: 0;
        max-width: none;
        padding: 0;
    }

    .com-menu-lateral .container {
        margin-left: 0;
        max-width: none;
        padding: 0;
    }

    .bloco,
    .metrica,
    .folha-relatorio-esus {
        border: 0;
        box-shadow: none;
    }

    .folha-relatorio-esus {
        padding: 0;
    }

    .metricas-relatorio-periodo {
        display: grid;
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0 0 8px;
    }

    .grade-metricas-ia-operacional {
        display: grid;
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0 0 10px;
    }

    .grade-metricas-ia-operacional .metrica {
        border: 1px solid #d6e2da;
        border-radius: 8px;
        min-height: auto;
        padding: 6px 8px;
    }

    .grade-metricas-ia-operacional .metrica span {
        color: #000;
        display: inline;
        font-size: 0.78rem;
    }

    .grade-metricas-ia-operacional .metrica strong {
        color: #000;
        display: inline;
        font-size: 1rem;
        margin-left: 8px;
    }

    .cabecalho-print-relatorio {
        align-items: center;
        border-bottom: 1px solid #dfe7dd;
        display: grid;
        gap: 6px;
        justify-items: center;
        margin-bottom: 12px;
        padding-bottom: 8px;
        text-align: center;
    }

    .cabecalho-print-relatorio img.cabecalho-pdf-oficial,
    .topo-relatorio-esus img.cabecalho-pdf-oficial {
        height: auto;
        object-fit: contain;
        width: 100%;
    }

    .cabecalho-print-relatorio strong {
        color: #000;
        display: block;
        font-size: 1rem;
        margin-top: 2px;
    }

    .cabecalho-print-relatorio span {
        color: #333;
        display: block;
        font-size: 0.75rem;
        margin-top: 4px;
    }

    .bloco-ia-operacional-pagina {
        border: 1px solid #d6e2da;
        border-radius: 14px;
        margin-top: 10px;
        overflow: visible;
        page-break-inside: auto;
    }

    .bloco-ia-operacional-pagina > header {
        border-bottom: 1px solid #d6e2da;
        padding: 7px 8px 6px;
    }

    .bloco-ia-operacional-pagina .corpo-analise-ia-secretaria {
        display: block;
        overflow: visible;
        padding: 8px;
    }

    .bloco-ia-operacional-pagina .resultado-analise-ia {
        border: 0;
        border-radius: 0;
        display: block;
        overflow: visible;
        page-break-inside: auto;
        padding: 0;
    }

    .bloco-ia-operacional-pagina .resultado-analise-ia p {
        font-size: 0.82rem;
        line-height: 1.42;
        overflow: visible;
        page-break-inside: auto;
        white-space: normal;
    }

    .metrica-total-periodo {
        border: 1px solid #d6e2da;
        border-radius: 8px;
        min-height: auto;
        padding: 6px 8px;
    }

    .metrica-total-periodo span {
        color: #000;
        display: inline;
        font-size: 0.78rem;
    }

    .metrica-total-periodo strong {
        color: #000;
        display: inline;
        font-size: 1rem;
        margin-left: 8px;
    }

    .bloco-atendimentos-relatorio > header {
        border-bottom: 1px solid #d6e2da;
        padding: 7px 8px 6px;
    }

    .bloco-atendimentos-relatorio .tabela-responsiva {
        max-height: none;
        overflow: visible;
        padding: 6px;
    }

    .bloco-atendimentos-relatorio {
        border: 1px solid #d6e2da;
        border-radius: 14px;
        box-shadow: none;
        overflow: hidden;
    }

    .bloco-atendimentos-relatorio table {
        --relatorio-padding-x: 4px;
        font-size: 0.68rem;
        table-layout: fixed;
        width: 100%;
    }

    .col-rel-data {
        width: 12%;
    }

    .col-rel-retirante {
        width: 18%;
    }

    .col-rel-beneficiario {
        width: 23%;
    }

    .col-rel-atendente {
        width: 10%;
    }

    .col-rel-tipo {
        width: 25%;
    }

    .col-rel-status {
        width: 12%;
    }

    .bloco-atendimentos-relatorio th {
        font-size: 0.58rem;
        padding: 5px var(--relatorio-padding-x);
    }

    .bloco-atendimentos-relatorio td {
        line-height: 1.14;
        padding: 6px var(--relatorio-padding-x);
        vertical-align: top;
    }

    .bloco-atendimentos-relatorio td small {
        font-size: 0.58rem;
        line-height: 1.18;
    }

    .status-atendimento-relatorio {
        font-size: 0.58rem;
        min-width: 54px;
        padding: 3px 4px;
    }

    .bloco-atendimentos-relatorio th:nth-child(n+2),
    .bloco-atendimentos-relatorio td:nth-child(n+2),
    .bloco-atendimentos-relatorio th:nth-child(4),
    .bloco-atendimentos-relatorio td:nth-child(4),
    .bloco-atendimentos-relatorio th:nth-child(5),
    .bloco-atendimentos-relatorio td:nth-child(5),
    .bloco-atendimentos-relatorio th:nth-child(6),
    .bloco-atendimentos-relatorio td:nth-child(6) {
        padding-left: var(--relatorio-padding-x);
        padding-right: var(--relatorio-padding-x);
    }

    .relatorio-data-horario small,
    .relatorio-retirante strong,
    .relatorio-retirante strong span,
    .relatorio-beneficiario strong,
    .relatorio-beneficiario strong span,
    .relatorio-tipo-atendimento strong,
    .relatorio-tipo-atendimento small {
        margin-top: initial;
        margin-bottom: initial;
        white-space: normal;
    }

    table {
        min-width: 0;
    }
}
/* Care Cidadao: comunicacao da farmacia com o aplicativo. */
.cabecalho-care-cidadao {
    align-items: center;
    display: flex;
    gap: 22px;
    justify-content: space-between;
}

.pagina-care-cidadao .cabecalho-pagina .titulo-marca-care,
.pagina-care-rotinas .cabecalho-pagina .titulo-marca-care {
    color: inherit;
    letter-spacing: -0.04em;
}

.titulo-marca-care span {
    color: #009a44;
}

.titulo-marca-care strong {
    color: #0879c9;
    font-weight: inherit;
}

.logo-care-cidadao-topo {
    align-items: center;
    align-self: flex-start;
    display: flex;
    flex: 0 0 96px;
    justify-content: center;
    margin-top: -20px;
    min-height: 88px;
}

.logo-care-cidadao-topo img {
    display: block;
    filter: drop-shadow(0 9px 14px rgba(8, 121, 201, 0.14));
    height: 88px;
    object-fit: contain;
    width: 88px;
}

.care-cidadao-destaque {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: center;
    margin-bottom: 18px;
    padding: 16px 18px;
    color: #12304a;
    background: linear-gradient(120deg, #eaf8f0, #eaf5fc);
    border: 1px solid #cce8db;
    border-radius: 16px;
}

.care-cidadao-destaque strong {
    display: block;
    font-size: 1.05rem;
}

.care-cidadao-destaque span {
    display: block;
    margin-top: 3px;
    color: #526a63;
}

.care-cidadao-marca {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #fff;
    font-weight: 900;
    background: linear-gradient(145deg, #009a44, #0879c9);
    border-radius: 14px;
}

.grade-care-cidadao {
    align-items: start;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
}

.care-tutorial-conteudo {
    display: grid;
    gap: 18px;
    padding: 18px;
}

.care-tutorial-passos {
    display: grid;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.care-tutorial-passos li {
    align-items: flex-start;
    display: grid;
    gap: 12px;
    grid-template-columns: 36px minmax(0, 1fr);
}

.care-tutorial-passos li > span {
    align-items: center;
    background: linear-gradient(145deg, #009a44, #0879c9);
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 0.9rem;
    font-weight: 900;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.care-tutorial-passos strong {
    color: #12304a;
    display: block;
    line-height: 1.25;
}

.care-tutorial-passos p {
    color: #617068;
    line-height: 1.48;
    margin: 4px 0 0;
}

.care-tutorial-exemplo {
    background: linear-gradient(135deg, #eaf8f0, #eaf5fc);
    border: 1px solid #cce8db;
    border-radius: 12px;
    color: #12304a;
    padding: 15px;
}

.care-tutorial-exemplo strong {
    color: #0879c9;
    display: block;
    margin-bottom: 7px;
}

.care-tutorial-exemplo p,
.care-tutorial-alerta {
    line-height: 1.5;
    margin: 0;
}

.care-tutorial-alerta {
    background: #fff7df;
    border-left: 4px solid #dda627;
    border-radius: 8px;
    color: #624a12;
    padding: 13px 14px;
}

.care-historico-avisos {
    margin-top: 18px;
}

.care-solicitacoes-encerramento {
    border-color: rgba(227, 27, 35, 0.22);
    margin-bottom: 18px;
}

.care-solicitacoes-encerramento > header span {
    background: #fde8e8;
    border-radius: 999px;
    color: #a72a2f;
    font-size: 0.8rem;
    font-weight: 900;
    padding: 6px 10px;
}

.care-acoes-encerramento {
    display: flex;
    gap: 7px;
    min-width: 190px;
}

.care-acoes-encerramento form {
    margin: 0;
}

.care-acoes-encerramento .botao-mini {
    font-weight: 900;
    justify-content: center;
    min-height: 34px;
    white-space: nowrap;
}

.care-historico-avisos .tabela-responsiva {
    overflow-x: auto;
}

.care-historico-avisos table {
    min-width: 980px;
    table-layout: fixed;
}

.care-historico-avisos th:nth-child(1),
.care-historico-avisos td:nth-child(1) {
    width: 32%;
}

.care-historico-avisos th:nth-child(2),
.care-historico-avisos td:nth-child(2) {
    width: 17%;
}

.care-historico-avisos th:nth-child(3),
.care-historico-avisos td:nth-child(3) {
    width: 13%;
}

.care-historico-avisos th:nth-child(4),
.care-historico-avisos td:nth-child(4) {
    padding-left: 28px;
    width: 17%;
}

.care-historico-avisos th:nth-child(5),
.care-historico-avisos td:nth-child(5) {
    width: 11%;
}

.care-historico-avisos th:nth-child(6),
.care-historico-avisos td:nth-child(6) {
    width: 10%;
}

.care-aviso-acao form {
    align-items: stretch;
    display: flex;
    height: 34px;
    line-height: 0;
    margin: 0;
    width: 82px;
}

.care-aviso-acao .botao-mini {
    align-items: center;
    appearance: none;
    box-sizing: border-box;
    display: inline-flex;
    font-weight: 900 !important;
    height: 34px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    padding: 0 8px;
    text-align: center;
    vertical-align: top;
    white-space: nowrap;
    width: 100%;
}

.formulario-care-cidadao textarea {
    min-height: 132px;
    resize: vertical;
}

.care-campos-linha {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.care-opcao-som {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    background: #f0f8f4;
    border-radius: 12px;
}

.care-opcao-som input {
    width: 20px;
    height: 20px;
}

.care-aviso-status {
    display: inline-block;
    padding: 4px 9px;
    font-size: .76rem;
    font-weight: 800;
    color: #11683f;
    background: #e2f5e9;
    border-radius: 999px;
}

.care-aviso-status.agendado {
    color: #075b91;
    background: #e6f3fb;
}

.care-aviso-status.expirado,
.care-aviso-status.cancelado {
    color: #59636c;
    background: #edf0f2;
}

.care-aviso-mensagem {
    max-width: 420px;
    white-space: normal;
}

.care-aviso-mensagem small {
    display: block;
    margin-top: 5px;
    color: #617068;
}

.care-recorrencia {
    display: grid;
    gap: 14px;
    margin: 2px 0;
    padding: 16px;
    border: 1px solid rgba(8, 121, 201, 0.2);
    border-radius: 14px;
    background: rgba(234, 245, 252, 0.55);
}

.care-recorrencia legend {
    padding: 0 7px;
    color: #12304a;
    font-weight: 900;
}

.care-recorrencia [data-care-recorrencia-campos] {
    display: grid;
    gap: 14px;
}

.care-recorrencia [hidden],
.formulario-care-cidadao [hidden] {
    display: none !important;
}

.care-dias-semana {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.care-dias-semana > span {
    grid-column: 1 / -1;
    color: #12304a;
    font-weight: 800;
}

.care-dias-semana label {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 7px;
    padding: 8px 10px;
    background: #fff;
    border-radius: 9px;
}

.care-dias-semana input {
    width: 18px;
    height: 18px;
}

.care-catalogo-manual {
    margin: 0 18px 20px;
    border: 1px solid #d9e9df;
    border-radius: 12px;
    background: #f7fbf9;
}

.care-catalogo-manual summary {
    padding: 14px 16px;
    color: #0879c9;
    cursor: pointer;
    font-weight: 900;
}

.care-catalogo-manual .formulario {
    padding: 4px 16px 16px;
}

@media (max-width: 720px) {
    .cabecalho-care-cidadao {
        align-items: center;
        flex-direction: row;
    }

    .logo-care-cidadao-topo {
        align-self: center;
        flex-basis: 76px;
        margin-top: 0;
        min-height: 72px;
    }

    .logo-care-cidadao-topo img {
        height: 72px;
        width: 72px;
    }

    .care-campos-linha {
        grid-template-columns: 1fr;
    }

    .care-dias-semana {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    .grade-care-cidadao {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Rotinas medicamentosas do Care Cidadao na conclusao do atendimento. */
.modal-care-rotinas,
.modal-care-codigos {
    max-height: 92vh;
    max-width: 1040px;
    width: min(1040px, calc(100vw - 32px));
}

.modal-care-rotinas > header,
.modal-care-codigos > header {
    min-height: 78px;
    padding-right: 142px;
    position: relative;
}

.cabecalho-care-rotinas-texto {
    min-width: 0;
}

.modal-care-rotinas > header .care-marca-modal {
    letter-spacing: 0;
    text-transform: none;
}

.care-marca-modal b,
.care-marca-modal strong {
    font-size: 1rem;
    font-weight: 900;
}

.care-marca-modal b {
    color: #079447;
}

.care-marca-modal strong {
    color: #0879c9;
}

.logo-modal-care-cidadao {
    height: 72px;
    object-fit: contain;
    position: absolute;
    right: 48px;
    top: -5px;
    width: 72px;
}

.modal-care-rotinas > .fechar-modal-atendimento {
    z-index: 5;
}

.modal-care-rotinas > header p,
.modal-care-codigos > header p {
    color: var(--cor-muted);
    margin: 6px 0 0;
}

.lista-care-rotinas {
    display: grid;
    gap: 16px;
    max-height: calc(92vh - 205px);
    overflow-y: auto;
    padding: 18px;
}

.care-rotina-beneficiario {
    background: #f8fbfa;
    border: 1px solid #d6e8df;
    border-radius: 14px;
    overflow: hidden;
}

.care-rotina-beneficiario > header {
    align-items: center;
    background: linear-gradient(120deg, #eaf8f0, #eaf5fc);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 14px 16px;
}

.care-rotina-beneficiario > header span,
.care-rotina-beneficiario > header strong {
    display: block;
}

.care-rotina-beneficiario > header span {
    color: var(--cor-muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.care-rotina-beneficiario > header strong {
    color: #12304a;
    margin-top: 3px;
}

.care-gerar-codigo,
.care-incluir-rotina,
.care-lembrete {
    align-items: center;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px;
}

.care-gerar-codigo {
    background: #fff;
    border: 1px solid #c9e1d4;
    border-radius: 10px;
    color: #11683f;
    font-weight: 900;
    padding: 10px 12px;
}

.care-gerar-codigo input,
.care-incluir-rotina input,
.care-lembrete input {
    height: 19px;
    width: 19px;
}

.care-lista-medicamentos {
    display: grid;
    gap: 12px;
    padding: 14px;
}

.care-rotina-medicamento {
    background: #fff;
    border: 1px solid #e0e9e4;
    border-radius: 12px;
    padding: 14px;
}

.care-incluir-rotina {
    color: #12304a;
    margin-bottom: 12px;
}

.care-configuracao-tomada {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(330px, 0.85fr) minmax(0, 1.15fr);
    margin-bottom: 14px;
}

.care-passo-rotina {
    background: #f8fbff;
    border: 1px solid #d9e7f2;
    border-radius: 12px;
    margin: 0;
    min-width: 0;
    padding: 14px;
}

.care-passo-rotina legend {
    color: #12304a;
    font-size: 0.92rem;
    font-weight: 900;
    padding: 0 7px;
}

.care-passo-rotina legend span {
    align-items: center;
    background: #0879c9;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    height: 26px;
    justify-content: center;
    margin-right: 6px;
    width: 26px;
}

.care-quantidade-linha {
    align-items: stretch;
    display: grid;
    gap: 7px;
    grid-template-columns: 40px 54px 40px minmax(0, 1fr);
}

.care-quantidade-linha button {
    align-items: center;
    background: #0879c9;
    border: 0;
    border-radius: 9px;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 1.45rem;
    font-weight: 900;
    justify-content: center;
}

.care-quantidade-linha input,
.care-quantidade-linha select {
    border: 1px solid #b9cfdf;
    border-radius: 9px;
    font-size: 1rem;
    font-weight: 800;
    min-width: 0;
    padding: 9px;
    text-align: center;
}

.care-quantidade-linha select {
    font-size: 0.92rem;
    max-width: 100%;
    text-align: left;
    width: 100%;
}

.care-opcoes-frequencia {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.care-opcoes-frequencia button {
    background: #fff;
    border: 2px solid #bfd4e3;
    border-radius: 9px;
    color: #315268;
    cursor: pointer;
    font-weight: 900;
    min-height: 42px;
    padding: 7px;
}

.care-opcoes-frequencia button.ativo {
    background: #e5f6ed;
    border-color: #159557;
    color: #0b6a3c;
    box-shadow: 0 0 0 2px rgba(21, 149, 87, 0.12);
}

.care-horarios-visuais {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 12px;
}

.care-horarios-visuais label {
    color: #405d70;
    display: grid;
    font-size: 0.76rem;
    font-weight: 800;
    gap: 4px;
}

.care-horarios-visuais input[type="time"] {
    background: #fff;
    border: 1px solid #b9cfdf;
    border-radius: 9px;
    color: #12304a;
    font-size: 1rem;
    font-weight: 900;
    min-width: 0;
    padding: 9px 7px;
    width: 100%;
}

.care-aviso-horarios {
    color: #667b89;
    font-size: 0.74rem;
    font-weight: 700;
    margin: 8px 0 0;
}

.care-rotina-campos {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.care-rotina-campos label {
    color: #3e544c;
    display: flex;
    flex-direction: column;
    font-size: 0.86rem;
    font-weight: 800;
    gap: 6px;
}

.care-rotina-campos input[type="text"],
.care-rotina-campos input[type="date"],
.care-rotina-campos input[type="number"],
.care-rotina-campos select {
    min-width: 0;
    width: 100%;
}

.care-campo-horarios {
    grid-column: span 2;
}

.care-campo-horarios small {
    color: var(--cor-muted);
    font-size: 0.75rem;
    font-weight: 600;
}

.care-resumo-dose {
    background: linear-gradient(120deg, #eaf8f0, #eaf5fc);
    border-left: 4px solid #159557;
    border-radius: 9px;
    color: #12304a;
    font-size: 0.9rem;
    font-weight: 900;
    grid-column: 1 / -1;
    margin: 0;
    padding: 10px 12px;
}

.care-campo-instrucoes {
    grid-column: span 3;
}

.care-lembrete {
    align-self: end;
    background: #eef8f3;
    border-radius: 9px;
    min-height: 42px;
    padding: 9px 10px;
}

.rodape-modal-care-rotinas {
    align-items: center;
    border-top: 1px solid var(--cor-borda);
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    padding: 15px 18px;
}

.modal-care-revisao form {
    display: grid;
    grid-template-rows: auto minmax(180px, 1fr) auto;
    min-height: 0;
    overflow: hidden;
}

.modal-care-revisao .retirante-modal-atendimento {
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
}

.care-beneficiario-identificacao {
    display: grid;
    gap: 3px;
}

.care-retorno-beneficiario {
    align-items: center;
    background: #edf8f1;
    border: 1px solid #c9e5d4;
    border-radius: 9px;
    color: #174936;
    display: grid;
    gap: 4px 9px;
    grid-template-columns: auto minmax(145px, 175px);
    padding: 7px 9px;
}

.care-retorno-beneficiario > span {
    color: #174936;
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: none;
}

.care-retorno-beneficiario input[type="date"] {
    border: 1px solid #b9cfdf;
    border-radius: 8px;
    color: #12304a;
    font-weight: 800;
    min-height: 36px;
    padding: 6px 8px;
}

.care-retorno-beneficiario small {
    color: #587068;
    font-size: 0.7rem;
    font-weight: 700;
    grid-column: 1 / -1;
    text-align: center;
}

.care-rotina-beneficiario > .care-retorno-beneficiario {
    margin: 12px 14px 0;
}

.modal-care-revisao {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: min(92vh, 900px);
    overflow: hidden;
}

.modal-care-revisao > header {
    margin-bottom: 0;
}

.lista-care-revisao {
    max-height: none;
    min-height: 180px;
    overflow: hidden;
}

.lista-care-revisao > .care-rotina-beneficiario {
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    height: 100%;
    min-height: 0;
}

.modal-care-revisao .care-lista-medicamentos {
    min-height: 0;
    overscroll-behavior: contain;
    overflow-x: hidden;
    overflow-y: scroll !important;
    scrollbar-color: #159557 #e8f1ed;
    scrollbar-gutter: stable;
    scrollbar-width: auto;
}

.modal-care-revisao .care-lista-medicamentos::-webkit-scrollbar {
    width: 13px;
}

.modal-care-revisao .care-lista-medicamentos::-webkit-scrollbar-track {
    background: #e8f1ed;
    border-radius: 10px;
}

.modal-care-revisao .care-lista-medicamentos::-webkit-scrollbar-thumb {
    background: #159557;
    border: 3px solid #e8f1ed;
    border-radius: 10px;
}

.care-reemitir-codigo {
    align-items: center;
    background: #fff8f6;
    border: 1px solid #edcec7;
    border-radius: 12px;
    display: grid;
    gap: 4px 12px;
    grid-template-columns: auto minmax(0, 1fr);
    flex: 1 1 auto;
    margin: 0 auto 0 0;
    max-width: 600px;
    padding: 7px 10px;
}

.care-acoes-revisao {
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
    margin-left: auto;
}

.care-reemitir-codigo .care-gerar-codigo {
    display: inline-flex !important;
    padding: 6px 8px;
}

.care-reemitir-codigo p {
    color: #6e5651;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}

.rodape-modal-care-rotinas .botao-voltar-care {
    align-items: center;
    background: linear-gradient(135deg, #edf7f2, #eaf3fb);
    border: 1px solid #bddaca;
    box-shadow: 0 5px 12px rgba(30, 91, 69, 0.08);
    color: #205a46;
    display: inline-flex;
    font-weight: 900;
    gap: 7px;
    transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.rodape-modal-care-rotinas .botao-voltar-care:hover,
.rodape-modal-care-rotinas .botao-voltar-care:focus-visible {
    background: linear-gradient(135deg, #e2f2e9, #dfedf8);
    box-shadow: 0 8px 16px rgba(30, 91, 69, 0.14);
    transform: translateY(-1px);
}

.rodape-modal-care-rotinas .botao-voltar-care:active {
    box-shadow: 0 3px 7px rgba(30, 91, 69, 0.1);
    transform: translateY(1px);
}


.botao-voltar-care > span {
    font-size: 1.15rem;
    line-height: 1;
}

.grade-care-codigos {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: calc(92vh - 205px);
    overflow-y: auto;
    padding: 18px;
}

.care-comprovante-codigo {
    background: linear-gradient(135deg, #f4fbf7, #f1f8fd);
    border: 1px solid #cce5d8;
    border-radius: 14px;
    padding: 18px;
    text-align: center;
}

.care-comprovante-codigo span,
.care-comprovante-codigo small,
.care-comprovante-codigo strong,
.care-comprovante-codigo b {
    display: block;
}

.care-comprovante-codigo span,
.care-comprovante-codigo small {
    color: var(--cor-muted);
}

.care-comprovante-codigo strong {
    color: #12304a;
    font-size: 1.05rem;
    margin: 5px 0;
}

.care-comprovante-codigo b {
    color: #0879c9;
    font-size: 2.15rem;
    letter-spacing: 0.12em;
    margin: 16px 0 8px;
}

@media (max-width: 1400px), (max-height: 850px) {
    .modal-care-revisao-overlay {
        padding: 8px;
    }

    .modal-care-revisao {
        height: calc(100dvh - 16px);
        max-height: calc(100dvh - 16px);
        max-width: 920px;
        padding: 16px;
        width: min(920px, calc(100vw - 24px));
    }

    .modal-care-revisao > header {
        min-height: 66px;
        padding-bottom: 10px;
    }

    .modal-care-revisao form {
        grid-template-rows: auto minmax(220px, 1fr) auto;
    }

    .modal-care-revisao .lista-care-revisao {
        padding: 12px;
    }

    .modal-care-revisao .care-lista-medicamentos {
        padding: 12px;
    }

    .modal-care-revisao .care-reemitir-codigo {
        margin: 0;
        padding: 6px 9px;
    }

    .modal-care-revisao .rodape-modal-care-rotinas {
        padding: 11px 12px;
    }
}

@media (max-width: 760px) {
    .modal-care-revisao .retirante-modal-atendimento {
        grid-template-columns: 1fr;
    }

    .care-retorno-beneficiario {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .care-retorno-beneficiario small {
        grid-column: auto;
    }

    .care-reemitir-codigo {
        grid-template-columns: 1fr;
        max-width: none;
        width: 100%;
    }

    .care-acoes-revisao {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-left: 0;
        width: 100%;
    }

    .care-rotina-beneficiario > header,
    .rodape-modal-care-rotinas {
        align-items: stretch;
        flex-direction: column;
    }

    .care-rotina-campos,
    .grade-care-codigos {
        grid-template-columns: 1fr;
    }

    .care-campo-instrucoes {
        grid-column: auto;
    }

    .care-campo-horarios {
        grid-column: auto;
    }

    .care-configuracao-tomada {
        grid-template-columns: 1fr;
    }

    .care-opcoes-frequencia,
    .care-horarios-visuais {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .care-quantidade-linha {
        grid-template-columns: 38px 50px 38px minmax(0, 1fr);
    }

    .modal-care-rotinas > header {
        min-height: 62px;
        padding-right: 104px;
    }

    .logo-modal-care-cidadao {
        height: 54px;
        right: 42px;
        width: 54px;
    }
}

@media print {
    body.impressao-codigos-care * {
        visibility: hidden;
    }

    body.impressao-codigos-care .modal-care-codigos,
    body.impressao-codigos-care .modal-care-codigos * {
        visibility: visible;
    }

    body.impressao-codigos-care .modal-care-codigos {
        inset: 0;
        max-height: none;
        max-width: none;
        position: absolute;
        width: 100%;
    }

    body.impressao-codigos-care .modal-care-codigos .rodape-modal-care-rotinas {
        display: none;
    }
}
