/* css/theme.css */

/* Variáveis CSS padrão - serão sobrescritas pelo ThemeService */
:root {
    --cor-primaria: #9956f6;
    --cor-secundaria: #6c757d;
    --cor-sucesso: #28a745;
    --cor-perigo: #dc3545;
    --cor-aviso: #ffc107;
    --cor-menu: #2c3e50;
    --cor-icones: #6c757d;
    
    /* Variações das cores principais */
    --cor-primaria-light: color-mix(in srgb, var(--cor-primaria) 80%, white);
    --cor-primaria-dark: color-mix(in srgb, var(--cor-primaria) 80%, black);
    --cor-sucesso-light: color-mix(in srgb, var(--cor-sucesso) 80%, white);
    --cor-perigo-light: color-mix(in srgb, var(--cor-perigo) 80%, white);
    --cor-aviso-light: color-mix(in srgb, var(--cor-aviso) 80%, white);
}

/* ==================== APLICAÇÃO DAS CORES ==================== */

/* Botões */
.btn-primary {
    background-color: var(--cor-primaria) !important;
    border-color: var(--cor-primaria) !important;
}

.btn-primary:hover {
    background-color: var(--cor-primaria-dark) !important;
    border-color: var(--cor-primaria-dark) !important;
}

.btn-success {
    background-color: var(--cor-sucesso) !important;
    border-color: var(--cor-sucesso) !important;
}

.btn-danger {
    background-color: var(--cor-perigo) !important;
    border-color: var(--cor-perigo) !important;
}

.btn-warning {
    background-color: var(--cor-aviso) !important;
    border-color: var(--cor-aviso) !important;
}

/* Menu/Navbar */
.navbar-brand-wrapper,
.sidebar {
    background-color: var(--cor-menu) !important;
}

.nav-link {
    color: var(--cor-icones) !important;
}

.nav-link:hover {
    color: var(--cor-primaria) !important;
}

.nav-link.active {
    background-color: var(--cor-primaria) !important;
    color: white !important;
}

/* Ícones */
.menu-icon,
.icon-menu-principal {
    color: var(--cor-icones) !important;
}

/* Cards e elementos de destaque */
.card-header-primary {
    background: linear-gradient(135deg, var(--cor-primaria), var(--cor-primaria-dark)) !important;
    color: white !important;
}

.bg-primary {
    background-color: var(--cor-primaria) !important;
}

.text-primary {
    color: var(--cor-primaria) !important;
}

.bg-success {
    background-color: var(--cor-sucesso) !important;
}

.text-success {
    color: var(--cor-sucesso) !important;
}

.bg-danger {
    background-color: var(--cor-perigo) !important;
}

.text-danger {
    color: var(--cor-perigo) !important;
}

.bg-warning {
    background-color: var(--cor-aviso) !important;
}

.text-warning {
    color: var(--cor-aviso) !important;
}

/* Formulários */
.form-control:focus {
    border-color: var(--cor-primaria) !important;
    box-shadow: 0 0 0 0.2rem rgba(var(--cor-primaria), 0.25) !important;
}

/* Links */
a {
    color: var(--cor-primaria) !important;
}

a:hover {
    color: var(--cor-primaria-dark) !important;
}

/* Modais */
.modal-header.header-primary {
    background: linear-gradient(135deg, var(--cor-primaria), var(--cor-primaria-dark)) !important;
}

.modal-header.header-success {
    background: linear-gradient(135deg, var(--cor-sucesso), var(--cor-sucesso-light)) !important;
}

.modal-header.header-danger {
    background: linear-gradient(135deg, var(--cor-perigo), var(--cor-perigo-light)) !important;
}

.modal-header.header-warning {
    background: linear-gradient(135deg, var(--cor-aviso), var(--cor-aviso-light)) !important;
}

/* Badges */
.badge-primary {
    background-color: var(--cor-primaria) !important;
}

.badge-success {
    background-color: var(--cor-sucesso) !important;
}

.badge-danger {
    background-color: var(--cor-perigo) !important;
}

.badge-warning {
    background-color: var(--cor-aviso) !important;
}

/* Progress bars */
.progress-bar-primary {
    background-color: var(--cor-primaria) !important;
}

/* Alerts */
.alert-primary {
    background-color: var(--cor-primaria-light) !important;
    border-color: var(--cor-primaria) !important;
    color: var(--cor-primaria-dark) !important;
}

/* Classes utilitárias personalizadas */
.themed-primary {
    color: var(--cor-primaria) !important;
}

.themed-bg-primary {
    background-color: var(--cor-primaria) !important;
}

.themed-border-primary {
    border-color: var(--cor-primaria) !important;
}

/* Animações e transições */
.btn, .nav-link, .form-control, a {
    transition: all 0.3s ease !important;
}