/**
 * Paleta de Colores Institucional EGEMERD
 * Portal Estudiantil EGEMERD
 */

/* =========================
   VARIABLES DE COLORES
   ========================= */
:root {
    /* Colores principales */
    --egemerd-verde-oscuro: #36641E;    /* Color institucional principal */
    --egemerd-amarillo: #F8F035;        /* Acentos y botones de acción */
    --egemerd-rojo: #E00109;            /* Alertas y elementos importantes */
    
    /* Colores secundarios */
    --egemerd-verde-medio: #43A83F;     /* Botones secundarios y tarjetas */
    --egemerd-blanco: #FFFFFF;          /* Fondo general */
    --egemerd-negro: #000000;           /* Texto y bordes */
    
    /* Variaciones para hover y estados */
    --egemerd-verde-oscuro-hover: #2d5419;
    --egemerd-amarillo-hover: #f5ed32;
    --egemerd-rojo-hover: #c7010a;
    --egemerd-verde-medio-hover: #3a9638;
}

/* =========================
   GRADIENTES Y FONDOS
   ========================= */

/* Gradiente principal - Verde oscuro */
.bg-gradient-primary {
    background: linear-gradient(135deg, var(--egemerd-verde-oscuro) 0%, var(--egemerd-verde-medio) 100%) !important;
}

/* Fondo login */
.bg-login-image {
    background: linear-gradient(135deg, var(--egemerd-verde-oscuro) 0%, var(--egemerd-verde-medio) 100%) !important;
}

/* Mejoras específicas para el login */
body.bg-gradient-primary {
    background: linear-gradient(135deg, var(--egemerd-verde-oscuro) 0%, var(--egemerd-verde-medio) 100%) !important;
    min-height: 100vh;
}

/* =========================
   SIDEBAR Y NAVEGACIÓN
   ========================= */

/* Sidebar principal */
.sidebar {
    background: linear-gradient(180deg, var(--egemerd-verde-oscuro) 0%, var(--egemerd-verde-medio) 100%) !important;
}

.sidebar .nav-item .nav-link {
    color: var(--egemerd-blanco) !important;
}

.sidebar .nav-item .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.sidebar .nav-item .nav-link.active {
    background-color: rgba(255, 255, 255, 0.2) !important;
}

/* Sidebar brand */
.sidebar .sidebar-brand {
    background-color: var(--egemerd-verde-oscuro) !important;
}

/* =========================
   BOTONES
   ========================= */

/* Botones primarios - Amarillo con mejor contraste */
.btn-primary {
    background-color: var(--egemerd-amarillo) !important;
    border-color: var(--egemerd-amarillo) !important;
    color: var(--egemerd-negro) !important;
    font-weight: 700 !important;
    text-shadow: none !important;
}

.btn-primary:hover {
    background-color: var(--egemerd-amarillo-hover) !important;
    border-color: var(--egemerd-amarillo-hover) !important;
    color: var(--egemerd-negro) !important;
}

.btn-primary:focus,
.btn-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(248, 240, 53, 0.5) !important;
    color: var(--egemerd-negro) !important;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active {
    background-color: var(--egemerd-amarillo-hover) !important;
    border-color: var(--egemerd-amarillo-hover) !important;
    color: var(--egemerd-negro) !important;
}

/* Botones secundarios - Verde medio */
.btn-secondary {
    background-color: var(--egemerd-verde-medio) !important;
    border-color: var(--egemerd-verde-medio) !important;
    color: var(--egemerd-blanco) !important;
}

.btn-secondary:hover {
    background-color: var(--egemerd-verde-medio-hover) !important;
    border-color: var(--egemerd-verde-medio-hover) !important;
}

/* Botones de éxito - Verde medio */
.btn-success {
    background-color: var(--egemerd-verde-medio) !important;
    border-color: var(--egemerd-verde-medio) !important;
}

.btn-success:hover {
    background-color: var(--egemerd-verde-medio-hover) !important;
    border-color: var(--egemerd-verde-medio-hover) !important;
}

/* Botones de peligro - Rojo intenso */
.btn-danger {
    background-color: var(--egemerd-rojo) !important;
    border-color: var(--egemerd-rojo) !important;
}

.btn-danger:hover {
    background-color: var(--egemerd-rojo-hover) !important;
    border-color: var(--egemerd-rojo-hover) !important;
}

/* =========================
   TARJETAS Y BORDERS
   ========================= */

/* Border left colors */
.border-left-primary {
    border-left-color: var(--egemerd-verde-oscuro) !important;
}

