/* ==========================================================================
   1. RESET GLOBAL, TIPOGRAFÍA Y CUERPO
   ========================================================================== */
html {
  font-size: 12px;
}

body, 
button, 
input, 
select, 
textarea, 
.form-control {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

body {
  background-color: #fdfdfd;
  background-image: 
    radial-gradient(at 0% 0%, rgba(226, 232, 240, 0.6) 0px, transparent 50%),
    radial-gradient(at 100% 100%, rgba(203, 213, 225, 0.5) 0px, transparent 50%),
    radial-gradient(at 50% 50%, rgba(248, 250, 252, 0.4) 0px, transparent 50%) !important;
  min-height: 100vh;
  background-size: cover;
}

/* ==========================================================================
   2. ESTILOS LEGADOS Y UTILIDADES GENERALES
   ========================================================================== */
.centrado { text-align: center !important; }
.popover { max-width: 470px; min-width: 300px; }
.listadon, .listado, .menu { font-size: 1em; }

select.grande, .formselect {
  border: 1px solid #ccc;
  margin-bottom: 3px;
  text-align: left;
  padding: 6px;
  min-width: 120px;
  font-size: 16px;
}

option.grande {
  padding: 3px;
  vertical-align: middle;
  font-size: 16px !important;
  line-height: 150%;
  background: #fff;
}

div.vertical {
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
}

.form-control1 {
  display: inline;
  height: 31px;
  padding: 6px 12px;
  margin: 4px;
  font-size: 11px;
  line-height: 1.428571429;
  color: #555555;
  vertical-align: middle;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.form-control1:focus {
  border-color: #66afe9;
  outline: 0;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.form-control1[disabled], .form-control1[readonly], fieldset[disabled] .form-control1 {
  cursor: not-allowed;
  background-color: #eeeeee;
}

/* ==========================================================================
   3. TEMA SAAS MODERNO: ALERTAS, FONDOS SOFT Y ACENTOS
   ========================================================================== */
/* Alertas Soft */
.alert-soft-primary   { background-color: #eff6ff !important; color: #1e40af !important; }
.alert-soft-secondary { background-color: #f8fafc !important; color: #475569 !important; }
.alert-soft-success   { background-color: #f0fdf4 !important; color: #166534 !important; }
.alert-soft-danger    { background-color: #fef2f2 !important; color: #991b1b !important; }
.alert-soft-warning   { background-color: #fefce8 !important; color: #854d0e !important; }
.alert-soft-info      { background-color: #f0f9ff !important; color: #0369a1 !important; }
.alert-soft-dark      { background-color: #f1f5f9 !important; color: #0f172a !important; }

/* Fondos Suaves (bg-soft) */
.bg-soft-primary   { background-color: #f0f5ff !important; color: #1e3a8a !important; }
.bg-soft-secondary { background-color: #f8fafc !important; color: #475569 !important; }
.bg-soft-success   { background-color: #f2f7f4 !important; color: #14532d !important; }
.bg-soft-danger    { background-color: #fff1f2 !important; color: #881337 !important; }
.bg-soft-warning   { background-color: #fffdf5 !important; color: #78350f !important; }
.bg-soft-info      { background-color: #f0f9ff !important; color: #0c4a6e !important; }
.bg-soft-dark      { background-color: #f1f5f9 !important; color: #0f172a !important; }

/* Bordes de Acento Mate para Tarjetas (Base Homologada) */
.card-accent-primary   { border-top: 2.5px solid #b4c6e7 !important; }
.card-accent-secondary { border-top: 2.5px solid #cbd5e1 !important; }
.card-accent-success   { border-top: 2.5px solid #a3c9a8 !important; }
.card-accent-danger    { border-top: 2.5px solid #e6b8b8 !important; }
.card-accent-warning   { border-top: 2.5px solid #e2c98d !important; }
.card-accent-info      { border-top: 2.5px solid #9dcbe3 !important; }
.card-accent-dark      { border-top: 2.5px solid #64748b !important; }

/* ==========================================================================
   4. PESTAÑAS (NAV TABS)
   ========================================================================== */
.nav-tabs .nav-link {
  background-color: #e9ecef;
  color: #495057;
  border-color: #dee2e6;
}

.nav-tabs .nav-link:hover {
  background-color: #ced4da;
  color: #212529;
}

.nav-tabs .nav-link.active {
  background-color: #f0f5ff !important;
  color: #1e3a8a !important;
  border-color: #b4c6e7 !important;
}

/* ==========================================================================
   5. BOTONES SOFT
   ========================================================================== */
.btn-soft-primary { background-color: #f0f5ff !important; color: #1e3a8a !important; border: 1px solid #b4c6e7 !important; }
.btn-soft-primary:hover, .btn-soft-primary:focus, .btn-soft-primary:active, .btn-soft-primary.active {
  background-color: #dbeafe !important; color: #1e3a8a !important; border-color: #93c5fd !important; box-shadow: none !important;
}

.btn-soft-secondary { background-color: #f8fafc !important; color: #475569 !important; border: 1px solid #cbd5e1 !important; }
.btn-soft-secondary:hover, .btn-soft-secondary:focus, .btn-soft-secondary:active, .btn-soft-secondary.active {
  background-color: #f1f5f9 !important; color: #334155 !important; border-color: #94a3b8 !important; box-shadow: none !important;
}

.btn-soft-success { background-color: #f2f7f4 !important; color: #14532d !important; border: 1px solid #a3c9a8 !important; }
.btn-soft-success:hover, .btn-soft-success:focus, .btn-soft-success:active, .btn-soft-success.active {
  background-color: #e1ebd9 !important; color: #14532d !important; border-color: #a3c9a8 !important; box-shadow: none !important;
}

.btn-soft-danger { background-color: #fff1f2 !important; color: #881337 !important; border: 1px solid #e6b8b8 !important; }
.btn-soft-danger:hover, .btn-soft-danger:focus, .btn-soft-danger:active, .btn-soft-danger.active {
  background-color: #ffe4e6 !important; color: #881337 !important; border-color: #fca5a5 !important; box-shadow: none !important;
}

.btn-soft-warning { background-color: #fffdf5 !important; color: #78350f !important; border: 1px solid #e2c98d !important; }
.btn-soft-warning:hover, .btn-soft-warning:focus, .btn-soft-warning:active, .btn-soft-warning.active {
  background-color: #fef3c7 !important; color: #78350f !important; border-color: #fde047 !important; box-shadow: none !important;
}

.btn-soft-info { background-color: #f0f9ff !important; color: #0c4a6e !important; border: 1px solid #9dcbe3 !important; }
.btn-soft-info:hover, .btn-soft-info:focus, .btn-soft-info:active, .btn-soft-info.active {
  background-color: #e0f2fe !important; color: #0c4a6e !important; border-color: #7dd3fc !important; box-shadow: none !important;
}

.btn-soft-dark { background-color: #f1f5f9 !important; color: #0f172a !important; border: 1px solid #64748b !important; }
.btn-soft-dark:hover, .btn-soft-dark:focus, .btn-soft-dark:active, .btn-soft-dark.active {
  background-color: #e2e8f0 !important; color: #0f172a !important; border-color: #475569 !important; box-shadow: none !important;
}

/* ==========================================================================
   6. PAGINACIÓN ESTÁNDAR Y DATATABLES
   ========================================================================== */
.pagination-soft-primary .page-link, .pagination .page-link {
  background-color: #ffffff !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
  margin: 0 2px;
  border-radius: 6px !important;
  transition: all 0.15s ease-in-out;
}

.pagination-soft-primary .page-link:hover, .pagination-soft-primary .page-link:focus,
.pagination .page-link:hover, .pagination .page-link:focus {
  background-color: #f8fafc !important;
  color: #1e3a8a !important;
  border-color: #cbd5e1 !important;
  box-shadow: none !important;
}

.pagination-soft-primary .page-item.active .page-link, .pagination .page-item.active .page-link {
  background-color: #f0f5ff !important;
  color: #1e3a8a !important;
  border: 1px solid #b4c6e7 !important;
  font-weight: 700;
}

.pagination-soft-primary .page-item.disabled .page-link, .pagination .page-item.disabled .page-link {
  background-color: #ffffff !important;
  color: #cbd5e1 !important;
  border-color: #f1f5f9 !important;
  opacity: 0.7;
}

/* Paginación DataTables */
.dataTables_wrapper .dataTables_paginate { padding-top: 0.5rem; }
.dataTables_wrapper .dataTables_paginate .page-item .page-link {
  background-color: #ffffff !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
  margin: 0 2px;
  border-radius: 6px !important;
  transition: all 0.15s ease-in-out;
  box-shadow: none !important;
}

.dataTables_wrapper .dataTables_paginate .page-item:not(.active):not(.disabled) .page-link:hover,
.dataTables_wrapper .dataTables_paginate .page-item:not(.active):not(.disabled) .page-link:focus {
  background-color: #f8fafc !important;
  color: #1e3a8a !important;
  border-color: #cbd5e1 !important;
}

.dataTables_wrapper .dataTables_paginate .page-item.active .page-link {
  background-color: #f0f5ff !important;
  color: #1e3a8a !important;
  border: 1px solid #b4c6e7 !important;
  font-weight: 700 !important;
}

.dataTables_wrapper .dataTables_paginate .page-item.disabled .page-link {
  background-color: #ffffff !important;
  color: #cbd5e1 !important;
  border-color: #f1f5f9 !important;
  opacity: 0.7;
}

/* ==========================================================================
   7. BUSCADOR INTEGRADO Y TWEAKS DE ALTURA (31px)
   ========================================================================== */
.custom-search-group {
  display: flex !important;
  align-items: stretch !important;
  height: 31px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  border-radius: 6px;
  transition: all 0.15s ease-in-out;
}

.custom-search-group .input-group-prepend { display: flex; height: 31px !important; }
.custom-search-group .input-group-text, .custom-search-group .form-control {
  border-color: #cbd5e1 !important;
  color: #334155;
  height: 31px !important;
}

.custom-search-group .input-group-text {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.375rem 0.75rem !important;
}

.custom-search-group .form-control {
  padding-top: 0.375rem !important;
  padding-bottom: 0.375rem !important;
  line-height: 1.5 !important;
}

.custom-search-group .form-control:focus { box-shadow: none !important; border-color: #93c5fd !important; }
.custom-search-group:focus-within { box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important; }
.custom-search-group:focus-within .input-group-text { border-color: #93c5fd !important; color: #2563eb !important; }
.custom-search-group .form-control::placeholder { color: #94a3b8; font-size: 0.875rem; }

.custom-search-group .twitter-typeahead {
  flex: 1 1 auto !important;
  width: 1% !important;
  display: flex !important;
  align-items: stretch !important;
  height: 31px !important;
}

.custom-search-group .twitter-typeahead .tt-input,
.custom-search-group .twitter-typeahead .tt-hint {
  height: 31px !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

/* ==========================================================================
   8. CABECERA PRINCIPAL Y MEGAMENÚ
   ========================================================================== */
.main-header {
  position: relative !important;
  background-color: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

.main-header .btn-sm { font-size: 0.925rem !important; padding: 0.45rem 0.85rem !important; font-weight: 500; }
.header-logo-icon { width: 42px; height: 42px; font-size: 1.1rem; border: 1px solid #b4c6e7; }
.header-title { font-size: 1.1rem; letter-spacing: -0.02em; color: #0f172a !important; }
.header-subtitle { font-size: 0.75rem; color: #64748b !important; }

.main-header .dropdown-menu {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.875rem;
}

.megamenu-li { position: static; }
.main-header .megamenu {
  position: absolute;
  width: calc(100% - 3rem) !important;
  left: 1rem !important;
  right: 1.5rem !important;
  top: 100% !important;
  margin-top: -1rem !important;
  border-radius: 10px !important;
  border: 1px solid #cbd5e1 !important;
  padding: 0.75rem 1rem !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08) !important;
  margin-left: 1rem !important;
}

.main-header .megamenu h6 { margin-bottom: 0.35rem !important; line-height: 1.2 !important; }
.main-header .megamenu .dropdown-item {
  font-size: 1em !important;
  padding: 0.2rem 0.5rem !important;
  line-height: 1.25 !important;
  margin-bottom: 0.1rem !important;
  border-radius: 6px;
  color: #334155;
  white-space: normal;
  transition: all 0.15s ease-in-out;
}

.main-header .megamenu .dropdown-item:hover { background-color: #f0f5ff !important; color: #1e3a8a !important; }
.main-header .megamenu .dropdown-item:hover i { color: #2563eb !important; }
.main-header .megamenu ul, .main-header .megamenu .list-unstyled { margin-bottom: 0 !important; }

#lasesion code {
  color: inherit !important;
  background-color: transparent !important;
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0;
}

/* ==========================================================================
   9. OVERRIDES BASE DE BOOTSTRAP (BOTONES, BADGES, CARDS Y FORMULARIOS)
   ========================================================================== */
.btn-primary {
  background-color: #f0f5ff !important; color: #1e3a8a !important; border: 1px solid #b4c6e7 !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
  background-color: #dbeafe !important; color: #1e3a8a !important; border-color: #93c5fd !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

.btn-secondary {
  background-color: #f8fafc !important; color: #475569 !important; border: 1px solid #cbd5e1 !important;
}
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active, .btn-secondary.active {
  background-color: #f1f5f9 !important; color: #334155 !important; border-color: #94a3b8 !important;
}

.btn-success {
  background-color: #f2f7f4 !important; color: #14532d !important; border: 1px solid #a3c9a8 !important;
}
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active {
  background-color: #e1ebd9 !important; color: #14532d !important; border-color: #a3c9a8 !important;
}

.btn-danger {
  background-color: #fff1f2 !important; color: #881337 !important; border: 1px solid #e6b8b8 !important;
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active {
  background-color: #ffe4e6 !important; color: #881337 !important; border-color: #fca5a5 !important;
}

.btn-warning {
  background-color: #fffdf5 !important; color: #78350f !important; border: 1px solid #e2c98d !important;
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active {
  background-color: #fef3c7 !important; color: #78350f !important; border-color: #fde047 !important;
}

.btn-info {
  background-color: #f0f9ff !important; color: #0c4a6e !important; border: 1px solid #9dcbe3 !important;
}
.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active {
  background-color: #e0f2fe !important; color: #0c4a6e !important; border-color: #7dd3fc !important;
}

.btn-dark {
  background-color: #f1f5f9 !important; color: #0f172a !important; border: 1px solid #64748b !important;
}

/* Botones Outline */
.btn-outline-primary { color: #1e3a8a !important; border-color: #b4c6e7 !important; background-color: transparent !important; }
.btn-outline-primary:hover, .btn-outline-primary:active { background-color: #f0f5ff !important; color: #1e3a8a !important; border-color: #93c5fd !important; }

.btn-outline-secondary { color: #475569 !important; border-color: #cbd5e1 !important; background-color: transparent !important; }
.btn-outline-secondary:hover, .btn-outline-secondary:active { background-color: #f8fafc !important; color: #334155 !important; border-color: #94a3b8 !important; }

.btn-outline-success { color: #14532d !important; border-color: #a3c9a8 !important; background-color: transparent !important; }
.btn-outline-success:hover, .btn-outline-success:active { background-color: #f2f7f4 !important; color: #14532d !important; }

.btn-outline-danger { color: #881337 !important; border-color: #e6b8b8 !important; background-color: transparent !important; }
.btn-outline-danger:hover, .btn-outline-danger:active { background-color: #fff1f2 !important; color: #881337 !important; }

.btn-outline-warning { color: #78350f !important; border-color: #e2c98d !important; background-color: transparent !important; }
.btn-outline-warning:hover, .btn-outline-warning:active { background-color: #fffdf5 !important; color: #78350f !important; }

.btn-outline-info { color: #0c4a6e !important; border-color: #9dcbe3 !important; background-color: transparent !important; }
.btn-outline-info:hover, .btn-outline-info:active { background-color: #f0f9ff !important; color: #0c4a6e !important; }

/* Fondos utilitarios */
.bg-primary   { background-color: #f0f5ff !important; color: #1e3a8a !important; }
.bg-secondary { background-color: #f8fafc !important; color: #475569 !important; }
.bg-success   { background-color: #f2f7f4 !important; color: #14532d !important; }
.bg-danger    { background-color: #fff1f2 !important; color: #881337 !important; }
.bg-warning   { background-color: #fffdf5 !important; color: #78350f !important; }
.bg-info      { background-color: #f0f9ff !important; color: #0c4a6e !important; }
.bg-light     { background-color: #f8fafc !important; color: #334155 !important; }
.bg-dark      { background-color: #f1f5f9 !important; color: #0f172a !important; }

/* Badges e insignias */
.badge-primary   { background-color: #dbeafe !important; color: #1e3a8a !important; border: 1px solid #b4c6e7; }
.badge-secondary { background-color: #f1f5f9 !important; color: #475569 !important; border: 1px solid #cbd5e1; }
.badge-success   { background-color: #dcfce7 !important; color: #14532d !important; border: 1px solid #a3c9a8; }
.badge-danger    { background-color: #ffe4e6 !important; color: #881337 !important; border: 1px solid #e6b8b8; }
.badge-warning   { background-color: #fef3c7 !important; color: #78350f !important; border: 1px solid #e2c98d; }
.badge-info      { background-color: #e0f2fe !important; color: #0c4a6e !important; border: 1px solid #9dcbe3; }

/* Tarjetas e insumos */
.card {
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05), 0 1px 2px 0 rgba(0, 0, 0, 0.03) !important;
}

.card-header { border-bottom: 1px solid #e2e8f0 !important; }

.form-control, .custom-select {
  border-color: #cbd5e1 !important;
  border-radius: 6px !important;
  color: #334155 !important;
}

.form-control:focus, .custom-select:focus {
  border-color: #93c5fd !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

.card-body.borde-card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  border: none;
}

/* ==========================================================================
   10. SISTEMA DINÁMICO DE PERSONALIZACIÓN (TAMAÑO, TIPOGRAFÍA Y PALETA)
   ========================================================================== */

/* 1. TAMAÑOS DE FUENTE GENERALES, BOTONES, FORMULARIOS Y MEGAMENÚ */
body[data-size="11"], body[data-size="11"] .btn, body[data-size="11"] button, body[data-size="11"] .form-control, body[data-size="11"] .custom-select, body[data-size="11"] table, body[data-size="11"] .main-header .megamenu, body[data-size="11"] .main-header .megamenu .dropdown-item { font-size: 11px !important; }
body[data-size="12"], body[data-size="12"] .btn, body[data-size="12"] button, body[data-size="12"] .form-control, body[data-size="12"] .custom-select, body[data-size="12"] table, body[data-size="12"] .main-header .megamenu, body[data-size="12"] .main-header .megamenu .dropdown-item { font-size: 12px !important; }
body[data-size="13"], body[data-size="13"] .btn, body[data-size="13"] button, body[data-size="13"] .form-control, body[data-size="13"] .custom-select, body[data-size="13"] table, body[data-size="13"] .main-header .megamenu, body[data-size="13"] .main-header .megamenu .dropdown-item { font-size: 13px !important; }
body[data-size="14"], body[data-size="14"] .btn, body[data-size="14"] button, body[data-size="14"] .form-control, body[data-size="14"] .custom-select, body[data-size="14"] table, body[data-size="14"] .main-header .megamenu, body[data-size="14"] .main-header .megamenu .dropdown-item { font-size: 14px !important; }

body[data-size] .main-header .megamenu h6 { font-size: 1.1em !important; }
body[data-size] .btn-sm, body[data-size] .badge, body[data-size] .main-header .btn-sm { font-size: 0.9em !important; }

/* 2. TIPOGRAFÍAS */
body[data-font="sys"], body[data-font="sys"] button, body[data-font="sys"] input, body[data-font="sys"] select, body[data-font="sys"] textarea, body[data-font="sys"] .form-control { font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important; }
body[data-font="pop"], body[data-font="pop"] button, body[data-font="pop"] input, body[data-font="pop"] select, body[data-font="pop"] textarea, body[data-font="pop"] .form-control { font-family: 'Poppins', system-ui, -apple-system, sans-serif !important; }
body[data-font="rob"], body[data-font="rob"] button, body[data-font="rob"] input, body[data-font="rob"] select, body[data-font="rob"] textarea, body[data-font="rob"] .form-control { font-family: 'Roboto', system-ui, -apple-system, sans-serif !important; }
body[data-font="serif"], body[data-font="serif"] button, body[data-font="serif"] input, body[data-font="serif"] select, body[data-font="serif"] textarea, body[data-font="serif"] .form-control { font-family: 'Georgia', 'Times New Roman', serif !important; }

/* 3. PROTECCIÓN OBLIGATORIA DE ICONOS FONTAWESOME */
body[data-font] .fa, body[data-font] .fas, body[data-font] .far, body[data-font] .fal, body[data-font] .fab, body[data-font] .fa-solid, body[data-font] .fa-regular, body[data-font] .fa-brands, body[data-font] [class^="fa-"], body[data-font] [class*=" fa-"] {
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands", "FontAwesome" !important;
}

/* ==========================================================================
   PALETAS DINÁMICAS COMPLETAS (HOMOLOGACIÓN INTEGRAL DE TARJETAS Y COMPONENTES)
   ========================================================================== */

/* PALETA 1: AZUL MARINO SOFT (DEFAULT) */
body[data-theme="default"] {
  .btn-primary { background-color: #dbeafe !important; color: #1e3a8a !important; border-color: #93c5fd !important; }
  .btn-primary:hover { background-color: #bfdbfe !important; color: #091a3a !important; border-color: #60a5fa !important; }
  .btn-soft-primary, .bg-soft-primary { background-color: #f0f5ff !important; color: #1e3a8a !important; }
  .badge-primary { background-color: #dbeafe !important; color: #1e3a8a !important; border-color: #b4c6e7 !important; }
  .text-primary { color: #1e3a8a !important; }

  .btn-info { background-color: #e0f2fe !important; color: #0369a1 !important; border-color: #7dd3fc !important; }
  .btn-info:hover { background-color: #bae6fd !important; color: #0c4a6e !important; }
  .btn-soft-info, .bg-soft-info { background-color: #f0f9ff !important; color: #0369a1 !important; }
  .badge-info { background-color: #e0f2fe !important; color: #0369a1 !important; border-color: #7dd3fc !important; }
  .text-info { color: #0284c7 !important; }

  .btn-warning { background-color: #fef3c7 !important; color: #92400e !important; border-color: #fde047 !important; }
  .btn-warning:hover { background-color: #fde68a !important; color: #78350f !important; }
  .btn-soft-warning, .bg-soft-warning { background-color: #fffdf5 !important; color: #92400e !important; }
  .badge-warning { background-color: #fef3c7 !important; color: #92400e !important; border-color: #fde047 !important; }
  .text-warning { color: #d97706 !important; }

  .btn-danger { background-color: #ffe4e6 !important; color: #9f1239 !important; border-color: #fca5a5 !important; }
  .btn-danger:hover { background-color: #fecdd3 !important; color: #881337 !important; }
  .btn-soft-danger, .bg-soft-danger { background-color: #fff1f2 !important; color: #9f1239 !important; }
  .badge-danger { background-color: #ffe4e6 !important; color: #9f1239 !important; border-color: #fca5a5 !important; }
  .text-danger { color: #e11d48 !important; }

  /* Acentos de Tarjetas */
  .card-accent-primary   { border-top: 2.5px solid #93c5fd !important; }
  .card-accent-info      { border-top: 2.5px solid #7dd3fc !important; }
  .card-accent-warning   { border-top: 2.5px solid #fde047 !important; }
  .card-accent-danger    { border-top: 2.5px solid #fca5a5 !important; }
  .main-header .megamenu .dropdown-item:hover { background-color: #f0f5ff !important; color: #1e3a8a !important; }
  .nav-tabs .nav-link.active { background-color: #f0f5ff !important; color: #1e3a8a !important; border-color: #93c5fd !important; }
}

/* PALETA 2: BOOTSTRAP 4 CLÁSICO / VIBRANTE (BS4) */
body[data-theme="bs4"] {
  .btn-primary { background-color: #007bff !important; color: #ffffff !important; border-color: #007bff !important; }
  .btn-primary:hover { background-color: #0069d9 !important; color: #ffffff !important; border-color: #0062cc !important; }
  .btn-soft-primary, .bg-soft-primary { background-color: #e7f1ff !important; color: #004085 !important; }
  .badge-primary { background-color: #cce5ff !important; color: #004085 !important; border-color: #b8daff !important; }
  .text-primary { color: #007bff !important; }

  .btn-info { background-color: #17a2b8 !important; color: #ffffff !important; border-color: #17a2b8 !important; }
  .btn-info:hover { background-color: #138496 !important; color: #ffffff !important; border-color: #117a8b !important; }
  .btn-soft-info, .bg-soft-info { background-color: #e3f7fa !important; color: #0c5460 !important; }
  .badge-info { background-color: #d1ecf1 !important; color: #0c5460 !important; border-color: #bee5eb !important; }
  .text-info { color: #17a2b8 !important; }

  .btn-warning { background-color: #ffc107 !important; color: #212529 !important; border-color: #ffc107 !important; }
  .btn-warning:hover { background-color: #e0a800 !important; color: #212529 !important; border-color: #d39e00 !important; }
  .btn-soft-warning, .bg-soft-warning { background-color: #fff9e6 !important; color: #856404 !important; }
  .badge-warning { background-color: #fff3cd !important; color: #856404 !important; border-color: #ffeeba !important; }
  .text-warning { color: #d39e00 !important; }

  .btn-danger { background-color: #dc3545 !important; color: #ffffff !important; border-color: #dc3545 !important; }
  .btn-danger:hover { background-color: #c82333 !important; color: #ffffff !important; border-color: #bd2130 !important; }
  .btn-soft-danger, .bg-soft-danger { background-color: #fde8e9 !important; color: #721c24 !important; }
  .badge-danger { background-color: #f8d7da !important; color: #721c24 !important; border-color: #f5c6cb !important; }
  .text-danger { color: #dc3545 !important; }

  /* Acentos de Tarjetas */
  .card-accent-primary   { border-top: 2.5px solid #007bff !important; }
  .card-accent-info      { border-top: 2.5px solid #17a2b8 !important; }
  .card-accent-warning   { border-top: 2.5px solid #ffc107 !important; }
  .card-accent-danger    { border-top: 2.5px solid #dc3545 !important; }
  .main-header .megamenu .dropdown-item:hover { background-color: #e7f1ff !important; color: #0056b3 !important; }
  .nav-tabs .nav-link.active { background-color: #e7f1ff !important; color: #0056b3 !important; border-color: #b8daff !important; }
}

/* PALETA 3: VERDE ESMERALDA (EMERALD) */
body[data-theme="emerald"] {
  .btn-primary { background-color: #dcfce7 !important; color: #14532d !important; border-color: #86efac !important; }
  .btn-primary:hover { background-color: #bbf7d0 !important; color: #052e16 !important; border-color: #4ade80 !important; }
  .btn-soft-primary, .bg-soft-primary { background-color: #f0fdf4 !important; color: #166534 !important; }
  .badge-primary { background-color: #dcfce7 !important; color: #14532d !important; border-color: #86efac !important; }
  .text-primary { color: #15803d !important; }

  .btn-info { background-color: #ccfbf1 !important; color: #0f766e !important; border-color: #99f6e4 !important; }
  .btn-info:hover { background-color: #99f6e4 !important; color: #115e59 !important; }
  .btn-soft-info, .bg-soft-info { background-color: #f0fdfa !important; color: #0f766e !important; }
  .badge-info { background-color: #ccfbf1 !important; color: #0f766e !important; border-color: #99f6e4 !important; }
  .text-info { color: #0d9488 !important; }

  .btn-warning { background-color: #fef9c3 !important; color: #854d0e !important; border-color: #fef08a !important; }
  .btn-warning:hover { background-color: #fef08a !important; color: #713f12 !important; }
  .btn-soft-warning, .bg-soft-warning { background-color: #fefce8 !important; color: #854d0e !important; }
  .badge-warning { background-color: #fef9c3 !important; color: #854d0e !important; border-color: #fef08a !important; }
  .text-warning { color: #ca8a04 !important; }

  .btn-danger { background-color: #fee2e2 !important; color: #991b1b !important; border-color: #fca5a5 !important; }
  .btn-danger:hover { background-color: #fec1c1 !important; color: #7f1d1d !important; }
  .btn-soft-danger, .bg-soft-danger { background-color: #fef2f2 !important; color: #991b1b !important; }
  .badge-danger { background-color: #fee2e2 !important; color: #991b1b !important; border-color: #fca5a5 !important; }
  .text-danger { color: #dc2626 !important; }

  /* Acentos de Tarjetas */
  .card-accent-primary   { border-top: 2.5px solid #86efac !important; }
  .card-accent-info      { border-top: 2.5px solid #99f6e4 !important; }
  .card-accent-warning   { border-top: 2.5px solid #fef08a !important; }
  .card-accent-danger    { border-top: 2.5px solid #fca5a5 !important; }
  .main-header .megamenu .dropdown-item:hover { background-color: #f0fdf4 !important; color: #14532d !important; }
  .nav-tabs .nav-link.active { background-color: #f0fdf4 !important; color: #14532d !important; border-color: #86efac !important; }
}

/* PALETA 4: VIOLETA MATE (VIOLET) */
body[data-theme="violet"] {
  .btn-primary { background-color: #f3e8ff !important; color: #581c87 !important; border-color: #d8b4fe !important; }
  .btn-primary:hover { background-color: #e9d5ff !important; color: #3b0764 !important; border-color: #c084fc !important; }
  .btn-soft-primary, .bg-soft-primary { background-color: #faf5ff !important; color: #6b21a8 !important; }
  .badge-primary { background-color: #f3e8ff !important; color: #581c87 !important; border-color: #d8b4fe !important; }
  .text-primary { color: #7e22ce !important; }

  .btn-info { background-color: #e0f2fe !important; color: #0369a1 !important; border-color: #bae6fd !important; }
  .btn-info:hover { background-color: #bae6fd !important; color: #0c4a6e !important; }
  .btn-soft-info, .bg-soft-info { background-color: #f0f9ff !important; color: #0369a1 !important; }
  .badge-info { background-color: #e0f2fe !important; color: #0369a1 !important; border-color: #bae6fd !important; }
  .text-info { color: #0284c7 !important; }

  .btn-warning { background-color: #ffedd5 !important; color: #9a3412 !important; border-color: #fed7aa !important; }
  .btn-warning:hover { background-color: #fed7aa !important; color: #7c2d12 !important; }
  .btn-soft-warning, .bg-soft-warning { background-color: #fff7ed !important; color: #9a3412 !important; }
  .badge-warning { background-color: #ffedd5 !important; color: #9a3412 !important; border-color: #fed7aa !important; }
  .text-warning { color: #ea580c !important; }

  .btn-danger { background-color: #ffe4e6 !important; color: #9f1239 !important; border-color: #fecdd3 !important; }
  .btn-danger:hover { background-color: #fecdd3 !important; color: #881337 !important; }
  .btn-soft-danger, .bg-soft-danger { background-color: #fff1f2 !important; color: #9f1239 !important; }
  .badge-danger { background-color: #ffe4e6 !important; color: #9f1239 !important; border-color: #fecdd3 !important; }
  .text-danger { color: #e11d48 !important; }

  /* Acentos de Tarjetas */
  .card-accent-primary   { border-top: 2.5px solid #d8b4fe !important; }
  .card-accent-info      { border-top: 2.5px solid #bae6fd !important; }
  .card-accent-warning   { border-top: 2.5px solid #fed7aa !important; }
  .card-accent-danger    { border-top: 2.5px solid #fecdd3 !important; }
  .main-header .megamenu .dropdown-item:hover { background-color: #faf5ff !important; color: #581c87 !important; }
  .nav-tabs .nav-link.active { background-color: #faf5ff !important; color: #581c87 !important; border-color: #d8b4fe !important; }
}

/* PALETA 5: GRIS PIZARRA / DARK SLATE (DARK) */
body[data-theme="dark"] {
  .btn-primary { background-color: #e2e8f0 !important; color: #0f172a !important; border-color: #94a3b8 !important; }
  .btn-primary:hover { background-color: #cbd5e1 !important; color: #020617 !important; border-color: #64748b !important; }
  .btn-soft-primary, .bg-soft-primary { background-color: #f8fafc !important; color: #334155 !important; }
  .badge-primary { background-color: #e2e8f0 !important; color: #0f172a !important; border-color: #94a3b8 !important; }
  .text-primary { color: #334155 !important; }

  .btn-info { background-color: #e2e8f0 !important; color: #1e293b !important; border-color: #cbd5e1 !important; }
  .btn-info:hover { background-color: #cbd5e1 !important; color: #0f172a !important; }
  .btn-soft-info, .bg-soft-info { background-color: #f1f5f9 !important; color: #1e293b !important; }
  .badge-info { background-color: #e2e8f0 !important; color: #1e293b !important; border-color: #cbd5e1 !important; }
  .text-info { color: #475569 !important; }

  .btn-warning { background-color: #fef3c7 !important; color: #78350f !important; border-color: #fde047 !important; }
  .btn-warning:hover { background-color: #fde68a !important; color: #451a03 !important; }
  .btn-soft-warning, .bg-soft-warning { background-color: #fffdf5 !important; color: #78350f !important; }
  .badge-warning { background-color: #fef3c7 !important; color: #78350f !important; border-color: #fde047 !important; }
  .text-warning { color: #b45309 !important; }

  .btn-danger { background-color: #fee2e2 !important; color: #7f1d1d !important; border-color: #fca5a5 !important; }
  .btn-danger:hover { background-color: #fec1c1 !important; color: #450a0a !important; }
  .btn-soft-danger, .bg-soft-danger { background-color: #fef2f2 !important; color: #7f1d1d !important; }
  .badge-danger { background-color: #fee2e2 !important; color: #7f1d1d !important; border-color: #fca5a5 !important; }
  .text-danger { color: #b91c1c !important; }

  /* Acentos de Tarjetas */
  .card-accent-primary   { border-top: 2.5px solid #94a3b8 !important; }
  .card-accent-info      { border-top: 2.5px solid #cbd5e1 !important; }
  .card-accent-warning   { border-top: 2.5px solid #fde047 !important; }
  .card-accent-danger    { border-top: 2.5px solid #fca5a5 !important; }
  .main-header .megamenu .dropdown-item:hover { background-color: #f1f5f9 !important; color: #0f172a !important; }
  .nav-tabs .nav-link.active { background-color: #f1f5f9 !important; color: #0f172a !important; border-color: #94a3b8 !important; }
}