/* 百分比商城后台公共结构与组件：bpds-* 仅限管理后台，不影响产品工作台 wb-*、用户端。 */
.bpds-shell,.bp-demo{--bpds-brand:#0d7839;--bpds-text:#24382e;--bpds-muted:#72857a;--bpds-border:#e3eae5;--bpds-subtle:#f5f8f6;--bpds-radius:9px}
.bpds-shell .bpds-page{min-width:0}
.bpds-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.bpds-heading h1{font-size:24px;line-height:1.35;font-weight:750;color:#20392c;margin:0}
.bpds-heading p{font-size:12px;color:#6f8075;margin:7px 0 0;line-height:1.65}
.bpds-breadcrumb{font-size:12px;color:#7c9083;margin-bottom:9px}
.bpds-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.bpds-panel{background:#fff;border:1px solid var(--bpds-border,#e3eae5);border-radius:var(--bpds-radius,9px);box-shadow:0 4px 18px #254e3406;overflow:hidden}
.bpds-panel-head{min-height:54px;padding:16px 19px;display:flex;gap:14px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bpds-border,#e3eae5)}
.bpds-panel-head strong{color:#2a4133;font-size:14px}
.bpds-panel-head small{font-size:12px;color:#7e8e82}
.bpds-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;background:#fff;border-bottom:1px solid var(--bpds-border,#e3eae5);padding:16px 20px}
.bpds-filter :is(input,select){border-radius:7px;border:1px solid #dce8de;background:#fff;min-height:37px;color:#263a2e}
.bpds-table{overflow-x:auto}
.bpds-table table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.bpds-table th{background:#f7faf8;padding:13px 15px;color:#6f8075;font-weight:650;white-space:nowrap;border-bottom:1px solid var(--bpds-border,#e3eae5)}
.bpds-table td{padding:14px 15px;color:#30443b;border-top:1px solid #edf2ee;vertical-align:middle}
.bpds-table tbody tr:hover{background:#fbfdfb}
.bpds-table .actions-cell :is(button,a){color:#0d7839;font-weight:650;border-radius:5px}
.bpds-tablefoot{display:flex;gap:10px;justify-content:space-between;align-items:center;color:#768b7e;font-size:12px;background:#fff;padding:13px 16px;border-top:1px solid var(--bpds-border,#e3eae5)}
.bpds-tabs{display:flex;align-items:center;gap:21px;border-bottom:1px solid var(--bpds-border,#e3eae5)}
.bpds-tabs>button{border-bottom:2px solid transparent;white-space:nowrap}
.bpds-tabs>button.active{color:#0d7839;border-bottom-color:#0d7839}
.bpds-form-section,.bpds-detail-section{padding:18px 22px;border-bottom:1px solid #eaf0eb;background:#fff}
.bpds-section-heading{display:flex;align-items:baseline;gap:15px;border-bottom:1px solid #edf1ed;padding-bottom:14px;margin-bottom:17px}
.bpds-section-heading strong,.bpds-detail-section h3{font-size:14px;margin:0;color:#2b4935}
.bpds-section-heading small{font-size:12px;color:#7e9081}
.bpds-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:99px;background:#e8f6ed;color:#0d7839;font-size:11px;white-space:nowrap}
.bpds-tag.wait{background:#fff3e6;color:#99621d}.bpds-tag.muted{background:#eef2f3;color:#667981}.bpds-tag.error{background:#fff0ed;color:#bf503c}
.bpds-editor{display:grid;grid-template-columns:minmax(170px,210px) minmax(300px,1fr) minmax(240px,280px);gap:12px;min-width:0;background:#f0f4f1;padding:14px}
.bpds-editor > *{min-width:0;border:1px solid var(--bpds-border,#e3eae5);background:#fff;border-radius:8px;overflow:auto}
.bpds-editor-canvas{background:#e9eeea;display:flex;justify-content:center}
.bpds-editor-page .dz-editor,.bpds-editor-page .dz-editor-shell{min-width:0}
@media(max-width:900px){.bpds-heading{flex-wrap:wrap}.bpds-editor{grid-template-columns:160px minmax(0,1fr)}.bpds-editor-properties{grid-column:1/-1}}
@media(max-width:580px){.bpds-heading h1{font-size:20px}.bpds-filter{padding:12px;gap:9px}.bpds-editor{grid-template-columns:1fr}.bpds-editor-properties{grid-column:auto}.bpds-table{overflow:auto}}

/* 同类管理后台固定视觉基线；独立业务仍按 PRD 排布。 */
.bpds-tabs>button{border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;box-shadow:none;padding:0 2px;min-height:48px;color:#65796c;cursor:pointer;font-size:13px}
.bpds-tabs>button.active{border-bottom-color:#0d7839;color:#0d7839;font-weight:700}
.bpds-tabs>button:hover:not(.active){color:#0d7839}
.bpds-tabs>button:focus-visible{outline:2px solid #96d4ad;outline-offset:2px}
@media(min-width:901px){
 .bpds-shell.bp-admin-shell.dz-admin-layout,
 .bpds-shell.bp-admin-shell.admin-layout:not(.collapsed){grid-template-columns:204px minmax(0,1fr)}
}
