/* ============================================================
   Stream v221 - single scroll / table width fix
   - Remove duplicated vertical scrollbars caused by inner scroll containers
   - Prevent API Provider / Vendor / Game list from creating page horizontal scroll
   - Keep only the browser document as the vertical scroll container
   ============================================================ */
html{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
}
body[data-panel]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:100vh!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    background:#f3f3f9!important;
}

/* One vertical scrollbar only: inner layout wrappers must not become scroll containers. */
body[data-panel] .stream-app,
body[data-panel] .app-shell,
body[data-panel] .stream-main,
body[data-panel] .main,
body[data-panel] .stream-main-only,
body[data-panel] .stream-content,
body[data-panel] .content{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    min-width:0!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
    overscroll-behavior:auto!important;
}
body[data-panel] .stream-app,
body[data-panel] .app-shell{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    align-items:stretch!important;
}
body[data-panel] .stream-main,
body[data-panel] .main{
    flex:1 1 auto!important;
    width:auto!important;
    max-width:calc(100% - var(--stream-sidebar-final,260px))!important;
}
body[data-panel] .stream-main-only{
    width:100%!important;
    max-width:100%!important;
}
body[data-panel] .stream-content,
body[data-panel] .content{
    width:100%!important;
    max-width:100%!important;
    padding-left:clamp(12px,1.1vw,20px)!important;
    padding-right:clamp(12px,1.1vw,20px)!important;
}

/* Topbar must not widen the document. It may wrap, but not scroll. */
body[data-panel] .stream-topbar,
body[data-panel] .topbar,
body[data-panel] .super-topbar,
body[data-panel] .super-top-actions,
body[data-panel] .top-actions{
    max-width:100%!important;
    min-width:0!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
}
body[data-panel] .super-top-actions,
body[data-panel] .top-actions{
    flex-wrap:wrap!important;
    row-gap:6px!important;
}

/* Cards and list wrappers: no internal vertical scrollbar. */
body[data-panel] .card,
body[data-panel] .card-body,
body[data-panel] .vendor-page,
body[data-panel] .vendor-card,
body[data-panel] .vendor-card-body,
body[data-panel] .game-page,
body[data-panel] .api-provider-page,
body[data-panel] .stream-card,
body[data-panel] .panel,
body[data-panel] .box{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
}

/* Desktop list tables: keep inside card without browser horizontal scrollbar. */
body[data-panel] .table-responsive,
body[data-panel] .table-wrap,
body[data-panel] .list-table-wrap,
body[data-panel] .api-provider-list-wrap,
body[data-panel] .vendor-table-wrap,
body[data-panel] .game-list-table-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
}
body[data-panel] table,
body[data-panel] .table,
body[data-panel] .admin-table,
body[data-panel] .api-provider-list-table,
body[data-panel] .vendor-table,
body[data-panel] .game-list-table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
}
body[data-panel] .api-provider-list-table th,
body[data-panel] .api-provider-list-table td,
body[data-panel] .vendor-table th,
body[data-panel] .vendor-table td,
body[data-panel] .game-list-table th,
body[data-panel] .game-list-table td,
body[data-panel] .admin-table th,
body[data-panel] .admin-table td{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    min-width:0!important;
}

/* Compact important list columns so settings/status do not push layout. */
body[data-panel] .api-provider-action-row{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px!important;
    max-width:100%!important;
    min-width:0!important;
}
body[data-panel] .api-provider-action-row .btn,
body[data-panel] .vendor-table .btn,
body[data-panel] .game-list-table .btn{
    white-space:nowrap!important;
    flex:0 0 auto!important;
}
body[data-panel] .stream-inline-status-form,
body[data-panel] .stream-toggle-switch{
    max-width:100%!important;
    white-space:nowrap!important;
}

/* Pagination stays inside the card and uses multiple rows if needed. */
body[data-panel] .pagination-footer,
body[data-panel] .stream-pagination-footer{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
    flex-wrap:wrap!important;
}
body[data-panel] .pagination-links,
body[data-panel] .stream-pagination-links,
body[data-panel] .stream-pagination-nav,
body[data-panel] .stream-pagination{
    max-width:100%!important;
    min-width:0!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
    flex-wrap:wrap!important;
}
body[data-panel] .stream-page-btn{
    flex:0 0 auto!important;
}

/* Keep sidebar menu as the only intentionally internal scroll, and hide its scrollbar width impact. */
body[data-panel] .sidebar{
    overflow-x:hidden!important;
}
body[data-panel] .sidebar .menu,
body[data-panel] .sidebar .nav-scroll,
body[data-panel] .sidebar-nav{
    overflow-x:hidden!important;
    scrollbar-width:thin;
}

/* Mobile/tablet: one-column page, table cards, still single page scroll. */
@media (max-width:920px){
    body[data-panel] .stream-app,
    body[data-panel] .app-shell{
        display:block!important;
    }
    body[data-panel] .sidebar,
    body[data-panel] .stream-main,
    body[data-panel] .main{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }
    body[data-panel] .table-responsive,
    body[data-panel] .api-provider-list-wrap,
    body[data-panel] .vendor-table-wrap,
    body[data-panel] .game-list-table-wrap{
        overflow:visible!important;
    }
}
