/* admin_style.css - Um visual mais moderno para o painel */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700;800&display=swap');

:root {
    --admin-font-family: 'Nunito', sans-serif;
    
    /* Paleta Escura para Sidebar */
    --admin-sidebar-bg: #2c3a47; /* Azul petróleo escuro / Grafite */
    --admin-sidebar-text-color: #bdc3c7; /* Cinza claro */
    --admin-sidebar-link-hover-bg: #34495e; /* Um tom mais claro que o fundo */
    --admin-sidebar-link-active-bg: #3498db; /* Azul vibrante */
    --admin-sidebar-link-active-text: #ffffff;
    --admin-sidebar-width: 260px;
    --admin-sidebar-width-collapsed: 70px; /* Para menu recolhido */

    /* Paleta Clara para Conteúdo Principal */
    --admin-main-bg: #f4f6f9; /* Cinza bem claro */
    --admin-content-bg: #ffffff; /* Branco para cards e containers */
    --admin-text-color: #333a4d; /* Azul acinzentado escuro */
    --admin-heading-color: #2c3a47;
    --admin-border-color: #e0e6ed; /* Borda sutil */
    
    /* Cores de Destaque e Ação */
    --admin-primary-color: #3498db; /* Azul vibrante */
    --admin-success-color: #27ae60; /* Verde */
    --admin-error-color: #e74c3c; /* Vermelho */
    --admin-warning-color: #f39c12; /* Laranja */
    --admin-info-color: #3498db; /* Azul */

    --admin-shadow-sm: 0 1px 3px rgba(0,0,0,0.05);
    --admin-shadow-md: 0 4px 12px rgba(0,0,0,0.08);
    --admin-border-radius: 6px;
    --admin-transition-speed: 0.25s;
}

/* Reset e Globais */
*, *::before, *::after { box-sizing: border-box; }
body {
    font-family: var(--admin-font-family);
    margin: 0;
    background-color: var(--admin-main-bg);
    color: var(--admin-text-color);
    font-size: 15px; /* Um pouco menor para painel */
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
a { text-decoration: none; color: var(--admin-primary-color); transition: color var(--admin-transition-speed) ease; }
a:hover { color: darken(var(--admin-primary-color), 10%); }
h1, h2, h3, h4, h5, h6 { 
    color: var(--admin-heading-color); 
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 0.75em;
}

/* Layout Principal */
.admin-layout {
    display: flex;
    min-height: 100vh;
}

/* --- Sidebar (Menu Lateral) --- */
.admin-sidebar {
    width: var(--admin-sidebar-width);
    background-color: var(--admin-sidebar-bg);
    color: var(--admin-sidebar-text-color);
    padding: 20px 0;
    transition: width var(--admin-transition-speed) ease-in-out;
    display: flex;
    flex-direction: column;
    position: fixed; /* Fixo na lateral */
    left: 0; top: 0; bottom: 0;
    z-index: 1000; /* Sobre o conteúdo se houver overlay em mobile */
}
.admin-sidebar-header {
    padding: 0 25px 20px 25px;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.admin-sidebar-logo a {
    font-size: 1.6em;
    font-weight: 800;
    color: #ffffff;
    display: block;
}
.admin-sidebar-logo a span { /* Para um "Admin" menor ao lado do nome */
    font-weight: 400;
    font-size: 0.7em;
    opacity: 0.7;
}

.admin-nav {
    flex-grow: 1;
    overflow-y: auto; /* Scroll se muitos itens */
}
.admin-nav ul { list-style: none; padding: 0; margin: 15px 0 0 0; }
.admin-nav ul li a {
    display: flex;
    align-items: center;
    padding: 14px 25px;
    color: var(--admin-sidebar-text-color);
    font-weight: 600;
    transition: background-color var(--admin-transition-speed) ease, color var(--admin-transition-speed) ease, border-left-color var(--admin-transition-speed) ease;
    border-left: 4px solid transparent; /* Indicador visual à esquerda */
    font-size: 0.95rem;
}
.admin-nav ul li a i {
    margin-right: 15px;
    width: 20px;
    text-align: center;
    font-size: 1.1em;
    opacity: 0.8;
}
.admin-nav ul li a:hover {
    background-color: var(--admin-sidebar-link-hover-bg);
    color: #ffffff;
    border-left-color: var(--admin-primary-color);
}
.admin-nav ul li.active > a {
    background-color: var(--admin-sidebar-link-active-bg);
    color: var(--admin-sidebar-link-active-text);
    border-left-color: darken(var(--admin-sidebar-link-active-bg), 20%);
}
.admin-nav ul li.active > a i {
    opacity: 1;
}
/* Estilo para quando a sidebar está recolhida */
.admin-layout.sidebar-collapsed .admin-sidebar {
    width: var(--admin-sidebar-width-collapsed);
}
.admin-layout.sidebar-collapsed .admin-sidebar-logo a span,
.admin-layout.sidebar-collapsed .admin-nav span.nav-text { /* Assumindo que o texto está em um span */
    display: none;
}
.admin-layout.sidebar-collapsed .admin-nav ul li a {
    justify-content: center;
}
.admin-layout.sidebar-collapsed .admin-nav ul li a i {
    margin-right: 0;
    font-size: 1.3em;
}


/* --- Painel Principal (Header + Conteúdo + Footer) --- */
.admin-main-panel {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    margin-left: var(--admin-sidebar-width); /* Empurra o conteúdo para a direita da sidebar */
    transition: margin-left var(--admin-transition-speed) ease-in-out;
}
.admin-layout.sidebar-collapsed .admin-main-panel {
    margin-left: var(--admin-sidebar-width-collapsed);
}


/* Top Header do Painel Principal */
.admin-top-header {
    background-color: var(--admin-content-bg);
    border-bottom: 1px solid var(--admin-border-color);
    padding: 0 25px;
    height: 70px;
    display: flex;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 999; /* Abaixo da sidebar, mas acima do conteúdo */
}
.admin-top-header .header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.sidebar-toggle-btn {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--admin-text-color);
    cursor: pointer;
    padding: 5px;
    display: flex; /* Para ícone centralizado */
    align-items: center;
    justify-content: center;
}
.admin-user-info {
    display: flex;
    align-items: center;
    gap: 15px; /* Espaço entre elementos */
}
.admin-user-info .user-avatar {
    font-size: 1.8rem;
    color: #7f8c8d; /* Cinza para o avatar */
}
.admin-user-info span {
    font-weight: 600;
}
.btn-admin-logout {
    color: var(--admin-text-color);
    font-size: 1.3rem; /* Ícone de logout */
    padding: 5px;
    display: flex;
    align-items: center;
}
.btn-admin-logout .logout-text { /* Esconde o texto "Sair" em telas menores */
    font-size: 0.9rem;
    margin-left: 8px;
    font-weight: 600;
}
.btn-admin-logout:hover {
    color: var(--admin-error-color);
}


/* Conteúdo da Página Admin */
.admin-page-content {
    flex-grow: 1;
    padding: 30px;
    background-color: var(--admin-main-bg);
}
.admin-content-container {
    background-color: var(--admin-content-bg);
    padding: 25px;
    border-radius: var(--admin-border-radius);
    box-shadow: var(--admin-shadow-md);
}

/* Mensagens de Feedback */
.admin-message {
    padding: 15px 20px;
    margin-bottom: 25px;
    border-radius: var(--admin-border-radius);
    border: 1px solid transparent;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
}
.admin-message i { margin-right: 10px; font-size: 1.2em; }
.admin-message-success { background-color: #d1e7dd; border-color: #badbcc; color: #0f5132; }
.admin-message-error { background-color: #f8d7da; border-color: #f5c2c7; color: #842029; }
.admin-message-warning { background-color: #fff3cd; border-color: #ffe69c; color: #664d03; }
.admin-message-info { background-color: #cff4fc; border-color: #b6effb; color: #055160; }
.close-message-btn {
    background: none;
    border: none;
    font-size: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    padding: 0 5px;
}
.close-message-btn:hover { opacity: 1; }


/* Footer do Painel Principal */
.admin-main-footer {
    background-color: var(--admin-content-bg);
    border-top: 1px solid var(--admin-border-color);
    padding: 20px 30px;
    text-align: center;
    font-size: 0.85em;
    color: #7f8c8d; /* Cinza claro */
}

/* --- Dashboard Específico --- */
.dashboard-header {
    margin-bottom: 30px;
}
.dashboard-header h1 {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 5px;
}
.dashboard-header .welcome-message {
    font-size: 1.05rem;
    color: #555e6d;
}

.dashboard-stats-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}
.stat-card {
    background-color: var(--admin-content-bg);
    border-radius: var(--admin-border-radius);
    padding: 20px;
    display: flex;
    align-items: center;
    box-shadow: var(--admin-shadow-sm);
    border: 1px solid var(--admin-border-color);
    position: relative; /* Para o link de "ver mais" */
    overflow: hidden;
}
.stat-card-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    color: #ffffff;
    font-size: 1.8rem;
    flex-shrink: 0;
}
.stat-card-info h4 {
    margin-bottom: 5px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #777;
    text-transform: uppercase;
}
.stat-card-info p {
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--admin-heading-color);
    margin: 0;
    line-height: 1.2;
}
.stat-card-link {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0,0,0,0.03);
    padding: 8px 20px;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 600;
    color: #555;
    transition: background-color var(--admin-transition-speed) ease, color var(--admin-transition-speed) ease;
}
.stat-card:hover .stat-card-link {
    background-color: var(--admin-primary-color);
    color: #ffffff;
}
.stat-card-link i { margin-left: 5px; }

.dashboard-recent-activity {
    display: grid;
    grid-template-columns: 1fr; /* Default */
    gap: 25px;
}
@media (min-width: 992px) { /* Lado a lado em telas maiores */
    .dashboard-recent-activity {
        grid-template-columns: 1fr 1fr;
    }
}

.activity-list-card {
    background-color: var(--admin-content-bg);
    border-radius: var(--admin-border-radius);
    padding: 25px;
    box-shadow: var(--admin-shadow-sm);
    border: 1px solid var(--admin-border-color);
}
.activity-list-card h3 {
    font-size: 1.2rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--admin-border-color);
    display: flex;
    align-items: center;
}
.activity-list-card h3 i {
    margin-right: 10px;
    color: var(--admin-primary-color);
}
.activity-list-card ul { list-style: none; padding: 0; margin: 0 0 15px 0; }
.activity-list-card ul li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}
.activity-list-card ul li:last-child { border-bottom: none; }
.activity-list-card ul li a {
    font-weight: 600;
    color: var(--admin-text-color);
}
.activity-list-card ul li .date {
    font-size: 0.85rem;
    color: #777;
    white-space: nowrap;
    margin-left: 15px;
}
.view-all-link {
    display: inline-block;
    font-weight: 600;
    font-size: 0.9rem;
    margin-top: 10px;
}


