.bg-danger, .badge.bg-danger, .btn-danger, .alert-danger {
    background-color: #d9534f !important;
    color: #fff !important;
    border-color: #d43f3a !important;
}
.bg-success, .badge.bg-success, .btn-success, .alert-success {
    background-color: #5cb85c !important;
    color: #fff !important;
    border-color: #4cae4c !important;
}
.bg-warning, .badge.bg-warning, .btn-warning, .alert-warning {
    background-color: #f0ad4e !important;
    color: #fff !important;
    border-color: #eea236 !important;
}
.bg-info, .badge.bg-info, .btn-info, .alert-info {
    background-color: #5bc0de !important;
    color: #fff !important;
    border-color: #46b8da !important;
}
.bg-primary, .badge.bg-primary, .btn-primary, .alert-primary {
    background-color: #337ab7 !important;
    color: #fff !important;
    border-color: #2e6da4 !important;
}

/* Subtle backgrounds for Bootstrap 5.3+ */
.bg-danger-subtle, .badge.bg-danger-subtle {
    background-color: #f8d7da !important;
    color: #842029 !important;
}
.bg-success-subtle, .badge.bg-success-subtle {
    background-color: #d1e7dd !important;
    color: #0f5132 !important;
}
.bg-warning-subtle, .badge.bg-warning-subtle {
    background-color: #fff3cd !important;
    color: #664d03 !important;
}
.bg-info-subtle, .badge.bg-info-subtle {
    background-color: #cff4fc !important;
    color: #055160 !important;
}
.bg-secondary-subtle, .badge.bg-secondary-subtle {
    background-color: #e2e3e5 !important;
    color: #41464b !important;
}

/* Outline buttons */
.btn-outline-danger {
    color: #d9534f !important;
    border-color: #d9534f !important;
    background-color: transparent !important;
}
.btn-outline-danger:hover, .btn-outline-danger:focus {
    background-color: #d9534f !important;
    color: #fff !important;
}

.btn-outline-success {
    color: #5cb85c !important;
    border-color: #5cb85c !important;
    background-color: transparent !important;
}
.btn-outline-success:hover, .btn-outline-success:focus {
    background-color: #5cb85c !important;
    color: #fff !important;
}

.btn-outline-warning {
    color: #f0ad4e !important;
    border-color: #f0ad4e !important;
    background-color: transparent !important;
}
.btn-outline-warning:hover, .btn-outline-warning:focus {
    background-color: #f0ad4e !important;
    color: #fff !important;
}

.btn-outline-info {
    color: #5bc0de !important;
    border-color: #5bc0de !important;
    background-color: transparent !important;
}
.btn-outline-info:hover, .btn-outline-info:focus {
    background-color: #5bc0de !important;
    color: #fff !important;
}

.btn-outline-primary {
    color: #337ab7 !important;
    border-color: #337ab7 !important;
    background-color: transparent !important;
}
.btn-outline-primary:hover, .btn-outline-primary:focus {
    background-color: #337ab7 !important;
    color: #fff !important;
}

.btn-outline-secondary {
    color: #6c757d !important;
    border-color: #6c757d !important;
    background-color: transparent !important;
}
.btn-outline-secondary:hover, .btn-outline-secondary:focus {
    background-color: #6c757d !important;
    color: #fff !important;
}

.btn-xs {
    padding: 0.15rem 0.4rem;
    font-size: 0.75rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}

/* Links - mejorado para mejor contraste según fondos específicos */
a {
    color: #003d82 !important; /* Azul muy oscuro para mejor contraste */
    text-decoration: none;
}

a:hover, a:focus {
    color: #002952 !important; /* Azul súper oscuro on hover */
    text-decoration: underline;
}

/* Dark mode links */
[data-bs-theme="dark"] a {
    color: #4dabf7 !important; /* Azul medio para dark mode */
}

[data-bs-theme="dark"] a:hover, 
[data-bs-theme="dark"] a:focus {
    color: #74c0fc !important; /* Azul claro on hover en dark mode */
}

/* Links visitados */
a:visited {
    color: #4a1c6b !important; /* Purple muy oscuro para light mode */
}

[data-bs-theme="dark"] a:visited {
    color: #9775fa !important; /* Purple medio para dark mode */
}

/* Links en nav-tabs y nav-pills */
.nav-link {
    color: #212529 !important; /* Negro/gris muy oscuro */
}

.nav-link:hover, .nav-link:focus {
    color: #003d82 !important; /* Azul muy oscuro on hover */
}

[data-bs-theme="dark"] .nav-link {
    color: #adb5bd !important;
}

[data-bs-theme="dark"] .nav-link:hover, 
[data-bs-theme="dark"] .nav-link:focus {
    color: #4dabf7 !important; /* Azul medio on hover en dark */
}

.nav-link.active {
    color: #003d82 !important; /* Azul muy oscuro para activo */
}

[data-bs-theme="dark"] .nav-link.active {
    color: #4dabf7 !important; /* Azul medio para activo en dark */
}

/* Links específicos para cada estado de incidencia */

/* Fondo blanco (#FFFFFF) - Estado abierto */
[style*="background-color: #FFFFFF"] a,
[style*="background-color: #ffffff"] a,
.estado-abierto a {
    color: #003d82 !important; /* Azul muy oscuro */
}

