/* ==============================================
   CUSTOM THEME VARIABLES & UTILITIES
   ============================================== */
:root {
    --color-primary: #13c8ec;
    --background-dark: #111f22;
    --surface-dark: #192f33;
    --text-primary: #ffffff;
    --border-dark: #2d3f44;

    /* Variables personalizadas por el usuario */
    --color-btn-add: #10b981;
    --color-btn-edit: #f59e0b;
    --color-btn-delete: #ef4444;
    --color-btn-cancel: #6b7280;
    --color-btn-return: #6366f1;
    --color-btn-text: #ffffff;
    --color-accordion: #13c8ec;
    --color-tabs: #13c8ec;

    /* Categorías de Menú */
    --color-gestion: #2563eb;
    --color-instalaciones: #16a34a;
    --color-logistica: #d97706;
    --color-comunicacion: #9333ea;
    --color-otros: #e11d48;
    --color-hogar: #4f46e5;
    --color-comunidad: #0d9488;
}

/* Custom Theme Utility Classes */
.bg-background-dark {
    background-color: var(--background-dark) !important;
    color: var(--text-primary) !important;
}

.bg-surface-dark {
    background-color: var(--surface-dark) !important;
    color: var(--text-primary) !important;
}

.table thead th {
    background-color: var(--color-table-header, #f8fafc) !important;
    color: #616f89 !important;
}

.border-border-dark {
    border-color: var(--border-dark) !important;
}

.text-background-dark {
    color: var(--background-dark) !important;
}

/* Bootstrap Overrides for Dynamic Theming */
.text-primary {
    color: var(--color-primary) !important;
}

.bg-primary {
    background-color: var(--color-primary) !important;
}

.btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #ffffff;
}

.btn-add {
    background-color: var(--color-btn-add) !important;
    border-color: var(--color-btn-add) !important;
    color: var(--color-btn-text) !important;
}

.btn-edit {
    background-color: var(--color-btn-edit) !important;
    border-color: var(--color-btn-edit) !important;
    color: var(--color-btn-text) !important;
}

.btn-delete {
    background-color: var(--color-btn-delete) !important;
    border-color: var(--color-btn-delete) !important;
    color: var(--color-btn-text) !important;
}

.btn-cancel {
    background-color: var(--color-btn-cancel) !important;
    border-color: var(--color-btn-cancel) !important;
    color: var(--color-btn-text) !important;
}

.btn-return {
    background-color: var(--color-btn-return) !important;
    border-color: var(--color-btn-return) !important;
    color: var(--color-btn-text) !important;
}

.btn-outline-primary {
    color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

.btn-outline-primary:hover {
    background-color: var(--color-primary) !important;
    color: #fff !important;
}

.border-primary {
    border-color: var(--color-primary) !important;
}

/* Form controls focus state */
.form-control:focus,
.form-select:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 0.25rem var(--color-primary) !important;
    opacity: 0.8;
}

/* Scrollbar styling for dark theme feel */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--background-dark);
}

::-webkit-scrollbar-thumb {
    background: var(--surface-dark);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary);
}