
body {
    background-color: #f8fafc;
}

/* Module Colors */
.module-primary { border-top-color: #4f46e5; }
.module-eval { border-top-color: #16a34a; }
.module-program { border-top-color: #0284c7; }
.module-library { border-top-color: #334155; }
.module-media { border-top-color: #7c3aed; }
.module-cert { border-top-color: #ca8a04; }

/* Buttons refinados */
.btn-soft-primary { background:#4f46e5; color:#fff; border:none; }
.btn-soft-primary:hover { background:#4338ca; }

.btn-soft-success { background:#16a34a; color:#fff; border:none; }
.btn-soft-success:hover { background:#15803d; }

.btn-soft-info { background:#0284c7; color:#fff; border:none; }
.btn-soft-info:hover { background:#0369a1; }

.btn-soft-dark { background:#334155; color:#fff; border:none; }
.btn-soft-dark:hover { background:#1e293b; }

.btn-soft-purple { background:#7c3aed; color:#fff; border:none; }
.btn-soft-purple:hover { background:#6d28d9; }

.btn-soft-warning { background:#ca8a04; color:#fff; border:none; }
.btn-soft-warning:hover { background:#a16207; }

/* Mobile refinamiento */
@media (max-width: 576px) {
    .dashboard-card {
        border-radius: 22px;
    }
}

/* Icon wrapper */
.icon-box {
    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
}

.contenedor{
    /* background-color: aquamarine; */
    display:flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-content: space-between;
    min-height: 100vh;
}

/*nav{
    background-color: #ec0707;
    flex-grow: 1;
    color:rgb(3, 44, 44); 
}*/

section{
    background-color: #f0f0f0;
    flex-grow: 6;
    color:rgb(114, 115, 115);
 
}

footer{
    background-color: #5c5c5c;
    flex-grow: 1;
    color:azure;
}

article{
    display:flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-content: space-between;
 }

.art{
    flex-grow: 1;
    margin: 10px;
    border: #5c5c5c;
}

.titulo{
    background-color: #184669;
    font-family: 'Raleway',Helvetica,Arial,Lucida,sans-serif;
    font-size: 40px;
    color: #ffffff!important;
}

.faltarchivo{
    font-size: 1.3em;
    color: rgb(248, 129, 10);
}

.noevaluado{
    font-size: 1.3em;
    color: rgb(134, 133, 132);
}

.aprobado{
    font-size: 1.3em;
    color: rgb(73, 166, 42);
}

.revisar{
    font-size: 1.3em;
    color: rgb(222, 182, 7);
}

.rechazar{
    font-size: 1.3em;
    color: rgb(192, 65, 7);
}

@media (max-width: 1200px) {
    .titulo {
        font-size: 35px;
    }
}

@media (max-width: 992px) {
    .titulo {
        font-size: 30px;
    }
}

@media (max-width: 768px) {
    .titulo {
        font-size: 25px;
    }
}

@media (max-width: 576px) {
    .titulo {
        font-size: 20px;
    }
    .form-rest {
        padding: 0;
    }
    .col-12 {
        margin-left: 5px;
        margin-right: 5px;
    }
    .btn {
        width: 100%;
    }
}

.sort-icons {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1.5em;
    line-height: 1;
    vertical-align: middle;
}

.sort-icons i {
    font-size: 0.7em;
    opacity: 0.7; /* Íconos atenuados por defecto */
    color: #bbb; /* Color gris claro para los íconos no seleccionados */
    transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out; /* Transición suave para el cambio de opacidad y color */
}

.sort-icons .bi-caret-up-fill {
    margin-bottom: -1px;
}

.sort-icons .bi-caret-down-fill {
    margin-top: -3px;
}

.sort-icons .selected {
    opacity: 1;
    color: #fff; /* Ícono seleccionado en color blanco */
}


.custom-dark-nav-pills .nav-link {
    background-color: #343a40; /* Fondo oscuro por defecto */
    color: #ffffff;            /* Texto claro */
    border: 1px solid #495057; /* Borde oscuro */
    border-radius: 5px;
}

.custom-dark-nav-pills .nav-link:hover {
    background-color: #495057; /* Fondo al pasar el ratón */
    color: #ffffff;
}

/* Estilo para la pestaña activa */
.custom-dark-nav-pills .nav-link.active {
    background-color: transparent; /* Fondo transparente */
    color: #495057;                /* Texto oscuro */
    border: 1px solid #6c757d;     /* Borde de contorno */
}

/* Deshabilitado sin contorno */
.custom-dark-nav-pills .nav-link.disabled {
    background-color: #6c757d; /* Fondo para pills deshabilitados */
    color: #ced4da;            /* Color de texto claro */
    pointer-events: none;      /* Desactiva clics en el pill deshabilitado */
}
/* nuevos estilos a partir de 2025 */
.hero {
    background-color: #4084c2;
}


.btn-logout {
    width: auto !important;
    min-width: 0;
    display: inline-block;
}

.form-check-input {
  width: 1.2rem;
  height: 1.2rem;
  border: 2px solid #007bff;
}

/* Página de login: scroll normal, todo visible; footer compacto */
.pagina-login .footer-login {
  margin-top: auto;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8rem;
}
.pagina-login .footer-login p {
  margin: 0;
}

/* Auspiciantes: logos uno al lado de otro */
.auspiciantes {
  margin-top: 10px;
  border-top: 1px solid #dee2e6;
}
.auspiciante-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 180px;
  transition: opacity 0.2s ease;
}
.auspiciante-logo:hover {
  opacity: 0.85;
}
.auspiciante-logo img {
  max-height: 60px;
  width: auto;
  object-fit: contain;
}


/* ===== DASHBOARD NIVEL DIOS ===== */

/* Hero */
.hero-modern {
    background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);
    border-bottom: 1px solid #e2e8f0;
}

/* Cards */
.dashboard-card {
    background: #ffffff;
    border: none;
    border-top: 4px solid transparent;
    border-radius: 18px;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}

.dashboard-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.08);
}

/* Icon box */
.icon-modern {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.7rem;
}

/* PROGRMA */

.timeline-container {
    position: relative;
    padding-left: 0;
}

.timeline-item {
    position: relative;
    display: flex;
    gap: 1.5rem;
    padding-bottom: 0;
}

.timeline-item-last {
    padding-bottom: 0;
}

.timeline-marker {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 0.5rem;
}

.timeline-dot {
    width: 16px;
    height: 16px;
    background: var(--bs-primary);
    border: 3px solid white;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.2);
    z-index: 2;
}

.timeline-line {
    width: 2px;
    flex-grow: 1;
    background: linear-gradient(to bottom, 
        var(--bs-primary) 0%, 
        rgba(var(--bs-primary-rgb), 0.3) 100%);
    margin-top: 0.5rem;
    min-height: 100%;
}

.timeline-content {
    flex: 1;
    padding-bottom: 1rem;
}

.timeline-item:last-child .timeline-content {
    padding-bottom: 0;
}

/* Animación al hacer hover */
.timeline-item .card {
    transition: all 0.3s ease;
}

.timeline-item .card:hover {
    transform: translateX(5px);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

/* Responsive */
@media (max-width: 768px) {
    .timeline-item {
        gap: 1rem;
    }
    
    .timeline-content .card-body {
        padding: 1rem;
    }
}