/* Fondo gris claro (#E6E6E6) - Estado cerrado */
[style*="background-color: #E6E6E6"] a,
[style*="background-color: #e6e6e6"] a,
.estado-cerrado a {
    color: #000000 !important; /* Negro puro */
}

/* Fondo azul (#74b9f0) - Estado en desarrollo */
[style*="background-color: #74b9f0"] a,
.estado-desarrollo a {
    color: #000000 !important; /* Negro puro para contraste en modo claro */
}

/* Dark mode para estado desarrollo */
[data-bs-theme="dark"] .estado-desarrollo a {
    color: #ffffff !important; /* Blanco para contraste en modo oscuro */
}

/* Fondo verde claro (#c7ff93) - Estado en espera */
[style*="background-color: #c7ff93"] a,
.estado-espera a {
    color: #003300 !important; /* Verde muy oscuro */
}

/* Fondo verde oscuro (#2e8b57) - Estado solucionado */
[style*="background-color: #2e8b57"] a,
.estado-solucionado a {
    color: #000000 !important; /* Negro puro para contraste en modo claro */
}

/* Dark mode para estado solucionado */
[data-bs-theme="dark"] .estado-solucionado a {
    color: #ffffff !important; /* Blanco para contraste en modo oscuro */
}

/* Fondo negro (#000000) - Estado por defecto */
[style*="background-color: #000000"] a,
.estado-default a {
    color: #ffffff !important; /* Blanco */
}

/* Links en fondos celestes y claros adicionales */
.bg-info a, .bg-primary a, .alert-info a, .alert-primary a {
    color: #000 !important; /* Negro puro en fondos celestes */
}

.bg-info a:hover, .bg-primary a:hover, 
.alert-info a:hover, .alert-primary a:hover {
    color: #212529 !important; /* Gris muy oscuro on hover */
}

.bg-light a, .bg-white a, .bg-warning a {
    color: #000 !important; /* Negro puro en fondos claros */
}

.bg-light a:hover, .bg-white a:hover, .bg-warning a:hover {
    color: #212529 !important; /* Gris muy oscuro on hover */
}

/* Clases de estado de incidencia - adaptables a dark/light */
.estado-abierto {
    background-color: #f8f9fa !important; /* Gris muy claro */
}

.estado-cerrado {
    background-color: #e9ecef !important; /* Gris claro */
}

.estado-desarrollo {
    background-color: #cfe2ff !important; /* Azul claro */
}

.estado-espera {
    background-color: #d1ecf1 !important; /* Verde agua */
}

.estado-solucionado {
    background-color: #d4edda !important; /* Verde claro */
}

.estado-default {
    background-color: #f8f9fa !important; /* Gris muy claro */
}

/* Dark mode adaptations */
[data-bs-theme="dark"] .estado-abierto {
    background-color: #495057 !important; /* Gris medio oscuro */
}

[data-bs-theme="dark"] .estado-cerrado {
    background-color: #6c757d !important; /* Gris oscuro */
}

[data-bs-theme="dark"] .estado-desarrollo {
    background-color: #133a74 !important; /* Azul Bootstrap */
}

[data-bs-theme="dark"] .estado-espera {
    background-color: #20c997 !important; /* Teal */
}

[data-bs-theme="dark"] .estado-solucionado {
    background-color: #198754 !important; /* Verde Bootstrap */
}

[data-bs-theme="dark"] .estado-default {
    background-color: #495057 !important; /* Gris medio oscuro */
}

/* Clases CSS para estados de incidencia */
.estado-abierto {
    background-color: #d1ecf1;
    border-color: #bee5eb;
    color: #0c5460;
}

.estado-cerrado {
    background-color: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
}

.estado-desarrollo {
    background-color: #fff3cd;
    border-color: #ffeaa7;
    color: #856404;
}

.estado-espera {
    background-color: #f8d7da;
    border-color: #f5c6cb;
    color: #721c24;
}

.estado-solucionado {
    background-color: #e2e3e5;
    border-color: #d6d8db;
    color: #383d41;
}

.estado-default {
    background-color: #f8f9fa;
    border-color: #dee2e6;
    color: #6c757d;
}

/* Variantes para badges/etiquetas */
.badge.estado-abierto {
    background-color: #17a2b8;
    color: white;
}

.badge.estado-cerrado {
    background-color: #28a745;
    color: white;
}

.badge.estado-desarrollo {
    background-color: #ffc107;
    color: #212529;
}

.badge.estado-espera {
    background-color: #dc3545;
    color: white;
}

.badge.estado-solucionado {
    background-color: #6c757d;
    color: white;
}

.badge.estado-default {
    background-color: #6c757d;
    color: white;
}

/* Estilos para cards/tarjetas de incidencia */
.card.estado-abierto {
    border-left: 4px solid #17a2b8;
}

.card.estado-cerrado {
    border-left: 4px solid #28a745;
}

.card.estado-desarrollo {
    border-left: 4px solid #ffc107;
}

.card.estado-espera {
    border-left: 4px solid #dc3545;
}

.card.estado-solucionado {
    border-left: 4px solid #6c757d;
}

.card.estado-default {
    border-left: 4px solid #dee2e6;
}
