.wf-module { min-height:100%; background:var(--el-bg-color-page,#f5f7fa); color:var(--el-text-color-primary,#303133); }
.wf-page { box-sizing:border-box; padding:20px; min-height:calc(100vh - 100px); }
.wf-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:16px; }
.wf-header h1 { margin:0 0 6px; font-size:22px; font-weight:600; }
.wf-header p { margin:0; color:var(--el-text-color-secondary,#909399); font-size:13px; }
.wf-header-actions { display:flex; gap:10px; align-items:center; }
.wf-settings { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:12px 14px; margin:0 0 14px; border:1px solid var(--el-border-color-lighter,#ebeef5); background:#fff; color:var(--el-text-color-secondary,#909399); font-size:13px; }
.wf-settings label { display:flex; align-items:center; gap:8px; color:var(--el-text-color-primary,#303133); }
.wf-settings input,.wf-settings select { height:30px; border:1px solid var(--el-border-color,#dcdfe6); border-radius:4px; background:#fff; color:inherit; padding:0 9px; }
.wf-settings input { min-width:230px; }
.wf-settings span { color:var(--el-text-color-secondary,#909399); }
.wf-header-actions select,.wf-button { height:34px; border:1px solid var(--el-border-color,#dcdfe6); border-radius:4px; background:#fff; color:inherit; padding:0 12px; cursor:pointer; }
.wf-button--primary { color:#fff; border-color:var(--el-color-primary,#409eff); background:var(--el-color-primary,#409eff); }
.wf-button--small { height:28px; padding:0 8px; font-size:12px; }
.wf-button:disabled { opacity:.55; cursor:not-allowed; }
.wf-summary { display:flex; gap:28px; padding:12px 14px; border:1px solid var(--el-border-color-lighter,#ebeef5); border-radius:6px 6px 0 0; background:#fff; color:var(--el-text-color-secondary,#909399); font-size:13px; }
.wf-summary b { color:var(--el-color-primary,#409eff); font-size:18px; margin-left:5px; }
.wf-table-wrap { overflow:auto; border:1px solid var(--el-border-color-lighter,#ebeef5); border-top:0; background:#fff; }
.wf-table { width:100%; min-width:1050px; border-collapse:collapse; table-layout:fixed; }
.wf-table th,.wf-table td { padding:13px 12px; border-bottom:1px solid var(--el-border-color-lighter,#ebeef5); text-align:left; vertical-align:middle; font-size:13px; }
.wf-table th { background:#fafafa; color:var(--el-text-color-secondary,#606266); font-weight:500; }
.wf-table th:nth-child(1) { width:110px; }.wf-table th:nth-child(2) { width:175px; }.wf-table th:nth-child(3) { width:310px; }.wf-table th:nth-child(4) { width:100px; }.wf-table th:nth-child(5) { width:125px; }.wf-table th:nth-child(6) { width:145px; }.wf-table th:nth-child(7) { width:190px; }
.wf-table td > small,.wf-product small,.wf-table td small { display:block; margin-top:5px; color:var(--el-text-color-secondary,#909399); font-size:12px; }
.wf-product { display:flex; align-items:center; gap:10px; min-width:0; }.wf-product > span:last-child { min-width:0; }.wf-product b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500; }
.wf-product-image { width:64px; height:64px; flex:0 0 64px; border-radius:4px; object-fit:contain; background:#f5f7fa; }.wf-product-image--empty { display:grid; place-items:center; color:#a8abb2; font-size:12px; }.wf-product-image.is-broken { opacity:.25; }
.wf-status { display:inline-block; padding:3px 8px; border-radius:3px; border:1px solid #b3e19d; background:#f0f9eb; color:#67c23a; font-size:12px; }.wf-status--exception { border-color:#f5c2c7; background:#fef0f0; color:#f56c6c; }.wf-status--withdrawn { color:#909399; border-color:#dcdfe6; background:#f4f4f5; }
.wf-label-ready { color:#67c23a !important; }.wf-label-pending { color:#e6a23c !important; }
.wf-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }.wf-link { border:0; padding:0; background:transparent; color:var(--el-color-primary,#409eff); cursor:pointer; font-size:12px; }
.wf-empty { height:180px; text-align:center !important; color:var(--el-text-color-secondary,#909399); }
.wf-toast { position:fixed; z-index:3000; top:18px; left:50%; transform:translateX(-50%); padding:10px 18px; border-radius:4px; color:#fff; background:rgba(48,49,51,.92); box-shadow:0 4px 12px rgba(0,0,0,.15); }
.wf-menu.is-active { color:var(--el-color-primary,#409eff) !important; background:var(--el-color-primary-light-9,#ecf5ff) !important; }
.wf-menu-icon { display:inline-block; width:24px; color:var(--el-color-primary,#409eff); }
@media (max-width:700px) { .wf-page { padding:12px; }.wf-header { flex-direction:column; }.wf-header-actions { width:100%; }.wf-header-actions select { flex:1; }.wf-table { min-width:900px; } }
