/*
 * P11-PAYMENT-MANAGEMENT-R2-001 总部“会费收支”。版式参考同事包（概览卡 → 筛选条 → 表格 → 详情 / 二次确认），
 * 视觉沿用优房 DESIGN.md 与会员页 mpr-/mo-：浅色画布、白色面板、#dce3ea 细边线、单一蓝色 #2f64c8、8/12px 圆角、等宽金额右对齐。
 * 全部收在 .mpm- 作用域；覆盖全局 table min-width:760px，避免窄窗溢出遮挡右栏。
 */
.mpm-root { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; max-width: 1280px; color: var(--ink, #18202a); }
.mpm-root > * { min-width: 0; }
.mpm-header h3 { margin: 0 0 4px; font-size: 22px; font-weight: 650; }
.mpm-header p { margin: 0; color: var(--muted, #6c7683); font-size: 14px; }
.mpm-sub { margin: 4px 0 0; color: var(--muted, #6c7683); font-size: 13px; line-height: 1.55; }
.mpm-hint { margin: 14px 0 0; padding-top: 12px; border-top: 1px dashed var(--line, #dce3ea); color: var(--muted, #6c7683); font-size: 12px; line-height: 1.6; }
.mpm-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; overflow-wrap: anywhere; }
.mpm-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mpm-warn-text { color: var(--amber, #a96318); }
.mpm-eyebrow { margin: 0; color: var(--muted, #6c7683); font-size: 13px; font-weight: 500; }

/* 页签 */
.mpm-tabs { display: flex; align-items: flex-end; gap: 24px; border-bottom: 1px solid var(--line, #dce3ea); }
.mpm-tab { position: relative; padding: 0 2px 10px; border: 0; background: none; color: var(--muted-strong, #465160); font: inherit; font-size: 15px; cursor: pointer; }
.mpm-tab[aria-selected="true"] { color: var(--blue, #2f64c8); font-weight: 600; }
.mpm-tab[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; border-radius: 2px; background: var(--blue, #2f64c8); }
.mpm-tab-link { margin-left: auto; padding: 0 0 10px; border: 0; background: none; color: var(--blue, #2f64c8); font: inherit; font-size: 13px; cursor: pointer; }

/* 面板 / 提示 */
.mpm-panel { padding: 18px 20px; border: 1px solid var(--line, #dce3ea); border-radius: 12px; background: var(--panel, #fff); min-width: 0; }
.mpm-panel h4 { margin: 0 0 10px; font-size: 15px; font-weight: 650; }
.mpm-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 12px; }
.mpm-panel-head h4 { margin: 0; }
.mpm-notice { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0; padding: 10px 14px; border: 1px solid; border-radius: 10px; font-size: 13px; line-height: 1.55; }
.mpm-notice p { margin: 4px 0 0; }
.mpm-notice.info { border-color: #cbd9f2; background: #eef3fc; color: #23457f; }
.mpm-notice.ok { border-color: #bfdccb; background: #e9f5ee; color: #1f5a3f; }
.mpm-notice.bad { display: block; border-color: #efc2c0; background: #fbeceb; color: #7c2626; }
.mpm-notice.warn { border-color: #efd3ad; background: #fbf1e3; color: #6f420f; }
p.mpm-notice { display: block; }
.mpm-error { margin: 0 0 10px; padding: 8px 12px; border: 1px solid #efc2c0; border-radius: 8px; background: #fbeceb; color: #7c2626; font-size: 13px; }
.mpm-stale { margin: 0 0 10px; padding: 8px 12px; border: 1px dashed #d9b47a; border-radius: 8px; background: #fffaf2; color: #6f420f; font-size: 13px; }

/* 概览卡 */
.mpm-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.mpm-stat { display: grid; gap: 4px; padding: 16px 18px; border: 1px solid var(--line, #dce3ea); border-radius: 12px; background: #fff; }
.mpm-stat span { color: var(--muted, #6c7683); font-size: 13px; }
.mpm-stat strong { font-size: 24px; font-weight: 650; letter-spacing: -0.4px; font-variant-numeric: tabular-nums; }
.mpm-stat strong small { font-size: 13px; font-weight: 500; color: var(--muted, #6c7683); }
.mpm-stat small { color: var(--muted, #6c7683); font-size: 12px; }
.mpm-stat.warn { border-color: #efd3ad; background: #fffaf2; }

/* 筛选 */
.mpm-filterbar { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(2, minmax(140px, 1fr)) auto; align-items: end; gap: 12px; padding: 14px; margin-bottom: 12px; border-radius: 10px; background: #f6f8fa; }
.mpm-filterbar label { display: grid; gap: 6px; color: var(--muted-strong, #465160); font-size: 12px; }
.mpm-filterbar input { width: 100%; box-sizing: border-box; height: 38px; padding: 0 10px; border: 1px solid var(--line, #dce3ea); border-radius: 8px; background: #fff; color: var(--ink, #18202a); font: inherit; font-size: 14px; }
.mpm-filterbar input:focus-visible { outline: none; border-color: var(--blue, #2f64c8); box-shadow: var(--focus, 0 0 0 3px rgba(47, 100, 200, 0.2)); }
.mpm-filter-actions { display: flex; gap: 8px; }
.mpm-filters { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 3px; margin-bottom: 12px; border: 1px solid var(--line, #dce3ea); border-radius: 10px; background: #f6f8fa; }
.mpm-filter { padding: 6px 12px; border: 0; border-radius: 8px; background: none; color: var(--muted-strong, #465160); font: inherit; font-size: 13px; cursor: pointer; }
.mpm-filter[aria-pressed="true"] { background: #fff; color: var(--ink, #18202a); font-weight: 600; box-shadow: 0 0 0 1px var(--line, #dce3ea); }

/* 按钮 */
.mpm-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 16px; border: 1px solid var(--line, #dce3ea); border-radius: 8px; background: #fff; color: var(--ink, #18202a); font: inherit; font-size: 14px; font-weight: 500; white-space: nowrap; cursor: pointer; }
.mpm-btn:hover { border-color: #c6d0da; background: var(--panel-muted, #f7f9fb); }
.mpm-btn.primary { border-color: var(--blue, #2f64c8); background: var(--blue, #2f64c8); color: #fff; font-weight: 600; }
.mpm-btn.primary:hover { background: #244f9f; }
.mpm-btn.danger { border-color: #e2b4b2; color: var(--red, #b43d3d); }
.mpm-btn:disabled { cursor: not-allowed; border-color: var(--line, #dce3ea); background: #e9edf2; color: #8f99a5; }
.mpm-link, .mpm-back { padding: 0; border: 0; background: none; color: var(--blue, #2f64c8); font: inherit; font-size: 13px; cursor: pointer; text-align: left; }
.mpm-back { justify-self: start; }
.mpm-link:hover, .mpm-back:hover { text-decoration: underline; }
.mpm-btn:focus-visible, .mpm-link:focus-visible, .mpm-back:focus-visible, .mpm-filter:focus-visible, .mpm-tab:focus-visible, .mpm-tab-link:focus-visible { outline: none; box-shadow: var(--focus, 0 0 0 3px rgba(47, 100, 200, 0.2)); }
.mpm-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }

/* 表格 */
.mpm-table-wrap { overflow-x: auto; border: 1px solid var(--line, #dce3ea); border-radius: 10px; background: #fff; }
.mpm-root table.mpm-table { width: 100%; min-width: 0; border-collapse: collapse; font-size: 13px; }
.mpm-table th, .mpm-table td { padding: 10px 12px; border-bottom: 1px solid var(--line-soft, #e8edf2); text-align: left; vertical-align: middle; }
.mpm-table th { background: #f6f8fa; color: var(--muted, #6c7683); font-weight: 600; white-space: nowrap; }
.mpm-table th.mpm-num { text-align: right; }
.mpm-table tbody tr:last-child td { border-bottom: 0; }
.mpm-table tfoot td { background: #f6f8fa; font-weight: 600; border-bottom: 0; border-top: 1px solid var(--line, #dce3ea); }
.mpm-table td small { color: var(--muted, #6c7683); font-size: 12px; }
.mpm-compact th, .mpm-compact td { padding: 8px 10px; }
.mpm-empty { color: var(--muted, #6c7683); text-align: center !important; padding: 28px 12px !important; }
.mpm-pill { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px; border: 1px solid; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.mpm-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.mpm-pill.warn { border-color: #efd3ad; background: #fbf1e3; color: #6f420f; }
.mpm-pill.wait { border-color: #cbd9f2; background: #eef3fc; color: #23457f; }
.mpm-pill.ok { border-color: #bfdccb; background: #e9f5ee; color: #1f5a3f; }
.mpm-pill.bad { border-color: #efc2c0; background: #fbeceb; color: #7c2626; }
.mpm-pill.muted { border-color: var(--line, #dce3ea); background: #f1f4f7; color: #465160; }

/* 详情 */
.mpm-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); gap: 20px; align-items: start; }
.mpm-amount { display: grid; gap: 2px; margin: 8px 0 0; }
.mpm-amount span { color: var(--muted, #6c7683); font-size: 12px; }
.mpm-amount strong { font-size: 30px; font-weight: 600; letter-spacing: -0.6px; font-variant-numeric: tabular-nums; }
.mpm-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 10px 0 0; color: var(--muted-strong, #465160); font-size: 13px; }
.mpm-kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin: 0; padding-left: 20px; border-left: 1px solid var(--line, #dce3ea); }
.mpm-kv dt, .mpm-dl dt { color: var(--muted, #6c7683); font-size: 12px; }
.mpm-kv dd, .mpm-dl dd { margin: 2px 0 0; font-size: 14px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.mpm-dl { display: grid; gap: 8px; margin: 0; }
.mpm-dl div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 10px; }
.mpm-cols { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 14px; align-items: start; }
.mpm-col { display: grid; gap: 14px; min-width: 0; }
.mpm-aside { position: sticky; top: 16px; display: grid; gap: 10px; }
.mpm-aside h4 { margin-bottom: 0; }
.mpm-aside .mpm-actions { margin-top: 0; }
.mpm-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.mpm-list > li { padding-bottom: 10px; border-bottom: 1px solid var(--line-soft, #e8edf2); }
.mpm-list > li:last-child { border-bottom: 0; padding-bottom: 0; }
.mpm-list .mpm-line { margin: 0; }

/* 申请表单 */
.mpm-create { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line-soft, #e8edf2); border-radius: 10px; background: var(--panel-muted, #f7f9fb); }
.mpm-create h5 { margin: 0; font-size: 14px; }
.mpm-create .mpm-sub { margin: 0; }
.mpm-field { display: grid; gap: 6px; font-size: 13px; color: var(--muted-strong, #465160); }
.mpm-field > span { font-weight: 600; }
.mpm-field textarea, .mpm-field input[type="text"] { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid var(--line, #dce3ea); border-radius: 8px; background: #fff; font: inherit; font-size: 14px; color: var(--ink, #18202a); }
.mpm-field textarea { min-height: 72px; resize: vertical; }
.mpm-field textarea:focus-visible, .mpm-field input:focus-visible { outline: none; border-color: var(--blue, #2f64c8); box-shadow: var(--focus, 0 0 0 3px rgba(47, 100, 200, 0.2)); }
.mpm-field :disabled { background: #f1f4f7; color: #8f99a5; }

/* 进度 */
.mpm-steps { display: grid; gap: 10px; margin: 0; padding: 0 0 0 20px; list-style: none; border-left: 1px solid var(--line, #dce3ea); }
.mpm-steps li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 13px; }
.mpm-steps li > span { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--line, #dce3ea); border-radius: 50%; color: var(--muted, #6c7683); font-size: 12px; font-weight: 600; background: #fff; }
.mpm-steps li.done > span { border-color: var(--blue, #2f64c8); background: var(--blue, #2f64c8); color: #fff; }
.mpm-steps li.stop > span { border-color: #e2b4b2; background: #fbeceb; color: #7c2626; }
.mpm-steps strong { display: block; }
.mpm-steps small { color: var(--muted, #6c7683); font-size: 12px; }

/* 二次确认（默认焦点在取消） */
.mpm-confirm { display: grid; gap: 8px; padding: 14px; border: 1px solid #efd3ad; border-radius: 10px; background: #fffaf2; font-size: 13px; line-height: 1.6; }
.mpm-confirm h5 { margin: 0; font-size: 15px; }
.mpm-confirm p { margin: 0; }
.mpm-confirm-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #fbf1e3; color: #a96318; font-weight: 800; }
.mpm-btn.danger.primary, .mpm-confirm .mpm-btn.danger { border-color: var(--red, #b43d3d); background: var(--red, #b43d3d); color: #fff; }

.mpm-history { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.mpm-history li { display: grid; grid-template-columns: 130px auto 1fr; gap: 4px 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line-soft, #e8edf2); font-size: 13px; }
.mpm-history li:last-child { border-bottom: 0; padding-bottom: 0; }
.mpm-history li > span:first-child { color: var(--muted, #6c7683); text-align: left; }
.mpm-history p { grid-column: 2 / -1; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }

/* 审批设置 */
.mpm-modes { display: grid; gap: 10px; margin: 12px 0; }
.mpm-mode { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line, #dce3ea); border-radius: 10px; background: #fff; cursor: pointer; }
.mpm-mode input { margin-top: 3px; accent-color: var(--blue, #2f64c8); }
.mpm-mode small { display: block; margin-top: 2px; color: var(--muted, #6c7683); font-size: 12px; line-height: 1.5; }
.mpm-mode.selected { border-color: var(--blue, #2f64c8); background: #eef3fc; box-shadow: 0 0 0 1px var(--blue, #2f64c8) inset; }
.mpm-caps { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 13px; }
.mpm-caps li { display: flex; align-items: center; gap: 10px; }

@media (max-width: 1180px) {
  .mpm-cols { grid-template-columns: minmax(0, 1fr) 300px; }
  .mpm-head { grid-template-columns: 1fr; }
  .mpm-kv, .mpm-steps { padding-left: 0; border-left: 0; padding-top: 12px; border-top: 1px solid var(--line, #dce3ea); }
  .mpm-kv { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mpm-filterbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .mpm-filterbar .mpm-kw { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .mpm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mpm-cols { grid-template-columns: minmax(0, 1fr); }
  .mpm-aside { position: static; }
  .mpm-kv { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
[data-mpm-order-list] td:nth-child(2), [data-mpm-order-list] td:nth-child(8) { white-space: nowrap; }
