:root {

    --am-fundo: #f4f6f8;

    --am-card: #ffffff;

    --am-texto: #24364b;

    --am-secundaria: #687787;

    --am-destaque: #2f80ed;

    --am-destaque-claro: #edf4ff;

    --am-borda: #dfe5eb;

    --am-verde: #229954;

    --am-vermelho: #d64545;

    --am-sombra:
        0 5px 22px rgba(0, 0, 0, .07);

}


.admin-min-page {

    min-height: 100vh;

    padding:
        35px;

    box-sizing:
        border-box;

    background:
        var(--am-fundo);

    color:
        var(--am-texto);

}


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

.admin-min-topo {

    width:
        100%;

    max-width:
        1350px;

    margin:
        0 auto 24px;

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    gap:
        20px;

}


.admin-min-topo span {

    color:
        var(--am-destaque);

    font-size:
        10px;

    font-weight:
        700;

    text-transform:
        uppercase;

}


.admin-min-topo h1 {

    margin:
        4px 0;

}


.admin-min-topo p {

    margin:
        0;

    color:
        var(--am-secundaria);

    font-size:
        12px;

}


.admin-min-topo-acoes {

    display:
        flex;

    gap:
        8px;

}


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

.btn-min-principal,
.btn-min-secundario {

    padding:
        9px 14px;

    border-radius:
        6px;

    cursor:
        pointer;

    font-size:
        11px;

    font-weight:
        600;

    text-decoration:
        none;

}


.btn-min-principal {

    border:
        1px solid
        var(--am-destaque);

    background:
        var(--am-destaque);

    color:
        white;

}


.btn-min-secundario {

    border:
        1px solid
        var(--am-borda);

    background:
        white;

    color:
        var(--am-texto);

}


button:disabled {

    opacity:
        .5;

    cursor:
        not-allowed;

}


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

.admin-min-card {

    width:
        100%;

    max-width:
        1350px;

    margin:
        0 auto 20px;

    background:
        white;

    border:
        1px solid
        var(--am-borda);

    border-radius:
        11px;

    box-shadow:
        var(--am-sombra);

    overflow:
        hidden;

}


.admin-min-card-topo {

    padding:
        18px 21px;

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    border-bottom:
        1px solid
        var(--am-borda);

}


.admin-min-card-topo > div {

    display:
        flex;

    flex-direction:
        column;

}


.admin-min-card-topo span {

    color:
        var(--am-secundaria);

    font-size:
        9px;

    text-transform:
        uppercase;

}


.admin-min-card-topo h2 {

    margin:
        3px 0 0;

    font-size:
        18px;

}


/* =========================================================
   CATEGORIAS
========================================================= */

.admin-categorias {

    padding:
        18px 20px;

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;

}


.admin-categoria-btn {

    padding:
        9px 14px;

    border:
        1px solid
        var(--am-borda);

    border-radius:
        30px;

    background:
        white;

    color:
        var(--am-texto);

    cursor:
        pointer;

}


.admin-categoria-btn.ativo {

    border-color:
        var(--am-destaque);

    background:
        var(--am-destaque);

    color:
        white;

}


.admin-categoria-btn.inativa {

    opacity:
        .55;

}


.acoes-categoria {

    padding:
        0 20px 18px;

    display:
        flex;

    gap:
        8px;

}


.acoes-categoria button {

    padding:
        6px 9px;

    border:
        1px solid
        var(--am-borda);

    border-radius:
        5px;

    background:
        white;

    cursor:
        pointer;

    font-size:
        10px;

}


#btnExcluirCategoria {

    color:
        var(--am-vermelho);

}


/* =========================================================
   VÍDEOS
========================================================= */

.videos-topo-acoes {

    display:
        flex !important;

    flex-direction:
        row !important;

    align-items:
        center;

    gap:
        12px;

}


.admin-videos {

    display:
        flex;

    flex-direction:
        column;

}


.admin-video-item {

    padding:
        15px 20px;

    display:
        grid;

    grid-template-columns:
        105px 1fr auto;

    gap:
        15px;

    align-items:
        center;

    border-bottom:
        1px solid
        #edf0f3;

}


.admin-video-item:last-child {

    border-bottom:
        none;

}


.admin-video-data {

    color:
        var(--am-secundaria);

    font-size:
        11px;

}


.admin-video-info {

    display:
        flex;

    flex-direction:
        column;

}


.admin-video-info strong {

    font-size:
        12px;

}


.admin-video-info span {

    margin-top:
        3px;

    font-size:
        9px;

}


.video-status-ativo {

    color:
        var(--am-verde);

}


.video-status-inativo {

    color:
        var(--am-vermelho);

}


.admin-video-acoes {

    display:
        flex;

    gap:
        6px;

}