.border-left-success {
    border-left-color: var(--egemerd-verde-medio) !important;
}

.border-left-warning {
    border-left-color: var(--egemerd-amarillo) !important;
}

.border-left-danger {
    border-left-color: var(--egemerd-rojo) !important;
}

/* =========================
   HEADERS Y TÍTULOS
   ========================= */

/* Headers principales */
.card-header {
    background-color: var(--egemerd-verde-oscuro) !important;
    border-bottom: 1px solid var(--egemerd-verde-medio) !important;
}

.card-header .font-weight-bold,
.card-header h6 {
    color: var(--egemerd-blanco) !important;
}

/* =========================
   TEXTOS Y COLORES
   ========================= */

/* Textos de colores principales */
.text-primary {
    color: var(--egemerd-verde-oscuro) !important;
}

.text-success {
    color: var(--egemerd-verde-medio) !important;
}

.text-warning {
    color: var(--egemerd-amarillo) !important;
}

.text-danger {
    color: var(--egemerd-rojo) !important;
}

/* =========================
   ALERTAS
   ========================= */

/* Alerta de éxito */
.alert-success {
    background-color: rgba(67, 168, 63, 0.15) !important;
    border-color: var(--egemerd-verde-medio) !important;
    color: var(--egemerd-verde-oscuro) !important;
    font-weight: 600 !important;
}

/* Alerta de peligro */
.alert-danger {
    background-color: rgba(224, 1, 9, 0.15) !important;
    border-color: var(--egemerd-rojo) !important;
    color: var(--egemerd-rojo) !important;
}

/* Alerta de advertencia */
.alert-warning {
    background-color: rgba(248, 240, 53, 0.15) !important;
    border-color: var(--egemerd-amarillo) !important;
    color: #856404 !important;
}

/* =========================
   BADGES
   ========================= */

.badge-primary {
    background-color: var(--egemerd-verde-oscuro) !important;
}

.badge-success {
    background-color: var(--egemerd-verde-medio) !important;
}

.badge-warning {
    background-color: var(--egemerd-amarillo) !important;
    color: var(--egemerd-negro) !important;
}

.badge-danger {
    background-color: var(--egemerd-rojo) !important;
}

/* =========================
   PROGRESS BARS
   ========================= */

.progress-bar {
    background-color: var(--egemerd-verde-medio) !important;
}

.bg-warning .progress-bar {
    background-color: var(--egemerd-amarillo) !important;
}

.bg-success .progress-bar {
    background-color: var(--egemerd-verde-medio) !important;
}

/* =========================
   TOPBAR
   ========================= */

.topbar {
    background-color: var(--egemerd-blanco) !important;
    border-bottom: 1px solid #e3e6f0;
}

/* =========================
   BREADCRUMBS
   ========================= */

.breadcrumb-item.active {
    color: var(--egemerd-verde-oscuro) !important;
}

.breadcrumb-item a {
    color: var(--egemerd-verde-medio) !important;
}

.breadcrumb-item a:hover {
    color: var(--egemerd-verde-oscuro) !important;
}

/* =========================
   DATATABLES
   ========================= */

.table thead th {
    background-color: var(--egemerd-verde-oscuro) !important;
    color: var(--egemerd-blanco) !important;
    border-color: var(--egemerd-verde-medio) !important;
}

/* =========================
   ENLACES
   ========================= */

a {
    color: var(--egemerd-verde-medio) !important;
}

a:hover {
    color: var(--egemerd-verde-oscuro) !important;
}

/* =========================
   DROPDOWN
   ========================= */

.dropdown-item:hover {
    background-color: rgba(67, 168, 63, 0.1) !important;
    color: var(--egemerd-verde-oscuro) !important;
}

/* =========================
   UTILIDADES ADICIONALES
   ========================= */

/* Backgrounds personalizados */
.bg-egemerd-verde-oscuro {
    background-color: var(--egemerd-verde-oscuro) !important;
    color: var(--egemerd-blanco) !important;
}

.bg-egemerd-verde-medio {
    background-color: var(--egemerd-verde-medio) !important;
    color: var(--egemerd-blanco) !important;
}

.bg-egemerd-amarillo {
    background-color: var(--egemerd-amarillo) !important;
    color: var(--egemerd-negro) !important;
}

.bg-egemerd-rojo {
    background-color: var(--egemerd-rojo) !important;
    color: var(--egemerd-blanco) !important;
}

/* Textos personalizados */
.text-egemerd-verde-oscuro {
    color: var(--egemerd-verde-oscuro) !important;
}

.text-egemerd-verde-medio {
    color: var(--egemerd-verde-medio) !important;
}

