*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#f4f6f9;
    font-size:16px;
    font-family:"Times New Roman", serif;
}

.contenedor{
    width:90%;
    max-width:1100px;
    margin:40px auto;
}

h1{
    text-align:center;
    margin-bottom:25px;
    font-size:40px;
    font-weight:800;
}


/* =========================
   TOTALES
========================= */

.total{
    background:white;
    padding:25px;
    border-radius:10px;
    text-align:center;
    margin-bottom:25px;
    box-shadow:0px 5px 15px rgba(0,0,0,.08);

    display:flex;
    justify-content:center;
    gap:100px;
}

.total-item{
    flex:1;
}

.total-item h2{
    margin-bottom:15px;
}

.total-item span{
    font-size:40px;
    font-weight:bold;
}

#total{
    color:#d63031;
}

#totalAbonado{
    color:#27ae60;
}


/* =========================
   FORMULARIO
========================= */

.formulario{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:25px;
}

.formulario input{
    flex:1;
    min-width:200px;
    padding:12px;
    border:1px solid #ddd;
    border-radius:8px;
}

.formulario button{
    background:#2d98da;
    color:white;
    border:none;
    padding:15px 28px;
    border-radius:10px;
    cursor:pointer;
    font-size:17px;
    font-weight:bold;
    letter-spacing:0.5px;
    transition:0.3s;
}

.formulario button:hover{
    background:#2278b5;
    transform:scale(1.05);
}


/* =========================
   COLUMNAS
========================= */

.columnas{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.pendientes,
.pagadas{
    flex:48%;
    min-width:300px;
    width:50%;
    background:white;
    border-radius:10px;
    padding:20px;
    min-height:500px;
    box-shadow:0px 5px 15px rgba(0,0,0,.08);
}

h2{
    margin-bottom:20px;
    font-size:24px;
    font-weight:700;
}

.columnas.una-columna{
    justify-content:center;
}

.columnas.una-columna .pendientes,
.columnas.una-columna .pagadas{
    flex:0 0 48%;
    width:48%;
}


/* =========================
   TARJETAS
========================= */

.tarjeta{
    background:#ffffff;
    border-left:5px solid #3498db;
    padding:15px;
    margin-bottom:15px;
    border-radius:10px;
    box-shadow:0 3px 8px rgba(0,0,0,.08);
}

.tarjeta input{
    transform:scale(1.3);
    margin-right:10px;
}

.tarjeta strong{
    font-size:18px;
    font-weight:700;
}


/* =========================
   VALORES
========================= */

.valores-deuda{
    display:flex;
    gap:40px;
    margin-top:15px;
    padding-left:5px;
}

.valor{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.valor span{
    font-size:14px;
    font-weight:bold;
}

.valor strong{
    font-size:20px;
}

.pendiente-valor{
    color:#d63031;
}

.abonado-valor{
    color:#27ae60;
}


/* =========================
   ACCIONES
========================= */

.acciones{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
    margin-top:12px;
}

.btnAbonar{
    background:#27ae60;
    color:white;
    border:none;
    border-radius:8px;
    height:35px;
    padding:0 12px;
    cursor:pointer;
    font-size:14px;
    font-weight:bold;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;

    transition:0.3s;
}

.btnAbonar:hover{
    background:#219150;
    transform:scale(1.05);
}

.btnEliminar{
    background:#e74c3c;
    color:white;
    border:none;
    border-radius:8px;
    width:35px;
    height:35px;
    cursor:pointer;
    font-size:16px;

    display:flex;
    align-items:center;
    justify-content:center;

    transition:0.3s;
}

.btnEliminar:hover{
    background:#c0392b;
    transform:scale(1.05);
}


/* =========================
   BARRA SUPERIOR
========================= */

.barra-superior{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:20px;
}

.selector-mes{
    display:flex;
    gap:10px;
    align-items:center;
}

.selector-mes select{
    padding:10px;
    border-radius:8px;
    border:1px solid #ccc;
}


/* =========================
   RESPONSIVE
========================= */

@media(max-width:600px){

    .contenedor{
        width:95%;
        margin:20px auto;
    }

    h1{
        font-size:28px;
    }

    .total{
        flex-direction:column;
        gap:20px;
    }

    .total-item span{
        font-size:32px;
    }

    .formulario{
        flex-direction:column;
    }

    .formulario input,
    .formulario button{
        width:100%;
    }

    .selector-mes{
        width:100%;
        flex-direction:column;
    }

    .selector-mes select{
        width:100%;
    }

    .columnas{
        flex-direction:column;
    }

    .pendientes,
    .pagadas{
        width:100%;
        min-width:100%;
    }

    .columnas.una-columna .pendientes,
    .columnas.una-columna .pagadas{
        width:100%;
        flex:0 0 100%;
    }

    .valores-deuda{
        gap:25px;
    }

    .acciones{
        justify-content:flex-end;
    }

}