/* =========================================================
   E4.2 - EVENTOS + INSCRIÇÕES
========================================================= */

:root {
    --eventos-fundo: #f4f6f9;
    --eventos-card: #ffffff;
    --eventos-texto: #1f2937;
    --eventos-texto-suave: #667085;
    --eventos-borda: #e4e7ec;
    --eventos-primaria: #173f6c;
    --eventos-primaria-hover: #0e3158;
    --eventos-sucesso: #137a4b;
    --eventos-sucesso-fundo: #eaf8f1;
    --eventos-alerta: #96640b;
    --eventos-alerta-fundo: #fff7df;
    --eventos-perigo: #b42318;
    --eventos-perigo-fundo: #fff0ee;
}


* {
    box-sizing: border-box;
}


.eventos-admin-body {
    margin: 0;
    background: var(--eventos-fundo);
    color: var(--eventos-texto);
}


.eventos-modal-aberto {
    overflow: hidden;
}


.eventos-admin-page {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 36px 0 70px;
}


/* =========================================================
   TOPO
========================================================= */

.eventos-admin-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 28px;
    margin-bottom: 26px;
}


.eventos-admin-etiqueta {
    display: block;
    margin-bottom: 8px;
    color: var(--eventos-primaria);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}


.eventos-admin-topo h1 {
    margin: 0;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.05;
}


.eventos-admin-topo p {
    max-width: 720px;
    margin: 12px 0 0;
    color: var(--eventos-texto-suave);
    line-height: 1.6;
}


/* =========================================================
   BOTÕES
========================================================= */

.eventos-btn {
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: 10px;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


.eventos-btn:hover {
    transform: translateY(-1px);
}


.eventos-btn:disabled {
    opacity: .55;
    cursor: wait;
    transform: none;
}


.eventos-btn-primary {
    background: var(--eventos-primaria);
    color: white;
}


.eventos-btn-primary:hover {
    background: var(--eventos-primaria-hover);
}


.eventos-btn-secondary {
    border-color: var(--eventos-borda);
    background: white;
    color: var(--eventos-texto);
}


.eventos-btn-danger {
    border-color: #f4c7c2;
    background: white;
    color: var(--eventos-perigo);
}




.eventos-contexto-ministerio {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin-top: 14px;
    padding: 5px 10px;
    border: 1px solid #cdd9e6;
    border-radius: 999px;
    background: #edf4fb;
    color: var(--eventos-primaria);
    font-size: 12px;
    font-weight: 800;
}


.eventos-contexto-ministerio[hidden] {
    display: none !important;
}


/* =========================================================
   INDICADORES
========================================================= */

.eventos-indicadores {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}


.eventos-indicador {
    padding: 18px 20px;
    border: 1px solid var(--eventos-borda);
    border-radius: 14px;
    background: var(--eventos-card);
}


.eventos-indicador span {
    display: block;
    color: var(--eventos-texto-suave);
    font-size: 13px;
}


.eventos-indicador strong {
    display: block;
    margin-top: 5px;
    font-size: 28px;
}


/* =========================================================
   CARDS / FILTROS
========================================================= */

.eventos-card {
    margin-top: 16px;
    padding: 20px;
    border: 1px solid var(--eventos-borda);
    border-radius: 16px;
    background: var(--eventos-card);
}


.eventos-filtros {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px 230px;
    gap: 12px;
}


.eventos-filtros input,
.eventos-filtros select,
.eventos-form input,
.eventos-form select,
.eventos-form textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--eventos-borda);
    border-radius: 10px;
    outline: none;
    background: white;
    color: var(--eventos-texto);
    font: inherit;
}


.eventos-form textarea {
    resize: vertical;
}


.eventos-filtros input:focus,
.eventos-filtros select:focus,
.eventos-form input:focus,
.eventos-form select:focus,
.eventos-form textarea:focus {
    border-color: #8db2d8;
    box-shadow: 0 0 0 3px rgba(23, 63, 108, .08);
}


.eventos-card-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 18px;
}


