/* PLP-MP 模块样式：只补 V7 共享层未提供的模块骨架与页面细节。
   颜色、圆角、字号一律引用 PLP-UNIFIED-ADMIN-UI-V7-2026-08-19 的共享 token，
   不在模块内另定主蓝或线色（visual-spec §4）。 */

/* Shell 布局骨架：共享层只提供 [data-puze-sidebar-layout]{display:grid} 与折叠态列宽，
   展开态列宽与侧栏留白由模块自备（对照 examples/shell-example.css）。缺失会导致
   grid 退化为单列、侧栏与内容纵向堆叠（2026-07-30 生产实测缺陷）。 */
.mp-shell-v2 {
  min-height: 100vh;
  grid-template-columns: var(--puze-sidebar-width-expanded, 216px) minmax(0, 1fr);
}
.mp-sidebar-v2 {
  overflow-x: hidden;
  position: sticky;
  top: 0;
  height: 100vh;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 18px 14px 14px;
  overflow-y: auto;
}
.mp-main-v2 {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
/* 折叠态 64px 轨道只留 8px 左右留白，与共享层折叠品牌块一致。 */
[data-puze-sidebar-collapsed="true"] > .mp-sidebar-v2 {
  padding-left: 8px;
  padding-right: 8px;
}
/* 折叠态列宽由共享层以 !important 接管（puze-admin-design.css）。
   Shell 只有桌面布局：最小 1280px，窄窗口横向滚动，模块不得另设断点。 */

.mp-nav-icon{width:var(--puze-sidebar-nav-icon-size,17px);height:var(--puze-sidebar-nav-icon-size,17px);fill:none;stroke:currentColor;stroke-width:1.7}

/* 页面内容骨架：对齐 .puze-app__main 与 .puze-page-head。
   历史缺陷：整页 body 曾被包进紧凑三列条 .mp-panel，导致业务页内容被压成一行。 */
.mp-page-content{padding:20px 24px 28px;display:grid;gap:var(--puze-app-gap,16px);align-content:start;color:var(--puze-color-ink)}
.mp-page-head { display: flex; align-items: baseline; gap: 12px; }
.mp-page-head h1 { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.3; }
.mp-page-body { display: grid; gap: var(--puze-app-gap, 16px); align-content: start; }

/* 通用面板：纵向自然流动。标题与正文不再被网格拆成左右两列。 */
.mp-panel,.mp-empty,.mp-notice{padding:16px;border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-panel,8px);background:var(--puze-color-panel)}
.mp-panel{display:block}
.mp-panel > strong{display:block;font-size:13.5px;font-weight:600}
.mp-panel :where(p){margin:0;color:var(--puze-color-muted);font-size:13px;line-height:1.55}
.mp-panel :where(h2){margin:0;font-size:15px;font-weight:700}
.mp-panel :where(ul){margin:0;padding-left:18px;font-size:13px;line-height:1.7}
.mp-panel > * + *{margin-top:8px}
details.mp-panel > summary{cursor:pointer;font-size:13.5px;font-weight:600}
.mp-panel :where(a){color:var(--puze-color-primary);font-size:13px;font-weight:600}
.mp-panel :where(details) > summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--puze-color-ink)}
details.mp-panel > summary:focus-visible{outline:3px solid rgba(31,65,143,.28);outline-offset:2px;border-radius:4px}
details.mp-panel:not([open]) > summary{margin:0}
.mp-notice{background:var(--puze-color-paper)}
.mp-notice strong{display:block;margin-bottom:4px;font-size:13.5px}
.mp-notice p{margin:0;color:var(--puze-color-muted);font-size:13px;line-height:1.55}
.mp-notice--danger{border-left:3px solid var(--puze-tone-red)}
.mp-notice--danger strong{color:var(--puze-tone-red)}
.mp-empty{padding:28px 16px;color:var(--puze-color-muted);font-size:13px;text-align:center;background:var(--puze-color-paper)}

