:root {
    --fundo: #f7f1e8;
    --fundo-painel: rgba(255, 252, 247, 0.88);
    --linha: #d9cbb7;
    --texto: #2f241b;
    --texto-suave: #6a594a;
    --destaque: #8f4b2e;
    --sombra: 0 24px 60px rgba(70, 44, 23, 0.12);
}

.sgc-restaurando-rolagem body {
    visibility: hidden;
}

[hidden] {
    display: none !important;
}

.controle-envio-bloqueado {
    pointer-events: none;
    opacity: .68;
    cursor: wait;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
    font-family: "Trebuchet MS", "Gill Sans", sans-serif;
    color: var(--texto);
    background:
        radial-gradient(circle at top left, rgba(196, 136, 86, 0.22), transparent 32%),
        linear-gradient(160deg, #efe2d0 0%, #f7f1e8 48%, #f4eee5 100%);
}

.fundo {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto;
    padding: 48px 0 64px;
}

.cabecalho {
    position: relative;
    z-index: 10;
    margin: 0 0 28px;
    overflow: visible;
    border: 1px solid rgba(143, 75, 46, .16);
    border-radius: 22px;
    background: rgba(255, 252, 247, .7);
    box-shadow: 0 10px 28px rgba(70, 44, 23, .08);
    backdrop-filter: blur(10px);
}

.barra-superior {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    min-height: 78px;
    padding: 8px 18px;
}

.marca-cabecalho {
    display: inline-flex;
    flex: 0 0 350px;
    min-width: 0;
}

.marca-cabecalho:focus-visible {
    border-radius: 8px;
    outline: 2px solid var(--destaque);
    outline-offset: 3px;
}

.marca {
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.78rem;
    color: var(--texto-suave);
}

.marca-extenso {
    margin: 0 0 10px;
    font-size: 1rem;
    color: var(--texto);
    font-weight: 600;
    letter-spacing: 0.02em;
}

.logo-cabecalho {
    display: block;
    width: min(350px, 100%);
    height: auto;
}

.cabecalho-pagina {
    padding: 20px 24px 22px;
    border-top: 1px solid rgba(217, 203, 183, .78);
}

.acao-retorno {
    margin: 12px 0 0;
}

.link-inicio {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border: 1px solid rgba(143, 75, 46, .2);
    border-radius: 999px;
    color: var(--destaque);
    background: rgba(255, 255, 255, .62);
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.link-inicio svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.link-inicio:hover,
.link-inicio:focus-visible {
    border-color: var(--destaque);
    background: rgba(143, 75, 46, .1);
    transform: translateY(-1px);
    outline: none;
}

.cabecalho h1 {
    margin: 0;
    font-size: clamp(2rem, 5vw, 3.4rem);
    line-height: 1.05;
}

.conteudo {
    display: block;
}

.painel {
    padding: 28px;
    border: 1px solid rgba(143, 75, 46, 0.14);
    border-radius: 28px;
    background: var(--fundo-painel);
    box-shadow: var(--sombra);
    backdrop-filter: blur(10px);
}

.painel-com-indicador {
    position: relative;
}

.indicador-canto {
    position: absolute;
    top: 18px;
    right: 20px;
}

.destaque {
    margin: 0 0 24px;
    max-width: 54ch;
    font-size: 1.05rem;
    color: var(--destaque);
}

.grade {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

.cartao {
    padding: 20px;
    border: 1px solid var(--linha);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.72);
}

.cartao h2 {
    margin: 0 0 10px;
    font-size: 1.08rem;
}

.cartao p {
    margin: 0;
    color: var(--texto-suave);
    line-height: 1.5;
}

.panorama-grupos {
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    margin-bottom: 22px;
}

.panorama-grupos .cartao strong {
    font-size: 1.8rem;
    color: var(--destaque);
}

.panorama-grupos .cartao {
    display: grid;
    grid-template-rows: 2.6em auto;
    align-content: start;
}

.panorama-grupos .cartao h2 {
    line-height: 1.2;
}

.lista-grupos {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.bloco-grupo {
    padding: 18px 20px;
    border: 1px solid var(--linha);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
}

.bloco-grupo summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    font-weight: 700;
}

.novo-grupo {
    background: rgba(143, 75, 46, 0.06);
}

.panorama-grupo {
    grid-template-columns: repeat(5, minmax(90px, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.panorama-grupo article {
    display: grid;
    gap: 4px;
    padding: 12px;
    border-radius: 12px;
    background: #f4ece3;
}

.panorama-grupo article span {
    color: var(--texto-suave);
    font-size: .86rem;
}

.panorama-grupo article strong {
    font-size: 1.35rem;
}

.formulario-grupo {
    border-top: 1px solid var(--linha);
    padding-top: 18px;
}

.controle-situacao-grupo {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 50px;
    align-self: end;
    cursor: pointer;
}

.controle-situacao-grupo input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.trilho-situacao {
    display: inline-flex;
    align-items: center;
    width: 48px;
    height: 28px;
    padding: 3px;
    border: 1px solid var(--linha);
    border-radius: 999px;
    background: #e4d8ca;
    transition: background .18s ease, border-color .18s ease;
}

.marcador-situacao {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 5px rgba(70, 44, 23, .2);
    transition: transform .18s ease;
}

.controle-situacao-grupo input:checked + .trilho-situacao {
    border-color: #487e5c;
    background: #487e5c;
}

.controle-situacao-grupo input:checked + .trilho-situacao .marcador-situacao {
    transform: translateX(20px);
}

.controle-situacao-grupo input:focus-visible + .trilho-situacao {
    outline: 3px solid rgba(143, 75, 46, .2);
    outline-offset: 2px;
}

.texto-situacao {
    color: var(--texto-suave);
    font-size: .95rem;
}

.texto-inativo,
.controle-situacao-grupo input:not(:checked) ~ .texto-situacao .texto-ativo {
    display: none;
}

.controle-situacao-grupo input:not(:checked) ~ .texto-situacao .texto-inativo {
    display: inline;
}

.form-excluir-grupo {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--linha);
    padding-top: 14px;
}

.texto-apoio {
    margin: 0 0 24px;
    color: var(--texto-suave);
}

.painel-login {
    max-width: 520px;
}

.painel-login .destaque {
    max-width: 42ch;
}

.painel-implantacao-congregacao {
    display: grid;
    gap: 22px;
}

.painel-implantacao-congregacao .destaque {
    margin-bottom: 0;
}

.painel-implantacao-congregacao .secao-implantacao-vincular,
.painel-implantacao-congregacao .secao-implantacao-cadastro {
    display: grid;
    gap: 18px;
}

.painel-implantacao-congregacao .lista-congregacoes {
    margin-top: 0;
}

.painel-implantacao-congregacao .formulario-congregacao {
    grid-template-columns: minmax(260px, 1fr) minmax(200px, 300px);
    grid-template-areas:
        "nome numero"
        "cidade estado"
        "circuito circuito"
        "acoes acoes";
    width: 100%;
    max-width: none;
}

.painel-implantacao-congregacao .campo-congregacao-nome { grid-area: nome; }
.painel-implantacao-congregacao .campo-congregacao-numero { grid-area: numero; }
.painel-implantacao-congregacao .campo-congregacao-cidade { grid-area: cidade; }
.painel-implantacao-congregacao .campo-congregacao-estado { grid-area: estado; max-width: none; }
.painel-implantacao-congregacao .campo-congregacao-circuito { grid-area: circuito; }
.painel-implantacao-congregacao .acoes-formulario-congregacao { grid-area: acoes; }

.item-congregacao button.acao-item-congregacao {
    border: 0;
    padding: 0;
    background: none;
    font: inherit;
    cursor: pointer;
    justify-self: start;
}

.formulario-login {
    display: grid;
    gap: 16px;
}

.campo {
    display: grid;
    gap: 8px;
}

.campo span {
    font-size: 0.95rem;
    color: var(--texto-suave);
}

.campo input {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--linha);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--texto);
    font: inherit;
}

.campo select {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--linha);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--texto);
    font: inherit;
}

.campo input:focus {
    outline: 2px solid rgba(143, 75, 46, 0.2);
    border-color: var(--destaque);
}

.campo select:focus {
    outline: 2px solid rgba(143, 75, 46, 0.2);
    border-color: var(--destaque);
}

.formulario-grade {
    display: grid;
    gap: 16px;
    max-width: 760px;
}

.formulario-grade > button {
    justify-self: start;
}