.eventos-card-topo span:first-child {
    color: var(--eventos-texto-suave);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}


.eventos-card-topo h2 {
    margin: 4px 0 0;
    font-size: 22px;
}


/* =========================================================
   LISTA
========================================================= */

.eventos-lista {
    display: flex;
    flex-direction: column;
    gap: 12px;
}


.evento-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 285px;
    gap: 18px;
    padding: 18px;
    border: 1px solid var(--eventos-borda);
    border-radius: 14px;
    background: #fff;
}


.evento-item h3 {
    margin: 8px 0 4px;
    font-size: 20px;
}


.evento-item-ministerio {
    margin: 0 0 14px;
    color: var(--eventos-primaria);
    font-size: 13px;
    font-weight: 700;
}


.evento-item-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}


.evento-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}


.evento-badge-publicado {
    background: var(--eventos-sucesso-fundo);
    color: var(--eventos-sucesso);
}


.evento-badge-rascunho {
    background: var(--eventos-alerta-fundo);
    color: var(--eventos-alerta);
}


.evento-badge-inscricoes {
    background: #eaf1fb;
    color: var(--eventos-primaria);
}


.evento-item-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--eventos-texto-suave);
    font-size: 13px;
    line-height: 1.5;
}


.evento-item-meta strong {
    color: var(--eventos-texto);
}


.evento-item-lateral {
    padding-left: 18px;
    border-left: 1px solid var(--eventos-borda);
}


.evento-item-resumo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}


.evento-item-resumo span {
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: var(--eventos-texto-suave);
    font-size: 11px;
}


.evento-item-resumo strong {
    color: var(--eventos-texto);
    font-size: 14px;
}


.evento-item-acoes {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 20px;
}


.eventos-vazio {
    padding: 36px 18px;
    text-align: center;
    color: var(--eventos-texto-suave);
}


.eventos-vazio-erro {
    color: var(--eventos-perigo);
}


/* =========================================================
   STATUS
========================================================= */

.eventos-status {
    color: var(--eventos-texto-suave);
    font-size: 13px;
}


.eventos-status.sucesso {
    color: var(--eventos-sucesso);
}


.eventos-status.erro {
    color: var(--eventos-perigo);
}


/* =========================================================
   MODAL
========================================================= */

.eventos-modal {
    position: fixed;
    inset: 0;
    z-index: 30000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, .72);
}


.eventos-modal.ativo {
    display: flex;
}


.eventos-modal-caixa {
    width: min(960px, 100%);
    max-height: 92vh;
    overflow: auto;
    border-radius: 18px;
    background: white;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}


.eventos-modal-topo {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 20px 24px;
    border-bottom: 1px solid var(--eventos-borda);
    background: rgba(255, 255, 255, .97);
}


.eventos-modal-topo span {
    color: var(--eventos-primaria);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}


.eventos-modal-topo h2 {
    margin: 3px 0 0;
}


.eventos-modal-fechar {
    width: 38px;
    height: 38px;
    border: 1px solid var(--eventos-borda);
    border-radius: 50%;
    background: white;
    cursor: pointer;
    color: var(--eventos-texto);
    font-size: 22px;
}


/* =========================================================
   FORM
========================================================= */

.eventos-form {
    padding: 0 24px 24px;
}


.eventos-form-secao {
    padding: 22px 0;
    border-bottom: 1px solid var(--eventos-borda);
}


.eventos-form-secao:last-of-type {
    border-bottom: none;
}


.eventos-form-secao h3 {
    margin: 0 0 16px;
    font-size: 17px;
}


.eventos-form-secao-topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 16px;
}


.eventos-form-secao-topo h3 {
    margin: 0;
}


.eventos-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}


.eventos-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}


.eventos-campo {
    margin-top: 14px;
}


.eventos-grid-2 > .eventos-campo,
.eventos-grid-3 > .eventos-campo {
    margin-top: 0;
}


.eventos-campo label {
    display: block;
    margin-bottom: 6px;
    color: #344054;
    font-size: 12px;
    font-weight: 700;
}


