:root {
    --azul-principal: #0077C8;
    --azul-oscuro: #1F3F66;
    --gris: #555555;
    --fondo-claro: #F5F9FC;
    --blanco: #FFFFFF;
    --verde-exito: #22A06B;
    --amarillo-premio: #F5B700;
    --rojo-alerta: #D64545;
}

.bg-primary-admin {
    background-color: var(--azul-oscuro) !important;
}

.admin-brand {
    display: flex;
    align-items: center;
    gap: 8px;
}

.admin-logo {
    max-height: 42px;
    width: auto;
    display: block;
}

.btn-primary-admin {
    background-color: var(--azul-principal);
    border-color: var(--azul-principal);
    color: #fff;
}

.btn-primary-admin:hover {
    background-color: var(--azul-oscuro);
    border-color: var(--azul-oscuro);
    color: #fff;
}

.btn-outline-primary-admin {
    color: var(--azul-principal);
    border-color: var(--azul-principal);
}

.btn-outline-primary-admin:hover {
    background-color: var(--azul-principal);
    color: #fff;
}

.stat-card .stat-number {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--azul-oscuro);
}

.stat-card .stat-label {
    font-size: 0.85rem;
    color: var(--gris);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.navbar .nav-link.active {
    background-color: rgba(255,255,255,0.15);
    border-radius: 4px;
}

.avance-dot {
    font-size: 1.4rem;
}

.premio-badge {
    display: inline-block;
    background-color: var(--amarillo-premio);
    color: #333;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 600;
}

.table th {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--gris);
}

@media (max-width: 576px) {
    .admin-logo {
        max-height: 38px;
    }
    .stat-card .stat-number {
        font-size: 1.4rem;
    }
    .table {
        font-size: 0.85rem;
    }
}

.admin-footer {
    margin-top: 40px;
    padding: 18px 12px;
    border-top: 1px solid #e5e7eb;
    color: #6b7280;
    background: #ffffff;
    font-size: 0.875rem;
}

.admin-footer a {
    color: #0066C9;
    text-decoration: none;
    font-weight: 600;
}

.admin-footer a:hover {
    text-decoration: underline;
}