/*
 * Gastos · controles y tarjetas compactas para tablet.
 * Mantiene móvil estrecho y escritorio fuera de este rango sin cambios.
 */

@media (min-width: 540px) and (max-width: 1366px) {
    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    .rv-gastos-controls {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 10px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 10px 12px !important;
        overflow: visible !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    .rv-gastos-controls > .pv-moneda-switches {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        justify-self: center !important;
        box-sizing: border-box !important;
        width: min(100%, 300px) !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    .rv-gastos-controls > .pv-moneda-switches > .pv-moneda-switch {
        justify-content: center !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 40px !important;
        padding: 7px 10px !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    #pv-gastos-filtros-form.rv-gastos-filtros {
        display: grid !important;
        grid-template-columns:
            minmax(150px, 1.4fr)
            minmax(100px, .9fr)
            minmax(82px, .7fr)
            minmax(140px, 1.25fr) !important;
        align-items: stretch !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    #pv-gastos-filtros-form > .rv-gastos-filter {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    #pv-gastos-filtros-form .pv-cs,
    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    #pv-gastos-filtros-form :is(.pv-cs-trigger, .rv-gastos-range-trigger) {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    #pv-gastos-filtros-form :is(.pv-cs-trigger-label, .rv-gastos-range-trigger-label) {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla).rv-gastos-table {
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla) > tbody {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila {
        display: grid !important;
        grid-template-columns:
            repeat(4, minmax(0, 1fr))
            minmax(62px, .7fr)
            80px !important;
        grid-template-areas:
            "name name category category status actions"
            "description description paid pending date date" !important;
        grid-template-rows: minmax(52px, auto) minmax(58px, auto) !important;
        align-items: stretch !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 12px 14px !important;
        overflow: hidden !important;
        border-top: 1px solid #E5E0F2 !important;
        border-right: 1px solid #E5E0F2 !important;
        border-bottom: 1px solid #E5E0F2 !important;
        border-radius: 16px !important;
        background: linear-gradient(145deg, #FFFFFF 0%, #FBFAFE 100%) !important;
        box-shadow: 0 7px 20px rgba(43, 34, 72, .06) !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 3px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: #F8F7FB !important;
        color: #263148 !important;
        text-align: left !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td::before {
        content: attr(data-label) !important;
        position: static !important;
        display: block !important;
        width: 100% !important;
        margin: 0 0 2px !important;
        color: #8792A8 !important;
        font-size: 7.5px !important;
        font-weight: 900 !important;
        line-height: 1.05 !important;
        letter-spacing: .045em !important;
        text-align: left !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(1) {
        grid-area: name !important;
        justify-content: center !important;
        padding: 6px 8px !important;
        background: transparent !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(1)::before,
    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(8)::before {
        display: none !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(1) > strong {
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        font-size: 12.5px !important;
        line-height: 1.2 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(2) {
        grid-area: category !important;
        align-items: flex-start !important;
        padding: 8px 10px !important;
        background: #FAF8FF !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(3) {
        grid-area: paid !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(4) {
        grid-area: pending !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(3),
    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(4) {
        display: block !important;
        padding: 8px 9px !important;
        font-size: 11.5px !important;
        font-weight: 850 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(3) .pv-moneda-badge,
    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(4) .pv-moneda-badge {
        display: inline-flex !important;
        margin-left: 3px !important;
        font-size: 7.5px !important;
        vertical-align: middle !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(5) {
        grid-area: description !important;
        background: transparent !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(5) .rv-gastos-description {
        display: -webkit-box !important;
        max-width: 100% !important;
        max-height: 28px !important;
        overflow: hidden !important;
        font-size: 9px !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(6) {
        grid-area: date !important;
        align-items: flex-end !important;
        text-align: right !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(6)::before {
        text-align: right !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(6) .rv-gastos-date {
        max-width: 100% !important;
        overflow: hidden !important;
        font-size: 9.5px !important;
        font-weight: 800 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(7) {
        grid-area: status !important;
        align-items: center !important;
        padding: 7px 6px !important;
        text-align: center !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(7)::before {
        text-align: center !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(7) .rv-gastos-state {
        max-width: 100% !important;
        overflow: hidden !important;
        padding: 4px 7px !important;
        font-size: 8px !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(8) {
        grid-area: actions !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        padding: 6px 0 !important;
        overflow: visible !important;
        background: linear-gradient(145deg, #F8F5FF, #FFF8FC) !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(8) > .pv-icon-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 36px !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 10px !important;
    }
}

@media (min-width: 540px) and (max-width: 720px) {
    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    #pv-gastos-filtros-form.rv-gastos-filtros {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(2, 42px) !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    #pv-gastos-filtros-form.rv-gastos-filtros > .rv-gastos-filter {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    #pv-gastos-filtros-form :is(.pv-cs-trigger, .rv-gastos-range-trigger) {
        padding-inline: 8px !important;
    }
}

@media (min-width: 540px) and (max-width: 580px) {
    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila {
        grid-template-columns: repeat(4, minmax(0, 1fr)) 76px !important;
        grid-template-areas:
            "name name category category status"
            "description description paid pending actions"
            "date date date date actions" !important;
        grid-template-rows: minmax(52px, auto) minmax(58px, auto) 40px !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(3),
    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(4) {
        font-size: 10.5px !important;
    }

    html body #pvf-shell#pvf-shell .pvf-main-body.pvf-view-gastos
    :is(#pv-gastos-variables-tabla, #pv-gastos-fijos-tabla)
    > tbody > tr.pv-gasto-fila > td:nth-child(8) {
        flex-direction: column !important;
    }
}