.eventos-check,
.eventos-switch-linha {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    cursor: pointer;
    color: #344054;
    font-size: 13px;
    line-height: 1.45;
}


.eventos-check input,
.eventos-switch-linha input {
    width: auto;
    min-height: 0;
    margin-top: 2px;
}


.eventos-opcoes-status {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    padding-top: 6px;
}


.eventos-bloco-condicional {
    transition: opacity .2s ease;
}


.eventos-bloco-condicional.inativo {
    opacity: .45;
}


.eventos-modal-rodape {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding-top: 20px;
}


.eventos-modal-rodape > div {
    display: flex;
    gap: 8px;
}


/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 900px) {

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

    .evento-item {
        grid-template-columns: 1fr;
    }

    .evento-item-lateral {
        padding-left: 0;
        padding-top: 14px;
        border-left: none;
        border-top: 1px solid var(--eventos-borda);
    }

}


@media (max-width: 680px) {

    .eventos-admin-page {
        width: min(100% - 20px, 1180px);
        padding-top: 22px;
    }

    .eventos-admin-topo {
        flex-direction: column;
    }

    .eventos-admin-topo .eventos-btn {
        width: 100%;
    }

    .eventos-filtros,
    .eventos-grid-2,
    .eventos-grid-3 {
        grid-template-columns: 1fr;
    }

    .eventos-modal {
        padding: 0;
    }

    .eventos-modal-caixa {
        width: 100%;
        max-height: 100vh;
        min-height: 100vh;
        border-radius: 0;
    }

    .eventos-form-secao-topo,
    .eventos-modal-rodape {
        align-items: stretch;
        flex-direction: column;
    }

    .eventos-modal-rodape > div {
        width: 100%;
    }

    .eventos-modal-rodape .eventos-btn {
        flex: 1;
    }

}


/* =========================================================
   E4.3 - CONFIGURAÇÃO DO PÚBLICO
========================================================= */

.eventos-publico-config {
    margin: 18px 0;
}


.eventos-publico-config[hidden],
.eventos-publico-painel[hidden] {
    display: none !important;
}


.eventos-publico-painel {
    padding: 18px;
    border: 1px solid var(--eventos-borda);
    border-radius: 14px;
    background: #f8fafc;
}


.eventos-publico-painel-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 10px;
}


.eventos-publico-painel-topo span:first-child {
    display: block;
    margin-bottom: 3px;
    color: var(--eventos-primaria);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}


.eventos-publico-painel-topo h4 {
    margin: 0;
    font-size: 16px;
}


.eventos-publico-painel > p {
    margin: 0 0 14px;
    color: var(--eventos-texto-suave);
    font-size: 13px;
    line-height: 1.55;
}


.eventos-publico-opcoes {
    display: flex;
    flex-direction: column;
    gap: 10px;
}


.eventos-publico-opcoes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 16px;
}


.eventos-publico-orientacao {
    margin-top: 16px;
}


.eventos-ajuda {
    display: block;
    margin-top: 7px;
    color: var(--eventos-texto-suave);
    font-size: 11px;
    line-height: 1.5;
}


.evento-badge-neutro {
    background: #f2f4f7;
    color: #475467;
}


