/* === page-shell.css — admin 统一页面外壳布局（2026-06-01）=====================
 * 配合 core/page-shell.js。只管【布局】，组件样式复用现有 class（.btn-primary/.data-table…）。
 * 加载顺序在 theme-override.css 之后 → .ps-* 为新前缀，独占无冲突，且最终生效。
 * 全后台"页头/筛选/宽度/留白/分页"的长相只写这一处，改一次全站跟着变。
 * ============================================================================ */

/* 页面容器：统一内边距 + 居中 + 只两档宽度（不再每页拍脑袋写 max-width） */
.ps-page          { padding: 24px; margin: 0 auto; box-sizing: border-box; }
.ps-page--list    { max-width: 1200px; }
.ps-page--config  { max-width: 960px; }
.ps-page--detail  { max-width: 960px; }

/* 页头：标题左上、操作右上，统一字号 */
.ps-header           { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.ps-header__text     { min-width: 0; }
.ps-title            { margin: 0; font-size: 18px; font-weight: 600; color: var(--ant-text-primary); line-height: 1.3; }
.ps-title i          { color: var(--ant-primary); margin-right: 4px; }
.ps-subtitle         { margin: 4px 0 0; font-size: 13px; color: var(--ant-text-secondary); line-height: 1.5; }
.ps-header__actions  { flex-shrink: 0; display: flex; gap: 8px; align-items: center; }

/* 工具栏：浅边框横条，筛选项在左、操作按钮永远右对齐（统一一种，取代现状 5 套） */
.ps-filterbar          { display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
                         padding: 16px 20px; margin-bottom: 16px;
                         background: var(--ant-bg-card); border: 1px solid var(--ant-border); border-radius: 8px; }
.ps-filterbar__fields  { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; flex: 1; min-width: 0; }
.ps-filterbar__actions { margin-left: auto; display: flex; gap: 8px; align-items: center; }
/* 筛选项统一控件样式（label + 控件成对），各页不再写内联 style */
.ps-field              { display: inline-flex; align-items: center; gap: 6px; }
.ps-filterbar label    { font-size: 14px; font-weight: 600; color: var(--ant-text-secondary); white-space: nowrap; }
.ps-filterbar input,
.ps-filterbar select   { height: 36px; padding: 6px 12px; border: 1px solid var(--ant-border); border-radius: 6px;
                         font-size: 14px; box-sizing: border-box; min-width: 130px;
                         background: var(--ant-bg-card); color: var(--ant-text-primary); }
.ps-filterbar input[type="date"] { min-width: 150px; }

/* 内容容器：宽表统一靠容器横滚，不再每页写 min-width */
.ps-content .data-table-container,
.ps-content .ps-table-wrap { overflow-x: auto; }

/* 日期快捷 chip（原散落 5~6 份重复内联 <style>，统一收这一处） */
.date-chip        { display: inline-block; padding: 4px 12px; background: transparent;
                    border: 1px solid var(--ant-border); border-radius: 14px; font-size: 13px; font-weight: 600;
                    color: var(--ant-text-secondary); cursor: pointer; user-select: none; white-space: nowrap;
                    transition: all .15s ease; }
.date-chip:hover  { background: var(--ant-primary-bg); border-color: var(--ant-primary); color: var(--ant-primary); }
.date-chip.active { background: var(--ant-primary); border-color: var(--ant-primary); color: #fff; }

/* 页脚分页：与内容拉开间距 */
.ps-footer { margin-top: 16px; }
