*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,Segoe UI,Microsoft YaHei,sans-serif;background:#f5f7fa;color:#1f2d3d;font-size:14px}a{color:#2f6fed;cursor:pointer}.app-shell{min-height:100vh;display:flex}.app-side{width:200px;flex-shrink:0;background:#fff;border-right:1px solid #e3e8ef;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.side-logo{height:56px;display:flex;align-items:center;padding:0 20px;font-weight:600;font-size:15px;color:#2f6fed;border-bottom:1px solid #eef1f5}.side-nav{flex:1;padding:12px 0;overflow-y:auto}.nav-group{padding:14px 20px 6px;font-size:12px;color:#9aa8b8}.nav-item{display:flex;align-items:center;gap:8px;padding:9px 20px;text-decoration:none;font-size:14px;color:#5a6b7b;border-left:3px solid transparent}.nav-item:hover{background:#f5f8ff}.nav-text{color:#33475b}.nav-dot{width:8px;height:8px;border-radius:50%;background:#d5dde6;flex-shrink:0}.nav-dot.on{background:#2f6fed}.side-foot{padding:12px 20px;font-size:12px;color:#9aa8b8;border-top:1px solid #eef1f5}.app-main{flex:1;padding:24px;min-width:0}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border:1px solid #d5dde6;border-radius:4px;background:#fff;color:#33475b;font-size:13px;cursor:pointer}.btn:hover{border-color:#2f6fed;color:#2f6fed}.btn.primary{background:#2f6fed;border-color:#2f6fed;color:#fff}.btn.primary:hover{background:#4a82f0}.btn.danger{color:#d03050}.btn.danger:hover{border-color:#d03050}.btn.small{padding:3px 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed}.panel{background:#fff;border:1px solid #e3e8ef;border-radius:4px;padding:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.hint{font-size:12px;color:#9aa8b8}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{background:#f0f4ff;color:#33475b;font-weight:600;padding:8px 10px;border:1px solid #e3e8ef;text-align:left;white-space:nowrap}.data-table td{padding:8px 10px;border:1px solid #eef1f5;color:#33475b}.data-table tbody tr:hover td{background:#f7f9fc}.table-wrap{overflow-x:auto}.total-line{margin-top:12px;text-align:right;font-size:13px;color:#5a6b7b}.blue{color:#2f6fed;font-weight:700}.green{color:#18a058;font-weight:700}.red{color:#d03050;font-weight:700}.orange{color:#f08c00;font-weight:700}.op-link{color:#2f6fed;cursor:pointer;margin-right:12px;font-size:13px}.op-link.danger{color:#d03050}.badge{padding:2px 10px;border-radius:10px;font-size:12px}.badge.green{background:#e6f7ec;color:#18a058}.badge.gray{background:#f0f2f5;color:#8a97a5}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:#fff;border-radius:6px;width:520px;max-width:94vw;max-height:88vh;overflow:auto;box-shadow:0 10px 40px #0000002e}.modal-head{padding:14px 18px;border-bottom:1px solid #eef1f5;font-weight:600;font-size:15px}.modal-body{padding:16px 18px}.modal-foot{padding:12px 18px;border-top:1px solid #eef1f5;display:flex;justify-content:flex-end;gap:10px}.form-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.form-row label{width:90px;flex-shrink:0;font-size:13px;color:#5a6b7b}.form-row label.required:before{content:"* ";color:#d03050}.form-row input,.form-row select{flex:1;padding:6px 10px;border:1px solid #d5dde6;border-radius:4px;font-size:13px;background:#fff;color:#1f2d3d}.form-row input:focus,.form-row select:focus{outline:none;border-color:#2f6fed}.form-hint{font-size:12px;color:#9aa8b8;white-space:nowrap}.month-pick{display:flex;align-items:center;gap:8px}.month-pick .label{font-size:13px;color:#5a6b7b}.month-pick select{padding:5px 8px;border:1px solid #d5dde6;border-radius:4px;font-size:13px}.muted{color:#9aa8b8;font-size:12px;white-space:nowrap}.page{max-width:1200px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.page-title{margin:0;font-size:20px;color:#1f2d3d}.page-sub{margin:6px 0 0;color:#8a97a5;font-size:13px}.toast{position:fixed;top:20px;right:20px;z-index:2000;padding:10px 16px;border-radius:4px;color:#fff;font-size:13px;opacity:0;transform:translateY(-8px);transition:all .25s;box-shadow:0 4px 14px #00000026}.toast.show{opacity:1;transform:none}.toast-success{background:#18a058}.toast-error{background:#d03050}.toast-warning{background:#f08c00}.login-wrap[data-v-9fb7caf3]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef3ff,#f5f7fa 60%)}.login-card[data-v-9fb7caf3]{width:380px;max-width:92vw;background:#fff;border:1px solid #e3e8ef;border-radius:8px;padding:30px 28px;box-shadow:0 12px 40px #1f2d3d14}.login-logo[data-v-9fb7caf3]{font-size:22px;font-weight:700;color:#2f6fed;text-align:center}.login-sub[data-v-9fb7caf3]{text-align:center;color:#8a97a5;font-size:13px;margin:8px 0 22px}.login-form[data-v-9fb7caf3]{display:flex;flex-direction:column;gap:14px}.login-row[data-v-9fb7caf3]{display:flex;flex-direction:column;gap:6px}.login-row label[data-v-9fb7caf3]{font-size:13px;color:#5a6b7b}.login-row input[data-v-9fb7caf3]{padding:9px 12px;border:1px solid #d5dde6;border-radius:4px;font-size:14px;background:#fff;color:#1f2d3d}.login-row input[data-v-9fb7caf3]:focus{outline:none;border-color:#2f6fed}.login-btn[data-v-9fb7caf3]{margin-top:6px;padding:10px;border:none;border-radius:4px;background:#2f6fed;color:#fff;font-size:15px;cursor:pointer}.login-btn[data-v-9fb7caf3]:hover{background:#4a82f0}.login-btn[data-v-9fb7caf3]:disabled{opacity:.6;cursor:not-allowed}.login-err[data-v-9fb7caf3]{color:#d03050;font-size:13px;margin:4px 0 0;text-align:center}.pl-wrap[data-v-2277866e]{min-height:100vh;background:#f5f7fa}.pl-head[data-v-2277866e]{height:56px;background:#fff;border-bottom:1px solid #e3e8ef;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.pl-brand[data-v-2277866e]{font-weight:700;font-size:16px;color:#2f6fed}.pl-user[data-v-2277866e]{display:flex;align-items:center;gap:10px;font-size:13px}.pl-user-name[data-v-2277866e]{color:#33475b;font-weight:600}.pl-user-role[data-v-2277866e]{color:#8a97a5}.pl-main[data-v-2277866e]{max-width:1100px;margin:0 auto;padding:28px 24px}.pl-title-row[data-v-2277866e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.pl-title[data-v-2277866e]{margin:0;font-size:20px;color:#1f2d3d}.pl-tip[data-v-2277866e]{color:#8a97a5;padding:40px 0;text-align:center}.pl-empty[data-v-2277866e]{text-align:center;color:#5a6b7b;padding:60px 0}.pl-tip-sub[data-v-2277866e]{color:#9aa8b8;font-size:13px}.pl-grid[data-v-2277866e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.pl-card[data-v-2277866e]{background:#fff;border:1px solid #e3e8ef;border-radius:6px;padding:16px;cursor:pointer;transition:box-shadow .2s,transform .2s}.pl-card[data-v-2277866e]:hover{box-shadow:0 8px 24px #1f2d3d1a;transform:translateY(-2px);border-color:#c9d6ea}.pl-card-top[data-v-2277866e]{display:flex;align-items:center;justify-content:space-between}.pl-card-ops[data-v-2277866e]{display:flex;align-items:center;gap:8px}.pl-card-name[data-v-2277866e]{font-size:16px;font-weight:700;color:#1f2d3d}.pl-card-role[data-v-2277866e]{font-size:12px;padding:2px 10px;border-radius:10px;background:#e6f7ec;color:#18a058}.pl-card-role.all[data-v-2277866e]{background:#eef3ff;color:#2f6fed}.pl-del[data-v-2277866e]{font-size:12px;color:#d03050;cursor:pointer;padding:2px 6px;border:1px solid #f0c4c4;border-radius:4px}.pl-del[data-v-2277866e]:hover{background:#fdecec}.pl-card-meta[data-v-2277866e]{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:13px;color:#5a6b7b}.pl-card-meta i[data-v-2277866e]{font-style:normal;color:#9aa8b8;margin-right:4px}.pl-card-intro[data-v-2277866e]{margin:10px 0 0;font-size:13px;color:#6b7886;line-height:1.6;max-height:42px;overflow:hidden}.pl-card-foot[data-v-2277866e]{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid #eef1f5;font-size:13px}.pl-card-month[data-v-2277866e]{color:#8a97a5}.pl-enter[data-v-2277866e]{color:#2f6fed;font-weight:600}.ug-wrap[data-v-f36ad295]{min-height:100vh;background:#f5f7fa}.ug-head[data-v-f36ad295]{height:56px;background:#fff;border-bottom:1px solid #e3e8ef;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.ug-brand[data-v-f36ad295]{font-weight:700;font-size:16px;color:#2f6fed}.ug-user[data-v-f36ad295]{display:flex;align-items:center;gap:10px;font-size:13px}.ug-user-name[data-v-f36ad295]{color:#33475b;font-weight:600}.ug-user-role[data-v-f36ad295]{color:#8a97a5}.ug-main[data-v-f36ad295]{max-width:1000px;margin:0 auto;padding:28px 24px 60px}.ug-title[data-v-f36ad295]{margin:0;font-size:20px;color:#1f2d3d}.ug-sub[data-v-f36ad295]{margin:6px 0 20px;color:#8a97a5;font-size:13px}.ug-sec-head[data-v-f36ad295]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ug-sec-head .sec[data-v-f36ad295]{margin:0}.ug-pick[data-v-f36ad295]{padding:5px 8px;border:1px solid #d5dde6;border-radius:4px;font-size:13px;background:#fff}.ug-add-row[data-v-f36ad295]{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.ug-hint[data-v-f36ad295]{margin-top:10px;font-size:12px;color:#9aa8b8}.panel+.panel[data-v-f36ad295]{margin-top:20px}.badge.red[data-v-f36ad295]{background:#fdecec;color:#d03050}.badge.blue[data-v-f36ad295]{background:#eef3ff;color:#2f6fed}.badge.orange[data-v-f36ad295]{background:#fff4e6;color:#f08c00}.badge.proj[data-v-f36ad295]{background:#eef7ff;color:#1475cf}.app-shell[data-v-b21d834a]{min-height:100vh;display:flex}.app-side[data-v-b21d834a]{width:200px;flex-shrink:0;background:#fff;border-right:1px solid #e3e8ef;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.side-logo[data-v-b21d834a]{height:56px;display:flex;align-items:center;padding:0 20px;font-weight:600;font-size:15px;color:#2f6fed;border-bottom:1px solid #eef1f5}.side-proj[data-v-b21d834a]{padding:10px 20px;font-size:13px;color:#33475b;background:#f7f9fc;border-bottom:1px solid #eef1f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-nav[data-v-b21d834a]{flex:1;padding:12px 0;overflow-y:auto}.nav-group[data-v-b21d834a]{padding:14px 20px 6px;font-size:12px;color:#9aa8b8}.nav-item[data-v-b21d834a]{display:flex;align-items:center;gap:8px;padding:9px 20px;text-decoration:none;font-size:14px;color:#5a6b7b;border-left:3px solid transparent}.nav-item[data-v-b21d834a]:hover{background:#f5f8ff}.nav-item.active[data-v-b21d834a]{background:#eef3ff;border-left-color:#2f6fed;color:#2f6fed}.nav-text[data-v-b21d834a]{color:inherit}.nav-dot[data-v-b21d834a]{width:8px;height:8px;border-radius:50%;background:#d5dde6;flex-shrink:0}.nav-dot.on[data-v-b21d834a]{background:#2f6fed}.side-foot[data-v-b21d834a]{padding:12px 20px;font-size:12px;color:#9aa8b8;border-top:1px solid #eef1f5}.side-foot-link[data-v-b21d834a]{color:#2f6fed;cursor:pointer}.side-foot-link[data-v-b21d834a]:hover{text-decoration:underline}.app-main[data-v-b21d834a]{flex:1;min-width:0;display:flex;flex-direction:column}.top-bar[data-v-b21d834a]{height:56px;background:#fff;border-bottom:1px solid #e3e8ef;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.top-proj[data-v-b21d834a]{font-size:16px;font-weight:700;color:#1f2d3d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-user[data-v-b21d834a]{display:flex;align-items:center;gap:10px;font-size:13px}.top-user-name[data-v-b21d834a]{color:#33475b;font-weight:600}.top-user-role[data-v-b21d834a]{color:#8a97a5}.top-user-pr[data-v-b21d834a]{color:#2f6fed;background:#eef3ff;padding:2px 8px;border-radius:10px;font-size:12px}.top-body[data-v-b21d834a]{padding:24px;flex:1}.page[data-v-4b5f6596]{max-width:1280px}.page-head[data-v-4b5f6596]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.page-title[data-v-4b5f6596]{margin:0;font-size:20px;color:#1f2d3d}.page-sub[data-v-4b5f6596]{margin:6px 0 0;color:#8a97a5;font-size:13px}.month-pick[data-v-4b5f6596]{display:flex;align-items:center;gap:8px}.month-pick .label[data-v-4b5f6596]{font-size:13px;color:#5a6b7b}.proj-info[data-v-4b5f6596]{background:#fff;border:1px solid #e3e8ef;border-radius:4px;padding:14px 16px;margin-bottom:16px}.proj-info-head[data-v-4b5f6596]{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}.proj-name[data-v-4b5f6596]{font-size:17px;font-weight:700;color:#1f2d3d}.proj-meta[data-v-4b5f6596]{display:flex;flex-wrap:wrap;gap:6px 16px}.proj-meta span[data-v-4b5f6596]{font-size:13px;color:#5a6b7b}.proj-meta i[data-v-4b5f6596]{font-style:normal;color:#9aa8b8;margin-right:4px}.proj-intro[data-v-4b5f6596]{margin:10px 0 0;font-size:13px;line-height:1.7;color:#6b7886;white-space:pre-wrap}.kpi-card.main.second[data-v-4b5f6596]{padding:10px 14px;gap:3px}.kpi-card.main.second .num[data-v-4b5f6596]{font-size:20px}.kpi-card.main.second .sub[data-v-4b5f6596]{font-size:11px}.kpi-main[data-v-4b5f6596]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.kpi-main.five[data-v-4b5f6596]{grid-template-columns:repeat(5,1fr)}.kpi-card[data-v-4b5f6596]{background:#fff;border:1px solid #e3e8ef;border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-card.main .lab[data-v-4b5f6596]{font-size:13px;color:#8a97a5}.kpi-card.main .num[data-v-4b5f6596]{font-size:28px;font-weight:700;color:#1f2d3d}.kpi-card.main .sub[data-v-4b5f6596]{font-size:12px;color:#b0bcc9}.kpi-sub[data-v-4b5f6596]{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}.kpi-card.sub[data-v-4b5f6596]{flex-direction:row;align-items:baseline;justify-content:space-between;padding:10px 12px}.kpi-card.sub .lab[data-v-4b5f6596]{font-size:12px;color:#8a97a5}.kpi-card.sub .num.sm[data-v-4b5f6596]{font-size:16px;font-weight:700;color:#1f2d3d}.charts-row[data-v-4b5f6596]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px}.panel[data-v-4b5f6596]{background:#fff;border:1px solid #e3e8ef;border-radius:4px;padding:14px}.panel h3[data-v-4b5f6596]{margin:0 0 10px;font-size:14px;color:#1f2d3d}.panel-head[data-v-4b5f6596]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-head h3[data-v-4b5f6596]{margin:0}.chart[data-v-4b5f6596]{width:100%;height:300px}.chart.scrollable[data-v-4b5f6596]{overflow-y:auto}.chart.trend[data-v-4b5f6596]{height:300px}.chart-head-total[data-v-4b5f6596]{font-size:13px;color:#2f6fed;font-weight:700;padding:2px 10px;background:#f0f5ff;border-radius:4px;white-space:nowrap}.page[data-v-f6a8d7a3]{max-width:1280px}.page-head[data-v-f6a8d7a3]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.page-title[data-v-f6a8d7a3]{margin:0;font-size:20px;color:#1f2d3d}.page-sub[data-v-f6a8d7a3]{margin:6px 0 0;color:#8a97a5;font-size:13px}.month-pick[data-v-f6a8d7a3]{display:flex;align-items:center;gap:8px}.month-pick .label[data-v-f6a8d7a3]{font-size:13px;color:#5a6b7b}.kpi-card.main.second[data-v-f6a8d7a3]{padding:10px 14px;gap:3px}.kpi-card.main.second .num[data-v-f6a8d7a3]{font-size:20px}.kpi-card.main.second .sub[data-v-f6a8d7a3]{font-size:11px}.kpi-main[data-v-f6a8d7a3]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.kpi-main.five[data-v-f6a8d7a3]{grid-template-columns:repeat(5,1fr)}.kpi-card[data-v-f6a8d7a3]{background:#fff;border:1px solid #e3e8ef;border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-card.main .lab[data-v-f6a8d7a3]{font-size:13px;color:#8a97a5}.kpi-card.main .num[data-v-f6a8d7a3]{font-size:28px;font-weight:700;color:#1f2d3d}.kpi-card.main .sub[data-v-f6a8d7a3]{font-size:12px;color:#b0bcc9}.kpi-sub[data-v-f6a8d7a3]{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}.kpi-card.sub[data-v-f6a8d7a3]{flex-direction:row;align-items:baseline;justify-content:space-between;padding:10px 12px}.kpi-card.sub .lab[data-v-f6a8d7a3]{font-size:12px;color:#8a97a5}.kpi-card.sub .num.sm[data-v-f6a8d7a3]{font-size:16px;font-weight:700;color:#1f2d3d}.charts-row[data-v-f6a8d7a3]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px}.panel[data-v-f6a8d7a3]{background:#fff;border:1px solid #e3e8ef;border-radius:4px;padding:14px}.panel h3[data-v-f6a8d7a3]{margin:0 0 10px;font-size:14px;color:#1f2d3d}.panel-head[data-v-f6a8d7a3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-head h3[data-v-f6a8d7a3]{margin:0}.chart-head-total[data-v-f6a8d7a3]{font-size:13px;color:#2f6fed;font-weight:700;padding:2px 10px;background:#f0f5ff;border-radius:4px;white-space:nowrap}.chart[data-v-f6a8d7a3]{width:100%;height:300px}.chart.scrollable[data-v-f6a8d7a3]{overflow-y:auto}.chart.trend[data-v-f6a8d7a3]{height:300px}.search[data-v-1d1eeabc]{padding:5px 10px;border:1px solid #d5dde6;border-radius:4px;font-size:13px;width:200px}.search[data-v-1d1eeabc]:focus{outline:none;border-color:#2f6fed}.head-right[data-v-c39970c4]{display:flex;align-items:center;gap:12px}.upload-zone[data-v-c39970c4]{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.upload-zone input[type=file][data-v-c39970c4]{font-size:12px}.receipt-ok[data-v-c39970c4]{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#5a6b7b}.source-line[data-v-c39970c4]{display:flex;align-items:center;gap:18px;padding:8px 16px;font-size:13px;border-top:1px dashed #e3e9f0;background:#fbfcfe}.source-line.cum[data-v-c39970c4]{background:#f4f7fb}.sl-title[data-v-c39970c4]{color:#5a6b7b;font-weight:600}.sl-item[data-v-c39970c4]{color:#5a6b7b}.dim[data-v-c39970c4]{color:#9aa8b8}.lb-mask[data-v-c39970c4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e16d1;display:flex;align-items:center;justify-content:center;z-index:1500;padding:24px}.lb-box[data-v-c39970c4]{background:#101828;border-radius:8px;max-width:96vw;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.lb-head[data-v-c39970c4]{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.12)}.lb-name[data-v-c39970c4]{color:#e5e9f0;font-size:13px;word-break:break-all}.lb-dl[data-v-c39970c4]{color:#8fb3ff;font-size:13px;text-decoration:none;white-space:nowrap}.lb-dl[data-v-c39970c4]:hover{color:#b9d0ff;text-decoration:underline}.lb-close[data-v-c39970c4]{background:none;border:none;color:#9aa8b8;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px}.lb-close[data-v-c39970c4]:hover{color:#fff;background:#ffffff1f}.lb-body[data-v-c39970c4]{display:flex;align-items:center;justify-content:center;min-height:0}.lb-img[data-v-c39970c4]{max-width:94vw;max-height:calc(92vh - 46px);object-fit:contain;cursor:zoom-out}.lb-pdf[data-v-c39970c4]{width:94vw;height:calc(92vh - 46px);border:none;background:#fff}.head-right[data-v-e94fdf53]{display:flex;align-items:center;gap:12px}.cell[data-v-e94fdf53]{width:92px;padding:5px 8px;border:1px solid #d5dde6;border-radius:4px;font-size:13px}.cell[data-v-e94fdf53]:focus{outline:none;border-color:#2f6fed}.ro[data-v-e94fdf53]{color:#5a6b7b;background:#f5f7fa}.ro.auto[data-v-e94fdf53]{font-weight:700;color:#2f6fed}.head-right[data-v-cc5f0f5d]{display:flex;align-items:center;gap:12px}.kpi-row[data-v-f078d118]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.kpi-card[data-v-f078d118]{background:#fff;border:1px solid #e3e8ef;border-radius:4px;padding:16px;display:flex;flex-direction:column;gap:6px}.kpi-card .lab[data-v-f078d118]{font-size:13px;color:#8a97a5}.kpi-card b[data-v-f078d118]{font-size:22px}.out-val[data-v-f078d118]{display:flex;align-items:center;gap:10px}.out-form[data-v-f078d118]{display:flex;align-items:center;gap:8px;margin-top:4px}.out-form input[data-v-f078d118]{flex:1;min-width:0;padding:6px 10px;border:1px solid #d5dde6;border-radius:4px;font-size:13px}.out-form input[data-v-f078d118]:focus{outline:none;border-color:#2f6fed}.btn.small[data-v-f078d118]{padding:3px 10px;font-size:12px}.panel[data-v-e7e046b0]{margin-bottom:16px}.sec[data-v-e7e046b0]{margin:0 0 12px;font-size:15px;color:#1f2d3d}.page[data-v-b7aad1b8]{max-width:1280px}.head-right[data-v-b7aad1b8]{display:flex;align-items:center;gap:12px}.hint[data-v-b7aad1b8]{font-size:13px;color:#5a6b7b}.tip[data-v-b7aad1b8]{margin-top:12px;font-size:12px;color:#9aa8b8}.page[data-v-ec054c11]{max-width:1100px}.cur[data-v-ec054c11]{font-size:13px;color:#5a6b7b}.doc-sec[data-v-ec054c11]{margin-bottom:22px}.doc-h[data-v-ec054c11]{font-size:17px;color:#1f2d3d;border-left:4px solid #2F6FED;padding-left:10px;margin:0 0 14px}.doc-note[data-v-ec054c11]{font-size:13px;color:#8a97a5;margin:0 0 14px}.sub[data-v-ec054c11]{font-size:15px;color:#2f3b4a;margin:18px 0 10px}.sub.red[data-v-ec054c11],.rl[data-v-ec054c11]{color:#d03050}.panel[data-v-ec054c11]{background:#fff;border:1px solid #e3e8ef;border-radius:4px;padding:14px 16px;margin-bottom:14px}.stage[data-v-ec054c11]{margin:0 0 12px;font-size:14px;color:#33475b}.step[data-v-ec054c11]{display:flex;align-items:center;gap:12px;padding:10px 8px;border-bottom:1px solid #f0f2f5}.step[data-v-ec054c11]:last-child{border-bottom:none}.step.checked[data-v-ec054c11]{opacity:.5}.step.checked .step-text[data-v-ec054c11]{text-decoration:line-through}.no[data-v-ec054c11]{width:26px;height:26px;border-radius:50%;background:#eef2fb;color:#2f6fed;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.step-body[data-v-ec054c11]{flex:1}.step-text[data-v-ec054c11]{font-size:14px;color:#33475b}.step-tip[data-v-ec054c11]{font-size:12px;color:#9aa8b8;margin-top:2px}.role[data-v-ec054c11]{font-size:12px;color:#8a97a5;background:#f0f2f5;padding:2px 8px;border-radius:10px;white-space:nowrap}.doc-ul[data-v-ec054c11]{margin:0 0 6px;padding-left:22px}.doc-ul li[data-v-ec054c11]{font-size:13.5px;color:#44525f;line-height:1.95}.doc-ul code[data-v-ec054c11],.mod-use code[data-v-ec054c11]{background:#f0f4ff;color:#2f6fed;padding:1px 6px;border-radius:3px;font-size:12px}.doc-ul b[data-v-ec054c11]{color:#2f3b4a}.red-list[data-v-ec054c11]{margin:0 0 6px;padding-left:22px}.red-list li[data-v-ec054c11]{font-size:13.5px;color:#c0392b;line-height:2;font-weight:500}.mod[data-v-ec054c11]{background:#fff;border:1px solid #e3e8ef;border-radius:4px;padding:14px 16px;margin-bottom:12px}.mod-h[data-v-ec054c11]{margin:0 0 6px;font-size:14.5px;color:#2f6fed}.mod-use[data-v-ec054c11]{font-size:13px;color:#8a97a5;margin:0 0 8px}.mod-use b[data-v-ec054c11]{color:#5a6b7b}.formula-table[data-v-ec054c11]{border:1px solid #e3e8ef;border-radius:4px;overflow:hidden}.f-row[data-v-ec054c11]{display:grid;grid-template-columns:150px 1fr 220px;gap:0;border-bottom:1px solid #eef1f5;font-size:13px}.f-row[data-v-ec054c11]:last-child{border-bottom:none}.f-row>span[data-v-ec054c11]{padding:9px 12px;border-right:1px solid #eef1f5;color:#44525f}.f-row>span[data-v-ec054c11]:last-child{border-right:none}.f-name[data-v-ec054c11]{font-weight:600;color:#1f2d3d;background:#fafbfd}.f-eq[data-v-ec054c11]{font-family:SFMono-Regular,Consolas,monospace;color:#2f6fed;word-break:break-word}.f-memo[data-v-ec054c11]{color:#8a97a5}.f-head[data-v-ec054c11]{background:#f0f4ff}.f-head>span[data-v-ec054c11]{font-weight:700;color:#33475b}.f-row.hl[data-v-ec054c11]{background:#fffbf0}.f-row.hl .f-name[data-v-ec054c11]{color:#f08c00}.sec[data-v-d1d0e0d4]{margin:0 0 12px;font-size:15px;color:#1f2d3d}.tip[data-v-d1d0e0d4]{font-size:12px;color:#9aa8b8;margin:0 0 12px}.form-grid[data-v-d1d0e0d4]{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-row[data-v-d1d0e0d4]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.form-row.full[data-v-d1d0e0d4]{grid-column:1 / -1}.form-row label[data-v-d1d0e0d4]{width:110px;flex-shrink:0;font-size:13px;color:#5a6b7b}.form-row input[data-v-d1d0e0d4],.form-row textarea[data-v-d1d0e0d4]{flex:1;padding:6px 10px;border:1px solid #d5dde6;border-radius:4px;font-size:13px;background:#fff;color:#1f2d3d;font-family:inherit}.form-row input[data-v-d1d0e0d4]:focus,.form-row textarea[data-v-d1d0e0d4]:focus{outline:none;border-color:#2f6fed}.panel-foot[data-v-d1d0e0d4]{margin-top:8px;text-align:right}.cell-input[data-v-d1d0e0d4]{padding:4px 8px;border:1px solid #d5dde6;border-radius:4px;font-size:13px;width:200px}.add-row[data-v-d1d0e0d4]{display:flex;align-items:center;gap:10px;margin-top:12px}
