body {
    background: #f4f6f9;
    font-family: Arial, sans-serif;
}

/* Tarjetas */
.card {
    border-radius: 18px;
}

/* Inputs, selects y botones */
.form-control,
.form-select,
.btn {
    border-radius: 10px;
}

/* ===== FORMULARIO CAJA MÁS COMPACTO ===== */

.card-body,
#contenedorLiquidacionesPendientes,
#tbodyMediosPago {
    font-size: 0.88rem;
}

.card-body {
    padding: 1rem !important;
}

.row.g-3 {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0.55rem;
}

.form-label {
    font-size: 0.78rem;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

.form-control,
.form-select {
    font-size: 0.82rem;
    min-height: 32px;
    height: 32px;
    padding: 0.2rem 0.55rem;
    border-radius: 0.45rem;
}

input[type="date"] {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
}

textarea {
    font-size: 0.82rem;
    padding: 0.35rem 0.55rem;
}

h2 {
    font-size: 1.35rem;
    margin-bottom: 0.4rem;
}

h5 {
    font-size: 0.95rem;
    margin-bottom: 0.6rem !important;
}

.btn {
    font-size: 0.82rem;
    padding: 0.38rem 0.7rem;
    border-radius: 0.5rem;
}

.table {
    font-size: 0.82rem;
}

.table th,
.table td {
    padding: 0.45rem 0.55rem;
    vertical-align: middle;
}

/* Reduce un poco el bloque superior */
.card.shadow-sm.border-0.rounded-4.mb-4 .card-body {
    padding: 0.9rem !important;
}

/* Mensajes */
#mensajeCaja {
    font-size: 0.82rem;
}

/* Compactar tabla de liquidaciones */
#contenedorLiquidacionesPendientes .table th,
#contenedorLiquidacionesPendientes .table td {
    padding: 0.4rem 0.5rem;
    font-size: 0.8rem;
}

/* Compactar tabla de medios de pago */
#tbodyMediosPago .form-control,
#tbodyMediosPago .form-select {
    height: 31px;
    min-height: 31px;
    font-size: 0.8rem;
}

/* Campo observación */
#observacionCaja {
    min-height: 65px;
    resize: vertical;
}

/* Valor total más visible */
#totalPagoCaja {
    font-weight: 700;
    color: #173da7;
    font-size: 1rem;
}

/* Botón buscar */
#btnBuscarCaja {
    background-color: #4f8df5;
    border: none;
    color: #fff;
}

#btnBuscarCaja:hover {
    background-color: #3b73e6;
}

/* Botón agregar medio de pago */
#btnAgregarMedioPago {
    background-color: #f4a261;
    border: none;
    color: #fff;
}

#btnAgregarMedioPago:hover {
    background-color: #e76f51;
}

/* Botón registrar pago */
#btnGuardarPagoCaja {
    background-color: #3cbf8f;
    border: none;
    color: #fff;
}

#btnGuardarPagoCaja:hover {
    background-color: #2da97c;
}

/* Botón seleccionar en tabla */
.btnSeleccionarLiquidacion {
    font-size: 0.78rem;
    padding: 0.28rem 0.55rem;
    border-radius: 0.45rem;
}

/* Botón eliminar medio de pago */
.btnEliminarMedioPago {
    font-size: 0.78rem;
    padding: 0.25rem 0.5rem;
}

/* Topbar compacta */
.navbar, .topbar, header {
    min-height: 50px !important;
    height: 50px !important;
    padding: 0.2rem 1rem !important;
}

.navbar .user-info,
.topbar .user-info {
    font-size: 0.8rem;
}

.navbar img,
.topbar img {
    width: 30px;
    height: 30px;
}

/* En pantallas grandes, mejor distribución */
@media (min-width: 1400px) {
    .col-md-3 {
        flex: 0 0 auto;
        width: 20%;
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 30%;
    }
}