.painel-congregacoes, .painel-formulario-congregacao { display: grid; gap: 22px; }
.mensagens-congregacao { display: grid; gap: 10px; margin-bottom: 24px; }
.painel-congregacoes + .painel-formulario-congregacao { margin-top: 24px; }
.cabecalho-secao-congregacoes { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.cabecalho-secao-congregacoes h2, .cabecalho-secao-congregacoes .texto-apoio { margin: 0; }
.cabecalho-secao-congregacoes .texto-apoio { margin-top: 6px; }
.cabecalho-secao-congregacoes > .botao-primario { flex: 0 0 auto; }
.pesquisa-congregacoes { display: grid; grid-template-columns: minmax(280px, 520px) auto; gap: 14px; align-items: end; padding: 18px; border: 1px solid var(--linha); border-radius: 18px; background: rgba(255, 255, 255, 0.5); }
.acoes-pesquisa-congregacoes, .acoes-formulario-congregacao { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.lista-congregacoes { display: grid; max-height: 360px; overflow-y: auto; border: 1px solid var(--linha); border-radius: 16px; background: rgba(255, 255, 255, 0.65); }
.item-congregacao { display: grid; grid-template-columns: minmax(210px, 1.2fr) 130px minmax(210px, 1fr) auto; gap: 18px; align-items: center; padding: 15px 18px; border-bottom: 1px solid var(--linha); color: var(--texto); text-decoration: none; }
.item-congregacao:last-child { border-bottom: 0; }
.item-congregacao:hover, .item-congregacao-selecionado { background: rgba(143, 75, 46, 0.08); }
.item-congregacao > .etiqueta-status { justify-self: center; }
.identificacao-congregacao, .resumo-administradores-congregacao { display: grid; gap: 4px; }
.resumo-administradores-congregacao { justify-items: center; text-align: center; }
.identificacao-congregacao span, .resumo-administradores-congregacao span { color: var(--texto-suave); font-size: 0.88rem; overflow-wrap: anywhere; }
.acao-item-congregacao { color: var(--destaque); font-weight: 700; }
.mensagem-lista-vazia { margin: 0; padding: 18px; color: var(--texto-suave); }
.formulario-congregacao { grid-template-columns: minmax(220px, 1.5fr) minmax(150px, 0.7fr) minmax(110px, 0.45fr); width: min(100%, 820px); max-width: none; gap: 16px; }
.formulario-congregacao input[readonly] { border-color: rgba(116, 96, 79, 0.22); background: rgba(116, 96, 79, 0.1); color: rgba(58, 45, 35, 0.62); cursor: not-allowed; box-shadow: none; }
.formulario-congregacao input[readonly]:focus { outline: none; border-color: rgba(116, 96, 79, 0.22); }
.formulario-congregacao .campo:has(input[readonly]) > span { color: rgba(91, 72, 57, 0.66); }
.campo-congregacao-nome, .campo-congregacao-cidade { grid-column: span 2; }
.campo-congregacao-estado { max-width: 150px; }
.acoes-formulario-congregacao { grid-column: 1 / -1; margin-top: 4px; }
.form-exclusao-congregacao { width: min(100%, 820px); padding-top: 18px; border-top: 1px solid var(--linha); }
.grade-dados-congregacao { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 14px; width: min(100%, 820px); margin: 0; }
.grade-dados-congregacao div { display: grid; gap: 6px; padding: 14px 16px; border: 1px solid var(--linha); border-radius: 14px; background: rgba(255, 255, 255, 0.58); }
.grade-dados-congregacao dt { color: var(--texto-suave); font-size: 0.86rem; }
.grade-dados-congregacao dd { margin: 0; font-weight: 700; }
.status-pendente { background: rgba(180, 119, 31, 0.14); color: #704a13; }
.secao-administradores-iniciais { display: grid; gap: 16px; width: min(100%, 820px); padding-top: 22px; border-top: 1px solid var(--linha); }
.cabecalho-subsecao-congregacao { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.cabecalho-subsecao-congregacao h3, .cabecalho-subsecao-congregacao .texto-apoio { margin: 0; }
.cabecalho-subsecao-congregacao .texto-apoio { margin-top: 5px; }
.lista-admins-iniciais { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 12px; }
.lista-admins-iniciais > div { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--linha); border-radius: 14px; background: rgba(255, 255, 255, 0.58); }
.lista-admins-iniciais span { color: var(--texto-suave); overflow-wrap: anywhere; }
.cadastro-admin-inicial { border: 1px solid var(--linha); border-radius: 16px; background: rgba(143, 75, 46, 0.04); }
.cadastro-admin-inicial summary { padding: 16px 18px; cursor: pointer; color: var(--destaque); font-weight: 700; }
.cadastro-admin-inicial[open] summary { border-bottom: 1px solid var(--linha); }
.cadastro-admin-inicial form { padding: 18px; }
.formulario-admin-inicial { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.formulario-admin-inicial .campo-admin-nome,
.formulario-admin-inicial .campo-admin-email { grid-column: span 3; }
.formulario-admin-inicial .campo-admin-data,
.formulario-admin-inicial .campo-admin-classe { grid-column: span 2; }
.formulario-admin-inicial .acoes-formulario-congregacao { justify-content: flex-end; }

.botao-primario,
.botao-secundario,
.botao-perigo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 12px 18px;
    font: inherit;
    cursor: pointer;
    text-decoration: none;
}

.botao-primario {
    background: var(--destaque);
    color: #fff7f2;
}

.botao-secundario {
    background: rgba(255, 255, 255, 0.8);
    color: var(--texto);
    border: 1px solid var(--linha);
}

.botao-perigo {
    background: #8b3428;
    color: #fff;
}

.botao-primario:disabled {
    opacity: 0.48;
    cursor: not-allowed;
}

.form-logout {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
}

.painel-usuario {
    display: flex;
    flex: 0 0 auto;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.informacao-cabecalho {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 760px) {
    .barra-superior { flex-wrap: wrap; }
    .painel-usuario { margin-left: auto; }
}

.usuario-chip {
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--linha);
    color: var(--texto-suave);
    white-space: nowrap;
}

.mensagem-erro {
    margin: 0;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(143, 75, 46, 0.12);
    color: #7b2f20;
}

.mensagem-sucesso {
    margin: 0;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(72, 126, 92, 0.14);
    color: #245338;
}

.mensagem-info {
    margin: 0;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(75, 111, 143, 0.14);
    color: #2a4a63;
}

.grade-requisitos-pioneiros { display: grid; grid-template-columns: minmax(380px, 1fr) minmax(480px, 1.25fr); gap: 1.25rem; margin-top: 1.5rem; align-items: stretch; }
.cartao-requisito { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; min-width: 0; }
.cartao-requisito h2, .cartao-requisito p { margin: 0; }
.rodape-requisito-regular { display: flex; justify-content: flex-end; margin-top: auto; padding-top: .5rem; }
.cabecalho-cartao-requisito, .acoes-opcao-requisito { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cabecalho-cartao-requisito > div { min-width: 0; }
.rotulo-requisito, .opcao-requisito-auxiliar > span { color: var(--texto-suave); font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.valor-requisito { color: var(--destaque); font-size: 1.8rem; white-space: nowrap; }
.valor-requisito small, .opcao-requisito-auxiliar strong small { font-size: .8rem; font-weight: 600; }
.lista-opcoes-requisito { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .75rem; margin: 0; }
.opcao-requisito-auxiliar { display: grid; gap: .35rem; padding: 1rem; border: 1px solid var(--linha); border-radius: .9rem; background: rgba(255, 252, 247, .72); }
.opcao-requisito-auxiliar strong { font-size: 1.55rem; }
.acoes-opcao-requisito { justify-content: flex-start; margin-top: .5rem; }
.acoes-opcao-requisito button { padding: .45rem .7rem; }
.formulario-acao-requisito { display: grid; gap: 1.15rem; margin-top: .25rem; padding: 1.15rem; border: 1px solid var(--linha); border-radius: .9rem; background: rgba(255, 252, 247, .72); }
.formulario-acao-requisito[hidden] { display: none; }
.linha-formulario-requisito { display: grid; grid-template-columns: minmax(130px, .65fr) minmax(190px, 1fr); gap: 1rem; align-items: end; }
.linha-formulario-requisito .campo { min-width: 0; }
.linha-formulario-requisito input { min-height: 52px; }
.formulario-acao-requisito .acoes-formulario { gap: .75rem; margin-top: 0; }
.formulario-acao-requisito .acoes-formulario button { min-height: 46px; white-space: nowrap; }
.historico-requisitos summary { cursor: pointer; font-weight: 700; }
.historico-requisitos[open] summary { margin-bottom: 1rem; }

.notificacoes-cabecalho { position: relative; }
.notificacoes-cabecalho summary {
    position: relative;
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(143, 75, 46, .28);
    border-radius: 50%;
    color: var(--destaque);
    background: rgba(255, 252, 247, .92);
    box-shadow: 0 .35rem 1rem rgba(70, 44, 23, .1);
    cursor: pointer;
    list-style: none;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.notificacoes-cabecalho summary:hover,
.notificacoes-cabecalho summary:focus-visible {
    border-color: var(--destaque);
    background: #fff;
    transform: translateY(-1px);
    outline: none;
}
.notificacoes-cabecalho[open] summary { background: rgba(143, 75, 46, .12); }
.notificacoes-cabecalho summary::-webkit-details-marker { display: none; }
.icone-notificacoes { display: inline-flex; width: 1.35rem; height: 1.35rem; }
.icone-notificacoes svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contador-notificacoes { position: absolute; top: -.4rem; right: -.45rem; display: inline-flex; min-width: 1.35rem; height: 1.35rem; padding: 0 .3rem; align-items: center; justify-content: center; border: 2px solid var(--fundo-painel); border-radius: 999px; background: #a52323; color: #fff; font-size: .7rem; font-weight: 700; line-height: 1; }
.popover-notificacoes { position: absolute; z-index: 20; top: calc(100% + .75rem); right: 0; width: min(22rem, 85vw); padding: 1rem; border: 1px solid rgba(143, 75, 46, .22); border-radius: .8rem; background: #fff; box-shadow: 0 .75rem 1.75rem rgb(70 44 23 / 18%); }
.popover-notificacoes a { display: block; padding: .55rem 0; border-bottom: 1px solid #e5e9ed; color: inherit; text-decoration: none; }
.popover-notificacoes a span { display: block; color: #58636d; font-size: .75rem; text-transform: uppercase; }
.popover-notificacoes .ver-todas-notificacoes { border-bottom: 0; color: #15578a; font-weight: 700; }
.central-cabecalho { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.lista-central { display: grid; gap: .75rem; margin-bottom: 1.5rem; }
.item-central { position: relative; border: 1px solid #d8dee4; border-left: .35rem solid #46708f; border-radius: .5rem; background: #fff; }
.item-central.prioridade-alta { border-left-color: #a52323; }
.item-central.prioridade-atencao { border-left-color: #a46000; }
article.item-central, div.item-central { display: flex; align-items: stretch; justify-content: space-between; gap: 1rem; padding: 1rem; }
/* Tarefas viram <details> recolhíveis: mostram só prioridade + título fechadas. */
details.item-central { display: block; }
details.item-central > summary {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    padding: 1rem;
    padding-right: 2.4rem;
    cursor: pointer;
    list-style: none;
}
details.item-central > summary::-webkit-details-marker { display: none; }
details.item-central > summary::before {
    content: "▸";
    flex: 0 0 auto;
    color: var(--texto-suave);
    font-size: .8rem;
    transition: transform .15s ease;
}
details.item-central[open] > summary::before { transform: rotate(90deg); }
details.item-central > summary .etiqueta-central { margin: 0; flex: 0 0 auto; }
details.item-central > summary .titulo-resumo-central { font-weight: 700; overflow-wrap: anywhere; }
details.item-central > .corpo-item-central {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 1rem 1rem 1rem;
}
.titulo-avisos-central { margin-bottom: .75rem; }
.acoes-avisos-central { display: flex; justify-content: flex-end; margin: 0 0 1rem; }
.etiqueta-central { margin: 0 0 .25rem; font-size: .75rem; font-weight: 700; }
.conteudo-central { flex: 1 1 auto; min-width: 0; }
.coluna-direita-central { position: relative; flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: .4rem; padding-left: 1.1rem; }
.coluna-direita-central::before {
    content: "";
    position: absolute;
    left: 0;
    top: .35rem;
    bottom: .35rem;
    width: 1px;
    background: var(--linha);
}
.dispensar-central { position: absolute; top: .6rem; right: .6rem; margin: 0; }
.dispensar-central button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border: 0;
    border-radius: 50%;
    background: none;
    color: #8a94a0;
    font-size: 1.05rem;
    line-height: 1;
    cursor: pointer;
}
.dispensar-central button:hover, .dispensar-central button:focus-visible { background: rgba(0, 0, 0, .06); color: #a3342f; }
.acoes-central {
    flex-direction: column;
    align-items: stretch;
    width: 10.5rem;
    gap: .4rem;
}
.acoes-central .botao-primario,
.acoes-central .botao-secundario { width: 100%; padding: 8px 14px; font-size: .9rem; text-align: center; }
.meta-central { margin: .2rem 0; font-size: .85rem; color: var(--texto-suave); }
.historico-reencaminhamento { margin: .3rem 0 0; font-size: .85rem; color: var(--texto-suave); }
.historico-reencaminhamento summary { cursor: pointer; font-weight: 600; }
.historico-reencaminhamento ul { margin: .5rem 0 0; padding-left: 1.1rem; display: grid; gap: .3rem; }
.formulario-central { margin: .85rem 0; }
.menu-criar-tarefa { position: relative; }
.menu-criar-tarefa summary { list-style: none; }
.menu-criar-tarefa summary::-webkit-details-marker { display: none; }
.menu-criar-tarefa-opcoes {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 20;
    display: grid;
    gap: 6px;
    min-width: 180px;
    width: max-content;
    padding: 10px;
    border: 1px solid rgba(143, 75, 46, .28);
    border-radius: 14px;
    background: #eadcc9;
    box-shadow: var(--sombra);
}
.menu-criar-tarefa-opcoes > button {
    justify-content: flex-start;
    text-align: left;
    border: 0;
    background: rgba(255, 255, 255, .72);
}
.menu-criar-tarefa-opcoes > button:hover,
.menu-criar-tarefa-opcoes > button:focus-visible {
    background: #fff;
}
#modal-tarefa-individual,
#modal-tarefa-coletiva {
    align-items: flex-start;
    justify-content: flex-end;
    padding: 6.5rem 1.5rem 1.5rem;
}
#modal-tarefa-individual .modal-cartao,
#modal-tarefa-coletiva .modal-cartao {
    width: min(32rem, 100%);
}
#modal-tarefa-individual form.formulario-central,
#modal-tarefa-coletiva form.formulario-central {
    margin: 0;
}
form.formulario-central { display: grid; gap: .55rem; }
details.formulario-central {
    border: 1px solid var(--linha);
    border-radius: .75rem;
    background: rgba(255, 255, 255, .55);
    overflow: hidden;
}
details.formulario-central > summary {
    padding: .6rem .9rem;
    cursor: pointer;
    color: var(--destaque);
    font-weight: 700;
    font-size: .9rem;
    list-style: none;
}
details.formulario-central > summary::-webkit-details-marker { display: none; }
details.formulario-central[open] > summary { border-bottom: 1px solid var(--linha); }
details.formulario-central > form { display: grid; gap: .55rem; padding: .9rem; margin: 0; }
.formulario-central label { font-size: .82rem; font-weight: 600; color: var(--texto-suave); }
.formulario-central input,
.formulario-central select,
.formulario-central textarea {
    width: 100%;
    padding: .7rem .9rem;
    border: 1px solid var(--linha);
    border-radius: .75rem;
    background: #fff;
    color: var(--texto);
    font: inherit;
    transition: border-color .16s ease, box-shadow .16s ease;
}
.formulario-central textarea { min-height: 4.5rem; resize: vertical; }
.formulario-central input:focus,
.formulario-central select:focus,
.formulario-central textarea:focus {
    outline: none;
    border-color: var(--destaque);
    box-shadow: 0 0 0 3px rgba(143, 75, 46, .12);
}
.formulario-central button[type="submit"] { justify-self: start; }
details.formulario-central > form.formulario-reencaminhar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem;
}
.formulario-reencaminhar select { flex: 1 1 220px; }
.formulario-reencaminhar input[name="observacao"] { flex: 1 1 200px; }
.formulario-reencaminhar .campo-prazo-reencaminhar {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex: 0 1 auto;
}
.formulario-reencaminhar .campo-prazo-reencaminhar label {
    margin: 0;
    white-space: nowrap;
}
.formulario-reencaminhar .campo-prazo-reencaminhar input { width: auto; }
.formulario-reencaminhar .acoes-reencaminhar {
    display: flex;
    gap: .6rem;
    margin-left: auto;
}

.chat-central {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
    border: 1px solid var(--linha);
    border-radius: 1rem;
    background: #fff;
    overflow: hidden;
    height: 32rem;
}
.chat-contatos {
    flex: 0 0 17rem;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--linha);
    background: rgba(143, 75, 46, .04);
    overflow-y: auto;
    max-height: 42rem;
}
.chat-contatos > p.texto-apoio { padding: 1rem; margin: 0; }
.contato-conversa {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid rgba(143, 75, 46, .1);
    color: inherit;
    text-decoration: none;
    transition: background .12s ease;
}
.contato-conversa:hover { background: rgba(143, 75, 46, .08); }
.contato-conversa-ativo { background: rgba(143, 75, 46, .16); }
.contato-conversa-nao-lida .nome-contato,
.contato-conversa-nao-lida .previa-contato { color: var(--texto); font-weight: 700; }
.contador-nao-lidas {
    flex: 0 0 auto;
    display: inline-flex;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 .35rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #a52323;
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1;
}
.avatar-contato {
    flex: 0 0 auto;
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--destaque);
    color: #fff;
    font-weight: 700;
}
.info-contato { min-width: 0; display: flex; flex-direction: column; gap: .15rem; }
.nome-contato { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nome-contato small { font-weight: 400; color: var(--texto-suave); }
.previa-contato { font-size: .82rem; color: var(--texto-suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.chat-janela { flex: 1 1 auto; display: flex; flex-direction: column; min-width: 0; }
.chat-cabecalho-janela {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--linha);
}
.chat-cabecalho-janela h3 { margin: 0 0 .2rem; }
.chat-cabecalho-janela .texto-apoio { margin: 0; }
.chat-janela .item-central { margin: 1rem 1.25rem 0; }

.chat-mensagens {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: .6rem;
    padding: 1.25rem;
    overflow-y: auto;
    background: rgba(143, 75, 46, .03);
}
.mensagem-bolha {
    padding: .55rem .85rem;
    border-radius: .9rem;
    background: #fff;
    border: 1px solid var(--linha);
}
.mensagem-bolha p { margin: .15rem 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.mensagem-bolha small { color: var(--texto-suave); font-size: .72rem; }
.mensagem-autor { display: block; font-size: .72rem; font-weight: 700; color: var(--destaque); }
.mensagem-outro { align-self: flex-start; }
.mensagem-propria { align-self: flex-end; }
.mensagem-outro .mensagem-bolha { border-bottom-left-radius: .2rem; }
.mensagem-propria .mensagem-bolha {
    background: rgba(143, 75, 46, .14);
    border-color: rgba(143, 75, 46, .28);
    border-bottom-right-radius: .2rem;
}
.mensagem-propria .mensagem-autor { color: var(--texto-suave); }

.mensagem-bolha-menu { position: relative; width: fit-content; min-width: 8rem; max-width: 82%; }
.mensagem-bolha-menu [data-abrir-menu-mensagem] { cursor: pointer; }
.mensagem-bolha-menu [data-abrir-menu-mensagem]:focus-visible { outline: 2px solid var(--destaque); outline-offset: 2px; }
.mensagem-bolha-opcoes {
    position: absolute;
    z-index: 20;
    top: calc(100% + 6px);
    display: grid;
    gap: 6px;
    min-width: 190px;
    width: max-content;
    padding: 8px;
    border: 1px solid rgba(143, 75, 46, .28);
    border-radius: 12px;
    background: #eadcc9;
    box-shadow: var(--sombra);
}
.mensagem-outro .mensagem-bolha-opcoes { left: 0; }
.mensagem-propria .mensagem-bolha-opcoes { right: 0; }
.mensagem-bolha-opcoes button {
    display: block;
    width: 100%;
    padding: 8px 10px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, .72);
    text-align: left;
    font: inherit;
    cursor: pointer;
}
.mensagem-bolha-opcoes button:hover { background: #fff; }
.chat-mensagens .item-central.item-central-mensagem {
    align-self: stretch;
    max-width: 88%;
    margin: -.2rem 0 0;
    padding: .85rem;
}

.chat-composer {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--linha);
}
.chat-composer-rotulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.chat-composer textarea {
    flex: 1 1 auto;
    min-height: 2.75rem;
    max-height: 8rem;
    padding: .65rem .85rem;
    border: 1px solid var(--linha);
    border-radius: .75rem;
    font: inherit;
    resize: vertical;
}
.chat-vazio { padding: 2rem; text-align: center; }

@media (max-width: 760px) {
    .chat-central { flex-direction: column; }
    .chat-contatos { flex: 0 0 auto; max-height: 14rem; border-right: 0; border-bottom: 1px solid var(--linha); }
    .mensagem-bolha { max-width: 88%; }
}

.conteudo-proposto-aprovacao { padding: 1rem; border: 1px solid #d8dee4; border-radius: .5rem; background: #f7f9fa; white-space: pre-wrap; overflow-wrap: anywhere; }
.painel-aprovacao { display: grid; gap: 1.35rem; }
.painel-aprovacao h2, .painel-aprovacao h3, .painel-aprovacao p { margin-top: 0; }
.cabecalho-aprovacao { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cabecalho-aprovacao h2 { margin-bottom: 0; }
.painel-aprovacao .grade-informacoes-publicador { margin: 0; }
.painel-aprovacao .conteudo-proposto-aprovacao { margin: -.5rem 0 0; padding: 1.15rem; border-color: rgba(70, 112, 143, .28); border-radius: .75rem; line-height: 1.45; }
.formulario-decisao-aprovacao { display: grid; gap: 1rem; margin-top: -.35rem; }
.campo-observacao-aprovacao { display: grid; gap: .5rem; }
.campo-observacao-aprovacao textarea { width: 100%; min-height: 7rem; padding: .85rem 1rem; resize: vertical; border: 1px solid var(--linha); border-radius: .75rem; color: var(--texto); background: #fff; font: inherit; line-height: 1.45; transition: border-color .16s ease, box-shadow .16s ease; }
.campo-observacao-aprovacao textarea:focus { border-color: var(--destaque); box-shadow: 0 0 0 3px rgba(143, 75, 46, .12); outline: none; }
.formulario-decisao-aprovacao .acoes-linha { gap: .75rem; }
.abas-central { display: flex; gap: .5rem; margin-bottom: 1rem; border-bottom: 1px solid #d8dee4; }
.abas-central a { padding: .65rem .9rem; color: inherit; text-decoration: none; }
.abas-central .aba-ativa { border-bottom: .2rem solid #15578a; color: #15578a; font-weight: 700; }
.paginacao-central { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; }
@media (max-width: 940px) { .grade-requisitos-pioneiros { grid-template-columns: 1fr; align-items: start; } }
@media (max-width: 560px) {
    .cabecalho-cartao-requisito { align-items: flex-start; }
    .linha-formulario-requisito { grid-template-columns: 1fr; }
    .formulario-acao-requisito .acoes-formulario { display: grid; grid-template-columns: 1fr; }
    .formulario-acao-requisito .acoes-formulario button { width: 100%; }
    .rodape-requisito-regular button { width: 100%; }
}

.mensagem-aviso {
    margin: 14px 0 22px;
    padding: 12px 14px;
    border: 1px solid rgba(180, 119, 31, 0.32);
    border-radius: 14px;
    background: rgba(224, 164, 67, 0.14);
    color: #704a13;
}

.link-auxiliar {
    color: var(--destaque);
    text-decoration: none;
    font-weight: 600;
}

/* Acesso e verificação em duas etapas */
.painel-acesso {
    display: grid;
    gap: 24px;
    width: min(100%, 480px);
    margin: clamp(8px, 4vh, 40px) auto 0;
    padding: clamp(24px, 5vw, 38px);
}

.logo-acesso {
    display: block;
    width: min(320px, 82%);
    height: auto;
    margin: 0 auto 2px;
}

.cabecalho-acesso {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.painel-acesso:not(.painel-mfa) .cabecalho-acesso {
    align-items: center;
}

.icone-acesso {
    display: inline-flex;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(143, 75, 46, .2);
    border-radius: 14px;
    color: var(--destaque);
    background: rgba(143, 75, 46, .09);
}

.icone-acesso svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.icone-mfa { background: rgba(72, 126, 92, .11); color: #356948; border-color: rgba(72, 126, 92, .22); }
.cabecalho-acesso h2 { margin: 2px 0 5px; font-size: clamp(1.35rem, 3vw, 1.7rem); line-height: 1.15; }
.painel-acesso:not(.painel-mfa) .cabecalho-acesso h2 { margin: 0; }
.cabecalho-acesso p { margin: 0; color: var(--texto-suave); line-height: 1.45; }
.rotulo-acesso { color: var(--destaque) !important; font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.texto-apoio-acesso { margin: -6px 0 0; color: var(--texto-suave); line-height: 1.5; }
.formulario-acesso { gap: 18px; }
.formulario-acesso .campo { gap: 7px; }
.formulario-acesso .campo input { min-height: 52px; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.formulario-acesso .campo input:hover { border-color: rgba(143, 75, 46, .48); }
.campo-senha { position: relative; display: block; }
.campo-senha input { padding-right: 88px !important; }
.alternar-senha { position: absolute; top: 50%; right: 8px; padding: 7px 9px; border: 0; border-radius: 9px; color: var(--destaque); background: transparent; font: inherit; font-size: .84rem; font-weight: 700; cursor: pointer; transform: translateY(-50%); }
.alternar-senha:hover { background: rgba(143, 75, 46, .09); }
.alternar-senha:focus-visible { outline: 2px solid var(--destaque); outline-offset: 1px; }
.formulario-acesso .botao-primario { min-height: 52px; margin-top: 2px; font-weight: 700; box-shadow: 0 10px 20px rgba(143, 75, 46, .2); transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.formulario-acesso .botao-primario:hover { background: #7d3f27; box-shadow: 0 13px 24px rgba(143, 75, 46, .26); transform: translateY(-1px); }
.formulario-acesso .link-auxiliar { width: fit-content; margin: 0 auto; font-size: .92rem; }
.formulario-acesso .link-auxiliar:hover { text-decoration: underline; text-underline-offset: 3px; }
.aviso-seguranca-acesso { display: flex; align-items: center; gap: 7px; margin: 0; padding-top: 17px; border-top: 1px solid rgba(217, 203, 183, .72); color: var(--texto-suave); font-size: .82rem; }
.aviso-seguranca-acesso span { color: #487e5c; font-size: 1.3rem; line-height: .6; }
.rodape-acesso { display: flex; justify-content: center; align-items: center; gap: 9px; width: min(100%, 480px); margin: 18px auto 0; font-size: .84rem; }
.rodape-acesso a { color: var(--texto-suave); text-decoration: none; }
.rodape-acesso a:hover, .rodape-acesso a:focus-visible { color: var(--destaque); text-decoration: underline; text-underline-offset: 3px; outline: none; }
.rodape-acesso span { color: var(--linha); }
.bloco-qr-mfa { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 18px; padding: 14px; border: 1px solid rgba(143, 75, 46, .14); border-radius: 18px; background: rgba(255, 255, 255, .52); }
.bloco-qr-mfa p { margin: 0; color: var(--texto-suave); line-height: 1.45; }
.qr-mfa { display: grid; place-items: center; width: 132px; height: 132px; padding: 8px; border-radius: 12px; background: #fff; box-shadow: 0 4px 12px rgba(70, 44, 23, .08); }
.qr-mfa svg { display: block; width: 100%; height: 100%; }
.campo-codigo-mfa input { padding-right: 12px; padding-left: 12px; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 1.22rem; font-weight: 700; letter-spacing: .24em; text-align: center; }

@media (max-width: 480px) {
    .barra-superior { flex-direction: column; align-items: stretch; padding: 16px; }
    .marca-cabecalho { flex: 0 1 auto; justify-content: center; }
    .logo-cabecalho { width: min(310px, 100%); margin: 0 auto; }
    .painel-usuario, .form-logout { justify-content: center; flex-wrap: wrap; }
    .cabecalho-pagina { padding: 18px; }
    .painel-acesso { margin-top: 0; border-radius: 22px; }
    .bloco-qr-mfa { grid-template-columns: 1fr; justify-items: center; text-align: center; }
    .campo-codigo-mfa input { font-size: 1.05rem; letter-spacing: .16em; }
}

.formulario-filtros {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    align-items: end;
    margin: 20px 0 24px;
}

.destaque-filtros-cartao {
    max-width: none;
    margin-bottom: 0;
}

.formulario-filtros-cartao {
    grid-template-columns: repeat(5, minmax(130px, 1fr)) auto;
    gap: 12px;
    margin: 16px 0 0;
}

.formulario-filtros-cartao .acoes-formulario {
    grid-column: auto;
    display: block;
}

.formulario-filtros-cartao .acoes-formulario .botao-secundario {
    min-width: 128px;
    min-height: 50px;
    white-space: nowrap;
}

.formulario-publicador {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
}

.formulario-publicador .campo input:disabled,
.formulario-publicador .campo select:disabled {
    background: rgba(47, 36, 27, 0.08);
    color: rgba(58, 45, 35, 0.62);
    cursor: not-allowed;
    opacity: 1;
}

.campo-busca-publicador {
    max-width: 560px;
    margin-top: 20px;
}

.painel-selecao-publicador-relatorio .campo-busca-publicador {
    margin-top: 0;
}

.painel-lista-publicadores-cartao {
    padding: 22px 24px;
}

.painel-lista-publicadores-cartao .campo-busca-publicador {
    width: min(460px, 100%);
    max-width: none;
    margin-top: 0;
}

.painel-lista-publicadores-cartao .tabela-publicadores-wrapper {
    margin-top: 14px;
}

.painel-lista-publicadores-cartao .rolagem-publicadores {
    max-height: 172px;
}

.painel-lista-publicadores-cartao .lista-publicadores-cartao-padrao .rolagem-publicadores {
    max-height: 172px;
}

.tabela-publicadores-wrapper {
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid var(--linha);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
}

.rolagem-publicadores {
    max-height: 172px;
    overflow-y: auto;
    scrollbar-color: rgba(143, 75, 46, 0.55) rgba(143, 75, 46, 0.08);
    scrollbar-width: thin;
}

.rolagem-publicadores::-webkit-scrollbar {
    width: 10px;
}

.rolagem-publicadores::-webkit-scrollbar-track {
    margin: 5px 0;
    border-radius: 999px;
    background: rgba(143, 75, 46, 0.08);
}

.rolagem-publicadores::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: rgba(143, 75, 46, 0.55);
    background-clip: padding-box;
}

.rolagem-publicadores::-webkit-scrollbar-thumb:hover {
    background: rgba(143, 75, 46, 0.75);
    background-clip: padding-box;
}

.tabela-publicadores {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

.tabela-publicadores th {
    padding: 11px 14px;
    background: #f4ece3;
    color: var(--texto);
    text-align: left;
    border-bottom: 1px solid var(--linha);
}

.tabela-publicadores th:last-child,
.tabela-publicadores td:last-child {
    width: 180px;
}

.tabela-publicadores.tabela-publicadores-cartao th:last-child,
.tabela-publicadores.tabela-publicadores-cartao td:last-child {
    width: auto;
}

.tabela-publicadores.tabela-publicadores-gestao th:last-child,
.tabela-publicadores.tabela-publicadores-gestao td:last-child {
    width: auto;
}

.tabela-publicadores-gestao th:not(:first-child),
.tabela-publicadores-gestao td:not(:first-child) {
    text-align: center;
}

.tabela-publicadores-gestao th:first-child,
.tabela-publicadores-gestao td:first-child {
    text-align: left;
}

.busca-publicador-gestao {
    width: min(460px, 100%);
    max-width: none;
}

#filtros-gestao-publicadores {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    column-gap: 16px;
    row-gap: 14px;
}

#filtros-gestao-publicadores .acoes-formulario {
    grid-column: 4;
    justify-content: stretch;
}

#filtros-gestao-publicadores .limpar-filtros-gestao {
    width: 100%;
    min-height: 50px;
    border-radius: 14px;
}

.cabecalho-tabela-publicadores {
    border-bottom: 1px solid var(--linha);
}

.cabecalho-tabela-publicadores th {
    border-bottom: 0;
}

.item-publicador {
    position: relative;
    cursor: pointer;
    transition: filter 0.05s ease;
}

.item-publicador td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--linha);
    background: inherit;
}

.item-publicador:last-child td {
    border-bottom: 0;
}

.linha-lista-vazia td {
    padding: 16px 14px;
    color: var(--texto-suave);
    line-height: 1.4;
}

.item-publicador-pendente {
    background: rgba(255, 255, 255, 0.82);
}

.item-publicador-enviado {
    background: rgba(255, 255, 255, 0.82);
}

.item-publicador:hover,
.item-publicador:focus-visible {
    filter: brightness(0.97);
}

.item-publicador:focus-visible {
    outline: 2px solid var(--destaque);
    outline-offset: -2px;
}

.situacao-publicador {
    display: inline-block;
    padding: 4px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--texto-suave);
    font-size: 0.84rem;
}

.situacao-publicador-enviado {
    border-color: rgba(72, 126, 92, 0.34);
    background: rgba(72, 126, 92, 0.14);
    color: #245338;
}

.situacao-publicador-pendente {
    border-color: rgba(180, 119, 31, 0.38);
    background: rgba(224, 164, 67, 0.16);
    color: #805515;
}

.item-publicador-selecionado {
    background: rgba(143, 75, 46, 0.16);
    color: var(--texto);
    box-shadow: inset 5px 0 0 var(--destaque), inset 0 0 0 2px var(--destaque);
}

.item-publicador-selecionado td:first-child {
    padding-left: 19px;
}

.formulario-relatorio {
    padding-top: 18px;
    border-top: 1px solid var(--linha);
    align-items: start;
}

.formulario-relatorio > .campo {
    align-content: start;
}

.formulario-relatorio .campo > span,
.formulario-relatorio .campo-pioneiro-auxiliar legend {
    line-height: 1.3;
}

.formulario-relatorio .campo input,
.formulario-relatorio .campo select,
.controle-segmentado {
    min-height: 52px;
}

.formulario-relatorio textarea {
    width: 100%;
    min-height: 88px;
    padding: 12px 14px;
    border: 1px solid var(--linha);
    border-radius: 14px;
    resize: vertical;
    background: rgba(255, 255, 255, 0.9);
    color: var(--texto);
    font: inherit;
}

.formulario-relatorio textarea:focus {
    outline: 2px solid rgba(143, 75, 46, 0.2);
    border-color: var(--destaque);
}

.campo-compacto {
    max-width: 260px;
}

.campo-endereco {
    grid-column: span 2;
}

.campo-chefe-familia-nome {
    grid-column: span 2;
}

.campo-contato-emergencia-nome {
    grid-column: 1 / span 2;
}

.divisor-formulario-publicador {
    grid-column: 1 / -1;
    border-top: 1px solid var(--linha);
    padding-top: 8px;
    color: var(--texto-suave);
    font-size: 0.86rem;
    font-weight: 600;
}

.informacao-somente-leitura {
    align-content: start;
}

.informacao-somente-leitura strong {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 8px 2px;
    border-bottom: 1px solid var(--linha);
    overflow-wrap: anywhere;
}

.campo-pioneiro-auxiliar {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.campo-pioneiro-auxiliar legend {
    margin-bottom: 7px;
    color: var(--texto-suave);
}

.campo-pioneiro-auxiliar small {
    min-height: 1.2em;
    color: var(--texto-suave);
}

.controle-segmentado {
    display: inline-flex;
    width: 100%;
    padding: 3px;
    border: 1px solid var(--linha);
    border-radius: 12px;
    background: rgba(47, 36, 27, 0.06);
}

.controle-segmentado label {
    flex: 1;
    cursor: pointer;
}

.controle-segmentado input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.controle-segmentado span {
    height: 100%;
    display: block;
    min-width: 58px;
    padding: 9px 14px;
    border-radius: 9px;
    text-align: center;
    font-weight: 700;
    line-height: 26px;
}

.controle-segmentado input:checked + span {
    background: var(--destaque);
    color: white;
}

.controle-segmentado input:focus-visible + span {
    outline: 2px solid var(--destaque);
    outline-offset: 2px;
}

.controle-segmentado input:disabled + span {
    cursor: not-allowed;
}

.campo-inativo {
    opacity: 0.58;
}

.campo-inativo input:disabled {
    background: rgba(47, 36, 27, 0.08);
    cursor: not-allowed;
}

.acoes-formulario {
    grid-column: 1 / -1;
    display: flex;
    gap: 10px;
    align-items: end;
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.acoes-formulario .botao-primario,
.acoes-formulario .botao-secundario {
    min-width: 120px;
}

.tabela-wrapper {
    overflow-x: auto;
}

.tabela-dados {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--linha);
    border-radius: 14px;
    overflow: hidden;
}

.tabela-dados th,
.tabela-dados td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--linha);
    text-align: left;
    vertical-align: middle;
}

.tabela-dados th {
    background: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    color: var(--texto-suave);
    letter-spacing: 0.01em;
}

.tabela-dados tbody tr:last-child td {
    border-bottom: 0;
}

.contador-observacao {
    display: block;
    margin-top: 4px;
    color: var(--texto-suave);
    font-size: 0.75rem;
    line-height: 1;
    text-align: right;
}

.contador-observacao-limite {
    color: #9a5a16;
    font-weight: 600;
}

.contador-observacao-excedido {
    color: #a3342f;
    font-weight: 700;
}

.acoes-linha {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.acoes-linha form {
    margin: 0;
}

.etiqueta-status {
    display: inline-flex;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.status-ativo {
    color: #245338;
    background: rgba(72, 126, 92, 0.16);
    border: 1px solid rgba(72, 126, 92, 0.24);
}

.status-inativo {
    color: #7b2f20;
    background: rgba(143, 75, 46, 0.14);
    border: 1px solid rgba(143, 75, 46, 0.24);
}

.status-info {
    color: #1f4e6b;
    background: rgba(61, 130, 173, 0.16);
    border: 1px solid rgba(61, 130, 173, 0.28);
}

.lista-informacoes-publicadores {
    margin-top: 18px;
    max-width: 560px;
}

#filtro-informacoes-publicadores > .campo:first-of-type {
    width: min(220px, 100%);
}

.grade-informacoes-publicador {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.grade-informacoes-publicador p {
    display: grid;
    gap: 6px;
    margin: 0;
}

.grade-informacoes-publicador span {
    color: var(--texto-suave);
    font-size: 0.86rem;
}

.grade-informacoes-publicador strong {
    overflow-wrap: anywhere;
}

.grade-informacoes-publicador .informacao-endereco {
    grid-column: 1 / -1;
}

.datas-informacoes-publicador {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column: 1 / -1;
    gap: 16px;
}

.grade-contato-emergencia-consulta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grade-resumo-pioneiros,
.grade-indicadores-pioneiro {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.grade-resumo-pioneiros .cartao strong {
    display: block;
    margin-top: 8px;
    font-size: 2rem;
}

.formulario-filtros-pioneiros {
    grid-template-columns: minmax(220px, 360px);
    margin-top: 18px;
}

.formulario-filtro-painel-anciaos {
    grid-template-columns: minmax(220px, 360px) 1fr;
    align-items: end;
    margin: 18px 0 24px;
}

.periodo-painel-anciaos {
    justify-self: end;
    margin: 0 0 14px;
    color: var(--texto-suave);
}

.cabecalho-painel-anciaos {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 16px;
    margin-bottom: 18px;
}

.cabecalho-topo-painel-anciaos {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.cabecalho-topo-painel-anciaos .destaque {
    margin-bottom: 0;
}

.cabecalho-painel-anciaos div,
.grade-indicadores-anciaos article {
    display: grid;
    gap: 6px;
}

.cabecalho-painel-anciaos span,
.grade-indicadores-anciaos span,
.indicador-expansivel summary span {
    color: var(--texto-suave);
    font-size: 0.86rem;
}

.cabecalho-painel-anciaos strong {
    font-size: 1.25rem;
}

.cabecalho-painel-anciaos p {
    margin: 0;
    color: var(--texto-suave);
}

.grade-indicadores-anciaos,
.grade-indicadores-historicos {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.grade-indicadores-anciaos article {
    min-height: 74px;
    padding: 14px;
    border: 1px solid rgba(143, 75, 46, 0.24);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
}

.grade-indicadores-anciaos strong,
.indicador-expansivel summary strong {
    font-size: 1.8rem;
}

.grade-indicadores-historicos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
}

.indicador-expansivel summary {
    display: grid;
    gap: 8px;
    cursor: pointer;
}

.indicador-expansivel ul {
    margin: 16px 0 0;
    padding-left: 20px;
}

.grade-indicadores-congregacao {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 18px;
}

.grade-indicadores-consulta-irmao,
.grade-indicadores-familia {
    margin-top: 18px;
}

.cabecalho-acompanhamento-pioneiro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.cabecalho-acompanhamento-pioneiro div,
.grade-indicadores-pioneiro article {
    display: grid;
    gap: 5px;
}

.cabecalho-acompanhamento-pioneiro span,
.grade-indicadores-pioneiro span {
    color: var(--texto-suave);
    font-size: 0.86rem;
}

.cabecalho-acompanhamento-pioneiro strong {
    font-size: 1.25rem;
}

.grade-indicadores-pioneiro {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 18px;
}

.grade-indicadores-pioneiro article {
    grid-template-rows: 2.3em auto;
    align-content: start;
    min-height: 64px;
    padding: 6px 12px;
    border: 1px solid rgba(143, 75, 46, 0.24);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 3px 10px rgba(91, 57, 39, 0.08);
    text-align: center;
}

.grade-indicadores-pioneiro strong {
    align-self: start;
}

.status-pioneiro-em-dia {
    color: #1f5735;
    background: rgba(59, 145, 88, 0.24);
    border: 1px solid rgba(48, 125, 75, 0.42);
}

.status-pioneiro-adiantado {
    color: #285b82;
    background: rgba(61, 139, 194, 0.23);
    border: 1px solid rgba(49, 116, 165, 0.42);
}

.status-pioneiro-atrasado {
    color: #7d3028;
    background: rgba(188, 76, 65, 0.22);
    border: 1px solid rgba(160, 61, 52, 0.40);
}

.tabela-acompanhamento-pioneiro th:not(:first-child),
.tabela-acompanhamento-pioneiro td:not(:first-child) {
    text-align: center;
}

@media (max-width: 900px) {
    .item-congregacao { grid-template-columns: minmax(200px, 1fr) auto; }
    .resumo-administradores-congregacao { grid-column: 1; }
    .acao-item-congregacao { grid-column: 2; grid-row: 2; }
    .grade-indicadores-anciaos,
    .grade-indicadores-congregacao {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .grade-indicadores-historicos {
        grid-template-columns: 1fr;
    }

    .grade-indicadores-pioneiro {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .grade-resumo-pioneiros,
    .grade-indicadores-pioneiro {
        grid-template-columns: 1fr;
    }

    .cabecalho-acompanhamento-pioneiro {
        align-items: flex-start;
        flex-direction: column;
    }
}

.painel-secundario {
    margin-top: 18px;
}

.cabecalho-pagina-assistencia {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    min-height: 48px;
    margin-bottom: 16px;
}

.cabecalho-pagina-assistencia .titulo-cartao {
    width: 100%;
    margin-bottom: 0;
    text-align: center;
}

.acoes-cabecalho-assistencia {
    position: absolute;
    top: 50%;
    right: 0;
    display: flex;
    gap: 10px;
    flex: 0 0 auto;
    transform: translateY(-50%);
}

.mensagem-assistencia {
    margin-top: 14px;
}

.formulario-selecao-reuniao {
    grid-template-columns: minmax(220px, 420px);
    margin-bottom: 0;
}

.botao-gerar-pdf-assistencia {
    white-space: nowrap;
}

.acoes-edicao-assistencia {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.cartao-assistencia select:disabled {
    cursor: default;
    opacity: 1;
}

.cabecalho-cartao-assistencia strong {
    color: var(--texto);
    text-align: center;
    font-size: 1.1rem;
}

.cartao-assistencia-wrapper {
    border-radius: 14px;
}

.cartao-assistencia {
    min-width: 850px;
    table-layout: fixed;
}

.cartao-assistencia th,
.cartao-assistencia td {
    text-align: center;
}

.cartao-assistencia th:first-child {
    width: 150px;
    text-align: left;
}

.cartao-assistencia tbody tr:nth-child(odd) {
    background: rgba(143, 75, 46, 0.035);
}

.entrada-assistencia-cartao {
    width: 100%;
    min-width: 68px;
    padding: 9px 6px;
    border: 1px solid var(--linha);
    border-radius: 10px;
    background: rgba(255, 255, 255, .92);
    color: var(--texto);
    font: inherit;
    text-align: center;
}

.entrada-assistencia-cartao:focus {
    outline: 2px solid rgba(143, 75, 46, .2);
    border-color: var(--destaque);
}

.cartao-assistencia tfoot th,
.cartao-assistencia tfoot td {
    border-top: 2px solid var(--linha);
    border-bottom: 0;
    background: rgba(143, 75, 46, 0.13);
    color: var(--texto);
    font-weight: 700;
}

.bloco-celebracao-assistencia {
    margin-top: 28px;
}

.bloco-celebracao-assistencia h2 {
    margin-bottom: 12px;
}

.cabecalho-secao-celebracao {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.cabecalho-secao-celebracao h2 {
    margin: 0;
}

.tabela-celebracao-assistencia th,
.tabela-celebracao-assistencia td {
    text-align: center;
}

.tabela-celebracao-assistencia .acoes-linha {
    justify-content: center;
}

.tabela-celebracao-assistencia .acoes-linha form {
    margin: 0;
}

.tabela-celebracao-assistencia .botao-perigo {
    padding: 7px 12px;
}

.botao-editar-celebracao {
    min-width: 92px;
    padding: 8px 16px;
}

.tabela-celebracao-assistencia tfoot th,
.tabela-celebracao-assistencia tfoot td {
    border-top: 2px solid var(--linha);
    border-bottom: 0;
    background: rgba(143, 75, 46, .1);
}

.formulario-celebracao {
    grid-template-columns: minmax(180px, 1fr) minmax(130px, .8fr) minmax(130px, .8fr) auto;
    padding: 18px;
    border: 1px solid var(--linha);
    border-radius: 16px;
    background: rgba(255, 255, 255, .52);
}

.formulario-celebracao .campo-observacao-celebracao {
    grid-column: 1 / 4;
}

.formulario-celebracao > .acoes-formulario {
    grid-column: 4;
    grid-row: 2;
    align-self: end;
    justify-content: flex-end;
}

.formulario-celebracao > .acoes-formulario > .botao-primario,
.formulario-celebracao > .acoes-formulario > .botao-secundario,
.formulario-celebracao > .acoes-formulario > .botao-perigo {
    box-sizing: border-box;
    width: 120px;
    min-width: 120px;
    height: 50px;
    min-height: 50px;
    padding: 8px 12px;
    line-height: 1.15;
    text-align: center;
}

.formulario-nova-celebracao {
    border-style: dashed;
}

.formulario-celebracao textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--linha);
    border-radius: 14px;
    resize: vertical;
    background: rgba(255, 255, 255, 0.9);
    color: var(--texto);
    font: inherit;
}

.botao-salvar-assistencia:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.titulo-cartao {
    margin: 0 0 16px;
}

.painel-cartao-publicador {
    padding: 22px 24px 24px;
}

.painel-cartao-publicador .titulo-cartao {
    margin-bottom: 10px;
}

.cabecalho-titulo-cartao-publicador {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-bottom: 16px;
}

.cabecalho-titulo-cartao-publicador .titulo-cartao {
    width: 100%;
    margin-bottom: 0;
    text-align: center;
}

.cabecalho-titulo-cartao-publicador .menu-gerar-pdf-cartao {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.menu-gerar-pdf-cartao {
    position: relative;
}

.menu-gerar-pdf-cartao summary {
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
}

.menu-gerar-pdf-cartao summary::-webkit-details-marker {
    display: none;
}

.menu-gerar-pdf-cartao-opcoes {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 20;
    display: grid;
    gap: 6px;
    min-width: 220px;
    padding: 10px;
    border: 1px solid rgba(143, 75, 46, .28);
    border-radius: 14px;
    background: #eadcc9;
    box-shadow: var(--sombra);
}

.menu-gerar-pdf-cartao-opcoes .botao-gerar-pdf-cartao {
    width: 100%;
    justify-content: flex-start;
    white-space: nowrap;
    text-align: left;
    border: 0;
    background: rgba(255, 255, 255, .72);
}

.menu-gerar-pdf-cartao-opcoes .botao-gerar-pdf-cartao:hover,
.menu-gerar-pdf-cartao-opcoes .botao-gerar-pdf-cartao:focus-visible {
    background: #fff;
}

.grade-dados-cartao {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px 16px;
    margin-bottom: 18px;
}

.grade-dados-cartao p {
    margin: 0;
}

.cabecalho-cartao-publicador {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
    margin-bottom: 22px;
    padding: 18px 20px;
    border: 1px solid rgba(143, 75, 46, 0.16);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.58);
}

.painel-cartao-publicador .cabecalho-cartao-publicador {
    gap: 12px 24px;
    margin-bottom: 12px;
    padding: 14px 18px;
}

.painel-cartao-publicador .nome-cartao-publicador {
    padding-bottom: 10px;
}

.painel-cartao-publicador .datas-cartao-publicador,
.painel-cartao-publicador .classificacoes-cartao-publicador {
    grid-auto-rows: 28px;
    gap: 6px;
}

.painel-cartao-publicador .privilegios-cartao-publicador {
    padding-top: 12px;
}

.painel-cartao-publicador .tabela-cartao-publicador th,
.painel-cartao-publicador .tabela-cartao-publicador td {
    padding: 9px 10px;
}

.nome-cartao-publicador {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--linha);
}

.nome-cartao-publicador span,
.datas-cartao-publicador span {
    color: var(--texto-suave);
    font-size: 0.95rem;
    font-weight: 600;
}

.nome-cartao-publicador strong {
    color: var(--texto);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.35;
}

.datas-cartao-publicador,
.classificacoes-cartao-publicador {
    display: grid;
    align-content: start;
    grid-auto-rows: 30px;
    gap: 10px;
}

.datas-cartao-publicador p {
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.datas-cartao-publicador strong {
    color: var(--texto);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}

.linha-indicadores-cartao,
.privilegios-cartao-publicador {
    display: grid;
    align-items: center;
    gap: 12px;
}

.linha-indicadores-cartao {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
}

.privilegios-cartao-publicador {
    grid-column: 1 / -1;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding-top: 18px;
    border-top: 1px solid var(--linha);
}

.indicador-cartao {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--texto-suave);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
}

.indicador-cartao i {
    display: inline-grid;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    place-items: center;
    border: 2px solid rgba(106, 89, 74, 0.3);
    border-radius: 6px;
    color: transparent;
    background: rgba(255, 255, 255, 0.74);
    font-size: 0.9rem;
    font-style: normal;
    line-height: 1;
}

.indicador-cartao-marcado {
    color: var(--texto);
}

.indicador-cartao-marcado i {
    border-color: var(--destaque);
    color: #fff;
    background: var(--destaque);
    box-shadow: 0 2px 6px rgba(143, 75, 46, 0.16);
}

.tabela-cartao-publicador th:not(:first-child),
.tabela-cartao-publicador td:not(:first-child) {
    text-align: center;
}

.tabela-cartao-publicador thead th {
    vertical-align: top;
    background: #f5eee5;
    line-height: 1.3;
}

.tabela-cartao-publicador tbody tr {
    transition: background-color 0.15s ease;
}

.tabela-cartao-publicador tbody tr:not(:last-child):hover {
    background: rgba(143, 75, 46, 0.045);
}

.tabela-cartao-publicador td:nth-child(3),
.tabela-cartao-publicador td:nth-child(5) {
    font-variant-numeric: tabular-nums;
}

.coluna-mes-cartao {
    width: 14%;
}

.coluna-participacao-cartao {
    width: 19%;
}

.coluna-estudos-cartao {
    width: 15%;
}

.coluna-auxiliar-cartao {
    width: 16%;
}

.coluna-horas-cartao {
    width: 8%;
}

.coluna-observacoes-cartao {
    width: 28%;
}

.tabela-cartao-publicador th:last-child,
.tabela-cartao-publicador td:last-child {
    text-align: left;
}

.cabecalho-ano-servico {
    text-align: center;
}

.conteudo-cabecalho-ano-servico {
    display: inline-grid;
    justify-items: center;
}

.envoltorio-seletor-ano-servico {
    position: relative;
    width: fit-content;
    margin-top: 7px;
}

.envoltorio-seletor-ano-servico[data-periodo-ano-servico]::before,
.campo-ano-servico[data-periodo-ano-servico]::after {
    position: absolute;
    z-index: 5;
    padding: 5px 9px;
    border: 1px solid var(--linha);
    border-radius: 8px;
    color: var(--texto);
    background: var(--fundo-painel);
    box-shadow: 0 8px 18px rgba(70, 44, 23, 0.14);
    content: attr(data-periodo-ano-servico);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 120ms ease, transform 120ms ease;
}

.envoltorio-seletor-ano-servico[data-periodo-ano-servico]::before {
    top: calc(100% + 8px);
    left: 50%;
    transform: translate(-50%, -3px);
}

.envoltorio-seletor-ano-servico[data-periodo-ano-servico]:hover::before,
.envoltorio-seletor-ano-servico[data-periodo-ano-servico]:focus-within::before {
    opacity: 1;
    transform: translate(-50%, 0);
}

[data-dica-flutuante] {
    position: relative;
}

[data-dica-flutuante]::after {
    position: absolute;
    z-index: 5;
    top: calc(100% + 8px);
    left: 50%;
    transform: translate(-50%, -3px);
    padding: 5px 9px;
    border: 1px solid var(--linha);
    border-radius: 8px;
    color: var(--texto);
    background: var(--fundo-painel);
    box-shadow: 0 8px 18px rgba(70, 44, 23, 0.14);
    content: attr(data-dica-flutuante);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 120ms ease, transform 120ms ease;
}

[data-dica-flutuante]:hover::after,
[data-dica-flutuante]:focus-visible::after {
    opacity: 1;
    transform: translate(-50%, 0);
}

.campo-ano-servico {
    position: relative;
}

.campo-ano-servico[data-periodo-ano-servico]::after {
    top: calc(100% + 8px);
    left: 0;
    transform: translateY(-3px);
}

.campo-ano-servico[data-periodo-ano-servico]:hover::after,
.campo-ano-servico[data-periodo-ano-servico]:focus-within::after {
    opacity: 1;
    transform: translateY(0);
}

/* Controle visual do ano: o select continua no formulário como fallback. */
.sgc-dropdown-ano-servico {
    position: relative;
    display: inline-block;
    width: fit-content;
}

.campo-ano-servico.sgc-dropdown-ano-servico {
    display: grid;
}

.sgc-dropdown-ano-servico > .seletor-ano-servico,
.sgc-dropdown-ano-servico > select[name="ano_servico"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    pointer-events: none;
}

.sgc-dropdown-ano-servico.envoltorio-seletor-ano-servico[data-periodo-ano-servico]::before,
.sgc-dropdown-ano-servico.campo-ano-servico[data-periodo-ano-servico]::after {
    display: none;
}

.seletor-ano-servico-botao {
    position: relative;
    min-width: 70px;
    padding: 4px 25px 4px 8px;
    border: 1px solid rgba(143, 75, 46, 0.24);
    border-radius: 8px;
    color: var(--destaque);
    background: rgba(143, 75, 46, 0.07);
    font: inherit;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
}

.seletor-ano-servico-botao::after {
    position: absolute;
    top: 50%;
    right: 8px;
    color: var(--destaque);
    content: "⌄";
    font-size: 0.8rem;
    line-height: 1;
    transform: translateY(-58%);
}

.envoltorio-seletor-ano-servico .seletor-ano-servico-botao::after {
    display: none;
}

.seletor-ano-servico-botao:hover,
.seletor-ano-servico-botao:focus-visible,
.sgc-dropdown-aberto .seletor-ano-servico-botao {
    border-color: var(--destaque);
    outline: none;
    box-shadow: 0 0 0 2px rgba(143, 75, 46, 0.14);
}

.seletor-ano-servico-botao:disabled {
    cursor: default;
    opacity: 0.65;
}

.lista-opcoes-ano-servico {
    position: absolute;
    z-index: 30;
    top: calc(100% + 5px);
    left: 0;
    display: grid;
    min-width: 100%;
    gap: 2px;
    padding: 5px;
    border: 1px solid var(--linha);
    border-radius: 10px;
    background: var(--fundo-painel);
    box-shadow: 0 12px 24px rgba(70, 44, 23, 0.18);
}

.opcao-ano-servico {
    width: 100%;
    padding: 6px 9px;
    border: 0;
    border-radius: 7px;
    color: var(--texto);
    background: transparent;
    font: inherit;
    font-size: 0.86rem;
    text-align: left;
    white-space: nowrap;
    cursor: pointer;
}

.opcao-ano-servico:hover,
.opcao-ano-servico:focus-visible,
.opcao-ano-servico-selecionada {
    outline: none;
    color: var(--destaque);
    background: rgba(143, 75, 46, 0.13);
}

.dica-periodo-ano-servico {
    position: absolute;
    z-index: 31;
    top: calc(100% + 5px);
    left: calc(100% + 8px);
    padding: 5px 9px;
    border: 1px solid var(--linha);
    border-radius: 8px;
    color: var(--texto);
    background: var(--fundo-painel);
    box-shadow: 0 8px 18px rgba(70, 44, 23, 0.14);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
}

.envoltorio-seletor-ano-servico::after {
    content: "⌄";
    position: absolute;
    top: 50%;
    right: 8px;
    color: var(--destaque);
    font-size: 0.8rem;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-58%);
}

.seletor-ano-servico {
    width: auto;
    padding: 4px 25px 4px 8px;
    border: 1px solid rgba(143, 75, 46, 0.24);
    border-radius: 8px;
    appearance: none;
    color: var(--destaque);
    background: rgba(143, 75, 46, 0.07);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
}

.seletor-ano-servico:focus-visible {
    outline: 2px solid rgba(143, 75, 46, 0.22);
    outline-offset: 2px;
}

.formulario-cartoes-atividades {
    width: min(100%, 470px);
    grid-template-columns: minmax(0, 1fr);
}

.cabecalho-titulo-cartao-atividades {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-bottom: 16px;
}

.cabecalho-titulo-cartao-atividades .titulo-cartao {
    width: 100%;
    margin-bottom: 0;
}

.menu-gerar-pdf-cartao-atividades {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.painel-cartao-atividades .titulo-cartao {
    text-align: center;
}

.tabela-cartao-atividades .coluna-mes-atividades {
    width: 15%;
}

.tabela-cartao-atividades .coluna-participacao-atividades {
    width: 19%;
}

.tabela-cartao-atividades .coluna-estudos-atividades {
    width: 15%;
}

.tabela-cartao-atividades .coluna-horas-atividades {
    width: 11%;
}

.tabela-cartao-atividades .coluna-observacoes-atividades {
    width: 40%;
}

.tabela-cartao-atividades th:last-child,
.tabela-cartao-atividades td:last-child {
    text-align: left;
}

.tabela-consolidado-atividades thead th:not(:first-child),
.tabela-consolidado-atividades td:not(:first-child) {
    text-align: center;
}

.tabela-consolidado-anual {
    table-layout: fixed;
}

.tabela-consolidado-anual .coluna-indicador-consolidado-anual {
    width: 75%;
}

.tabela-consolidado-anual .coluna-total-consolidado-anual {
    width: 25%;
}

.tabela-consolidado-mensal {
    table-layout: fixed;
}

.tabela-consolidado-mensal .coluna-categoria-consolidado-mensal {
    width: 40%;
}

.tabela-consolidado-mensal .coluna-relatorios-consolidado-mensal {
    width: 20%;
}

.tabela-consolidado-mensal .coluna-estudos-consolidado-mensal {
    width: 25%;
}

.tabela-consolidado-mensal .coluna-horas-consolidado-mensal {
    width: 15%;
}

.tabela-cartao-atividades .linha-media-cartao {
    border-top: 2px solid rgba(143, 75, 46, 0.28);
    background: rgba(143, 75, 46, 0.04);
}

.indicador-tabela-cartao {
    display: inline-grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border: 2px solid rgba(106, 89, 74, 0.3);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.74);
    vertical-align: middle;
}

.indicador-tabela-cartao i {
    color: transparent;
    font-size: 0.82rem;
    font-style: normal;
    line-height: 1;
}

.indicador-tabela-cartao-marcado {
    border-color: var(--destaque);
    background: var(--destaque);
    box-shadow: 0 2px 6px rgba(143, 75, 46, 0.16);
}

.indicador-tabela-cartao-marcado i {
    color: #fff;
}

.bloco-token {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--linha);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
}

.cabecalho-sessoes { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.menu-conta { position: relative; }
.menu-conta summary { cursor: pointer; list-style: none; }
.menu-conta summary::-webkit-details-marker { display: none; }
.menu-conta-opcoes { position: absolute; right: 0; top: calc(100% + 8px); z-index: 20; display: grid; gap: 6px; min-width: 180px; padding: 10px; border: 1px solid rgba(143,75,46,.28); border-radius: 14px; background: #eadcc9; box-shadow: var(--sombra); }
.menu-conta-opcoes .botao-secundario { text-align: left; border: 0; background: rgba(255,255,255,.72); }
.menu-conta-opcoes .botao-secundario:hover, .menu-conta-opcoes .botao-secundario:focus-visible { background: #fff; }
.cabecalho-tabela-publicadores .espacador-barra-rolagem { width: 16px; padding: 0; }
.cabecalho-tabela-publicadores th:last-child { font-size: 0; }

#filtros-gestao-usuarios {
    grid-template-columns: minmax(180px, 280px) minmax(150px, 260px) 1fr;
    justify-content: start;
    align-items: end;
}

#filtros-gestao-usuarios > .botao-secundario {
    width: max-content;
    justify-self: end;
}

@media (max-width: 700px) {
    #filtros-gestao-usuarios { grid-template-columns: 1fr; }
}
.cabecalho-sessoes .destaque, .cabecalho-sessoes .texto-apoio { margin: 0; }
.lista-registros .cartao-sessao { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 22px; border: 1px solid var(--linha); border-radius: 16px; background: rgba(255,255,255,.55); }
.lista-registros .cartao-sessao.sessao-atual { border-color: var(--destaque); box-shadow: 0 2px 8px rgba(143,75,46,.12); }
.cartao-sessao p { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 8px 0 0; }
.cartao-sessao form { flex: 0 0 auto; }
@media (max-width: 700px) { .cabecalho-sessoes, .lista-registros .cartao-sessao { align-items: stretch; flex-direction: column; } .cabecalho-sessoes form, .cartao-sessao form, .cartao-sessao button { width: 100%; } }

.bloco-token code {
    display: block;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(47, 36, 27, 0.06);
    overflow-wrap: anywhere;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(47, 36, 27, 0.42);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 999;
}

.campo-email-usuario {
    grid-column: span 2;
}

.acoes-administrativas-usuario {
    grid-column: 1 / -1;
    justify-content: flex-start;
}

.cabecalho-administracao-usuario {
    position: relative;
    min-height: 34px;
}

.cabecalho-administracao-usuario .etiqueta-status {
    position: absolute;
    top: 0;
    right: 0;
}

#lista-usuarios-gestao .cabecalho-tabela-publicadores th:nth-child(2),
#lista-usuarios-gestao .cabecalho-tabela-publicadores th:nth-child(3),
#lista-usuarios-gestao .corpo-tabela-publicadores td:nth-child(2),
#lista-usuarios-gestao .corpo-tabela-publicadores td:nth-child(3) {
    text-align: center !important;
    vertical-align: middle;
}

#lista-usuarios-gestao .corpo-tabela-publicadores td:nth-child(2) .acoes-linha,
#lista-usuarios-gestao .corpo-tabela-publicadores td:nth-child(3) .acoes-linha {
    display: flex !important;
    justify-content: center !important;
    align-items: center;
    width: 100%;
    margin: 0 auto;
}

#edicao-usuario .acoes-administrativas-usuario {
    display: flex;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-content: flex-start;
    width: 100%;
}

#edicao-usuario .acoes-formulario {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
}

#edicao-usuario .acao-status-usuario { margin-right: auto; }

#edicao-usuario form.formulario-publicador {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
}

#cadastro-usuario form.formulario-filtros {
    width: 100%;
    grid-template-columns: minmax(220px, 280px) minmax(220px, 280px) minmax(0, 1fr);
    justify-content: start;
}

#cadastro-usuario .acoes-formulario {
    justify-content: flex-end;
}

@media (max-width: 700px) {
    #cadastro-usuario form.formulario-filtros { grid-template-columns: 1fr; }
}

#edicao-usuario form.formulario-publicador .campo-email-usuario {
    grid-column: 2;
}

#lista-usuarios-gestao .tabela-publicadores-gestao th:nth-child(1),
#lista-usuarios-gestao .tabela-publicadores-gestao td:nth-child(1) { width: 34%; }
#lista-usuarios-gestao .tabela-publicadores-gestao th:nth-child(2),
#lista-usuarios-gestao .tabela-publicadores-gestao td:nth-child(2) { width: 33%; }
#lista-usuarios-gestao .tabela-publicadores-gestao th:nth-child(3),
#lista-usuarios-gestao .tabela-publicadores-gestao td:nth-child(3) { width: 33%; }

@media (max-width: 700px) {
    #edicao-usuario form.formulario-publicador { grid-template-columns: 1fr; }
    #edicao-usuario form.formulario-publicador .campo-email-usuario,
    #edicao-usuario .acoes-administrativas-usuario,
    #edicao-usuario .acoes-formulario { grid-column: 1; grid-row: auto; }
    #edicao-usuario .acoes-formulario { flex-wrap: wrap; }
}

.modal-backdrop[id$="-relatorio"] {
    border-radius: 28px;
}

.modal-cartao {
    width: min(560px, 100%);
    padding: 22px;
    border: 1px solid rgba(143, 75, 46, 0.18);
    border-radius: 20px;
    background: var(--fundo-painel);
    box-shadow: var(--sombra);
}

.modal-cartao h2 {
    margin: 0 0 8px;
}

.modal-cartao-grande {
    width: min(720px, 100%);
    max-height: 85vh;
    overflow-y: auto;
}

.modal-cartao p {
    margin: 0 0 12px;
}

.modal-confirmacao-relatorio {
    width: min(520px, 100%);
    box-shadow: none !important;
}

.texto-alerta-exclusao {
    color: #7b2f20;
    font-weight: 600;
}

.acoes-modal-relatorio form {
    margin: 0;
}

.acoes-modal-relatorio {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.quadro-erros-cadastro {
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px solid rgba(143, 75, 46, 0.24);
    border-radius: 14px;
    background: rgba(143, 75, 46, 0.1);
    color: #7b2f20;
}

.quadro-erros-cadastro p {
    margin: 0 0 8px;
    font-weight: 600;
}

.quadro-erros-cadastro ul {
    margin: 0;
    padding-left: 20px;
}

@media (max-width: 900px) {
    .cabecalho-pagina-assistencia {
        flex-direction: column;
        align-items: stretch;
    }

    .acoes-cabecalho-assistencia {
        position: static;
        justify-content: center;
        transform: none;
    }

    .formulario-celebracao {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .formulario-celebracao > .acoes-formulario {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .formulario-celebracao .campo-observacao-celebracao {
        grid-column: 1 / -1;
    }

    .formulario-relatorio {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .cabecalho-cartao-publicador {
        grid-template-columns: 1fr;
    }

    .formulario-filtros-cartao {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }

    #filtros-gestao-publicadores {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }

    #filtros-gestao-publicadores .acoes-formulario {
        grid-column: 3;
    }

    .classificacoes-cartao-publicador,
    .privilegios-cartao-publicador {
        grid-column: 1;
    }

    .privilegios-cartao-publicador {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .cabecalho-aprovacao { flex-direction: column; align-items: flex-start; }
    .cabecalho-secao-congregacoes { flex-direction: column; align-items: stretch; }
    .cabecalho-secao-congregacoes > .botao-primario { align-self: flex-end; }
    .pesquisa-congregacoes, .formulario-congregacao, .grade-dados-congregacao { grid-template-columns: 1fr; }
    .lista-admins-iniciais { grid-template-columns: 1fr; }
    .campo-congregacao-nome, .campo-congregacao-cidade, .acoes-formulario-congregacao { grid-column: 1; }
    .formulario-admin-inicial { grid-template-columns: 1fr; }
    .formulario-admin-inicial .campo-admin-nome,
    .formulario-admin-inicial .campo-admin-email,
    .formulario-admin-inicial .campo-admin-data,
    .formulario-admin-inicial .campo-admin-classe { grid-column: 1; }
    .campo-congregacao-estado { max-width: none; }
    .item-congregacao { grid-template-columns: 1fr; gap: 10px; }
    .resumo-administradores-congregacao, .acao-item-congregacao { grid-column: 1; grid-row: auto; }
    #filtro-informacoes-publicadores > .campo:first-of-type {
        width: 100%;
    }

    .grade-informacoes-publicador,
    .grade-contato-emergencia-consulta {
        grid-template-columns: 1fr;
    }

    .formulario-filtro-painel-anciaos {
        grid-template-columns: 1fr;
    }

    .periodo-painel-anciaos {
        justify-self: start;
        margin-bottom: 0;
    }

    .cabecalho-painel-anciaos {
        flex-direction: column;
        align-items: flex-start;
    }

    .grade-indicadores-anciaos,
    .grade-indicadores-congregacao {
        grid-template-columns: 1fr;
    }

    .fundo {
        width: min(100% - 20px, 1080px);
        padding: 28px 0 40px;
    }

    .painel {
        padding: 20px;
        border-radius: 22px;
    }

    .modal-backdrop[id$="-relatorio"] {
        border-radius: 22px;
    }

    .cabecalho-superior,
    .form-logout {
        flex-direction: column;
        align-items: flex-start;
    }

    .painel-usuario {
        align-items: flex-start;
    }

    .formulario-publicador {
        grid-template-columns: 1fr;
    }

    .formulario-filtros-cartao {
        grid-template-columns: 1fr;
    }

    .formulario-cartoes-atividades {
        grid-template-columns: minmax(0, 1fr);
    }

    .dica-periodo-ano-servico {
        top: calc(100% + 8px);
        left: 0;
    }

    .cabecalho-pagina-assistencia,
    .acoes-edicao-assistencia,
    .acoes-cabecalho-assistencia {
        flex-direction: column;
        align-items: stretch;
    }

    .acoes-edicao-assistencia,
    .acoes-cabecalho-assistencia {
        justify-content: stretch;
    }

    .formulario-celebracao {
        grid-template-columns: 1fr;
    }

    .cabecalho-secao-celebracao {
        flex-direction: column;
        align-items: stretch;
    }

    #filtros-gestao-publicadores {
        grid-template-columns: 1fr;
    }

    #filtros-gestao-publicadores .acoes-formulario {
        grid-column: 1;
    }

    .painel-lista-publicadores-cartao {
        padding: 20px;
    }

    .campo-compacto,
    .campo-endereco,
    .campo-chefe-familia-nome,
    .campo-contato-emergencia-nome {
        max-width: none;
        grid-column: auto;
    }

    .acoes-formulario {
        flex-wrap: wrap;
    }

    .tabela-publicadores th:last-child,
    .tabela-publicadores td:last-child {
        width: 130px;
    }

    .tabela-publicadores.tabela-publicadores-gestao th:last-child,
    .tabela-publicadores.tabela-publicadores-gestao td:last-child {
        width: auto;
    }

    .cabecalho-cartao-publicador {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 16px;
    }

    .nome-cartao-publicador,
    .datas-cartao-publicador p {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .classificacoes-cartao-publicador,
    .privilegios-cartao-publicador {
        grid-column: 1;
    }

    .linha-indicadores-cartao,
    .privilegios-cartao-publicador {
        grid-template-columns: 1fr;
    }
}

.painel-boas-vindas {
    display: grid;
    gap: 20px;
}

.cabecalho-boas-vindas {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.marca-boas-vindas {
    margin: 0 0 6px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.76rem;
    color: var(--destaque);
    font-weight: 700;
}

.saudacao {
    margin: 0 0 8px;
    font-size: clamp(1.5rem, 2.6vw, 2rem);
    line-height: 1.15;
}

.subtitulo-boas-vindas {
    margin: 0;
}

.chip-ambiente {
    flex: 0 0 auto;
}

.aviso-central-inicio {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border: 1px solid rgba(143, 75, 46, 0.22);
    border-radius: 16px;
    background: rgba(143, 75, 46, 0.06);
    color: var(--texto);
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.aviso-central-inicio:hover,
.aviso-central-inicio:focus-visible {
    background: rgba(143, 75, 46, 0.12);
    border-color: var(--destaque);
    transform: translateY(-1px);
    outline: none;
}

.icone-aviso-central {
    display: inline-flex;
    flex: 0 0 auto;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 252, 247, .92);
    color: var(--destaque);
}

.icone-aviso-central svg {
    width: 1.3rem;
    height: 1.3rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.texto-aviso-central {
    flex: 1 1 auto;
}

.seta-aviso-central {
    flex: 0 0 auto;
    color: var(--destaque);
    font-weight: 700;
}

.acoes-apresentacao {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.painel-secundario h2 {
    margin: 0 0 6px;
}

.painel-secundario > .texto-apoio {
    margin: 0 0 18px;
}

.grade-acoes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.cartao-acao {
    display: grid;
    gap: 6px;
    align-content: start;
    padding: 18px 20px;
    border: 1px solid var(--linha);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--texto);
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.cartao-acao:hover,
.cartao-acao:focus-visible {
    background: #fff;
    border-color: var(--destaque);
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(70, 44, 23, 0.12);
    outline: none;
}

.titulo-cartao-acao {
    font-weight: 700;
}

@media (max-width: 560px) {
    .cabecalho-boas-vindas {
        flex-direction: column;
        align-items: flex-start;
    }

    .aviso-central-inicio {
        align-items: flex-start;
    }
}
