/* Shared, opt-in list layout. Configuration forms, home and modal dialogs keep their normal flow. */
body.list-layout-active .ant-pro-page-container:has([data-list-page]) > .ant-pro-page-container-warp { display: none; }
body.list-layout-active .ant-pro-page-container:has([data-list-page]) .ant-pro-page-container-children-content { margin: 12px 16px; }
body.list-layout-active .ant-layout-footer { display: none; }
body.list-layout-active .ant-pro-global-footer { display: none; }
body.list-layout-active main.ant-pro-basicLayout-content { margin-bottom: 0; min-height: 0; }
body.list-layout-active [data-list-page].list-page-layout { height: var(--list-page-height, calc(100dvh - 96px)); min-width: 0; min-height: 0; }
body.list-layout-active [data-list-scroll] { box-sizing: border-box; height: var(--list-scroll-height); max-height: var(--list-scroll-height); min-height: 0; overflow: auto !important; overscroll-behavior: contain; scrollbar-gutter: stable; }
body.list-layout-active [data-list-scroll]:focus-visible { outline: 2px solid #1677ff; outline-offset: -2px; }
body.list-layout-active [data-list-scroll] thead th { position: sticky; top: 0; z-index: 3; background: #f7f9fc; }
body.list-layout-active [data-list-scroll] thead .ant-table-cell-fix-right,
body.list-layout-active [data-list-scroll] thead .ant-table-cell-fix-left { z-index: 4; }
body.list-layout-active [data-list-page].list-page-layout :is(.ant-table-thead > tr > th, .ant-table-tbody > tr > td, .table-wrap th, .table-wrap td, .native-table th, .native-table td) { padding: 9px 12px; }
body.list-layout-active [data-list-page].list-page-layout .ant-pagination { margin: 8px 0 0; }
body.list-layout-active [data-list-page].list-page-layout .ant-pagination-options { margin-left: 8px; }

body.list-layout-active [data-list-page].list-page-layout .management-workspace { padding: 10px 14px; }
body.list-layout-active [data-list-page].list-page-layout .management-toolbar { padding: 6px 10px; margin-bottom: 10px; max-height: min(260px, 30dvh); overflow: auto; }
body.list-layout-active [data-list-page].list-page-layout .management-toolbar .ant-form-item-label { padding-bottom: 3px; }
body.list-layout-active [data-list-page].list-page-layout .management-toolbar .ant-form-item-row { flex-direction: row; flex-wrap: nowrap; align-items: center; }
body.list-layout-active [data-list-page].list-page-layout .management-toolbar .ant-form-item-label { flex: none; padding: 0 8px 0 0; }
body.list-layout-active [data-list-page].list-page-layout .management-toolbar .ant-form-item-control { flex: 1; min-width: 0; }
/* Remove only empty Ant validation spacers and their matching negative offsets; keep real help/errors. */
body.list-layout-active [data-list-page].list-page-layout [data-list-empty-validation] { display: none !important; }
body.list-layout-active [data-list-page].list-page-layout [data-list-no-validation] .ant-form-item-margin-offset { display: none !important; }
body.list-layout-active [data-list-page].list-page-layout .management-filters { gap: 8px 12px; }
body.list-layout-active [data-list-page].list-page-layout .management-table { overflow: visible; }
body.list-layout-active [data-list-page].list-page-layout .proxy-batch-bar { padding-bottom: 8px; }
body.list-layout-active [data-list-page].list-page-layout .proxy-footnote { margin-top: 8px; font-size: 11px; }
body.list-layout-active [data-list-page].list-page-layout .proxy-empty { display: flex; justify-content: center; }

body.list-layout-active [data-list-page].list-page-layout .order-mobile-list { gap: 0; }
body.list-layout-active [data-list-page].list-page-layout .order-mobile-card { margin-bottom: 8px; }
body.list-layout-active [data-list-page].list-page-layout .order-mobile-list > .ant-pagination { flex: none; }

/* Plugin pages use the same density; settings tabs deliberately have no data-list-page. */
body.list-layout-active [data-list-page].list-page-layout :is(.pupu-panel-heading, .yyapk-panel-heading) { margin-bottom: 8px; gap: 8px; }
body.list-layout-active [data-list-page].list-page-layout :is(.pupu-panel-heading, .yyapk-panel-heading) p { display: none; }
body.list-layout-active [data-list-page].list-page-layout :is(.pupu-toolbar, .yyapk-toolbar) .ant-form-item-row { flex-direction: row; flex-wrap: nowrap; align-items: center; }
body.list-layout-active [data-list-page].list-page-layout :is(.pupu-toolbar, .yyapk-toolbar) .ant-form-item-label { flex: none; padding: 0 8px 0 0; }
body.list-layout-active [data-list-page].list-page-layout :is(.pupu-toolbar, .yyapk-toolbar) .ant-form-item-control { flex: 1; min-width: 0; }
body.list-layout-active [data-list-page].list-page-layout :is(.pupu-batchbar, .yyapk-batchbar) { margin: 0 0 8px; gap: 8px; padding: 0; }
body.list-layout-active [data-list-page].list-page-layout :is(.pupu-filters, .yyapk-filters) { gap: 8px 12px; }
body.list-layout-active [data-list-page].list-page-layout :is(.pupu-toolbar, .yyapk-toolbar) { padding: 6px 10px; margin-bottom: 8px; }
body.list-layout-active [data-list-page].list-page-layout :is(.pupu-tabs, .yyapk-tabs) { min-height: 0; }
/* Preserve DOM/keyboard order: heading/actions, filters, optional forms, table, pager. */
body.list-layout-active [data-list-page].list-page-layout :is(.channel-panel, .native-panel, .pupu-panel, .yyapk-panel) { display: block; }
/* An expanded editor may exceed the viewport; grow its surface instead of clipping controls/paging. */
body.list-layout-active [data-list-page].list-page-layout :is(.channel-workspace, .native-workspace, .pupu-workspace, .yyapk-workspace) { min-height: min-content; }
body.list-layout-active [data-list-page].list-page-layout .native-toolbar label { display: flex; flex-direction: row; align-items: center; gap: 8px; width: auto; flex: 1; }
body.list-layout-active [data-list-page].list-page-layout .native-toolbar label input { flex: 1; min-width: 80px; }
body.list-layout-active [data-list-page].list-page-layout .toolbar label { display: flex; flex-direction: row; align-items: center; gap: 6px; }
body.list-layout-active [data-list-page].list-page-layout .toolbar label input { width: 180px; }
body.list-layout-active [data-list-page].list-page-layout[data-page-shell]:is(.channel-page, .native-page, .pupu-page, .yyapk-page) { grid-template-rows: auto minmax(0, 1fr); }
body.list-layout-active [data-list-page].list-page-layout :is(.panel-heading, .native-heading) { gap: 8px; margin-bottom: 8px; }
body.list-layout-active [data-list-page].list-page-layout :is(.panel-heading, .native-heading) p { display: none; }
body.list-layout-active [data-list-page].list-page-layout :is(.toolbar, .native-toolbar, .pupu-toolbar, .yyapk-toolbar) { gap: 8px 10px; padding: 8px 10px; margin-bottom: 8px; }
body.list-layout-active [data-list-page].list-page-layout :is(.toolbar, .native-toolbar) label { gap: 3px; }
body.list-layout-active [data-list-page].list-page-layout :is(.table-wrap, .native-table) :is(th, td) { padding: 9px 12px; }
body.list-layout-active [data-list-page].list-page-layout :is(.pager, .native-pager) { margin-top: 8px; }
body.list-layout-active [data-list-page].list-page-layout :is(.empty-state, .native-empty) { min-height: 0; height: calc(100% - 40px); padding: 16px; border: 0; }
body.list-layout-active [data-list-page].list-page-layout .is-empty { border-bottom: 1px solid #e8edf4; }

/* Statistics keeps table + paging primary; rules remain available by disclosure. */
body.list-layout-active [data-list-page].list-page-layout .statistics-tabs { margin-bottom: 6px; }
body.list-layout-active [data-list-page].list-page-layout .statistics-tabs button { padding: 7px 1px; }
body.list-layout-active [data-list-page].list-page-layout .statistics-caption { padding: 0 0 6px; margin-bottom: 0; }
body.list-layout-active [data-list-page].list-page-layout .statistics-pagination { padding: 6px 0 0; }
body.list-layout-active [data-list-page].list-page-layout .statistics-rules { margin-top: 4px; padding: 2px 10px; }
body.list-layout-active [data-list-page].list-page-layout .statistics-filters label { flex-direction: row; align-items: center; gap: 6px; min-width: 0; }
body.list-layout-active [data-list-page].list-page-layout :is(.stats-button, .statistics-filters input, .statistics-filters select, .statistics-pagination select) { min-height: 32px; height: 32px; padding-top: 4px; padding-bottom: 4px; }
body.list-layout-active [data-list-page].list-page-layout .statistics-presets { margin-top: 0; gap: 6px; }
body.list-layout-active [data-list-page].list-page-layout .management-toolbar:has(.statistics-filters) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
body.list-layout-active [data-list-page].list-page-layout .statistics-filters { flex: none; gap: 8px; }
body.list-layout-active [data-list-page].list-page-layout .help { margin-top: 8px; padding: 8px 12px; max-height: 20dvh; overflow: auto; }
body.list-layout-active [data-list-page].list-page-layout .help summary { cursor: pointer; color: #526780; }
body.list-layout-active [data-list-page].list-page-layout .help p { margin-top: 6px; }
body.list-layout-active [data-list-page].list-page-layout.plugin-manager { padding: 12px 14px; }
body.list-layout-active [data-list-page].list-page-layout.plugin-manager header { margin-bottom: 10px; }
body.list-layout-active [data-list-page].list-page-layout.plugin-manager header h2 { font-size: 18px; margin-bottom: 0; }
body.list-layout-active [data-list-page].list-page-layout.plugin-manager header p { display: none; }

@media (max-width: 767px) {
    /* ProLayout uses -24px page margins; remove them so lists do not slip beneath the icon sidebar. */
    body.list-layout-active .ant-pro-page-container:has([data-list-page]) { margin: 0 !important; }
    body.list-layout-active .ant-pro-page-container:has([data-list-page]) .ant-pro-page-container-children-content { margin: 8px; }
    body.list-layout-active .ant-pro-basicLayout-content:has([data-list-page]) { margin-left: 0 !important; }
    body.list-layout-active .ant-layout:has(> main [data-list-page]) { padding-left: 48px !important; }
    body.list-layout-active .proxy-page { margin-left: 0; }
    body.list-layout-active [data-list-page].list-page-layout .management-workspace { padding: 8px; }
    body.list-layout-active [data-list-page].list-page-layout[data-page-shell]:is(.channel-page, .native-page, .pupu-page, .yyapk-page) { grid-template-rows: auto auto minmax(0, 1fr); }
    body.list-layout-active [data-list-page].list-page-layout .management-toolbar { padding: 6px 8px; }
    body.list-layout-active [data-list-page].list-page-layout .native-toolbar label { width: auto; flex: 1; min-width: 120px; }
    body.list-layout-active [data-list-page].list-page-layout .proxy-filter { width: 130px; flex: 1; }
    body.list-layout-active [data-list-page].list-page-layout .keyword-filter { width: 100%; }
}
