﻿/*
 * Mobile/tablet: keep all columns, scroll the table HORIZONTALLY.
 * Loaded LAST on BuyUnitsIndex.
 *
 * Hold-and-drag is driven by units-table-drag-scroll.js. The wrap MUST stay
 * narrower than the table (min-width:0 + max-width:100vw) or scrollLeft is a no-op.
 */

@media (max-width: 1024px) {
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"].units-list-page,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .finance-platform-settings__grid,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .finance-platform-settings-card,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .finance-platform-settings-card__body,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .fin-ord-list-card,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .admin-table-nav-shell,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-panel {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .fin-ord-list-card,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .finance-platform-settings-card__body {
        overflow: visible !important;
    }

    .clients .content .buy-rent-units.units-list-page--purchase-rent[data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-panel,
    .clients .content .traffic-requests.units-list-page.units-list-page--purchase-rent[data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-panel,
    .clients .content [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-panel,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .fin-ord-list-card .units-table-panel {
        display: block !important;
        overflow: clip !important;
    }

    .clients .content .buy-rent-units.units-list-page--purchase-rent[data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-scroll,
    .clients .content .traffic-requests.units-list-page.units-list-page--purchase-rent[data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-scroll,
    .clients .content [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-scroll,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .fin-ord-list-card .units-table-scroll,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .fin-ord-list-card .finance-table-wrap--scroll,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .fin-ord-list-card .fin-table-scroll-wrap {
        display: block !important;
        width: 100% !important;
        max-width: min(100%, 100vw) !important;
        min-width: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x !important;
        overscroll-behavior-x: contain;
        cursor: grab;
        scrollbar-width: thin;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }

    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-scroll.is-drag-scrolling {
        cursor: grabbing;
        user-select: none;
        -webkit-user-select: none;
    }

    .clients .content .traffic-requests.units-list-page.units-list-page--purchase-rent[data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-data-table,
    .clients .content [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] table.units-data-table,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] table.fin-ord-table.units-data-table {
        min-width: 1520px !important;
        width: 1520px !important;
        max-width: none !important;
        table-layout: fixed !important;
    }

    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"].units-list-page--with-purpose table.units-data-table,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"].units-list-page--with-purpose table.fin-ord-table.units-data-table {
        min-width: 1620px !important;
        width: 1620px !important;
    }

    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-data-table thead th.units-th--actions,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-data-table thead th.fin-ord-col--actions,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-data-table tbody td.units-td--actions,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-data-table tbody td.fin-ord-col--actions {
        min-width: 7.75rem !important;
        width: 7.75rem !important;
        max-width: none !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: unset !important;
    }

    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-data-table tbody td.units-td--date,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-data-table tbody td.units-td--date .text-wrapper-13,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-data-table thead th.units-th--date {
        overflow: visible !important;
        text-overflow: unset !important;
        white-space: nowrap !important;
    }

    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-scroll::-webkit-scrollbar {
        height: 8px;
        -webkit-appearance: none;
    }

    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-scroll::-webkit-scrollbar-thumb {
        background: rgba(17, 17, 17, 0.28);
        border-radius: 4px;
    }

    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-scroll::-webkit-scrollbar-track {
        background: rgba(17, 17, 17, 0.06);
    }
}

@media (max-width: 768px) {
    .clients .content .traffic-requests.units-list-page,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"].units-list-page {
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .clients .content .buy-rent-units.units-list-page--purchase-rent[data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-panel,
    .clients .content [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-panel,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .fin-ord-list-card .units-table-panel {
        flex: 0 0 auto !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .clients .content .buy-rent-units.units-list-page--purchase-rent[data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-scroll,
    .clients .content [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .units-table-scroll,
    [data-model-id="admin-buy-units"], [data-model-id="client-buy-units"] .fin-ord-list-card .units-table-scroll {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x !important;
    }
}

/*
 * Partner Buy (/Partner/Buy): bottom clearance so pagination clears browser chrome.
 * Loaded last on Buy.cshtml â€” wins over finance-wallet / BuyUnitsIndex shell rules.
 */
@media (max-width: 1024px) {
    html:has([data-model-id="partner-buy-units"], [data-model-id="client-buy-units"]) {
        scroll-padding-bottom: calc(160px + env(safe-area-inset-bottom, 0px));
    }

    html body .Verification .Page > .services-content.Content.partner-finance-page.partner-buy-units-shell {
        --partner-buy-units-bottom-gap: calc(160px + env(safe-area-inset-bottom, 0px));
        padding: 0.35rem 0.35rem 0.75rem !important;
        box-sizing: border-box !important;
    }

    html body .Verification .Page [data-model-id="partner-buy-units"], [data-model-id="client-buy-units"] .fin-ord-list-card {
        margin-bottom: 1rem !important;
    }

    html body .Verification .Page [data-model-id="partner-buy-units"], [data-model-id="client-buy-units"]::after {
        content: "";
        display: block;
        width: 100%;
        height: var(--partner-buy-units-bottom-gap, calc(160px + env(safe-area-inset-bottom, 0px)));
        flex: 0 0 auto;
        pointer-events: none;
    }
}

/*
 * ShareUnitsIndex: same blank-table / height collapse risk as BuyUnits, but the scroll host
 * is `.traffic-requests > .table` (flex column grid) rather than `.units-table-scroll`.
 * Exclude `.units-list-page` so Buy/Rent rules above stay authoritative.
 */
@media (max-width: 1024px) {
    .clients .content .traffic-requests:not(.units-list-page) > .table {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .clients .content .traffic-requests:not(.units-list-page) > .table::-webkit-scrollbar {
        height: 8px;
        -webkit-appearance: none;
    }
    .clients .content .traffic-requests:not(.units-list-page) > .table::-webkit-scrollbar-thumb {
        background: rgba(17, 17, 17, .28);
        border-radius: 4px;
    }
    .clients .content .traffic-requests:not(.units-list-page) > .table::-webkit-scrollbar-track {
        background: rgba(17, 17, 17, .06);
    }
}

@media (max-width: 768px) {
    .clients .content .traffic-requests:not(.units-list-page) {
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .clients .content .traffic-requests:not(.units-list-page) > .header {
        flex-wrap: wrap !important;
        gap: 10px !important;
        padding: 14px 12px !important;
    }

    .clients .content .traffic-requests:not(.units-list-page) > .table {
        flex: 0 0 auto !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
    }
}
 * Partner Services portfolios â€” horizontal table scroll on iPhone / narrow viewports.
 * Loaded last on Services.cshtml (after partner-services-portfolios.css).
 */
@media (max-width: 1024px) {
    [data-model-id="partner-svc-portfolios"],
    [data-model-id="partner-svc-portfolios"] .finance-platform-settings__grid,
    [data-model-id="partner-svc-portfolios"] .finance-platform-settings-card,
    [data-model-id="partner-svc-portfolios"] .finance-platform-settings-card__body,
    [data-model-id="partner-svc-portfolios"] .fin-ord-list-card,
    [data-model-id="partner-svc-portfolios"] .partner-svc-table-panel,
    [data-model-id="partner-svc-portfolios"] .fin-ord-list-card .partner-svc-list {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    [data-model-id="partner-svc-portfolios"] .finance-platform-settings-card__body,
    [data-model-id="partner-svc-portfolios"] .fin-ord-list-card {
        overflow: visible !important;
    }

    [data-model-id="partner-svc-portfolios"] .partner-svc-table-panel,
    [data-model-id="partner-svc-portfolios"] .fin-ord-list-card .partner-svc-list {
        display: block !important;
        overflow: hidden !important;
    }

    [data-model-id="partner-svc-portfolios"] .partner-svc-table-scroll,
    [data-model-id="partner-svc-portfolios"] .fin-ord-list-card .finance-table-wrap--scroll,
    [data-model-id="partner-svc-portfolios"] .fin-ord-list-card .fin-table-scroll-wrap {
        display: block !important;
        width: 100% !important;
        max-width: min(100%, 100vw) !important;
        min-width: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x !important;
        overscroll-behavior-x: contain;
        cursor: grab;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }

    [data-model-id="partner-svc-portfolios"] .partner-svc-table-scroll.is-drag-scrolling {
        cursor: grabbing;
        user-select: none;
        -webkit-user-select: none;
    }

    [data-model-id="partner-svc-portfolios"] .partner-svc-table,
    [data-model-id="partner-svc-portfolios"] .service-portfolios__table {
        display: table !important;
        width: max-content !important;
        min-width: 52rem !important;
        max-width: none !important;
        table-layout: auto !important;
    }
}

@media (max-width: 768px) {
    [data-model-id="partner-svc-portfolios"] .partner-svc-table,
    [data-model-id="partner-svc-portfolios"] .service-portfolios__table {
        min-width: 44rem !important;
    }
}

/*
 * Partner Retail Manage â€” horizontal table scroll on iPhone / narrow viewports.
 */
@media (max-width: 1024px) {
    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .fin-ord-list-card,
    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .partner-retail-table-panel {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .fin-ord-list-card {
        overflow: visible !important;
    }

    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .partner-retail-table-panel {
        display: block !important;
        overflow: hidden !important;
    }

    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .partner-retail-table-scroll,
    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .fin-ord-list-card .finance-table-wrap--scroll,
    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .fin-ord-list-card .fin-table-scroll-wrap {
        display: block !important;
        width: 100% !important;
        max-width: min(100%, 100vw) !important;
        min-width: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x !important;
        overscroll-behavior-x: contain;
        cursor: grab;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }

    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .fin-inv-actions,
    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .fin-inv-actions__toggle,
    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .fin-ord-col--actions {
        touch-action: manipulation !important;
    }

    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .partner-retail-table-scroll.is-drag-scrolling {
        cursor: grabbing;
        user-select: none;
        -webkit-user-select: none;
    }

    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-retail-overview"],
        [data-model-id="partner-retail-warehouses"],
        [data-model-id="partner-finance-shipping"]) .partner-retail-table {
        display: table !important;
        width: max-content !important;
        min-width: 52rem !important;
        max-width: none !important;
        table-layout: auto !important;
    }
}

@media (max-width: 768px) {
    :is([data-model-id="partner-retail-inventory"],
        [data-model-id="partner-finance-shipping"]) .partner-retail-table {
        min-width: 44rem !important;
    }

    :is([data-model-id="partner-retail-categories"],
        [data-model-id="partner-retail-warehouses"]) .partner-retail-table,
    :is([data-model-id="partner-retail-categories"],
        [data-model-id="partner-retail-warehouses"]) .fin-ord-list-card .partner-retail-table.fin-ord-table--mobile-cards,
    [data-model-id="partner-retail-categories"] .fin-ord-list-card #partner-categories-table.partner-retail-table,
    [data-model-id="partner-retail-warehouses"] .fin-ord-list-card #partner-warehouses-table.partner-retail-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: auto !important;
    }

    :is([data-model-id="partner-retail-categories"],
        [data-model-id="partner-retail-warehouses"]) .partner-retail-table-scroll,
    [data-model-id="partner-retail-warehouses"] .fin-ord-list-card .partner-retail-table-scroll {
        overflow: visible !important;
        touch-action: auto !important;
    }
}

/* Client MyListings — same wide-table horizontal scroll as admin/partner buy-units */
@media (max-width: 768px) {
    .profile.client-my-listings [data-model-id="client-buy-units"] .units-table-panel,
    .profile.client-my-listings [data-model-id="client-buy-units"] .units-table-scroll {
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }
    .profile.client-my-listings .content {
        overflow-x: visible !important;
    }
}