@media (max-width: 680px) {

    .eventos-publico-painel-topo {
        flex-direction: column;
    }

    .eventos-publico-opcoes-grid {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   LINK PRIVADO DE CONVITE
========================================================= */

.eventos-link-convite {

    margin-top: 14px;

}


.eventos-link-convite[hidden] {

    display: none !important;

}


.eventos-link-convite-linha {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 8px;

    align-items: center;

}


.eventos-link-convite-linha input[readonly] {

    background: #f6f8fa;

    color: #44515e;

}


.eventos-link-convite-linha .eventos-btn {

    min-height: 42px;

    white-space: nowrap;

}


@media (
    max-width: 680px
) {

    .eventos-link-convite-linha {

        grid-template-columns: 1fr;

    }

}

/* =========================================================
   AÇÕES COMPACTAS DOS CARDS
========================================================= */

.evento-item-acoes {
    flex-wrap: wrap;
    align-items: center;
}

.evento-item-acoes .eventos-btn {
    min-height: 36px;
    padding: 7px 11px;
    border-radius: 9px;
    font-size: 12px;
    line-height: 1.15;
}

.evento-item-acoes .eventos-btn-primary {
    padding-inline: 13px;
}

/* =========================================================
   E5 — AÇÕES DE SOLICITAÇÕES
========================================================= */

.eventos-admin-acoes-topo {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.eventos-admin-acoes-topo [hidden] {
    display: none !important;
}

@media (max-width: 720px) {
    .eventos-admin-acoes-topo {
        justify-content: flex-start;
        width: 100%;
    }
}

/* =========================================================
   E7.4C8 — EVENTOS / DESIGN SYSTEM IECJS
========================================================= */
html.iecjs-contexto-interno .eventos-admin-body,
html.iecjs-contexto-interno body.eventos-admin-body {
    background: transparent !important;
    color: var(--text-primary, #17324A) !important;
}

html.iecjs-contexto-interno .eventos-admin-page {
    color: var(--text-primary, #17324A) !important;
}

html.iecjs-contexto-interno .eventos-admin-page :is(
    .eventos-indicador,
    .eventos-card,
    .evento-item,
    .eventos-publico-painel,
    .eventos-form-secao,
    .eventos-modal-caixa,
    .eventos-ajuda
) {
    background: var(--bg-surface, #FEFEFE) !important;
    color: var(--text-primary, #17324A) !important;
    border-color: var(--border-soft, rgba(23,50,74,.14)) !important;
    box-shadow: var(--shadow-sm, 0 6px 18px rgba(23,50,74,.07)) !important;
}

html.iecjs-contexto-interno .eventos-admin-page :is(h1,h2,h3,strong,label) {
    color: var(--text-primary, #17324A) !important;
}

html.iecjs-contexto-interno .eventos-admin-page :is(p,small,.eventos-ajuda,.evento-item-meta,.evento-item-descricao) {
    color: var(--text-secondary, #79869F) !important;
}

html.iecjs-contexto-interno .eventos-admin-page :is(input,select,textarea) {
    background: var(--bg-surface-elevated, #F8FAFC) !important;
    color: var(--text-primary, #17324A) !important;
    border-color: var(--border-soft, rgba(23,50,74,.16)) !important;
}

html[data-theme="dark"].iecjs-contexto-interno .eventos-admin-page :is(
    .eventos-indicador,
    .eventos-card,
    .evento-item,
    .eventos-publico-painel,
    .eventos-form-secao,
    .eventos-modal-caixa,
    .eventos-ajuda
) {
    background: #102536 !important;
    color: #F8F6F0 !important;
    border-color: rgba(171,184,196,.14) !important;
    box-shadow: none !important;
}

html[data-theme="dark"].iecjs-contexto-interno .eventos-admin-page :is(h1,h2,h3,strong,label) { color:#F8F6F0 !important; }
html[data-theme="dark"].iecjs-contexto-interno .eventos-admin-page :is(p,small,.evento-item-meta,.evento-item-descricao) { color:#ABB8C4 !important; }
html[data-theme="dark"].iecjs-contexto-interno .eventos-admin-page :is(input,select,textarea,.eventos-link-convite-linha input[readonly]) {
    background:#0D1C29 !important;
    color:#F8F6F0 !important;
    border-color:rgba(171,184,196,.18) !important;
    color-scheme:dark;
}

html[data-theme="dark"].iecjs-contexto-interno .eventos-admin-page .eventos-btn-secondary {
    background:#17354A !important;
    color:#F8F6F0 !important;
    border-color:rgba(171,184,196,.18) !important;
}

@media (max-width: 720px) {
    html.iecjs-contexto-interno .eventos-admin-page { width:min(100% - 24px, 1180px); padding-top:24px; }
    html.iecjs-contexto-interno .eventos-admin-topo { flex-direction:column; gap:18px; }
    html.iecjs-contexto-interno .eventos-indicadores { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

