/* Shared sizing and accessible local scrolling. Page-specific canvases keep their pan/zoom. */
.dash-content > :not(.ibx-layout):not(.atm-layout):not(#sbListView):not(#sbBuilderView), .plt-content > * { min-width: 0; }
.dash-content :where(div, section, article):has(> table), .plt-content :where(div, section, article):has(> table), .responsive-table-scroll { min-width: 0; max-width: 100%; overflow-x: auto !important; overscroll-behavior-x: contain; }
.responsive-table-scroll:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.responsive-table-scroll::-webkit-scrollbar { height: 10px; }
.responsive-table-scroll::-webkit-scrollbar-track { background: var(--surface-high); }
.responsive-table-scroll::-webkit-scrollbar-thumb { background: var(--text-secondary); border: 2px solid var(--surface-high); border-radius: 10px; }
.dash-content .pl-command-right, .dash-content #plSourceFilters { flex-wrap: wrap; min-width: 0; max-width: 100%; flex-shrink: 1; }

@media (max-width: 1199px) {
    .dash-content #sbListView, .dash-content #sbBuilderView, .dash-content .atm-layout { margin: -16px; min-width: 0; max-width: calc(100% + 32px); }
    .dash-content .pl-command-right, .dash-content #plSourceFilters { flex-wrap: wrap; min-width: 0; max-width: 100%; flex-shrink: 1; }
    .dash-content .atm-logs-drawer { left: 0; max-height: calc(100dvh - 56px); }
    .dash-content .atm-logs-header { height: auto; min-height: 44px; padding: 8px 12px; }
    .dash-content .atm-logs-title { min-width: 0; overflow-wrap: anywhere; }
}

.lp-panel .lp-tabs { min-width: 0; max-width: 100%; overflow-x: auto; }
.lp-panel .lp-tab { flex-shrink: 0; white-space: nowrap; min-height: 44px; }

@media (max-width: 820px) {
    .dash-content > :not(.ibx-layout):not(.atm-layout):not(#sbListView):not(#sbBuilderView), .plt-content > * { max-width: 100%; }
    .dash-content :is(.um-header, .um-form-footer, .tsk-toolbar, .tsk-toolbar-left, .tsk-toolbar-right, .mkt-toolbar, .mkt-header, .int-header, .int-card-actions, .pl-command-right, .pl-source-filters, .sb-list-header, .sb-list-actions, .tpl-header, .tpl-toolbar, .tpl-toolbar-right, .cal-header, .cal-nav, .ak-header, .dwh-header, .fd-header, .si-actions, .profile-upload-row) { flex-wrap: wrap; min-width: 0; max-width: 100%; }
    .dash-content .pl-command-right { flex-shrink: 1; }
    .dash-content #plSourceFilters { flex-wrap: wrap; min-width: 0; max-width: 100%; }
    .dash-content .pl-workspace-title-row { flex: 1 1 100%; width: 100%; }
    .dash-content .pl-workspace-title { white-space: normal; }
    .dash-content .pl-sep { display: none; }
    .dash-content .pl-tab-bar { flex: 1 1 100%; min-width: 0; max-width: 100%; overflow-x: auto; flex-wrap: nowrap; }
    .dash-content .pl-tab { flex-shrink: 0; white-space: nowrap; min-height: 44px; }
    .dash-content .pl-workspace-actions { flex-wrap: wrap; min-width: 0; max-width: 100%; }
    .dash-content .pl-workspace-actions .pl-btn-ghost { flex: 1 1 auto; justify-content: center; min-height: 44px; }
    .dash-content :is(.mkt-tabs, .tsk-filter-tabs, .um-tabs) { min-width: 0; max-width: 100%; overflow-x: auto; flex-wrap: nowrap; overscroll-behavior-x: contain; }
    .dash-content :is(.mkt-tab, .tsk-tab, .um-tab) { flex-shrink: 0; min-height: 44px; }
    .dash-content :is(.um-form-row, .um-pages-grid, .cap-grid, .cnt-form-grid, .pl-form-grid, .cal-form-grid, .atm-modal-row, .lgc-filters, .lgc-grid, .ak-grid, .dwh-grid, .acct-grid, .mkt-lists-grid, .si-grid, .si-field-options) { grid-template-columns: minmax(0, 1fr); }
    .dash-content :is(.um-field, .um-grid, .field-group, .int-ch-meta, .int-meta-row, .int-meta-page-picker, .profile-avatar-actions, .acct-card, .mkt-panel, .mkt-list-card) { min-width: 0; max-width: 100%; }
    .dash-content :is(.um-field, .int-meta-row, .int-meta-page-picker, .profile-avatar-actions, .acct-card, .mkt-list-card) { overflow-wrap: anywhere; }
    .dash-content .mkt-page { padding: 0; }
    .dash-content :is(.mkt-analytics-cards, .acct-stats, .pl-summary-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dash-content :is(.um-form-card, .cap-card, .int-meta-page-picker) { padding: 16px; }
    .dash-content .int-meta-row { flex-wrap: wrap; }
    .dash-content .int-meta-row strong { min-width: 0; }
    .dash-content .profile-avatar-section { gap: 16px; padding: 16px; flex-wrap: wrap; }
    .dash-content .profile-avatar-email { overflow-wrap: anywhere; }
    .dash-content .cp-hero-meta-item { overflow-wrap: anywhere; }
    .dash-body .cat-tabs { flex-wrap: wrap; }
    .dash-body .cat-tab { flex: 1 1 auto; min-height: 44px; padding: 8px 12px; }
    .dash-body :is(#step1Modal, #createModal, #renameModal) .modal { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; }
    .dash-body :is(#step1Modal, #createModal, #renameModal) .modal-body { min-height: 0; overflow-y: auto; padding: 16px; }
    .dash-body :is(#step1Modal, #createModal, #renameModal) .modal-footer { flex-wrap: wrap; }
    .dash-content :is(.lgc-header, .lgc-actions, .adm-user-card-footer, .cp-hero-meta-item) { flex-wrap: wrap; min-width: 0; max-width: 100%; }
    .dash-content :is(.adm-user-card, .adm-user-card-top, .adm-user-info, .cp-hero-meta, .cp-hero-name) { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
    .dash-content .lgc-actions { gap: 8px; }
    .dash-content .lgc-shell { padding: 16px; }
    .dash-content #sbListView, .dash-content #sbBuilderView { margin: -16px; min-width: 0; max-width: calc(100% + 32px); }
    .dash-content .sb-list-header { padding: 16px; gap: 12px; }
    .dash-content .sb-topbar-name { flex: 1; width: 100%; min-width: 0; }
    .dash-content .sb-topbar-left { flex-basis: 100%; }
    .dash-content .sb-builder-body { position: relative; min-height: 0; }
    .dash-content .sb-editor-panel { position: absolute; inset: 0 0 0 auto; width: min(380px, 100%); max-width: 100%; box-shadow: -8px 0 24px #0003; z-index: 30; }
    .dash-content .sb-side-close { min-width: 44px; min-height: 44px; }
    .dash-content .cal-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
    .dash-content .sb-row-copy-btn { opacity: 1; }
    .responsive-table-scroll > table { min-width: var(--responsive-table-min-width, 0px); }
    :is(.dash-body, .plt-body) :is(.um-modal, .cnt-modal, .ld-modal, .pl-modal, .tsk-modal, .cal-modal, .atm-modal, .mkt-modal, .gmail-modal, .tpl-modal, .sb-modal, .cp-pipeline-dialog) { max-width: calc(100vw - 24px) !important; max-height: calc(100dvh - 24px); overflow-y: auto; }
    :is(.dash-body, .plt-body) :is(.um-modal-body, .cnt-modal-body, .ld-modal-body, .pl-modal-body, .tsk-modal-body, .cal-modal-body, .atm-modal-body, .mkt-modal-body, .tpl-modal-body, .sb-modal-body) { min-height: 0; overflow-y: auto; padding: 16px; }
    :is(.dash-body, .plt-body) :is(.um-modal-footer, .cnt-modal-footer, .ld-modal-footer, .pl-modal-footer, .tsk-modal-footer, .cal-modal-footer, .atm-modal-footer, .mkt-modal-footer, .tpl-modal-footer, .sb-modal-footer) { flex-wrap: wrap; }
    :is(.dash-body, .plt-body) :is(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]):not(.search-input) { min-width: 0; max-width: 100%; font-size: 16px; }
    :is(.dash-content, .plt-content) :is(.btn-primary, .btn-secondary, .btn-icon, .sb-btn-primary, .sb-btn-ghost, .mkt-btn, .field-input, .um-input, .int-input, .cal-btn) { min-height: 44px; }
    :is(.dash-content, .plt-content) .btn-icon { min-width: 44px; }
    .dash-content :is(pre, code), .plt-content :is(pre, code) { max-width: 100%; overflow-wrap: anywhere; white-space: pre-wrap; }
    .lp-channels-label { white-space: normal; max-width: 100%; }
    .lp-channels-list { min-width: 0; max-width: 100%; }
}

@media (max-width: 480px) {
    .dash-content #sbListView, .dash-content #sbBuilderView, .dash-content .atm-layout { margin: -12px; max-width: calc(100% + 24px); }
    .dash-content :is(.mkt-analytics-cards, .acct-stats, .pl-summary-grid) { grid-template-columns: minmax(0, 1fr); }
    .dash-content .cal-grid-wrap { padding: 8px; }
    .dash-content .cal-cell { min-width: 0; padding: 4px 2px; }
    .dash-content .adm-user-grid { grid-template-columns: minmax(0, 1fr); }
    .dash-body :is(.tpl-modal, #createModal) .button-row { grid-template-columns: minmax(0, 1fr) 44px; }
    .dash-body :is(.tpl-modal, #createModal) .button-row > select { grid-column: 1 / -1; }
}