/* Estilos para tabelas (serão usados em _listar.php) */
.admin-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: 0.9rem; }
.admin-table th, .admin-table td { border: 1px solid var(--admin-border-color); padding: 12px 15px; text-align: left; vertical-align: middle; }
.admin-table th { background-color: #f8f9fa; font-weight: 700; color: #495057; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 0.5px;}
.admin-table tbody tr:nth-child(even) { background-color: #fdfdfd; }
.admin-table tbody tr:hover { background-color: #f1f5f9; }
.admin-table .acoes { white-space: nowrap; width: 1%; /* Para não quebrar os botões */ }
.admin-table .acoes a, .admin-table .acoes button { margin-right: 6px; padding: 6px 10px; text-decoration: none; border-radius: var(--admin-border-radius); font-size: 0.85em; cursor: pointer; border: 1px solid transparent; transition: background-color var(--admin-transition-speed), border-color var(--admin-transition-speed), color var(--admin-transition-speed); }
.admin-table .acoes a:last-child, .admin-table .acoes button:last-child { margin-right: 0; }
.admin-table .acoes .btn-editar { background-color: var(--admin-warning-color); color: #fff; border-color: var(--admin-warning-color); }
.admin-table .acoes .btn-editar:hover { background-color: darken(var(--admin-warning-color), 10%); border-color: darken(var(--admin-warning-color), 10%); }
.admin-table .acoes .btn-excluir { background-color: var(--admin-error-color); color: #fff; border-color: var(--admin-error-color); }
.admin-table .acoes .btn-excluir:hover { background-color: darken(var(--admin-error-color), 10%); border-color: darken(var(--admin-error-color), 10%); }
.admin-table .acoes i { margin-right: 3px; }
.badge { display: inline-block; padding: .3em .6em; font-size: .78em; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25rem; }
.badge.badge-success { background-color: var(--admin-success-color); }
.badge.badge-danger { background-color: var(--admin-error-color); }
.badge.badge-warning { background-color: var(--admin-warning-color); color: #212529; }
.badge.badge-info { background-color: var(--admin-info-color); }

/* Estilos para formulários (serão usados em _formulario.php) */
.admin-header-action { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 1px solid var(--admin-border-color); }
.admin-header-action h2 { margin-bottom: 0; font-size: 1.5rem; }
.btn { padding: 10px 20px; border-radius: var(--admin-border-radius); font-weight: 600; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.5px; transition: all var(--admin-transition-speed) ease; }
.btn.btn-primary-admin { background-color: var(--admin-primary-color); color: white; border: 1px solid var(--admin-primary-color); }
.btn.btn-primary-admin:hover { background-color: darken(var(--admin-primary-color),10%); border-color: darken(var(--admin-primary-color),10%);}
.btn.btn-success-admin { background-color: var(--admin-success-color); color: white; border: 1px solid var(--admin-success-color); }
.btn.btn-success-admin:hover { background-color: darken(var(--admin-success-color),10%); border-color: darken(var(--admin-success-color),10%);}
.btn.btn-secondary-admin { background-color: #6c757d; color: white; border: 1px solid #6c757d; }
.btn.btn-secondary-admin:hover { background-color: darken(#6c757d,10%); border-color: darken(#6c757d,10%);}
.btn i { margin-right: 6px; }

.admin-form .form-group { margin-bottom: 20px; }
.admin-form label { display: block; font-weight: 600; margin-bottom: 8px; font-size: 0.9rem; color: #495057;}
.admin-form input[type="text"], .admin-form input[type="email"], .admin-form input[type="password"], .admin-form input[type="datetime-local"], .admin-form input[type="date"], .admin-form input[type="number"], .admin-form input[type="url"], .admin-form textarea, .admin-form select { width: 100%; padding: 10px 12px; border: 1px solid var(--admin-border-color); border-radius: var(--admin-border-radius); box-sizing: border-box; font-size: 0.95rem; transition: border-color var(--admin-transition-speed) ease, box-shadow var(--admin-transition-speed) ease; }
.admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus { border-color: var(--admin-primary-color); box-shadow: 0 0 0 0.2rem rgba(var(--admin-primary-color-rgb, 52, 152, 219), 0.25); outline: none; }
.admin-form textarea { min-height: 150px; resize: vertical; }
.admin-form input[type="file"] { border: 1px dashed var(--admin-border-color); padding: 10px; background-color: #fdfdfd; }
.admin-form .current-image { max-width: 200px; max-height: 200px; margin-top: 10px; display: block; border: 1px solid var(--admin-border-color); padding: 5px; border-radius: var(--admin-border-radius); }
.admin-form .form-error { display: block; color: var(--admin-error-color); font-size: 0.8em; margin-top: 4px; }
.admin-form .form-actions { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--admin-border-color); display: flex; gap: 10px; }
.admin-form .btn-salvar { /* já é .btn-success-admin */ }
.admin-form .btn-cancelar { /* já é .btn-secondary-admin */ }


/* Responsividade Geral do Painel */
@media (max-width: 992px) {
    .admin-layout.sidebar-collapsed .admin-sidebar,
    .admin-sidebar { width: 100%; height: auto; position: static; /* Empilha em mobile */ }
    .admin-layout.sidebar-collapsed .admin-main-panel,
    .admin-main-panel { margin-left: 0; }
    .admin-sidebar-header { display: none; } /* Esconde logo no menu mobile */
    .admin-nav { margin-top: 0; }
    .admin-nav ul { display: flex; flex-wrap: wrap; /* Quebra itens do menu */ border-bottom: 1px solid rgba(255,255,255,0.1); }
    .admin-nav ul li { flex-grow: 1; }
    .admin-nav ul li a { justify-content: center; border-left: none; border-right: 1px solid rgba(255,255,255,0.05); }
    .admin-nav ul li:last-child a { border-right: none; }

    .admin-top-header { height: 60px; }
    .sidebar-toggle-btn { display: block; } /* Sempre mostrar toggle em mobile */
    
    /* Esconder menu lateral e mostrar com JS ao clicar no toggle */
    .admin-sidebar { display: none; }
    .admin-sidebar.mobile-active { display: block; position: absolute; top: 60px; /* Abaixo do header */ left: 0; right: 0; z-index: 1000; }
    
    .admin-user-info .logout-text { display: none; } /* Esconde texto "Sair" */
}

@media (max-width: 767px) {
    .admin-page-content { padding: 20px; }
    .admin-content-container { padding: 20px; }
    .dashboard-stats-cards { grid-template-columns: 1fr; } /* Um card por linha */
    .dashboard-recent-activity { grid-template-columns: 1fr; }
    .admin-header-action { flex-direction: column; gap: 15px; align-items: flex-start; }
}

/* Adicione aqui o CSS específico para login.php se precisar, ou mantenha no <style> do login.php */

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* Para scroll suave em iOS */
}

.admin-form .required-field {
    color: var(--admin-error-color); /* Vermelho para campos obrigatórios */
    font-weight: bold;
    margin-left: 2px;
}

.admin-form .input-error { /* Classe para campos com erro de validação */
    border-color: var(--admin-error-color) !important; /* !important para sobrescrever foco */
    background-color: #fff9f9; /* Fundo levemente avermelhado */
}

.admin-form .form-error-message { /* Mensagem de erro abaixo do campo */
    display: block;
    color: var(--admin-error-color);
    font-size: 0.85em;
    margin-top: 6px;
}

.admin-form .form-text { /* Texto de ajuda/instrução abaixo do campo */
    display: block;
    font-size: 0.85em;
    color: #6c757d; /* Cinza */
    margin-top: 6px;
}

.admin-form .current-image-preview {
    margin-top: 15px;
    padding: 15px;
    background-color: #f8f9fa;
    border: 1px solid var(--admin-border-color);
    border-radius: var(--admin-border-radius);
}
.admin-form .current-image-preview p {
    font-weight: 600;
    margin-bottom: 10px;
}
.admin-form .current-image { /* Já definido, mas para garantir */
    max-width: 250px; /* Um pouco maior para melhor visualização */
    max-height: 250px;
    border-radius: var(--admin-border-radius);
    border: 1px solid #ccc;
}
.admin-form .current-image-preview label { /* Para o checkbox "Remover imagem" */
    font-weight: normal; /* Normal, não bold como os labels principais */
    font-size: 0.9em;
    display: flex; /* Alinha checkbox e texto */
    align-items: center;
}
.admin-form .current-image-preview input[type="checkbox"] {
    width: auto; /* Tamanho padrão do checkbox */
    margin-right: 8px;
}

.admin-form .form-actions .btn-cancelar { /* Botão Cancelar */
    /* A classe .btn-secondary-admin já deve cuidar disso */
}

/* ... (CSS existente) ... */
.admin-table .acoes .btn-visualizar {
    background-color: #17a2b8; /* Azul ciano (info) */
    color: white;
    border-color: #17a2b8;
}
.admin-table .acoes .btn-visualizar:hover {
    background-color: darken(#17a2b8, 10%);
    border-color: darken(#17a2b8, 10%);
}

/* ... (Todo o CSS existente do admin_style.css) ... */

/* -------------------------------------------------------------------------- */
/* ESTILOS DO MODAL GENÉRICO                                                   */
/* -------------------------------------------------------------------------- */
.admin-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* Fundo escuro semi-transparente */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000; /* Acima de tudo */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

.admin-modal-overlay.visible {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease;
}

.admin-modal-content {
    background-color: var(--admin-content-bg, #ffffff);
    padding: 0; /* Padding será nos filhos */
    border-radius: var(--admin-border-radius, 6px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.25);
    width: 90%;
    max-width: 500px; /* Largura máxima do modal */
    transform: scale(0.95);
    transition: transform 0.3s ease;
    overflow: hidden; /* Para bordas arredondadas com header/footer */
}

.admin-modal-overlay.visible .admin-modal-content {
    transform: scale(1);
}

.admin-modal-header {
    padding: 18px 25px;
    border-bottom: 1px solid var(--admin-border-color, #e0e6ed);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.admin-modal-title {
    margin: 0;
    font-size: 1.3em;
    font-weight: 700;
    color: var(--admin-heading-color, #2c3a47);
}

.admin-modal-close-btn {
    background: none;
    border: none;
    font-size: 1.8em;
    font-weight: 300;
    color: #888;
    cursor: pointer;
    padding: 0 5px;
    line-height: 1;
}
.admin-modal-close-btn:hover {
    color: var(--admin-error-color, #e74c3c);
}

.admin-modal-body {
    padding: 25px;
    font-size: 1rem;
    line-height: 1.6;
    max-height: 60vh; /* Altura máxima para o corpo, caso muito conteúdo */
    overflow-y: auto;
}
.admin-modal-body p {
    margin-top: 0;
    margin-bottom: 1em;
}
.admin-modal-body p:last-child {
    margin-bottom: 0;
}

.admin-modal-footer {
    padding: 15px 25px;
    border-top: 1px solid var(--admin-border-color, #e0e6ed);
    display: flex;
    justify-content: flex-end; /* Alinha botões à direita */
    gap: 10px; /* Espaço entre botões */
    background-color: #f9f9f9; /* Fundo sutil para o footer do modal */
}

/* Estilos para botões dentro do modal (usar classes .btn já existentes) */
.admin-modal-footer .btn {
    padding: 8px 18px; /* Botões um pouco menores no modal */
    font-size: 0.85rem;
}
/* Adicionar classes de cor específicas se necessário, ex:
.admin-modal-footer .btn-confirm { background-color: var(--admin-success-color); color: white; }
.admin-modal-footer .btn-cancel { background-color: #6c757d; color: white; }
*/

/* ... CSS existente ... */
.btn.btn-danger-admin {
    background-color: var(--admin-error-color);
    color: white;
    border-color: var(--admin-error-color);
}
.btn.btn-danger-admin:hover {
    background-color: darken(var(--admin-error-color), 10%);
    border-color: darken(var(--admin-error-color), 10%);
}
/* Classe para impedir scroll no body quando menu mobile está aberto */
body.no-scroll-mobile {
    overflow: hidden;
}

/* ... (CSS existente) ... */

.admin-table.midia-table th, 
.admin-table.midia-table td {
    vertical-align: middle; /* Alinha conteúdo da célula verticalmente ao meio */
}

.midia-preview-thumb {
    width: 60px;  /* Largura fixa para o thumbnail */
    height: 60px; /* Altura fixa para o thumbnail */
    object-fit: cover; /* Garante que a imagem cubra a área sem distorcer */
    border-radius: 4px; /* Bordas levemente arredondadas */
    border: 1px solid var(--admin-border-color, #eee);
    background-color: #f0f0f0; /* Cor de fundo para caso a imagem não carregue */
}
/* ... (CSS existente do admin_style.css) ... */

.admin-form hr {
    margin: 30px 0;
    border: 0;
    border-top: 1px solid var(--admin-border-color);
}
.admin-form h3 { /* Títulos de seção dentro do formulário */
    font-size: 1.3rem;
    margin-bottom: 20px;
    color: var(--admin-primary-color); /* Usando cor primária do admin para destaque */
    padding-bottom: 10px;
    border-bottom: 1px dashed var(--admin-border-sutil);
}

.form-grid-halves {
    display: grid;
    grid-template-columns: 1fr; /* Uma coluna por padrão */
    gap: 0 25px; /* Espaçamento entre colunas apenas */
}

@media (min-width: 768px) { /* Duas colunas em telas médias e maiores */
    .form-grid-halves {
        grid-template-columns: 1fr 1fr;
    }
}
/* Resistência Admin V2 — acabamento visual */
:root{--admin-sidebar-bg:#111113;--admin-sidebar-link-hover-bg:#211a1c;--admin-sidebar-link-active-bg:#6f1c28;--admin-primary-color:#7b202d;--admin-heading-color:#1e1b1b;--admin-main-bg:#f2efe9;--admin-border-radius:12px;--admin-shadow-md:0 12px 35px rgba(30,24,20,.07)}
body{font-family:'Nunito',sans-serif;background:var(--admin-main-bg)}.admin-sidebar{border-right:1px solid rgba(255,255,255,.05)}.admin-sidebar-logo a{font-family:Georgia,serif;letter-spacing:.02em}.admin-top-header{height:76px;background:rgba(255,255,255,.86);backdrop-filter:blur(15px)}.admin-content-container{max-width:1420px;margin:auto}.dashboard-header h1{font-family:Georgia,serif;font-size:2.35rem;letter-spacing:-.025em}.welcome-message{color:#7a7470}.dashboard-stats-cards{gap:18px}.stat-card,.activity-list-card,.admin-form-container,.admin-table-container{border-radius:14px!important;border:1px solid rgba(40,30,20,.07)!important;box-shadow:0 12px 35px rgba(30,24,20,.06)!important;overflow:hidden}.stat-card{transition:.25s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(30,24,20,.1)!important}.stat-card-icon{border-radius:12px!important}.btn-admin-primary,.btn-primary-admin,.btn-submit{background:#7b202d!important;border-color:#7b202d!important;border-radius:9px!important}.btn-admin-primary:hover,.btn-primary-admin:hover,.btn-submit:hover{background:#631824!important}.admin-nav ul li a{border-left-width:2px}.admin-nav ul li.active>a{background:linear-gradient(90deg,#731b28,#5c1721)}

/* V2.2 Espetáculos Admin */
.theatre-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.theatre-admin-card{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid rgba(30,20,10,.08);border-radius:15px;overflow:hidden;box-shadow:0 12px 35px rgba(30,24,20,.06)}.theatre-admin-poster{min-height:260px;background:#111}.theatre-admin-poster img{width:100%;height:100%;object-fit:cover}.theatre-admin-body{padding:24px;display:flex;flex-direction:column}.theatre-admin-badges{display:flex;gap:6px}.theatre-admin-badges span{padding:5px 8px;background:#eee9e2;border-radius:99px;font-size:.66rem;text-transform:uppercase}.theatre-admin-badges .gold{background:#f0e0ac;color:#6b5310}.theatre-admin-body h3{font-family:Georgia,serif;font-size:1.65rem;margin:13px 0 6px}.theatre-admin-body p{color:#777;line-height:1.6}.theatre-admin-meta{display:flex;flex-wrap:wrap;gap:12px;color:#777;font-size:.78rem;margin-top:auto;padding-top:20px}.theatre-admin-actions{display:flex;gap:8px;margin-top:16px}.theatre-editor-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:28px}.theatre-editor-grid>aside{padding:22px;background:#f8f6f3;border-radius:12px}.theatre-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.theatre-form-preview{display:block;max-width:100%;max-height:300px;object-fit:cover;margin:12px 0;border-radius:10px}.theatre-check{display:block;margin:13px 0;font-weight:700}
@media(max-width:900px){.theatre-admin-grid{grid-template-columns:1fr}.theatre-editor-grid{grid-template-columns:1fr}.theatre-form-row{grid-template-columns:1fr}}
@media(max-width:580px){.theatre-admin-card{grid-template-columns:1fr}.theatre-admin-poster{height:250px}.theatre-admin-actions{flex-direction:column}}

/* V2.3–V2.6 — Portal Cultural */
.culture-admin-table{background:#fff;border:1px solid rgba(40,30,20,.08);border-radius:14px;overflow:auto;box-shadow:0 12px 35px rgba(30,24,20,.05)}.culture-admin-table table{width:100%;border-collapse:collapse;min-width:820px}.culture-admin-table th,.culture-admin-table td{text-align:left;padding:15px 16px;border-bottom:1px solid #eee9e3;vertical-align:middle}.culture-admin-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:#817a72;background:#faf8f5}.culture-admin-table td{font-size:.82rem;color:#413c37}.culture-admin-table td strong,.culture-admin-table td small{display:block}.culture-admin-table td small{color:#938b82;margin-top:4px;font-size:.7rem}.culture-admin-table .actions{white-space:nowrap}.culture-admin-table .actions a{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #ded8d1;border-radius:8px;color:#6b625a;margin-left:4px}.culture-admin-table .actions a:hover{color:#7b202d;border-color:#7b202d}.culture-pill{display:inline-flex;padding:5px 8px;border-radius:99px;background:#ece8e3;color:#716a63;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.culture-pill.is-live{background:#e5f2e1;color:#4c753e}.people-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.people-admin-card{background:#fff;border:1px solid #e7e1da;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:115px 1fr;min-height:150px}.people-admin-card>img{width:100%;height:100%;object-fit:cover}.people-admin-card>div{padding:17px}.people-admin-card h3{font-family:Georgia,serif;margin:9px 0 5px;font-size:1.1rem}.people-admin-card p{color:#7d756e;font-size:.74rem;margin:0 0 14px}.person-editor-head{display:flex;gap:16px;align-items:center;margin-bottom:25px;padding:16px;background:#f8f5f1;border-radius:12px}.person-editor-head img{width:82px;height:82px;object-fit:cover;border-radius:50%}.person-editor-head strong,.person-editor-head small{display:block}.person-editor-head small{max-width:500px;color:#8b837b;font-size:.72rem;margin-top:4px}.culture-security-note{margin-top:25px;padding:18px;border-radius:12px;background:#f8f3e9;border:1px solid #e6dcc8;color:#665e54}.culture-security-note i{color:#a7833e;font-size:1.2rem}.culture-security-note strong{display:block;margin:8px 0}.culture-security-note p{font-size:.74rem;line-height:1.6;margin:0}.culture-filter{margin-bottom:18px;display:flex}.culture-filter select{min-height:44px;min-width:300px;padding:0 12px;border:1px solid #ddd6cf;border-radius:8px;background:#fff}.admin-person-mini{display:flex;align-items:center;gap:10px}.admin-person-mini img{width:42px;height:42px;object-fit:cover;border-radius:50%}
@media(max-width:1100px){.people-admin-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.people-admin-grid{grid-template-columns:1fr}.people-admin-card{grid-template-columns:90px 1fr}}

/* ========================================================================== */
/* V2.12 — CENTRAL DE GESTÃO PREMIUM                                          */
/* ========================================================================== */
.premium-admin-brand{padding:18px 15px!important}.premium-admin-brand>a{display:flex!important;align-items:center;gap:12px;text-decoration:none}.premium-admin-brand img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 7px 15px rgba(0,0,0,.25))}.premium-admin-brand span{display:flex;flex-direction:column;min-width:0}.premium-admin-brand strong{font-family:Georgia,serif;color:#fff;font-size:1.08rem;line-height:1}.premium-admin-brand small{margin-top:5px;color:#c9a860;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase}.admin-nav-section{display:block;padding:18px 22px 8px;color:rgba(255,255,255,.34);font-size:.55rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.premium-admin-nav ul{margin:0;padding:0}.premium-admin-nav li a{min-height:43px}.admin-top-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.admin-view-site{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #ded8d1;border-radius:9px;color:#5f5852;font-size:.72rem;font-weight:700}.admin-view-site:hover{color:#7b202d;border-color:#bfa0a5}.admin-user-info{display:flex;align-items:center;gap:10px}.admin-user-avatar{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#7b202d;color:#fff;font-weight:800}.admin-user-copy{display:flex;flex-direction:column;line-height:1.1}.admin-user-copy strong{font-size:.75rem;color:#292522}.admin-user-copy small{font-size:.57rem;color:#928a82;margin-top:3px}.premium-dashboard-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}.admin-kicker{display:block;color:#8c2431;font-size:.61rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7px}.premium-dashboard-heading h1{margin-bottom:8px}.dashboard-quick-actions{display:flex;gap:9px;flex-wrap:wrap}.btn-admin-soft{display:inline-flex;align-items:center;gap:8px;padding:11px 15px;border-radius:9px;border:1px solid #d8d0c7;background:#fff;color:#514a44;font-size:.72rem;font-weight:800}.premium-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.premium-stat{position:relative;display:flex;align-items:center;gap:15px;padding:20px;background:#fff;border:1px solid rgba(50,35,25,.07);border-radius:15px;color:#292522;box-shadow:0 10px 28px rgba(30,24,20,.045);transition:.22s}.premium-stat:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(30,24,20,.08);border-color:rgba(123,32,45,.18)}.premium-stat-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#f2e8e9;color:#7b202d;font-size:1.08rem}.premium-stat small{display:block;color:#827a73;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.premium-stat strong{display:block;margin-top:2px;font-family:Georgia,serif;font-size:1.85rem}.stat-arrow{margin-left:auto;color:#c2bbb3;font-size:.75rem}.admin-workspace-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:18px}.admin-workspace-card{background:#fff;border:1px solid rgba(50,35,25,.07);border-radius:16px;padding:24px;box-shadow:0 12px 32px rgba(30,24,20,.045)}.workspace-title{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #eee8e1;padding-bottom:17px;margin-bottom:8px}.workspace-title span{font-size:.55rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#9b2633}.workspace-title h2{font-family:Georgia,serif;font-size:1.45rem;margin:5px 0 0}.workspace-title>a{font-size:.65rem;font-weight:800;color:#7b202d}.workspace-list article{display:flex;align-items:center;gap:15px;padding:13px 2px;border-bottom:1px solid #f0ece7}.workspace-list article:last-child{border-bottom:0}.workspace-list time{width:50px;flex:0 0 50px;text-align:center;padding:8px 4px;border-radius:9px;background:#151416;color:#d8b96e;font-family:Georgia,serif;font-size:.78rem}.workspace-list article div{min-width:0}.workspace-list strong,.workspace-list small{display:block}.workspace-list strong{font-size:.78rem;color:#342f2b}.workspace-list small{font-size:.63rem;color:#918981;margin-top:4px}.editorial-list article{padding-left:4px}.editorial-dot{width:9px;height:9px;border-radius:50%;background:#b69043;flex:0 0 9px}.admin-empty-state{text-align:center;padding:45px 15px;color:#8f877f}.admin-empty-state i{font-size:1.55rem;color:#b79c62;margin-bottom:12px}.admin-empty-state strong{display:block;color:#4a443f}.admin-empty-state p{font-size:.7rem}.admin-command-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-command-grid>a{display:flex;gap:13px;align-items:center;padding:18px;background:#171719;border-radius:13px;color:#fff}.admin-command-grid>a>i{color:#d1ad59;font-size:1rem}.admin-command-grid strong,.admin-command-grid small{display:block}.admin-command-grid strong{font-size:.75rem}.admin-command-grid small{font-size:.59rem;color:rgba(255,255,255,.44);margin-top:4px}.system-health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.health-card{display:flex;align-items:center;gap:13px;padding:17px;border-radius:12px;background:#fff;border:1px solid #e6dfd7}.health-card>i{font-size:1.1rem}.health-card.is-ok>i{color:#4d8a55}.health-card.is-alert>i{color:#b04444}.health-card strong,.health-card small{display:block}.health-card strong{font-size:.74rem}.health-card small{font-size:.61rem;color:#8a827b;margin-top:4px}.system-summary-card{padding:22px;background:#171719;color:#fff;border-radius:15px}.system-summary-card h3{font-family:Georgia,serif;font-size:1.35rem}.system-summary-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.system-summary-card dl div{padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.system-summary-card dt{font-size:.55rem;text-transform:uppercase;letter-spacing:.12em;color:#d3ae58}.system-summary-card dd{margin:5px 0 0;font-size:.7rem;color:rgba(255,255,255,.72);word-break:break-word}
@media(max-width:1100px){.premium-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-workspace-grid{grid-template-columns:1fr}.admin-command-grid{grid-template-columns:repeat(2,1fr)}.system-health-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.premium-dashboard-heading{align-items:flex-start;flex-direction:column}.premium-stats-grid,.admin-command-grid,.system-health-grid{grid-template-columns:1fr}.admin-view-site span,.admin-user-copy{display:none}.system-summary-card dl{grid-template-columns:1fr 1fr}}

/* ========================================================================== */
/* V2.15.5 — ADMIN UX / FORMULÁRIOS PREMIUM                                  */
/* ========================================================================== */
:root{--admin-accent:#8f1f2d;--admin-accent-dark:#681521;--admin-gold:#c8a04b;--admin-ink:#211e1c;--admin-muted:#776f68;--admin-field:#fff;--admin-surface:#fff;--admin-soft:#f6f3ef;--admin-line:#e4ddd5;--admin-focus:rgba(143,31,45,.14)}
.admin-page-content{background:radial-gradient(circle at 100% 0,rgba(200,160,75,.07),transparent 27%),#f3f0eb}
.admin-content-container{width:min(100%,1460px);padding:32px 34px 54px!important}
.admin-page-head,.admin-header-action{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:0 0 24px!important;padding:0!important;border:0!important}
.admin-page-head h1,.admin-header-action h2{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(1.8rem,2.3vw,2.65rem)!important;line-height:1.02!important;letter-spacing:-.035em!important;color:var(--admin-ink)!important;margin:0!important}
.admin-page-head p{max-width:680px;margin:9px 0 0;color:var(--admin-muted);font-size:.86rem;line-height:1.65}
.admin-form-container,.admin-form.admin-form-premium,.admin-form:not(.noticia-editor-form){background:var(--admin-surface);border:1px solid rgba(53,39,26,.08);border-radius:20px;box-shadow:0 18px 50px rgba(44,34,25,.065);padding:30px!important;overflow:visible}
.admin-form-container>form{display:block;width:100%}
.admin-form-container form .form-row,.admin-form .form-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;margin:0!important}
.admin-form-container form .form-group,.admin-form .form-group{min-width:0;margin:0 0 20px!important}
.admin-form-container form label,.admin-form label{display:block;margin:0 0 8px;font-size:.72rem!important;font-weight:800!important;letter-spacing:.015em;color:#39332e!important}
.admin-form-container form input:not([type=checkbox]):not([type=radio]):not([type=file]),.admin-form-container form select,.admin-form-container form textarea,
.admin-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.admin-form select,.admin-form textarea,.admin-modal-body input,.admin-modal-body select,.admin-modal-body textarea{width:100%!important;min-height:48px!important;padding:11px 14px!important;border:1px solid #dcd5cd!important;border-radius:11px!important;background:#fff!important;color:#28231f!important;font:600 .84rem/1.45 'Nunito',sans-serif!important;outline:none!important;box-shadow:0 1px 0 rgba(255,255,255,.8) inset!important;transition:border-color .18s,box-shadow .18s,background .18s!important}
.admin-form-container form textarea,.admin-form textarea,.admin-modal-body textarea{min-height:120px!important;resize:vertical}
.admin-form-container form input:focus,.admin-form-container form select:focus,.admin-form-container form textarea:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.admin-modal-body input:focus{border-color:rgba(143,31,45,.62)!important;box-shadow:0 0 0 4px var(--admin-focus)!important}
.admin-form .form-text,.admin-form-container .form-text{display:block;margin-top:7px;color:#918982;font-size:.66rem;line-height:1.45}
.required-field{color:#aa2634}.input-error{border-color:#c83b49!important}.form-error-message{display:block;margin-top:7px;color:#b52736;font-size:.68rem;font-weight:700}
.admin-form-container form input[type=file],.admin-form input[type=file]{width:100%;padding:10px;border:1px dashed #cfc5bb;border-radius:11px;background:#fbf9f6;font-size:.76rem;color:#6f675f}
.admin-form-container form input[type=file]::file-selector-button,.admin-form input[type=file]::file-selector-button{border:0;border-radius:8px;background:#211f1e;color:#fff;padding:9px 13px;margin-right:12px;font-weight:800;cursor:pointer}
.admin-form-container form>label:has(input[type=checkbox]),.admin-form>label:has(input[type=checkbox]){display:inline-flex!important;align-items:center;gap:8px;margin:4px 18px 14px 0!important;padding:9px 12px;border:1px solid #e4ddd5;border-radius:10px;background:#faf8f5;font-size:.72rem!important}
.admin-form-container input[type=checkbox],.admin-form input[type=checkbox]{accent-color:var(--admin-accent);width:17px;height:17px}
.form-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap;margin-top:8px!important;padding-top:21px!important;border-top:1px solid #eee8e2!important}
.btn,.btn-admin-primary,.btn-primary-admin,.btn-submit,.btn-success-admin,.btn-secondary-admin,.btn-danger-admin{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:43px!important;padding:0 17px!important;border-radius:10px!important;font-size:.7rem!important;font-weight:900!important;letter-spacing:.035em!important;text-transform:uppercase!important;border:1px solid transparent!important;text-decoration:none!important;cursor:pointer!important;transition:transform .17s,box-shadow .17s,background .17s,border-color .17s!important}
.btn:hover,.btn-admin-primary:hover,.btn-primary-admin:hover,.btn-submit:hover,.btn-success-admin:hover,.btn-secondary-admin:hover,.btn-danger-admin:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(38,31,26,.12)}
.btn-success-admin,.btn-admin-primary,.btn-primary-admin,.btn-submit{background:linear-gradient(135deg,#8f1f2d,#681521)!important;color:#fff!important}.btn-secondary-admin{background:#fff!important;color:#554d46!important;border-color:#d9d1c8!important}.btn-danger-admin{background:#b52f3c!important;color:#fff!important}.btn-warning-admin{background:#c6902e!important;color:#fff!important}
.admin-form-card{background:#fff;border:1px solid rgba(50,35,25,.085);border-radius:18px;padding:24px;box-shadow:0 12px 34px rgba(34,27,22,.045)}
.form-section-title{display:flex;align-items:center;gap:12px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid #eee8e2}.form-section-title>i{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#f3e7e9;color:var(--admin-accent)}.form-section-title strong,.form-section-title small{display:block}.form-section-title strong{font-size:.88rem;color:#2c2723}.form-section-title small{margin-top:3px;color:#90877f;font-size:.64rem}.form-section-title.compact{padding-bottom:14px;margin-bottom:17px}.form-section-title.compact>i{width:34px;height:34px}
.admin-editor-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr);gap:22px;align-items:start}.admin-editor-sidebar{display:grid;gap:15px;position:relative}.sticky-editor-actions{position:sticky;bottom:16px;z-index:8;display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border:1px solid rgba(50,35,25,.09);border-radius:15px;background:rgba(255,255,255,.92);box-shadow:0 15px 40px rgba(35,28,22,.14);backdrop-filter:blur(12px)}.btn-save-large{min-height:48px!important}
.editor-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.editor-label-row label{margin:0!important}.editor-word-count{font-size:.62rem;color:#948a80;font-weight:800}.rst-editor-shell{border:1px solid #d9d1c9;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 12px 32px rgba(35,27,21,.045)}.rst-editor-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px;background:#f8f5f1;border-bottom:1px solid #e7e0d9;position:sticky;top:0;z-index:5}.tool-group{display:flex;gap:3px;padding-right:7px;margin-right:2px;border-right:1px solid #dfd8d1}.tool-group:last-child{border-right:0}.rst-editor-toolbar button{min-width:35px;height:35px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:#554d46;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.69rem;font-weight:900;cursor:pointer}.rst-editor-toolbar button:hover{background:#eae3dc;color:#7f1d29}.rst-editor-toolbar .media-tools button{background:#211f1e;color:#fff}.rst-editor-toolbar .media-tools button:hover{background:#861f2c;color:#fff}.rst-editor-content{min-height:520px;padding:35px 38px;outline:none;color:#2f2a26;font-family:Georgia,'Times New Roman',serif;font-size:1.08rem;line-height:1.8}.rst-editor-content:empty:before{content:attr(data-placeholder);color:#aaa29a}.rst-editor-content h2{font-size:2rem;line-height:1.1;margin:1.35em 0 .5em}.rst-editor-content h3{font-size:1.5rem;line-height:1.2;margin:1.25em 0 .4em}.rst-editor-content blockquote{margin:1.4em 0;padding:18px 22px;border-left:4px solid #b78d3e;background:#faf6ee;font-size:1.18rem;font-style:italic}.rst-editor-content img,.rst-editor-content video{max-width:100%;height:auto;border-radius:10px}.rst-editor-content audio{width:100%}.rst-editor-content iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:10px}.rst-editor-content figure{margin:24px 0}.rst-editor-content figcaption{margin-top:7px;text-align:center;color:#8c837b;font:600 .7rem 'Nunito',sans-serif}.rst-editor-footer{display:flex;justify-content:space-between;gap:12px;padding:9px 13px;border-top:1px solid #eee8e2;background:#fbfaf8;color:#9b928a;font-size:.58rem;font-weight:800}.rst-editor-footer i{color:#b28c43;margin-right:5px}.rst-upload-progress{display:none;align-items:center;gap:8px;padding:9px 14px;background:#fff8e8;color:#825d1b;border-bottom:1px solid #eedcad;font-size:.7rem;font-weight:800}.rst-upload-progress.active{display:flex}
.premium-file-upload{display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-height:118px;padding:18px!important;margin:0!important;border:1.5px dashed #cdbfb2;border-radius:13px;background:#faf8f5!important;text-align:center;cursor:pointer;transition:.2s}.premium-file-upload:hover{border-color:#9b2633;background:#fcf6f7!important}.premium-file-upload>i{font-size:1.3rem;color:#9b2633;margin-bottom:9px}.premium-file-upload strong{font-size:.74rem}.premium-file-upload small{font-size:.61rem;color:#938a82;margin-top:3px}.native-file-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.premium-image-preview{margin-top:12px;border-radius:12px;overflow:hidden;background:#f5f1ec;min-height:145px;display:grid;place-items:center}.premium-image-preview img{width:100%;max-height:260px;object-fit:cover}.premium-image-preview span{color:#a39a91;font-size:.67rem}.premium-image-preview span i{display:block;font-size:1.45rem;margin-bottom:7px}.premium-check{display:grid!important;grid-template-columns:19px 35px 1fr;align-items:center;gap:9px;margin:10px 0 0!important;padding:11px!important;border:1px solid #e7e0d9!important;border-radius:11px;background:#fbf9f6!important}.premium-check input{width:17px!important;height:17px!important;margin:0}.premium-check>span{width:32px;height:32px;border-radius:9px;background:#f2e7d3;color:#9d7426;display:grid;place-items:center}.premium-check strong,.premium-check small{display:block}.premium-check strong{font-size:.7rem}.premium-check small{font-size:.58rem;color:#948a81;margin-top:2px}.premium-check.danger>span{background:#f6e6e7;color:#aa2e3b}
.modal-form label{display:block;margin-bottom:7px;font-size:.72rem;font-weight:800}.modal-form small{display:block;margin-top:8px;color:#8b837b;font-size:.66rem}
.admin-toast-stack{position:fixed;right:22px;bottom:22px;z-index:5000;display:grid;gap:10px;width:min(390px,calc(100vw - 30px))}.admin-toast{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:13px 14px;border-radius:13px;background:#191719;color:#fff;box-shadow:0 18px 45px rgba(0,0,0,.24);animation:toastIn .22s ease}.admin-toast>i{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1)}.admin-toast.success>i{color:#7dd890}.admin-toast.error>i{color:#ff8591}.admin-toast.warning>i{color:#f0c269}.admin-toast span{font-size:.73rem;line-height:1.45}.admin-toast button{border:0;background:transparent;color:#aaa;cursor:pointer;font-size:1rem}@keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.admin-modal-overlay{backdrop-filter:blur(8px);background:rgba(14,12,12,.65)!important}.admin-modal-content{max-width:560px!important;border-radius:18px!important;box-shadow:0 28px 80px rgba(0,0,0,.34)!important}.admin-modal-header{background:#fff}.admin-modal-footer{background:#faf8f5!important}
/* Conteúdo público rico de notícias */
.conteudo-post img,.conteudo-post video{max-width:100%;height:auto;border-radius:14px}.conteudo-post audio{width:100%;margin:16px 0}.conteudo-post iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:14px}.conteudo-post figure{margin:30px 0}.conteudo-post figcaption{text-align:center;color:#817870;font-size:.76rem;margin-top:8px}.conteudo-post blockquote{margin:28px 0;padding:18px 24px;border-left:4px solid #a4242b;background:#f7f1e8;font-family:var(--font-titulo);font-size:1.35rem}.conteudo-post h2{font-size:clamp(1.9rem,3vw,2.7rem);margin:1.4em 0 .55em}.conteudo-post h3{font-size:clamp(1.45rem,2.3vw,2rem);margin:1.25em 0 .45em}.conteudo-post p{line-height:1.85}
@media(max-width:1050px){.admin-editor-layout{grid-template-columns:1fr}.admin-editor-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-editor-actions{grid-column:1/-1;position:static}.admin-content-container{padding:26px 22px 48px!important}}
@media(max-width:760px){.admin-content-container{padding:20px 15px 42px!important}.admin-page-head,.admin-header-action{align-items:flex-start;flex-direction:column}.admin-form-container,.admin-form.admin-form-premium,.admin-form:not(.noticia-editor-form){padding:19px!important;border-radius:15px}.admin-form-container form .form-row,.admin-form .form-row,.admin-editor-sidebar{grid-template-columns:1fr!important}.rst-editor-toolbar{overflow-x:auto;flex-wrap:nowrap}.rst-editor-content{min-height:390px;padding:25px 20px;font-size:1rem}.rst-editor-footer{flex-direction:column}.media-tools button span{display:none}.sticky-editor-actions{grid-template-columns:1fr}.admin-top-header .header-content{padding-left:12px!important;padding-right:12px!important}.admin-page-head h1,.admin-header-action h2{font-size:2rem!important}}
@media(max-width:520px){.admin-form-card{padding:17px;border-radius:14px}.tool-group{padding-right:4px}.rst-editor-toolbar button{min-width:32px;padding:0 7px}.admin-modal-content{width:94%!important}.admin-modal-header,.admin-modal-body,.admin-modal-footer{padding-left:17px!important;padding-right:17px!important}.btn{width:100%}.form-actions .btn{flex:1 1 100%}}
.admin-mobile-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:998;backdrop-filter:blur(3px)}
@media(max-width:992px){.admin-sidebar.mobile-active~* .admin-mobile-backdrop{display:block}.admin-sidebar.mobile-active{z-index:1001!important}.admin-mobile-backdrop{z-index:1000}.admin-sidebar.mobile-active + .admin-main-panel{pointer-events:none}}
@media(max-width:992px){.admin-mobile-backdrop.active{display:block}}


/* ========================================================================== */
/* V2.15.6 — ADMIN CMS PROFISSIONAL                                            */
/* ========================================================================== */
.admin-body{background:#f1eee9;color:#292421}.admin-page-content{background:radial-gradient(circle at 90% 0,rgba(147,31,45,.045),transparent 28%),#f3f0eb}.admin-content-container{max-width:1460px!important;padding-top:32px!important}
.admin-page-head,.admin-header-action{margin-bottom:24px!important;padding:0 2px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.admin-page-head h1,.admin-header-action h2{font-family:Georgia,serif;font-size:2.45rem!important;letter-spacing:-.035em;color:#231f1c;margin:3px 0 6px!important}.admin-page-head p,.admin-header-action p{color:#82786f;font-size:.82rem}.admin-kicker{display:block;color:#91202d;font-size:.59rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.admin-form-container{background:#fff!important;border:1px solid #e8e1da!important;border-radius:20px!important;padding:27px!important;box-shadow:0 16px 48px rgba(44,34,27,.055)!important}.admin-form-container>form,.admin-form.admin-form-premium{display:block}.admin-page-content .form-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px!important}.admin-page-content .form-group{margin-bottom:18px!important}.admin-page-content .form-group>label,.admin-page-content form>label:not(.premium-check):not(.theatre-check){display:block!important;margin:0 0 8px!important;color:#514841!important;font-size:.7rem!important;font-weight:850!important;letter-spacing:.015em}.admin-page-content input:not([type=checkbox]):not([type=radio]):not([type=file]),.admin-page-content select,.admin-page-content textarea{width:100%!important;min-height:46px!important;border:1px solid #dcd5ce!important;border-radius:11px!important;background:#fff!important;padding:11px 13px!important;color:#2d2926!important;font:600 .78rem/1.45 'Nunito',sans-serif!important;box-shadow:inset 0 1px 2px rgba(30,20,10,.025)!important;transition:border-color .18s,box-shadow .18s,background .18s!important}.admin-page-content textarea{min-height:120px!important;resize:vertical}.admin-page-content input:focus,.admin-page-content select:focus,.admin-page-content textarea:focus{outline:none!important;border-color:#9a2633!important;box-shadow:0 0 0 4px rgba(154,38,51,.09)!important;background:#fff!important}.admin-page-content input[type=file]{width:100%;padding:10px;border:1.5px dashed #cfbfb2;border-radius:11px;background:#faf8f5;color:#6e635a}.admin-page-content input[type=file]::file-selector-button{border:0;border-radius:8px;padding:9px 12px;margin-right:10px;background:#201d1c;color:#fff;font-weight:800;cursor:pointer}.admin-page-content input[type=checkbox]{accent-color:#8f1f2d;width:18px;height:18px}.admin-page-content .form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid #eee8e2}.admin-page-content .btn{border-radius:10px!important;min-height:43px;padding:0 17px!important;font-weight:850!important;letter-spacing:.015em}.admin-page-content .btn i{margin-right:6px}
/* Jodit WYSIWYG */
.editor-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:#1f1d1c;color:#fff;font-size:.58rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.jodit-container{border:1px solid #dcd5ce!important;border-radius:14px!important;overflow:hidden!important;box-shadow:0 12px 35px rgba(36,28,22,.05)!important;background:#fff!important}.jodit-toolbar__box{background:#faf8f5!important;border-bottom:1px solid #e8e1da!important}.jodit-toolbar-editor-collection{background:#faf8f5!important}.jodit-workplace{background:#fff!important}.jodit-wysiwyg{padding:28px 32px!important;font-family:Georgia,serif!important;font-size:18px!important;line-height:1.75!important;min-height:520px!important;color:#27221f!important}.jodit-status-bar{border-top:1px solid #eee8e2!important;background:#faf8f5!important}.jodit-ui-button{border-radius:8px!important}.jodit-ui-button:hover{background:#efe7df!important}.editor-media-quickbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.editor-media-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #ddd4cb;background:#fff;color:#302923;border-radius:10px;padding:9px 12px;font:800 .68rem/1 Nunito,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:.2s}.editor-media-btn i{color:#8b2230}.editor-media-btn:hover{border-color:#b58f78;transform:translateY(-1px);box-shadow:0 7px 18px rgba(40,30,20,.08)}
@media(max-width:780px){.admin-page-content .form-row,.cms-fields-grid,.visual-map-grid,.site-map-grid,.asset-links-grid{grid-template-columns:1fr!important}.admin-content-container{padding:20px 14px 46px!important}.admin-form-container{padding:18px!important;border-radius:15px!important}.admin-page-head h1,.admin-header-action h2{font-size:2rem!important}.visual-image-preview{height:205px}.site-map-card{grid-template-columns:42px 1fr;padding:16px}.site-map-icon{width:42px;height:42px}.jodit-container{border-radius:11px!important}.jodit-wysiwyg{padding:20px!important;min-height:360px!important}}

/* ========================================================================== */
/* V2.15.7 — CENTRAL DE MÍDIA                                                 */
/* ========================================================================== */
.media-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 22px}.media-stats-grid article{background:#fff;border:1px solid #e7e1d8;border-radius:18px;padding:20px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:13px;align-items:center;box-shadow:0 10px 30px rgba(27,22,18,.045)}.media-stats-grid i{grid-row:1/3;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#f7f2e9;color:#9b202c}.media-stats-grid strong{font-size:1.55rem;line-height:1;color:#17171a}.media-stats-grid span{font-size:.7rem;color:#77706a;text-transform:uppercase;letter-spacing:.08em;margin-top:5px}.media-upload-card{margin-bottom:20px}.media-dropzone{display:flex;min-height:165px;border:1.5px dashed #d7cbbd;border-radius:18px;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;background:linear-gradient(145deg,#fbfaf8,#f7f3ed);cursor:pointer;transition:.22s;padding:28px}.media-dropzone:hover{border-color:#a4242b;background:#fff8f7}.media-dropzone input{position:absolute;opacity:0;pointer-events:none}.media-dropzone>i{font-size:2rem;color:#a4242b}.media-dropzone strong{font-size:1rem}.media-dropzone small{color:#827970}.media-meta-row{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin-top:16px}.media-filterbar{display:flex;gap:10px;align-items:center;margin:18px 0;background:#fff;border:1px solid #e6ded4;padding:12px;border-radius:16px}.media-search{display:flex;align-items:center;gap:9px;min-width:260px;flex:1;background:#f8f6f2;border:1px solid #e6ded4;border-radius:11px;padding:0 13px}.media-search i{color:#9a9188}.media-search input{border:0!important;background:transparent!important;box-shadow:none!important;padding:11px 0!important;width:100%}.media-filterbar select{max-width:210px}.media-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.media-library-card{background:#fff;border:1px solid #e8e0d7;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(26,21,18,.05);transition:.22s}.media-library-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(26,21,18,.09)}.media-library-preview{height:190px;background:#161618;position:relative;display:grid;place-items:center;overflow:hidden}.media-library-preview img,.media-library-preview video{width:100%;height:100%;object-fit:cover}.media-file-icon{font-size:3rem;color:#d1a84f}.media-overlay-icon{position:absolute;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.65);color:#fff}.media-library-body{padding:16px}.media-type-pill{display:inline-flex;gap:6px;align-items:center;border-radius:999px;background:#f7f2ea;color:#7d251f;padding:5px 9px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.media-library-body h3{font-size:.95rem;margin:11px 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-library-body p{font-size:.71rem;color:#81786f;margin:0}.media-library-actions{display:flex;gap:7px;margin-top:14px}.icon-action{width:36px;height:36px;border:1px solid #e4ddd4;border-radius:10px;background:#fff;color:#413d39;display:grid;place-items:center;cursor:pointer}.icon-action:hover{border-color:#a4242b;color:#a4242b}.icon-action.danger:hover{background:#fff1f2}.admin-empty-state{padding:65px 30px;text-align:center;border:1px dashed #d9cec1;background:#fff;border-radius:18px}.admin-empty-state>i{font-size:2.4rem;color:#b79b6a}.admin-empty-state h3{margin:14px 0 7px}.admin-empty-state p{color:#80776e}.media-library-site-btn{width:100%;margin-top:8px;justify-content:center}.editor-media-library-btn{background:#fff8e8!important;border-color:#dfc17b!important;color:#7e5811!important}
body.media-picker-open{overflow:hidden}.media-picker-overlay{position:fixed;inset:0;background:rgba(8,8,10,.74);backdrop-filter:blur(7px);z-index:99999;display:grid;place-items:center;padding:24px}.media-picker-dialog{width:min(1120px,96vw);height:min(780px,92vh);background:#f7f5f2;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 35px 90px rgba(0,0,0,.4)}.media-picker-header{display:flex;justify-content:space-between;align-items:center;padding:22px 24px 18px;background:#141416;color:#fff}.media-picker-header span{font-size:.58rem;color:#d5ab53;text-transform:uppercase;letter-spacing:.17em;font-weight:800}.media-picker-header h2{margin:4px 0 0;font-size:1.55rem}.media-picker-close{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;cursor:pointer}.media-picker-toolbar{padding:14px 18px;background:#fff;border-bottom:1px solid #e5ddd4;display:flex;gap:10px;align-items:center}.media-picker-toolbar .media-search{margin:0}.media-picker-toolbar select{max-width:190px}.media-picker-grid{padding:18px;overflow:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-content:start}.media-picker-item{border:1px solid #e4dcd2;border-radius:14px;background:#fff;padding:0;text-align:left;overflow:hidden;cursor:pointer;transition:.18s}.media-picker-item:hover{border-color:#a4242b;box-shadow:0 10px 24px rgba(164,36,43,.12);transform:translateY(-2px)}.media-picker-thumb{height:125px;background:#171719;display:grid;place-items:center;position:relative;overflow:hidden}.media-picker-thumb img,.media-picker-thumb video{width:100%;height:100%;object-fit:cover}.media-picker-thumb>i{font-size:2.2rem;color:#d6ad55}.media-picker-meta{display:block;padding:10px}.media-picker-meta strong{display:block;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-picker-meta small{display:block;font-size:.58rem;color:#8a827a;margin-top:4px}.media-picker-loading,.media-picker-empty{grid-column:1/-1;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#7c746d}.media-picker-loading i,.media-picker-empty i{font-size:2rem;color:#b08d50}
@media(max-width:1180px){.media-library-grid{grid-template-columns:repeat(3,1fr)}.media-picker-grid{grid-template-columns:repeat(4,1fr)}.media-stats-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.media-stats-grid{grid-template-columns:1fr 1fr}.media-meta-row{grid-template-columns:1fr}.media-filterbar,.media-picker-toolbar{flex-direction:column;align-items:stretch}.media-filterbar select,.media-picker-toolbar select{max-width:none}.media-library-grid{grid-template-columns:1fr 1fr}.media-picker-overlay{padding:8px}.media-picker-dialog{width:100%;height:96vh;border-radius:18px}.media-picker-grid{grid-template-columns:1fr 1fr;padding:12px}.media-picker-header{padding:18px}.media-picker-toolbar .btn{width:100%;justify-content:center}}
@media(max-width:480px){.media-stats-grid,.media-library-grid,.media-picker-grid{grid-template-columns:1fr}.media-library-preview{height:220px}}

/* ========================================================================== */
/* V2.15.8 — IMAGENS DO SITE COMPACTAS + GALERIAS GOOGLE DRIVE               */
/* ========================================================================== */
.visual-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-top:22px}.visual-image-card{background:#fff;border:1px solid #e6ded5;border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(28,22,18,.055);min-width:0}.visual-image-preview{height:210px;max-height:210px;display:grid;place-items:center;background:linear-gradient(145deg,#f5f1ea,#ebe5dc);overflow:hidden;padding:14px;position:relative}.visual-image-preview img{display:block;width:100%;height:100%;max-width:100%;max-height:182px;object-fit:contain;object-position:center;border-radius:12px}.visual-image-body{padding:18px}.visual-image-body h3{font-size:1.02rem;margin:6px 0;color:#1c1917}.visual-image-body p{font-size:.72rem;line-height:1.55;color:#81776e;margin:0 0 15px}.visual-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:#9b9188}.visual-empty i{font-size:2rem}.visual-upload-form{display:grid;gap:9px}.visual-card-actions{display:flex;gap:8px;flex-wrap:wrap}.compact-upload{min-height:72px!important;padding:13px!important}.asset-map-card{margin-top:22px}.asset-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.asset-links-grid>a{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:2px 10px;padding:15px;border:1px solid #e7dfd6;border-radius:14px;background:#fff;color:#2b2723}.asset-links-grid>a>i{grid-row:1/3;width:38px;height:38px;border-radius:11px;background:#f7f1e7;color:#9b202c;display:grid;place-items:center}.asset-links-grid strong{font-size:.78rem}.asset-links-grid small{font-size:.62rem;color:#8a8178}
.drive-gallery-help{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,#fff,#f7fbf5);border:1px solid #dfe9dc;border-radius:18px;padding:18px 20px;margin:0 0 22px}.drive-gallery-help>i{font-size:2rem;color:#4f8f55}.drive-gallery-help strong{display:block;margin-bottom:4px}.drive-gallery-help p{margin:0;color:#756d66;font-size:.75rem;line-height:1.55}.drive-gallery-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.drive-gallery-admin-card{background:#fff;border:1px solid #e5ddd4;border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(28,22,18,.055)}.drive-gallery-admin-cover{height:190px;background:#18181a;position:relative;display:grid;place-items:center;overflow:hidden}.drive-gallery-admin-cover img{width:100%;height:100%;object-fit:cover}.drive-gallery-admin-cover>i{font-size:3rem;color:#d6aa49}.drive-gallery-type{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.drive-gallery-admin-body{padding:17px}.drive-gallery-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.drive-gallery-title-row h3{margin:0;font-size:1rem}.drive-gallery-admin-body p{font-size:.7rem;color:#7e756d;line-height:1.5;min-height:42px}.drive-gallery-admin-body small{color:#9a9189}.drive-gallery-actions{display:flex;align-items:center;gap:8px;margin-top:14px}.drive-gallery-actions .btn{flex:1}.drive-gallery-form{max-width:1000px}.drive-url-field{display:flex;align-items:center;border:1px solid #ddd5ce;border-radius:12px;background:#fff;overflow:hidden}.drive-url-field>i{width:48px;text-align:center;color:#4f8f55;font-size:1.15rem}.drive-url-field input{border:0!important;border-left:1px solid #eee7e0!important;border-radius:0!important;box-shadow:none!important}.drive-cover-current{width:min(420px,100%);height:220px;border-radius:16px;overflow:hidden;background:#eee8df;margin:0 0 14px}.drive-cover-current img{width:100%;height:100%;object-fit:cover}.premium-check{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid #e3dbd3;border-radius:12px;background:#fff}.premium-check span{display:flex;flex-direction:column}.premium-check small{font-size:.62rem;color:#8a8179}
@media(max-width:1180px){.visual-map-grid,.drive-gallery-admin-grid{grid-template-columns:repeat(2,1fr)}.asset-links-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.visual-map-grid,.drive-gallery-admin-grid,.asset-links-grid{grid-template-columns:1fr}.visual-image-preview{height:180px;max-height:180px}.visual-image-preview img{max-height:152px}.drive-gallery-help{align-items:flex-start}.drive-gallery-admin-cover{height:220px}}

/* ========================================================================== */
/* V2.15.8.4 — CRIADOR DE ÁLBUNS GOOGLE DRIVE                                 */
/* ========================================================================== */
.drive-connect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}.drive-connect-card{height:100%;margin:0!important}.oauth-callback-box{padding:14px;border-radius:14px;background:#f6f7f9;border:1px solid #e5e7eb;margin:14px 0 18px}.oauth-callback-box span{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#7a7f87;margin-bottom:7px}.oauth-callback-box code{display:block;padding:10px;border-radius:9px;background:#121417;color:#e7bd57;word-break:break-all;font-size:.75rem}.copy-oauth-uri{margin-top:8px;border:0;background:transparent;color:#6d1f2c;font-weight:800;cursor:pointer}.drive-status{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:16px;margin-bottom:18px}.drive-status>i{font-size:1.25rem;margin-top:2px}.drive-status strong,.drive-status span{display:block}.drive-status span{margin-top:4px;font-size:.8rem;opacity:.75}.drive-status.success{background:#eef9f1;color:#176b35;border:1px solid #ccebd5}.drive-status.warning{background:#fff8e8;color:#8a5a00;border:1px solid #f4e1ac}.drive-status.muted{background:#f6f7f9;color:#6b7280;border:1px solid #e5e7eb}.drive-setup-help ol{margin:0;padding-left:20px;display:grid;gap:10px;color:#5c6068}.drive-setup-help li{padding-left:6px}.btn-drive-connect{width:100%;justify-content:center}.drive-not-connected{padding:70px 30px!important}.drive-not-connected>i{font-size:4rem!important;color:#e7bd57!important}.drive-album-builder{max-width:1120px}.drive-album-form{padding:28px!important}.admin-check-row{display:flex;flex-wrap:wrap;gap:12px 24px;margin:10px 0 28px}.admin-check-row label{display:flex;align-items:center;gap:8px;font-weight:700;color:#444}.media-upload-title{margin-top:10px}.drive-dropzone{min-height:230px;border:2px dashed #d8c8a2;border-radius:22px;background:linear-gradient(145deg,#fffdf8,#f8f2e6);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px;cursor:pointer;transition:.25s ease}.drive-dropzone:hover,.drive-dropzone.is-dragging{border-color:#9e2231;background:#fff7f8;transform:translateY(-2px);box-shadow:0 18px 45px rgba(82,34,23,.08)}.drive-dropzone>i{font-size:3rem;color:#9e2231;margin-bottom:15px}.drive-dropzone strong{font-size:1.15rem;color:#24272b}.drive-dropzone span{font-size:.86rem;color:#6d737c;margin-top:5px}.drive-dropzone small{font-size:.72rem;color:#9a9fa6;margin-top:12px}.drive-file-queue{display:grid;gap:8px;margin-top:16px}.drive-queued-file{display:grid;grid-template-columns:42px 1fr 38px;align-items:center;gap:12px;padding:11px 12px;background:#fff;border:1px solid #ece7df;border-radius:13px}.drive-file-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#f7f0df;color:#8a6a20}.drive-file-info strong,.drive-file-info small{display:block}.drive-file-info strong{font-size:.83rem;color:#303238;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drive-file-info small{font-size:.68rem;color:#92979e;margin-top:3px}.drive-queued-file button{width:34px;height:34px;border:0;border-radius:9px;background:#fff0f0;color:#b53333;cursor:pointer}.drive-album-summary{display:flex;gap:20px;justify-content:flex-end;padding:12px 2px;font-size:.78rem;color:#777}.drive-album-summary strong{color:#8c1f2d}.btn-create-drive-album{min-height:52px;padding:0 24px!important}.drive-upload-process{padding:30px;background:#fff;border:1px solid #e9e4dc;border-radius:20px;box-shadow:0 18px 55px rgba(44,38,31,.07)}.drive-upload-process-head{display:flex;align-items:center;gap:18px}.drive-upload-spinner{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#8f1e2b,#b02a3a);color:#fff;display:grid;place-items:center;font-size:1.45rem}.drive-upload-process-head span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:#9b7d36;font-weight:900}.drive-upload-process-head h2{margin:3px 0 3px;font-size:1.45rem}.drive-upload-process-head p{margin:0;color:#777}.drive-global-progress{height:8px;background:#eee9e2;border-radius:20px;overflow:hidden;margin:22px 0}.drive-global-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#8e1f2d,#d0a744);transition:.25s}.drive-upload-results{display:grid;gap:9px}.drive-upload-result{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:10px 12px;border:1px solid #ece7df;border-radius:12px}.drive-result-icon{width:38px;height:38px;border-radius:10px;background:#f4f4f4;display:grid;place-items:center}.drive-upload-result strong{display:block;font-size:.8rem}.drive-upload-result small{font-size:.68rem;color:#777}.drive-file-progress{height:4px;background:#eee;border-radius:10px;overflow:hidden;margin:6px 0}.drive-file-progress span{display:block;height:100%;width:0;background:#9e2231}.drive-upload-result.is-success .drive-result-icon{background:#eaf8ee;color:#238849}.drive-upload-result.is-error .drive-result-icon{background:#fff0f0;color:#ba3434}.drive-upload-result.is-error .drive-file-progress span{background:#ba3434}.drive-upload-finish{padding-top:16px;text-align:right}
@media(max-width:1050px){.drive-connect-grid{grid-template-columns:1fr}.drive-album-builder{max-width:none}}@media(max-width:700px){.drive-album-form,.drive-upload-process{padding:18px!important}.drive-dropzone{min-height:190px;padding:24px 14px}.drive-upload-process-head{align-items:flex-start}.admin-check-row{flex-direction:column;gap:9px}.drive-file-info strong{max-width:220px}.oauth-callback-box code{font-size:.65rem}.drive-upload-finish .btn{width:100%;justify-content:center}}

/* V2.15.8.5 — Acervo colaborativo */
.admin-head-actions{display:flex;gap:10px;flex-wrap:wrap}.contrib-admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0 0 22px}.contrib-admin-stat{padding:18px;background:#fff;border:1px solid #e9e1d7;border-radius:14px;text-decoration:none;color:#403a35}.contrib-admin-stat.active{border-color:#8b2632;box-shadow:0 0 0 3px rgba(139,38,50,.07)}.contrib-admin-stat strong{display:block;font-size:1.9rem;color:#78202b}.contrib-admin-stat span{font-size:.7rem;color:#7e756d}.admin-filter-pills{display:flex;gap:8px;margin-bottom:18px}.admin-filter-pills a{padding:8px 13px;border-radius:20px;background:#eee8df;color:#615a54;text-decoration:none;font-size:.7rem;font-weight:800}.admin-filter-pills a.active{background:#7d202c;color:#fff}.contrib-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.contrib-admin-card{display:flex;flex-direction:column;min-height:220px;background:#fff;border:1px solid #e8e0d6;border-radius:16px;padding:20px;text-decoration:none;color:#332f2b;box-shadow:0 12px 30px rgba(40,30,20,.05);transition:.2s}.contrib-admin-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(40,30,20,.09)}.contrib-admin-card-top{display:flex;justify-content:space-between;gap:10px;font-size:.62rem;color:#928980}.contrib-admin-card h3{font-family:Georgia,serif;font-size:1.35rem;margin:18px 0 7px}.contrib-admin-card p{font-size:.72rem;color:#756d66}.contrib-admin-card-meta{display:flex;gap:13px;flex-wrap:wrap;margin-top:auto;font-size:.65rem;color:#777067}.contrib-card-open{margin-top:15px;font-size:.68rem;font-weight:800;color:#7f202b}.contrib-status{display:inline-flex;padding:5px 9px;border-radius:20px;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.status-pendente{background:#fff1c9;color:#866314}.status-recebendo{background:#e7eefb;color:#365b91}.status-aprovado{background:#dff4e9;color:#247153}.status-recusado{background:#f7e2e5;color:#9a3543}.status-correcao{background:#f2e7d8;color:#9a6531}.contrib-review-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px}.contrib-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.contrib-review-media{margin:0;background:#fff;border:1px solid #e8e0d7;border-radius:12px;overflow:hidden}.contrib-review-media img{width:100%;height:210px;object-fit:cover;display:block}.contrib-review-media footer{padding:9px 10px;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contrib-review-video{height:210px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px;background:#171719;color:#fff}.contrib-review-video i{font-size:2rem;color:#d4ae5e}.contrib-review-video strong{font-size:.7rem;margin-top:12px}.contrib-review-video small{font-size:.6rem;color:#aaa;margin-top:5px}.contrib-review-sidebar{display:flex;flex-direction:column;gap:15px}.contrib-review-data{display:grid;grid-template-columns:100px 1fr;gap:9px;font-size:.72rem}.contrib-review-data dt{color:#8e857e}.contrib-review-data dd{margin:0;font-weight:700}.contrib-review-actions .btn{width:100%;justify-content:center;margin-top:8px}.contrib-links-layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:22px;align-items:start}.contrib-link-list{display:grid;gap:12px}.contrib-link-card{background:#fff;border:1px solid #e9e1d8;padding:18px;border-radius:14px}.contrib-link-card.is-disabled{opacity:.65}.contrib-link-card h3{margin:10px 0 4px;font-family:Georgia,serif}.contrib-link-card p{font-size:.68rem;color:#80776f}.contrib-link-url{display:grid;grid-template-columns:1fr 42px;gap:5px;margin:13px 0}.contrib-link-url input{min-width:0;border:1px solid #ded5cb;background:#f8f5f1;border-radius:8px;padding:9px;font-size:.64rem}.contrib-link-url button{border:0;border-radius:8px;background:#7c202b;color:#fff;cursor:pointer}.contrib-link-card footer{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:.65rem;color:#746c64}.contrib-link-card footer a,.btn-link-admin{border:0;background:transparent;color:#7c202b;font-weight:800;text-decoration:none;cursor:pointer;padding:0}.contrib-link-card footer form{margin-left:auto}
@media(max-width:1100px){.contrib-admin-stats{grid-template-columns:repeat(3,1fr)}.contrib-admin-grid{grid-template-columns:repeat(2,1fr)}.contrib-review-layout,.contrib-links-layout{grid-template-columns:1fr}.contrib-review-sidebar{order:-1}}
@media(max-width:700px){.contrib-admin-stats,.contrib-admin-grid,.contrib-review-grid{grid-template-columns:1fr 1fr}.contrib-review-media img,.contrib-review-video{height:160px}}
@media(max-width:480px){.contrib-admin-stats,.contrib-admin-grid,.contrib-review-grid{grid-template-columns:1fr}}

/* V2.15.8.6 RANKING */
.culture-admin-table td small{display:block;color:#8a8178;margin-top:4px}.culture-admin-table td strong{font-weight:800}