.admin-video-acoes button {

    padding:
        6px 9px;

    border:
        1px solid
        var(--am-borda);

    border-radius:
        5px;

    background:
        white;

    cursor:
        pointer;

    font-size:
        10px;

}


.btn-excluir-video {

    color:
        var(--am-vermelho);

}


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

.admin-min-modal {

    position:
        fixed;

    inset:
        0;

    z-index:
        20000;

    padding:
        20px;

    display:
        none;

    justify-content:
        center;

    align-items:
        center;

    background:
        rgba(0, 0, 0, .6);

}


.admin-min-modal.ativo {

    display:
        flex;

}


.admin-min-modal-box {

    width:
        100%;

    max-width:
        520px;

    background:
        white;

    border-radius:
        10px;

    overflow:
        hidden;

}


.admin-min-modal-topo {

    padding:
        18px 20px;

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    border-bottom:
        1px solid
        var(--am-borda);

}


.admin-min-modal-topo h2 {

    margin:
        0;
    color: #000000;
    font-size:
        18px;

}


.admin-min-modal-topo button {

    width:
        32px;

    height:
        32px;

    border:
        none;

    border-radius:
        50%;

    background:
        #f0f2f4;

    cursor:
        pointer;

    font-size:
        19px;

}


.admin-min-modal form {

    color: #000000;
    padding:
        20px;

}


.campo {

    margin-bottom:
        15px;

    display:
        flex;

    flex-direction:
        column;

    gap:
        5px;

}


.campo label {

    font-size:
        11px;

    font-weight:
        600;

}


.campo input {

    padding:
        10px;

    border:
        1px solid
        var(--am-borda);

    border-radius:
        6px;

    outline:
        none;

}


.campo input:focus {

    border-color:
        var(--am-destaque);

}


.admin-min-check {

    display:
        flex;

    align-items:
        center;

    gap:
        8px;

    font-size:
        11px;

}


.admin-min-modal-acoes {

    margin-top:
        20px;

    display:
        flex;

    justify-content:
        flex-end;

    gap:
        8px;

}


.admin-min-status {

    min-height:
        18px;

    margin-top:
        10px;

    font-size:
        10px;

}


.admin-min-status.erro {

    color:
        var(--am-vermelho);

}


/* =========================================================
   VAZIO
========================================================= */

.admin-min-vazio {

    padding:
        35px;

    color:
        var(--am-secundaria);

    text-align:
        center;

    font-size:
        11px;

}


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

@media (
    max-width: 700px
) {

    .admin-min-page {

        padding:
            22px 12px;

    }


    .admin-min-topo {

        flex-direction:
            column;

        align-items:
            flex-start;

    }


    .admin-video-item {

        grid-template-columns:
            1fr;

    }

}

/* =========================================================
   E7.2 — GOOGLE DRIVE / MINISTRAÇÕES
========================================================= */

.campo select {
    min-height: 38px;
    padding: 9px 10px;
    border: 1px solid var(--am-borda);
    border-radius: 6px;
    background: #fff;
    color: inherit;
    font: inherit;
    outline: none;
}

.campo select:focus {
    border-color: var(--am-destaque);
}


.admin-min-drive-navegacao {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 8px;
}