/* 业务记录列表：共享 .puze-table-card / .puze-table，模块只补横向滚动与名称列。 */
.mp-table-scroll{overflow-x:auto}
.mp-records .puze-table{margin:0}
.mp-records .puze-table td{vertical-align:middle}
.mp-records .mp-record-name{font-weight:600}
.mp-records .cell-wrap{min-width:240px}

/* 运营概览：筛选条、KPI、趋势表对齐 V7 视觉（.puze-btn / .puze-kpi-grid / .puze-table）。 */
.ops-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:12px 16px;border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-panel,8px);background:var(--puze-color-panel)}
.ops-filter label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--puze-color-muted)}
.ops-filter select{width:auto;min-width:132px;height:32px;min-height:32px;border:1px solid var(--puze-color-control-line);border-radius:var(--puze-radius-control,8px);background:var(--puze-color-panel);padding:0 9px;color:var(--puze-color-ink);font-size:13px}
.ops-filter button{height:32px;min-height:32px;padding:0 14px;border:1px solid var(--puze-color-primary);border-radius:var(--puze-radius-control,8px);background:var(--puze-color-primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer}
.ops-filter button:hover{background:var(--puze-color-primary-hover);border-color:var(--puze-color-primary-hover)}
.ops-filter select:focus-visible,.ops-filter button:focus-visible{outline:3px solid rgba(31,65,143,.28);outline-offset:2px}
.ops-period{margin:0;color:var(--puze-color-muted);font-size:12.5px}
.ops-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));overflow:hidden;border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-panel,8px);background:var(--puze-color-panel)}
.ops-kpi{display:grid;gap:4px;align-content:start;padding:14px 16px;box-shadow:1px 0 0 var(--puze-color-line),0 1px 0 var(--puze-color-line)}
.ops-kpi span{color:var(--puze-color-muted);font-size:11px;letter-spacing:.08em}
.ops-kpi strong{font:600 22px/1.15 var(--puze-font-mono);color:var(--puze-color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ops-kpi small{color:var(--puze-color-muted);font-size:11.5px}
.ops-trend{display:block}.ops-table-wrap{overflow:auto;margin-top:12px;border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-panel,8px)}
.ops-trend table{width:100%;margin:0;border:0;border-radius:0;border-collapse:collapse;border-spacing:0;font-size:13px}
.ops-trend th,.ops-trend td{padding:var(--puze-density-cell-pad-y,9px) 12px;border:0;border-bottom:1px solid var(--puze-color-line);text-align:right;white-space:nowrap;vertical-align:middle}
.ops-trend thead th{background:var(--puze-color-paper);color:var(--puze-color-muted);font-size:11.5px;font-weight:600;letter-spacing:.04em}
.ops-trend tbody th,.ops-trend td{background:transparent;color:var(--puze-color-ink);font-family:var(--puze-font-mono);font-size:12.5px;font-weight:400;letter-spacing:0}
.ops-trend tbody tr:last-child > *{border-bottom:0}
.ops-trend tbody tr:hover > *{background:var(--puze-color-weak-selected)}
.ops-trend th:first-child,.ops-trend td:first-child{padding-left:16px;text-align:left}
.ops-trend th:last-child,.ops-trend td:last-child{padding-right:16px}
.ops-sparkline{display:block;width:min(420px,100%);height:74px;margin:12px 0 0}.ops-sparkline polyline{fill:none;stroke:var(--puze-color-accent);stroke-width:2.2;vector-effect:non-scaling-stroke}.ops-sparkline-empty{display:block;color:var(--puze-color-muted);font-size:12.5px;margin:12px 0 0}

/* 订单管理（/orders）：原内联样式迁入，颜色一律改用 V7 token；不设断点。
   只改展示，不改表单、按钮动作、查询参数或列偏好脚本。 */
.order-center{display:grid;gap:var(--puze-app-gap,16px)}
.orders-batch-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--puze-color-control-line);border-radius:var(--puze-radius-panel,8px);background:var(--puze-color-soft-blue);font-size:13px}
.logistics-workbench-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin-top:12px}
.logistics-workbench-grid form,.logistics-workbench-grid label{display:grid;gap:6px}
.logistics-workbench-grid form{align-content:start;padding:12px;border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-panel,8px)}
.logistics-workbench-grid label,.order-filter-bar label,.order-view-body label{font-size:12px;font-weight:600;color:var(--puze-color-muted)}
.logistics-workbench-grid input,.logistics-workbench-grid select,
.order-filter-bar input,.order-filter-bar select,
.order-view-body input,.order-view-body select{min-height:32px;height:32px;border:1px solid var(--puze-color-control-line);border-radius:var(--puze-radius-control,8px);padding:0 10px;background:var(--puze-color-panel);color:var(--puze-color-ink);font-size:13px}
.logistics-workbench-grid input[type=file]{height:auto;padding:5px 10px}
.order-queue-bar{display:flex;gap:8px;flex-wrap:wrap}
.order-queue-link{display:inline-flex;align-items:center;height:30px;padding:0 12px;border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-pill,999px);background:var(--puze-color-panel);color:var(--puze-color-muted);text-decoration:none;font-size:12.5px}
.order-queue-link:hover{background:var(--puze-color-paper)}
.order-queue-link:focus-visible{outline:3px solid rgba(31,65,143,.28);outline-offset:2px}
.order-queue-link.active{border-color:var(--puze-color-primary);background:var(--puze-color-soft-blue);color:var(--puze-color-primary);font-weight:600}
.order-queue-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:var(--puze-radius-pill,999px);background:var(--puze-color-paper);color:var(--puze-color-muted);font:600 11px/1 var(--puze-font-mono)}
.order-queue-link.active .order-queue-count{background:var(--puze-color-chip);color:var(--puze-color-primary)}
.order-filter-bar{display:flex;gap:10px 12px;align-items:end;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-panel,8px);background:var(--puze-color-panel)}
.order-filter-bar label{display:grid;gap:4px}
.order-filter-bar .search-field{min-width:260px;flex:1}
.order-more-filters{width:100%;border-top:1px solid var(--puze-color-line);padding-top:8px}
.order-more-filters summary{cursor:pointer;color:var(--puze-color-muted);font-size:12.5px}
.order-more-filter-fields{display:flex;gap:10px;flex-wrap:wrap;padding-top:10px}
.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:0;margin:0;overflow:hidden;border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-panel,8px);background:var(--puze-color-panel)}
.metric-strip .metric{display:block;padding:12px 16px;border:0;border-radius:0;background:transparent;box-shadow:1px 0 0 var(--puze-color-line)}
.metric span{display:block;color:var(--puze-color-muted);font-size:11px;letter-spacing:.08em}
.metric strong{display:block;margin-top:4px;font:600 21px/1.15 var(--puze-font-mono);color:var(--puze-color-ink)}
.order-sub{display:block;margin-top:4px;color:var(--puze-color-muted);font-size:12px}
.order-table{overflow-x:auto;border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-panel,8px);background:var(--puze-color-panel)}
.order-table table{width:max-content;min-width:100%;margin:0;table-layout:fixed;border:0;border-radius:0;border-collapse:separate;border-spacing:0;font-size:13px}
.order-table th{background:var(--puze-color-paper);color:var(--puze-color-muted);font-size:11.5px;font-weight:600;letter-spacing:.04em;white-space:nowrap}
.order-table th,.order-table td{padding:var(--puze-density-cell-pad-y,9px) 12px;border:0;border-top:1px solid var(--puze-color-line);vertical-align:middle;text-align:left}
.order-table thead th{border-top:0}
.order-table tbody tr:hover td{background:var(--puze-color-weak-selected)}
.order-detail-trigger,.order-action-link,.order-personal-later{border:0;background:none;color:var(--puze-color-primary);font-weight:600;padding:0;cursor:pointer}
.order-detail-trigger{font-family:var(--puze-font-mono);font-size:12.5px}
.order-personal-later{font-size:12px}
tr.is-personal-later td{background:var(--puze-tone-gold-bg)}
.order-personal-later[aria-pressed=true]{color:var(--puze-tone-gold)}
.order-action-link.disabled{color:var(--puze-app-color-faint);cursor:not-allowed}
.order-product{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center}
.order-product-thumb{width:46px;height:46px;border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-control,8px);object-fit:cover}
.order-product-thumb.placeholder{display:grid;place-items:center;background:var(--puze-color-paper);color:var(--puze-app-color-faint);font-size:10px}
.order-product-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
/* 状态原值可能长于默认 130px 列宽：只在模板插入的 <wbr>（下划线后）处折行，不截断。 */
.order-status{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:22px;padding:3px 9px;border-radius:11px;font-size:11.5px;font-weight:500;line-height:1.35;white-space:normal}
.order-status::before{content:"";flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:currentColor}
.order-status.shipped{background:var(--puze-tone-green-bg);color:var(--puze-tone-green)}
.order-status.pending{background:var(--puze-tone-gold-bg);color:var(--puze-tone-gold)}
.order-operation-menu{position:relative;min-width:104px;color:var(--puze-color-primary)}
.order-operation-menu>summary{cursor:pointer;font-weight:600;list-style:none}
.order-operation-menu>summary::-webkit-details-marker{display:none}
.order-operation-menu>summary::after{content:' ▾';font-size:11px}
.order-operation-menu>summary:focus-visible,.order-return-menu summary:focus-visible{outline:3px solid rgba(31,65,143,.28);outline-offset:2px;border-radius:4px}
.order-operation-panel{position:absolute;right:0;z-index:8;display:grid;gap:9px;min-width:220px;padding:12px;background:var(--puze-color-panel);border:1px solid var(--puze-color-control-line);border-radius:var(--puze-radius-panel,8px)}
.order-operation-panel form{margin:0}
.order-return-menu{color:var(--puze-color-primary)}
.order-return-menu summary{cursor:pointer;font-weight:600}
.order-return-menu form{display:grid;gap:8px;margin-top:8px}
.order-operation-reason{color:var(--puze-color-muted);font-size:12px}
.order-pager{display:flex;justify-content:space-between;align-items:center;gap:12px}
.order-pager-actions{display:flex;gap:6px}
.order-pager .button{min-height:30px;height:30px;padding:0 12px;font-size:12.5px}
.button.disabled{opacity:.48;pointer-events:none}
.column-dialog,.order-detail-dialog,.order-view-dialog{width:min(760px,94vw);border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-panel,8px);padding:0}
.column-dialog header,.order-detail-dialog header,.column-dialog footer,.order-view-dialog header,.order-view-dialog footer{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--puze-color-line)}
.column-dialog h3,.order-detail-dialog h3,.order-view-dialog h3{margin:0;font-size:15px}
.column-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;padding:16px;font-size:13px}
.column-grid label{display:grid;grid-template-columns:20px minmax(0,1fr) 72px;gap:8px;align-items:center}
.column-grid input[type=number]{width:68px}
.order-view-body{display:grid;gap:12px;padding:16px}
.order-view-body label{display:grid;gap:4px}
.order-view-actions{display:flex;gap:8px;flex-wrap:wrap}
.order-detail-body{padding:18px;display:grid;gap:16px}
.order-detail-product{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center}
.order-detail-product img{width:72px;height:72px;object-fit:cover;border-radius:var(--puze-radius-control,8px)}
.order-detail-section{display:grid;gap:8px}
.order-detail-section h4{margin:0;font-size:13.5px}
.order-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.order-detail-field{border:1px solid var(--puze-color-line);border-radius:var(--puze-radius-control,8px);padding:10px;font-size:13px}
.order-detail-field span,.order-detail-note{display:block;color:var(--puze-color-muted);font-size:12px}
.order-detail-note{margin:0}
.order-detail-exception-link{font-size:13px}
