<?php
require_once __DIR__ . '/db.php';

function getThemeCSS() {
    try {
        $db = new Database();
        $config = $db->query("SELECT color_fondo, color_texto FROM configuracion WHERE id = 1")->fetch(PDO::FETCH_ASSOC);
        
        if (!$config) {
            error_log('Error: No se pudo obtener la configuración del tema');
            return '';
        }

        return <<<CSS
        <style>
            /* Aplicar al cuerpo y contenedor principal */
            html, 
            body {
                background-color: {$config['color_fondo']} !important;
                color: {$config['color_texto']} !important;
            }

            /* Aplicar a todas las secciones y contenedores */
            div,
            section,
            aside,
            main,
            .container,
            .container-fluid,
            .content-wrapper,
            .card,
            .card-body,
            .main-content,
            .section-content,
            .table-responsive,
            .modal-content,
            .box,
            .widget,
            .panel,
            .wrapper {
                background-color: {$config['color_fondo']} !important;
            }

            /* Estilos para tablas */
            table,
            .table,
            thead,
            tbody,
            tr,
            th,
            td {
                background-color: {$config['color_fondo']} !important;
                color: {$config['color_texto']} !important;
            }

            /* Asegurar que el texto sea visible */
            p, h1, h2, h3, h4, h5, h6, span, label {
                color: {$config['color_texto']} !important;
            }

            /* Excluir elementos que deben mantener sus propios colores */
            .btn,
            .alert,
            .badge,
            .nav-link,
            input,
            select,
            textarea {
                background-color: initial;
                color: initial;
            }
        </style>
CSS;
    } catch (Exception $e) {
        error_log('Error en getThemeCSS: ' . $e->getMessage());
        return '';
    }
}