.admin-min-drive-navegacao > div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.admin-min-drive-navegacao span {
    color: var(--text-secondary, #79869F);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.admin-min-drive-navegacao select {
    width: 100%;
    min-width: 0;
}

.admin-min-drive-linha {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.admin-min-drive-linha select {
    width: 100%;
    min-width: 0;
}

.admin-min-ajuda {
    color: #66717f;
    font-size: 10px;
    line-height: 1.45;
}

@media (max-width: 620px) {
    .admin-min-drive-navegacao {
        grid-template-columns: 1fr;
    }

    .admin-min-drive-linha {
        grid-template-columns: 1fr;
    }

    .admin-min-drive-linha .btn-min-secundario {
        width: 100%;
    }
}


/* =========================================================
   E7.4C11 — GERENCIAR MINISTRAÇÕES | DESIGN SYSTEM IECJS
========================================================= */

.admin-min-page {
    background: transparent !important;
    color: var(--text-primary, #17324A) !important;
}

.admin-min-topo h1,
.admin-min-card-topo h2,
.admin-min-modal-topo h2,
.campo label,
.admin-video-info strong {
    color: var(--text-primary, #17324A) !important;
}

.admin-min-topo p,
.admin-min-ajuda,
.campo small,
.admin-min-vazio,
.admin-video-data,
.admin-video-info span {
    color: var(--text-secondary, #79869F) !important;
}

.admin-min-topo > div > span,
.admin-min-card-topo > div > span {
    color: var(--primary, #22B8EF) !important;
}

.admin-min-card,
.admin-video-item,
.admin-min-modal-box,
.admin-min-check {
    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;
}

.admin-min-card-topo,
.admin-video-item,
.admin-min-modal-topo,
.admin-min-modal-acoes {
    border-color: var(--border-soft, rgba(23,50,74,.14)) !important;
}

.admin-categoria-btn {
    min-height: 40px;
    border: 1px solid var(--border-soft, rgba(23,50,74,.14)) !important;
    border-radius: 999px !important;
    background: var(--bg-surface-elevated, #F2F6F8) !important;
    color: var(--text-primary, #17324A) !important;
}

.admin-categoria-btn.ativo {
    background: var(--primary-soft, rgba(34,184,239,.12)) !important;
    color: var(--primary, #22B8EF) !important;
    border-color: var(--border-strong, rgba(34,184,239,.35)) !important;
}

.btn-min-principal {
    min-height: 42px;
    border-color: transparent !important;
    border-radius: var(--radius-sm, 8px) !important;
    background: linear-gradient(135deg, var(--primary, #22B8EF), var(--primary-hover, #46C3F1)) !important;
    color: #09131D !important;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(34,184,239,.14);
}

.btn-min-secundario,
.acoes-categoria button,
.admin-video-acoes button {
    min-height: 38px;
    border: 1px solid var(--border-soft, rgba(23,50,74,.14)) !important;
    border-radius: var(--radius-sm, 8px) !important;
    background: var(--bg-surface-elevated, #F2F6F8) !important;
    color: var(--text-primary, #17324A) !important;
    text-decoration: none !important;
}

#btnExcluirCategoria,
.btn-excluir-video {
    color: var(--danger, #E5484D) !important;
    border-color: color-mix(in srgb, var(--danger, #E5484D) 38%, transparent) !important;
}

.campo :is(input,select,textarea),
.admin-min-drive-linha select {
    background: var(--iecjs-campo, #FEFEFE) !important;
    color: var(--text-primary, #17324A) !important;
    border-color: var(--border-soft, rgba(23,50,74,.14)) !important;
    border-radius: var(--radius-sm, 8px) !important;
}

.campo :is(input,select,textarea):focus,
.admin-min-drive-linha select:focus {
    border-color: var(--primary, #22B8EF) !important;
    box-shadow: 0 0 0 3px var(--primary-soft, rgba(34,184,239,.12));
}

.admin-min-modal {
    backdrop-filter: blur(5px);
}

.admin-min-modal-topo button {
    display: inline-grid;
    place-items: center;
    background: var(--bg-surface-elevated, #F2F6F8) !important;
    color: var(--text-primary, #17324A) !important;
    border: 1px solid var(--border-soft, rgba(23,50,74,.14)) !important;
}

html[data-theme="dark"] .admin-min-page :is(
    .admin-min-card,.admin-video-item,.admin-min-modal-box,.admin-min-check
) {
    background: var(--bg-surface, #102536) !important;
    color: var(--text-primary, #F8F6F0) !important;
}

html[data-theme="dark"] .admin-min-page :is(h1,h2,h3,strong,label,.admin-video-info strong) {
    color: var(--text-primary, #F8F6F0) !important;
}

html[data-theme="dark"] .admin-min-page :is(p,small,.admin-min-ajuda,.admin-min-vazio,.admin-video-data,.admin-video-info span) {
    color: var(--text-secondary, #ABB8C4) !important;
}

html[data-theme="dark"] .admin-min-page :is(input,select,textarea) {
    background: var(--bg-section, #0D1C29) !important;
    color: var(--text-primary, #F8F6F0) !important;
    border-color: var(--border-soft, rgba(171,184,196,.14)) !important;
    color-scheme: dark;
}

html[data-theme="dark"] .admin-min-page :is(.btn-min-secundario,.acoes-categoria button,.admin-video-acoes button) {
    background: var(--bg-surface-elevated, #17354A) !important;
    color: var(--text-primary, #F8F6F0) !important;
}

@media (max-width: 760px) {
    .admin-min-page {
        padding: 22px 14px 48px !important;
    }

    .admin-min-topo {
        align-items: stretch !important;
    }

    .admin-min-topo-acoes {
        width: 100%;
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .admin-min-topo-acoes > * {
        width: 100%;
        box-sizing: border-box;
    }

    .admin-min-card-topo.videos-topo {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .videos-topo-acoes {
        width: 100%;
        justify-content: space-between;
    }

    .admin-min-modal {
        padding: 10px;
        align-items: flex-end;
    }

    .admin-min-modal-box {
        max-height: calc(100dvh - 20px);
        overflow-y: auto !important;
        border-radius: var(--radius-md, 12px) var(--radius-md, 12px) 0 0 !important;
    }
}


/* Garantia de contraste do conteúdo interno dos modais. */
.admin-min-modal form {
    color: var(--text-primary, #17324A) !important;
}

html[data-theme="dark"] .admin-min-page .admin-min-modal form {
    color: var(--text-primary, #F8F6F0) !important;
}