.text-egemerd-amarillo {
    color: var(--egemerd-amarillo) !important;
}

.text-egemerd-rojo {
    color: var(--egemerd-rojo) !important;
}

/* =========================
   DIFERENCIACIÓN DE DASHBOARDS
   ========================= */

/* Dashboard de Administrador - Esquema Verde Oscuro/Amarillo */
body.admin-dashboard {
    --dashboard-primary: var(--egemerd-verde-oscuro);
    --dashboard-secondary: var(--egemerd-amarillo);
    --dashboard-accent: var(--egemerd-verde-medio);
}

body.admin-dashboard .sidebar {
    background: linear-gradient(180deg, var(--egemerd-verde-oscuro) 0%, #2d5419 100%) !important;
}

body.admin-dashboard .card-header {
    background-color: var(--egemerd-verde-oscuro) !important;
    color: var(--egemerd-blanco) !important;
}

body.admin-dashboard .btn-primary {
    background-color: var(--egemerd-amarillo) !important;
    color: var(--egemerd-negro) !important;
    font-weight: 700 !important;
}

/* Dashboard de Estudiante - Esquema Verde Medio/Azul */
body.student-dashboard {
    --dashboard-primary: var(--egemerd-verde-medio);
    --dashboard-secondary: #4e73df;
    --dashboard-accent: var(--egemerd-verde-oscuro);
}

body.student-dashboard .sidebar {
    background: linear-gradient(180deg, var(--egemerd-verde-medio) 0%, var(--egemerd-verde-oscuro) 100%) !important;
}

body.student-dashboard .card-header {
    background-color: var(--egemerd-verde-medio) !important;
    color: var(--egemerd-blanco) !important;
}

body.student-dashboard .btn-primary {
    background-color: #4e73df !important;
    color: var(--egemerd-blanco) !important;
    font-weight: 600 !important;
}

body.student-dashboard .btn-primary:hover {
    background-color: #2e59d9 !important;
    color: var(--egemerd-blanco) !important;
}

/* =========================
   CORRECCIONES DE CONTRASTE
   ========================= */

/* Arreglar texto en fondos amarillos */
.bg-warning,
.badge-warning,
.alert-warning {
    color: var(--egemerd-negro) !important;
    font-weight: 600 !important;
}

.text-warning {
    color: #856404 !important; /* Color más oscuro para mejor contraste */
}

/* Arreglar texto en fondos verdes */
.bg-success .text-white,
.badge-success {
    color: var(--egemerd-blanco) !important;
}

.text-success {
    color: var(--egemerd-verde-oscuro) !important; /* Verde más oscuro para mejor contraste */
}

/* Headers con mejor contraste */
.card-header .text-primary {
    color: var(--egemerd-blanco) !important;
}

.card-header .font-weight-bold,
.card-header h6,
.card-header h5,
.card-header h4 {
    color: var(--egemerd-blanco) !important;
}

/* Badges con mejor contraste */
.badge-primary {
    background-color: var(--egemerd-verde-oscuro) !important;
    color: var(--egemerd-blanco) !important;
}

.badge-warning {
    background-color: var(--egemerd-amarillo) !important;
    color: var(--egemerd-negro) !important;
    font-weight: 700 !important;
}

.badge-success {
    background-color: var(--egemerd-verde-medio) !important;
    color: var(--egemerd-blanco) !important;
}

/* Elementos de tabla con mejor contraste */
.table thead th {
    background-color: var(--egemerd-verde-oscuro) !important;
    color: var(--egemerd-blanco) !important;
}

/* Breadcrumbs con mejor contraste */
.breadcrumb-item.active {
    color: var(--egemerd-verde-oscuro) !important;
    font-weight: 600 !important;
}

/* Links con mejor contraste */
a.text-decoration-none {
    color: var(--egemerd-verde-oscuro) !important;
}

a.text-decoration-none:hover {
    color: var(--egemerd-verde-medio) !important;
}

/* Cards border con diferenciación */
body.admin-dashboard .border-left-primary {
    border-left-color: var(--egemerd-verde-oscuro) !important;
}

body.admin-dashboard .border-left-success {
    border-left-color: var(--egemerd-amarillo) !important;
}

body.student-dashboard .border-left-primary {
    border-left-color: var(--egemerd-verde-medio) !important;
}

body.student-dashboard .border-left-success {
    border-left-color: #4e73df !important;
}

/* Iconos con mejor visibilidad */
.fa-2x.text-gray-300 {
    color: #d1d3e2 !important;
    opacity: 0.8;
}