/* === VARIABLES DE MARCA TLAXCALA === */
:root {
    --tlx-purple: #422B7C;
    --tlx-orange: #D8831C;
    --tlx-blue: #6FACC6;
    --tlx-green: #80B13E;
    --tlx-red: #921F26;
    --tlx-magenta: #981861;
}

/* Tipografía institucional (Requiere alojar los archivos de fuente, usa fallbacks) */
body {
    font-family: 'Intro', 'Sofia Pro', system-ui, -apple-system, sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    transition: background-color 0.3s ease, color 0.3s ease;
}

main {
    flex: 1;
}

/* === ESTILOS PERSONALIZADOS === */
.bg-brand-primary {
    background-color: var(--tlx-purple) !important;
}

.text-brand-primary {
    color: var(--tlx-purple) !important;
}

.btn-brand {
    background-color: var(--tlx-purple);
    color: #FFFFFF;
    border: 2px solid var(--tlx-purple);
    font-weight: bold;
    transition: all 0.3s ease;
}

.btn-brand:hover {
    background-color: transparent;
    color: var(--tlx-purple);
}

/* Ajustes para modo oscuro */
[data-bs-theme="dark"] .btn-brand:hover {
    background-color: #FFFFFF;
    color: var(--tlx-purple);
    border-color: #FFFFFF;
}

[data-bs-theme="dark"] .text-brand-primary {
    color: #a78bfa !important;
    /* Un morado más claro para contraste en dark mode */
}

.navbar-dark .navbar-nav .nav-link:hover {
    color: #FFFFFF;
    transform: translateY(-2px);
    transition: transform 0.2s ease, color 0.2s ease;
}

/* Decoración sutil usando colores del logo */
.brand-border {
    border-bottom: 4px solid var(--tlx-purple);
}

.theme-transition,
.theme-transition *,
.theme-transition *:before,
.theme-transition *:after {
    transition: background-color 0.3s ease-in-out, 
                color 0.3s ease-in-out, 
                border-color 0.3s ease-in-out !important;
}

/* ==========================================================================
   Modo Oscuro para Tablas de Google Charts (Bootstrap 5)
   ========================================================================== */
[data-bs-theme="dark"] .google-visualization-table-table {
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

/* Cabecera de la tabla */
[data-bs-theme="dark"] .google-visualization-table-tr-head,
[data-bs-theme="dark"] .google-visualization-table-tr-head td {
    background-color: var(--bs-dark) !important;
    color: var(--bs-light) !important;
    background-image: none !important; /* Elimina el degradado blanco por defecto de Google */
    border-color: var(--bs-border-color) !important;
}

/* Filas pares e impares (Zebra striping adaptado a dark mode) */
[data-bs-theme="dark"] .google-visualization-table-tr-even {
    background-color: var(--bs-body-bg) !important;
}

[data-bs-theme="dark"] .google-visualization-table-tr-odd {
    background-color: rgba(255, 255, 255, 0.05) !important; /* Ligero contraste para filas impares */
}

/* Celdas y texto base */
[data-bs-theme="dark"] .google-visualization-table-td {
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

/* Estado hover y de selección */
[data-bs-theme="dark"] .google-visualization-table-tr-sel,
[data-bs-theme="dark"] .google-visualization-table-tr-over {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Tooltip de Google Charts adaptado a Dark Mode */
[data-bs-theme="dark"] .google-visualization-tooltip {
    background-color: var(--bs-gray-dark) !important;
    border: 1px solid var(--bs-border-color) !important;
    color: var(--bs-light) !important;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
    border-radius: 0.375rem !important; /* Bordes redondeados estilo Bootstrap 5 */
}

/* Color de los textos internos del tooltip */
[data-bs-theme="dark"] .google-visualization-tooltip-item span {
    color: var(--bs-light) !important;
}