body {
    font-family: 'Poppins', sans-serif;
    background-color: #f5f6fa;
    color: #2f3640;
    padding-top: 73px;
}

.ic-navbar {
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    backdrop-filter: blur(10px);
}

    .ic-navbar a {
        color: #2f3640;
        font-weight: 500;
        transition: color 0.3s ease;
    }

        .ic-navbar a:hover {
            color: #0097e6;
        }

.hero-section {
    background: linear-gradient(to right, #0097e6, #00a8ff);
    color: white;
    padding: 50px 0;
    text-align: center;
}

.card-custom {
    border: none;
    border-radius: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .card-custom:hover {
        transform: translateY(-8px);
        box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    }

.footer-custom {
    background-color: #2f3640;
    color: white;
    padding: 40px 0;
    text-align: center;
}

input.form-control, textarea.form-control {
    border: 1px solid #ced4da;
    box-shadow: none;
    transition: border-color 0.3s ease;
}

    input.form-control:focus, textarea.form-control:focus {
        border-color: #0097e6;
        box-shadow: 0 0 0 0.2rem rgba(0,151,230,0.25);
    }

.input-group .btn {
    min-width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.error-container {
    padding: 80px 15px;
}

.fs-7 {
    font-size: 0.9rem !important;
}

.reportes-estado-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #ffffff;
}

.reportes-estado--pagado {
    background-color: #198754;
}

.reportes-estado--pendiente {
    background-color: #ffc107;
    color: #212529;
}

.reportes-estado--vencida {
    background-color: #dc3545;
}

.reportes-page #reportesFiltros .form-label,
.reportes-page #reportesFiltros .form-check-label {
    font-weight: 700;
}

.subscription-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
}
