.login-wrap[data-v-dc8b8573]{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 20% 20%,rgba(18,89,168,.25),transparent 60%),radial-gradient(ellipse at 80% 90%,rgba(24,160,88,.15),transparent 55%),linear-gradient(160deg,#0c2547,#123b6d 60%,#0e2f58)}.login-box[data-v-dc8b8573]{width:380px;background:#fff;border-radius:12px;padding:34px 38px 22px;box-shadow:0 18px 50px #04142e73}.login-title[data-v-dc8b8573]{text-align:center;margin-bottom:24px}.login-title h1[data-v-dc8b8573]{font-size:22px;color:var(--c-primary);letter-spacing:2px}.login-title p[data-v-dc8b8573]{margin-top:6px;color:var(--c-text-dim);font-size:13px}form[data-v-dc8b8573]{display:flex;flex-direction:column;gap:8px}label[data-v-dc8b8573]{font-size:12px;color:var(--c-text-dim)}.login-btn[data-v-dc8b8573]{margin-top:14px;padding:9px 0;font-size:15px;letter-spacing:6px}.login-error[data-v-dc8b8573]{color:var(--c-alarm);font-size:12px}.login-foot[data-v-dc8b8573]{margin-top:18px;text-align:center;color:#b3bfd0;font-size:11px}@media(max-width:768px){.login-wrap[data-v-dc8b8573]{padding:16px}.login-box[data-v-dc8b8573]{width:100%;max-width:380px;padding:28px 22px 18px}.login-title h1[data-v-dc8b8573]{font-size:19px;letter-spacing:1px}}.layout[data-v-8215c207]{height:100%;display:flex;flex-direction:column}.topbar[data-v-8215c207]{height:52px;background:linear-gradient(90deg,#0d3465,#1259a8);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;flex-shrink:0}.menu-toggle[data-v-8215c207]{display:none;background:transparent;border:none;color:#fff;font-size:20px;line-height:1;padding:10px 12px;margin-left:-8px;flex-shrink:0}.brand-name[data-v-8215c207]{font-size:17px;font-weight:600;letter-spacing:1px}.brand-sub[data-v-8215c207]{margin-left:10px;font-size:12px;opacity:.75}.top-right[data-v-8215c207]{display:flex;align-items:center;gap:12px}.user[data-v-8215c207]{font-size:13px}.user .role[data-v-8215c207]{font-style:normal;font-size:11px;opacity:.75;margin-left:4px}.top-right .btn[data-v-8215c207]{background:transparent;color:#fff;border-color:#fff6}.bell[data-v-8215c207]{position:relative;background:transparent;border:none;color:#fff;padding:6px;display:flex;align-items:center}.bell-icon[data-v-8215c207]{width:20px;height:20px;opacity:.9}.bell:hover .bell-icon[data-v-8215c207]{opacity:1}.bell-badge[data-v-8215c207]{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#d03050;color:#fff;font-size:10px;line-height:16px;text-align:center}.body[data-v-8215c207]{flex:1;display:flex;min-height:0}.sider[data-v-8215c207]{width:208px;background:#122a47;color:#c8d5e5;display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}nav[data-v-8215c207]{flex:1;padding:8px 0}.menu-item[data-v-8215c207]{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:13px;cursor:pointer;border-left:3px solid transparent}.menu-item[data-v-8215c207]:hover{background:#ffffff0f;color:#fff}.menu-item.active[data-v-8215c207]{background:#1259a873;border-left-color:#4da3ff;color:#fff}.menu-item.dim[data-v-8215c207]{opacity:.62}.menu-code[data-v-8215c207]{font-size:11px;color:#7d95b5;width:30px;flex-shrink:0}.menu-name[data-v-8215c207]{flex:1}.menu-flag[data-v-8215c207]{font-size:10px;color:#8ea7c5;border:1px solid #3a5578;border-radius:8px;padding:0 5px}.sider-foot[data-v-8215c207]{padding:10px 14px;font-size:11px;color:#62789a;line-height:1.7}.content[data-v-8215c207]{flex:1;overflow:auto;padding:16px 18px;min-width:0}.sider-mask[data-v-8215c207]{display:none}@media(max-width:768px){.menu-toggle[data-v-8215c207]{display:block}.topbar[data-v-8215c207]{padding:0 12px;gap:6px}.brand[data-v-8215c207]{min-width:0;overflow:hidden}.brand-name[data-v-8215c207]{display:block;font-size:15px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-sub[data-v-8215c207]{display:none}.top-right[data-v-8215c207]{gap:8px;flex-shrink:0}.user[data-v-8215c207]{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user .role[data-v-8215c207]{display:none}.sider[data-v-8215c207]{position:fixed;top:52px;bottom:0;left:0;z-index:40;width:236px;transform:translate(-100%);transition:transform .22s ease;box-shadow:4px 0 18px #04102266}.sider.open[data-v-8215c207]{transform:translate(0)}.sider-mask[data-v-8215c207]{display:block;position:fixed;top:52px;left:0;right:0;bottom:0;z-index:35;background:#08142873}.menu-item[data-v-8215c207]{padding:13px 16px;font-size:14px}.content[data-v-8215c207]{padding:12px 10px}}.group[data-v-3a0779ac]{margin-bottom:16px}.group h3[data-v-3a0779ac]{font-size:14px;color:var(--c-text-dim);margin-bottom:8px}.cards[data-v-3a0779ac]{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.point-card .pc-name[data-v-3a0779ac]{color:var(--c-text-dim);font-size:12px}.pc-value[data-v-3a0779ac]{margin-top:6px;font-size:26px;font-weight:600;color:var(--c-primary);font-variant-numeric:tabular-nums}.pc-unit[data-v-3a0779ac]{font-size:12px;color:var(--c-text-dim);font-weight:400}.pump-card .pc-name[data-v-3a0779ac]{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--c-text)}.pump-card.stopped .pump-rows[data-v-3a0779ac]{color:var(--c-stopped)}.pump-rows[data-v-3a0779ac]{margin-top:8px;display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--c-text-dim);font-variant-numeric:tabular-nums}.trend-toolbar[data-v-3a0779ac]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.trend-check[data-v-3a0779ac]{font-size:12px;border:1px solid var(--c-border);border-radius:12px;padding:3px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.trend-check.on[data-v-3a0779ac]{border-color:var(--c-primary);color:var(--c-primary);background:#eef4fc}.trend-check input[data-v-3a0779ac]{display:none}.trend-toolbar select[data-v-3a0779ac]{margin-left:auto}.trend-chart[data-v-3a0779ac]{height:360px}@media(max-width:768px){.cards[data-v-3a0779ac]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.point-card[data-v-3a0779ac],.pump-card[data-v-3a0779ac]{min-width:0}.pc-value[data-v-3a0779ac]{font-size:20px}.trend-chart[data-v-3a0779ac]{height:300px}.trend-toolbar select[data-v-3a0779ac]{margin-left:0;width:100%}}.scenario-bar[data-v-aa8b0130]{margin-left:auto;display:flex;gap:6px;align-items:center}.notice[data-v-aa8b0130]{margin-bottom:10px;padding:7px 12px;background:#eef6ff;border:1px solid #bcd8f5;border-radius:6px;color:var(--c-primary);font-size:13px}.tabs[data-v-aa8b0130]{display:flex;gap:6px;margin-bottom:10px}.tab[data-v-aa8b0130]{border:1px solid var(--c-border);background:#fff;border-radius:6px 6px 0 0;padding:7px 18px;font-size:13px;color:var(--c-text-dim)}.tab.on[data-v-aa8b0130]{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.filter-bar[data-v-aa8b0130]{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.filter-bar label[data-v-aa8b0130]{font-size:12px;color:var(--c-text-dim)}.empty[data-v-aa8b0130]{text-align:center;color:var(--c-text-dim);padding:26px 0}.unack[data-v-aa8b0130]{color:var(--c-warn)}.op-cell[data-v-aa8b0130]{display:flex;gap:6px}@media(max-width:768px){.scenario-bar[data-v-aa8b0130]{margin-left:0;flex-wrap:wrap}.tab[data-v-aa8b0130]{min-height:44px;padding:9px 16px}}.dash[data-v-22455bc3]{height:100%;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% -10%,rgba(24,92,178,.35),transparent 55%),linear-gradient(180deg,#071528,#0a1f3c);color:#d7e6f7;overflow:hidden}.dash-head[data-v-22455bc3]{display:flex;align-items:center;padding:14px 22px 10px;border-bottom:1px solid rgba(90,140,200,.25)}.dash-head h1[data-v-22455bc3]{flex:1;text-align:center;font-size:24px;letter-spacing:4px;color:#e8f2ff;text-shadow:0 0 18px rgba(77,163,255,.6)}.dash-back[data-v-22455bc3]{background:transparent;border:1px solid rgba(150,190,235,.4);color:#9fc3ef;border-radius:6px;padding:5px 12px;font-size:12px}.dash-clock[data-v-22455bc3]{font-size:14px;color:#9fc3ef;font-variant-numeric:tabular-nums;min-width:160px;text-align:right}.dash-grid[data-v-22455bc3]{flex:1;display:grid;grid-template-columns:240px 1fr 300px;gap:14px;padding:14px 22px 18px;min-height:0}.col[data-v-22455bc3]{display:flex;flex-direction:column;gap:12px;min-height:0}.col.main[data-v-22455bc3]{min-width:0}.panel[data-v-22455bc3]{background:#102a4e8c;border:1px solid rgba(90,140,200,.28);border-radius:8px;padding:12px 14px}.panel h3[data-v-22455bc3]{font-size:13px;color:#9fc3ef;margin-bottom:8px;font-weight:500}.kpi-name[data-v-22455bc3]{font-size:12px;color:#8aa9cf}.kpi-value[data-v-22455bc3]{margin-top:4px;font-size:28px;font-weight:600;color:#4da3ff;font-variant-numeric:tabular-nums;text-shadow:0 0 12px rgba(77,163,255,.45)}.kpi-unit[data-v-22455bc3]{font-size:12px;color:#8aa9cf;margin-left:5px;font-weight:400}.flow-chart[data-v-22455bc3]{height:300px}.pump-row[data-v-22455bc3]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pump-tile[data-v-22455bc3]{text-align:center;padding:10px 4px;border:1px solid rgba(47,214,163,.35);border-radius:8px;background:#2fd6a312}.pump-tile.off[data-v-22455bc3]{border-color:#96aac340;background:transparent;opacity:.65}.pump-dot[data-v-22455bc3]{width:10px;height:10px;margin:0 auto 6px;border-radius:50%;background:#2fd6a3;box-shadow:0 0 8px #2fd6a3}.pump-tile.off .pump-dot[data-v-22455bc3]{background:#64748c;box-shadow:none}.pump-name[data-v-22455bc3]{font-size:12px}.pump-meta[data-v-22455bc3]{margin-top:3px;font-size:11px;color:#8aa9cf;font-variant-numeric:tabular-nums}.dash-note[data-v-22455bc3]{text-align:center;font-size:11px;color:#58749a}.gauge[data-v-22455bc3]{height:190px}.alarm-list[data-v-22455bc3]{list-style:none;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.alarm-list li[data-v-22455bc3]{display:flex;gap:8px;align-items:center;font-size:12px;padding:6px 8px;border-radius:6px;background:#d030501f;border:1px solid rgba(208,48,80,.4)}.alarm-list li.lv-warn[data-v-22455bc3]{background:#e6a23c1a;border-color:#e6a23c66}.alarm-empty[data-v-22455bc3]{background:transparent!important;border:none!important;color:#58749a;justify-content:center}.al-level[data-v-22455bc3]{flex-shrink:0;font-weight:600}li.lv-alarm .al-level[data-v-22455bc3]{color:#ff7d9d}li.lv-warn .al-level[data-v-22455bc3]{color:#ffc46b}.al-name[data-v-22455bc3]{flex:1}.al-time[data-v-22455bc3]{color:#8aa9cf;font-variant-numeric:tabular-nums}@media(max-width:768px){.dash-head[data-v-22455bc3]{flex-wrap:wrap;gap:6px;padding:10px 12px 8px}.dash-head h1[data-v-22455bc3]{order:-1;flex:1 1 100%;text-align:left;font-size:15px;letter-spacing:1px}.dash-clock[data-v-22455bc3]{min-width:0;margin-left:auto;font-size:12px}.dash-back[data-v-22455bc3]{min-height:40px}.dash-grid[data-v-22455bc3]{display:flex;flex-direction:column;overflow-y:auto;padding:10px 12px 16px}.col[data-v-22455bc3]{flex:0 0 auto;min-height:auto}.panel[data-v-22455bc3]{flex-shrink:0}.kpi-value[data-v-22455bc3]{font-size:22px}.flow-chart[data-v-22455bc3]{height:220px}.pump-row[data-v-22455bc3]{grid-template-columns:repeat(2,1fr)}}.head-right[data-v-0fb56f20]{margin-left:auto;display:flex;gap:8px;align-items:center}.table-wrap[data-v-0fb56f20]{overflow-x:auto}.eq-name[data-v-0fb56f20]{font-weight:600}.alarm-count[data-v-0fb56f20]{color:var(--c-alarm);font-weight:600}.empty[data-v-0fb56f20]{text-align:center;color:var(--c-text-dim);padding:26px 0}.foot-note[data-v-0fb56f20]{margin-top:10px;font-size:12px;color:var(--c-text-dim);line-height:1.7}.notice[data-v-0fb56f20]{margin-bottom:10px;padding:7px 12px;background:#eef6ff;border:1px solid #bcd8f5;border-radius:6px;color:var(--c-primary);font-size:13px}.modal-mask[data-v-0fb56f20]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a192f73;display:flex;align-items:flex-start;justify-content:center;padding:6vh 20px 20px;z-index:30}.modal[data-v-0fb56f20]{width:860px;max-width:100%;max-height:86vh;overflow-y:auto}.modal-head[data-v-0fb56f20]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.modal-head h3[data-v-0fb56f20]{font-size:17px}.modal-close[data-v-0fb56f20]{margin-left:auto}.info-grid[data-v-0fb56f20]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;font-size:13px}.info-grid label[data-v-0fb56f20]{display:block;color:var(--c-text-dim);font-size:11px;margin-bottom:2px}.modal h4[data-v-0fb56f20]{font-size:14px;margin:12px 0 8px}.metric-cards[data-v-0fb56f20]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric-card[data-v-0fb56f20]{border:1px solid var(--c-border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.metric-value[data-v-0fb56f20]{font-size:20px;font-weight:700;color:var(--c-primary)}.metric-value.metric-small[data-v-0fb56f20]{font-size:15px}.metric-name[data-v-0fb56f20]{font-size:11px;color:var(--c-text-dim)}.state-form[data-v-0fb56f20]{display:flex;gap:8px;align-items:center;margin:10px 0 4px;flex-wrap:wrap}.state-form label[data-v-0fb56f20]{font-size:12px;color:var(--c-text-dim)}.state-form input[data-v-0fb56f20]{flex:1;min-width:180px}@media(max-width:768px){.modal-mask[data-v-0fb56f20]{padding:3vh 8px 12px}.modal[data-v-0fb56f20]{padding:12px}.info-grid[data-v-0fb56f20],.metric-cards[data-v-0fb56f20]{grid-template-columns:repeat(2,1fr)}.state-form input[data-v-0fb56f20]{min-width:0}}.head-right[data-v-5a1e225e]{margin-left:auto;display:flex;gap:8px;align-items:center}.tabs[data-v-5a1e225e]{display:flex;gap:6px;margin-bottom:10px}.tab[data-v-5a1e225e]{border:1px solid var(--c-border);background:#fff;border-radius:6px 6px 0 0;padding:7px 18px;font-size:13px;color:var(--c-text-dim)}.tab.on[data-v-5a1e225e]{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.table-wrap[data-v-5a1e225e]{overflow-x:auto}.filter-bar[data-v-5a1e225e]{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.filter-bar label[data-v-5a1e225e]{font-size:12px;color:var(--c-text-dim)}.order-no[data-v-5a1e225e]{font-family:SF Mono,Consolas,monospace;font-size:12px}.empty[data-v-5a1e225e]{text-align:center;color:var(--c-text-dim);padding:26px 0}.notice[data-v-5a1e225e]{margin-bottom:10px;padding:7px 12px;background:#eef6ff;border:1px solid #bcd8f5;border-radius:6px;color:var(--c-primary);font-size:13px}.stats-grid[data-v-5a1e225e]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kpi-row[data-v-5a1e225e]{grid-column:1 / -1;display:flex;gap:34px;align-items:center;flex-wrap:wrap}.kpi[data-v-5a1e225e]{display:flex;flex-direction:column}.kpi-value[data-v-5a1e225e]{font-size:24px;font-weight:700;color:var(--c-primary)}.kpi-name[data-v-5a1e225e]{font-size:11px;color:var(--c-text-dim)}.chart-card h4[data-v-5a1e225e]{font-size:13px;margin-bottom:6px}.chart[data-v-5a1e225e]{height:260px}.chart-wide[data-v-5a1e225e]{grid-column:1 / -1}.modal-mask[data-v-5a1e225e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a192f73;display:flex;align-items:flex-start;justify-content:center;padding:6vh 20px 20px;z-index:30}.modal[data-v-5a1e225e]{width:820px;max-width:100%;max-height:86vh;overflow-y:auto}.modal-head[data-v-5a1e225e]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.modal-head h3[data-v-5a1e225e]{font-size:16px}.modal-close[data-v-5a1e225e]{margin-left:auto}.modal h4[data-v-5a1e225e]{font-size:14px;margin:14px 0 8px}.info-grid[data-v-5a1e225e]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;font-size:13px}.info-grid label[data-v-5a1e225e]{display:block;color:var(--c-text-dim);font-size:11px;margin-bottom:2px}.desc[data-v-5a1e225e]{font-size:13px;color:var(--c-text);background:#f4f7fb;border-radius:6px;padding:8px 10px;margin-bottom:8px;line-height:1.7}.src-alarm[data-v-5a1e225e]{color:var(--c-alarm);background:#fdf0f3}.action-bar[data-v-5a1e225e]{display:flex;gap:8px;align-items:flex-start;margin:10px 0;flex-wrap:wrap}.action-bar>input[data-v-5a1e225e]{flex:1;min-width:200px}.exec-form[data-v-5a1e225e]{flex:1;display:flex;flex-direction:column;gap:6px}.exec-form label[data-v-5a1e225e]{font-size:12px;color:var(--c-text-dim)}.exec-form .row[data-v-5a1e225e]{display:flex;gap:8px;align-items:center}.mat-row[data-v-5a1e225e]{display:flex;gap:6px}.mat-row input[data-v-5a1e225e]:first-child{flex:1}.num[data-v-5a1e225e]{width:110px}.form-col[data-v-5a1e225e]{display:flex;flex-direction:column;gap:6px}.form-col label[data-v-5a1e225e]{font-size:12px;color:var(--c-text-dim)}.form-col .btn[data-v-5a1e225e]{margin-top:10px}@media(max-width:768px){.tab[data-v-5a1e225e]{min-height:44px;padding:9px 16px}.stats-grid[data-v-5a1e225e]{grid-template-columns:1fr}.kpi-row[data-v-5a1e225e]{gap:14px 22px}.chart[data-v-5a1e225e]{height:230px}.modal-mask[data-v-5a1e225e]{padding:3vh 8px 12px}.modal[data-v-5a1e225e]{padding:12px}.info-grid[data-v-5a1e225e]{grid-template-columns:repeat(2,1fr)}.action-bar>input[data-v-5a1e225e]{min-width:0}.mat-row[data-v-5a1e225e]{flex-wrap:wrap}.num[data-v-5a1e225e]{width:90px}}.mono[data-v-905d3725]{font-family:SF Mono,Consolas,monospace;font-size:12px}.ops[data-v-905d3725]{white-space:nowrap}.ops .btn[data-v-905d3725]{margin-right:4px}.warn-toggle[data-v-905d3725]{display:flex;align-items:center;gap:4px}.warn-toggle input[data-v-905d3725]{min-height:auto;width:16px;height:16px}.flow-modal[data-v-905d3725]{width:480px}.mono[data-v-ef5511f6]{font-family:SF Mono,Consolas,monospace;font-size:12px}.roster .shift-time[data-v-ef5511f6]{display:block;font-weight:400;font-size:11px;color:var(--c-text-dim)}.roster tr.today td[data-v-ef5511f6]{background:#f0f7ff}.person[data-v-ef5511f6]{font-weight:600}.origin[data-v-ef5511f6]{display:block;font-size:11px;color:var(--c-text-dim)}.origin.special[data-v-ef5511f6]{color:var(--c-warn)}.vacancy[data-v-ef5511f6]{color:var(--c-alarm);font-size:12px}.wrap-cell[data-v-ef5511f6]{white-space:normal;min-width:220px;line-height:1.6}.issues[data-v-ef5511f6]{color:#8a6d3b}.narrow[data-v-ef5511f6]{width:480px}.mono[data-v-332697a1]{font-family:SF Mono,Consolas,monospace;font-size:12px}.progress-card[data-v-332697a1]{margin-bottom:12px}.warn-text[data-v-332697a1]{color:var(--c-warn)}.alarm-text[data-v-332697a1]{color:var(--c-alarm)}.wrap-cell[data-v-332697a1]{white-space:normal;min-width:160px;line-height:1.6}.attach[data-v-332697a1]{color:var(--c-text-dim);font-size:12px}.ops[data-v-332697a1]{white-space:nowrap}.ops .btn[data-v-332697a1]{margin-right:4px}.qr-hint[data-v-332697a1]{line-height:1.7;margin-bottom:6px}.qr-content[data-v-332697a1]{font-family:SF Mono,Consolas,monospace;font-size:12px;background:#f4f7fb;border:1px dashed var(--c-border);border-radius:6px;padding:8px 10px;word-break:break-all}.narrow[data-v-332697a1]{width:520px}.eq-grid[data-v-332697a1]{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 10px;border:1px solid var(--c-border);border-radius:6px;padding:8px 10px}.eq-item[data-v-332697a1]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text)}.eq-item input[data-v-332697a1]{min-height:auto;width:15px;height:15px}.mono[data-v-1292e0c6]{font-family:SF Mono,Consolas,monospace;font-size:12px}.wrap-cell[data-v-1292e0c6]{white-space:normal;min-width:160px;line-height:1.6}.attach[data-v-1292e0c6]{color:var(--c-text-dim);font-size:12px}.workers-card[data-v-1292e0c6]{margin-bottom:12px}.workers[data-v-1292e0c6]{display:flex;gap:10px;flex-wrap:wrap}.worker[data-v-1292e0c6]{border:1px solid var(--c-border);border-radius:8px;padding:8px 14px;display:flex;flex-direction:column;gap:2px}.worker-name[data-v-1292e0c6]{font-weight:700}.worker-skills[data-v-1292e0c6],.worker-load[data-v-1292e0c6]{font-size:12px;color:var(--c-text-dim)}.dispatch-result[data-v-1292e0c6]{margin-top:10px;padding:8px 12px;background:#f0f9f2;border:1px solid #bfe3c8;border-radius:6px;font-size:13px}.flow-hint[data-v-1292e0c6]{margin-top:8px}.narrow[data-v-1292e0c6]{width:480px}.inline-check[data-v-1292e0c6]{display:flex;align-items:center;gap:6px}.inline-check input[data-v-1292e0c6]{min-height:auto;width:16px;height:16px}.mono[data-v-03cecc94]{font-family:SF Mono,Consolas,monospace;font-size:12px}.wrap-cell[data-v-03cecc94]{white-space:normal;min-width:180px;line-height:1.6}.narrow[data-v-03cecc94]{width:500px}.inline-check[data-v-03cecc94]{display:flex;align-items:center;gap:6px;font-size:13px}.inline-check input[data-v-03cecc94]{min-height:auto;width:16px;height:16px}.eq-grid[data-v-03cecc94]{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 10px;border:1px solid var(--c-border);border-radius:6px;padding:8px 10px}.eq-item[data-v-03cecc94]{display:flex;align-items:center;gap:6px;font-size:13px}.eq-item input[data-v-03cecc94]{min-height:auto;width:15px;height:15px}.mono[data-v-2ae80aac]{font-family:SF Mono,Consolas,monospace;font-size:12px}.summary-card[data-v-2ae80aac]{margin-bottom:12px}.warn-text[data-v-2ae80aac]{color:var(--c-warn)}.alarm-text[data-v-2ae80aac]{color:var(--c-alarm)}.alarm-hint[data-v-2ae80aac]{max-width:420px;line-height:1.6}.hist-tag[data-v-2ae80aac]{font-size:11px;color:var(--c-text-dim);border:1px solid var(--c-border);border-radius:4px;padding:0 4px;margin-left:4px}.report-ops[data-v-2ae80aac]{white-space:nowrap}.report-ops .btn[data-v-2ae80aac]{margin-right:4px;padding:3px 10px;font-size:12px}.inline-check[data-v-2ae80aac]{display:flex;align-items:center;gap:4px}.inline-check input[data-v-2ae80aac]{min-height:auto;width:16px;height:16px}.narrow[data-v-2ae80aac]{width:480px}@media(max-width:768px){.report-ops .btn[data-v-2ae80aac]{min-height:36px}}.mono[data-v-570b715a]{font-family:SF Mono,Consolas,monospace;font-size:12px}.card h3[data-v-570b715a]{font-size:14px}.info-card[data-v-570b715a],.arch-card[data-v-570b715a],.module-card[data-v-570b715a]{margin-bottom:12px}.sys-grid[data-v-570b715a]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;margin-top:10px}.sys-item label[data-v-570b715a]{display:block;font-size:11px;color:var(--c-text-dim);margin-bottom:2px}.sys-item .badge[data-v-570b715a]{margin-left:6px;font-style:normal}.arch-quote[data-v-570b715a]{margin:6px 0 12px;line-height:1.7}.arch[data-v-570b715a]{position:relative;display:flex;flex-direction:column;gap:6px;padding-right:150px}.arch-layer[data-v-570b715a]{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#eef4fb,#f7fafd);border:1px solid var(--c-border);border-left:4px solid var(--c-primary);border-radius:6px;padding:9px 14px}.arch-name[data-v-570b715a]{width:92px;flex-shrink:0;font-weight:700;font-size:13px;color:var(--c-primary)}.arch-items[data-v-570b715a]{display:flex;flex-wrap:wrap;gap:6px}.arch-item[data-v-570b715a]{background:#fff;border:1px solid var(--c-border);border-radius:4px;padding:2px 9px;font-size:12px;color:var(--c-text)}.arch-flow[data-v-570b715a]{position:absolute;right:0;width:140px;font-size:11px;color:var(--c-text-dim);line-height:1.6}.arch-flow.south[data-v-570b715a]{top:30%}.arch-flow.north[data-v-570b715a]{top:58%}.module-grid[data-v-570b715a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.module-item[data-v-570b715a]{display:flex;align-items:center;gap:8px;border:1px solid var(--c-border);border-radius:6px;padding:8px 10px;cursor:pointer;background:#fff}.module-item.off[data-v-570b715a]{opacity:.55;background:#f6f8fb}.module-item input[data-v-570b715a]{width:16px;height:16px;min-height:auto;flex-shrink:0}.module-code[data-v-570b715a]{font-size:11px;color:var(--c-text-dim);width:32px;flex-shrink:0}.module-name[data-v-570b715a]{font-size:13px;flex:1}.module-lock[data-v-570b715a]{font-size:10px;color:var(--c-primary);border:1px solid #bcd8f5;border-radius:8px;padding:0 6px}@media(max-width:768px){.sys-grid[data-v-570b715a]{grid-template-columns:1fr}.arch[data-v-570b715a]{padding-right:0}.arch-flow[data-v-570b715a]{display:none}.module-grid[data-v-570b715a]{grid-template-columns:1fr 1fr}}.analysis-page[data-v-8e6aaa32]:fullscreen{background:var(--c-bg);padding:18px 22px;overflow:auto}.screen-note[data-v-8e6aaa32]{margin:-6px 0 10px}.kpi-grid[data-v-8e6aaa32]{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;margin-bottom:12px}.kpi-card[data-v-8e6aaa32]{padding:12px 14px}.kpi-top[data-v-8e6aaa32]{display:flex;justify-content:space-between;align-items:center;gap:6px}.kpi-name[data-v-8e6aaa32]{font-size:12px;color:var(--c-text-dim)}.kpi-value[data-v-8e6aaa32]{font-size:26px;font-weight:700;color:var(--c-primary);margin:6px 0 2px}.kpi-unit[data-v-8e6aaa32]{font-style:normal;font-size:12px;color:var(--c-text-dim);margin-left:4px}.kpi-meta[data-v-8e6aaa32]{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--c-text-dim);margin-top:4px}.dev-good[data-v-8e6aaa32]{color:var(--c-good)}.dev-bad[data-v-8e6aaa32]{color:var(--c-alarm)}.kpi-bar[data-v-8e6aaa32]{height:6px;background:#e8edf5;border-radius:3px;margin-top:8px;overflow:hidden}.kpi-bar-fill[data-v-8e6aaa32]{height:100%;border-radius:3px}.kpi-bar-fill.ok[data-v-8e6aaa32]{background:var(--c-good)}.kpi-bar-fill.warning[data-v-8e6aaa32]{background:var(--c-warn)}.kpi-bar-fill.alarm[data-v-8e6aaa32]{background:var(--c-alarm)}.btn.mini[data-v-8e6aaa32]{padding:2px 8px;font-size:11px;min-height:auto}.chart-row[data-v-8e6aaa32]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:12px}.chart-card h3[data-v-8e6aaa32],.trend-card h3[data-v-8e6aaa32]{font-size:14px;margin-bottom:6px}.chart[data-v-8e6aaa32]{height:240px}.chart.trend[data-v-8e6aaa32]{height:280px}.narrow[data-v-8e6aaa32]{width:420px}@media(max-width:1100px){.chart-row[data-v-8e6aaa32]{grid-template-columns:1fr 1fr}.chart-card.wide[data-v-8e6aaa32]{grid-column:1 / -1}}@media(max-width:768px){.kpi-grid[data-v-8e6aaa32]{grid-template-columns:repeat(2,1fr)}.chart-row[data-v-8e6aaa32]{grid-template-columns:1fr}.chart[data-v-8e6aaa32]{height:220px}.btn.mini[data-v-8e6aaa32]{min-height:32px}}.mono[data-v-fd51e0ea]{font-family:SF Mono,Consolas,monospace;font-size:12px}.media-row[data-v-fd51e0ea]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.medium-card h3[data-v-fd51e0ea]{font-size:14px;margin-bottom:10px;display:flex;align-items:center;gap:8px}.medium-tag[data-v-fd51e0ea]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#fff;font-size:14px}.medium-tag.elec[data-v-fd51e0ea]{background:#e6a23c}.medium-tag.water[data-v-fd51e0ea]{background:#1259a8}.metric-grid[data-v-fd51e0ea]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric[data-v-fd51e0ea]{display:flex;flex-direction:column}.metric-value[data-v-fd51e0ea]{font-size:22px;font-weight:700;color:var(--c-primary)}.metric-name[data-v-fd51e0ea]{font-size:11px;color:var(--c-text-dim)}.chart[data-v-fd51e0ea]{height:260px}.card h3[data-v-fd51e0ea]{font-size:14px}.report-block[data-v-fd51e0ea]{margin-bottom:12px}.row-ops .btn[data-v-fd51e0ea]{margin-right:4px;padding:3px 10px;font-size:12px}.inline-check[data-v-fd51e0ea]{display:flex;align-items:center;gap:6px}.inline-check input[data-v-fd51e0ea]{min-height:auto;width:16px;height:16px}.narrow[data-v-fd51e0ea]{width:440px}@media(max-width:768px){.media-row[data-v-fd51e0ea]{grid-template-columns:1fr}.metric-grid[data-v-fd51e0ea]{grid-template-columns:repeat(3,1fr)}.metric-value[data-v-fd51e0ea]{font-size:18px}.chart[data-v-fd51e0ea]{height:220px}.row-ops .btn[data-v-fd51e0ea]{min-height:36px}}.mono[data-v-5c7c8874]{font-family:SF Mono,Consolas,monospace;font-size:12px}.row-ops .btn[data-v-5c7c8874]{margin-right:4px;padding:3px 10px;font-size:12px}.usage-head[data-v-5c7c8874],.chart-block[data-v-5c7c8874]{margin-bottom:12px}.chart-block h3[data-v-5c7c8874],.usage-head h3[data-v-5c7c8874],.card h3[data-v-5c7c8874]{font-size:14px;margin-bottom:6px}.chart[data-v-5c7c8874]{height:250px}.narrow[data-v-5c7c8874]{width:440px}@media(max-width:768px){.chart[data-v-5c7c8874]{height:210px}.row-ops .btn[data-v-5c7c8874]{min-height:36px}}.mono[data-v-ef69c8c8]{font-family:SF Mono,Consolas,monospace;font-size:12px}.limit-hint[data-v-ef69c8c8]{font-weight:400;font-size:10px;color:var(--c-text-dim)}.result-cell.exceeded[data-v-ef69c8c8]{background:#fdeef1;color:var(--c-alarm);font-weight:700}.note-cell[data-v-ef69c8c8]{font-size:12px;color:var(--c-text-dim)}.cat-row td[data-v-ef69c8c8]{background:#f0f4fa;font-weight:600;color:var(--c-primary);font-size:12px}.record-form-head[data-v-ef69c8c8]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px}.record-form-head label[data-v-ef69c8c8],.result-input label[data-v-ef69c8c8]{display:block;font-size:12px;color:var(--c-text-dim);margin-bottom:2px}.record-form-head input[data-v-ef69c8c8],.record-form-head select[data-v-ef69c8c8]{width:100%}.result-grid[data-v-ef69c8c8]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 10px;margin-bottom:10px}.result-input input[data-v-ef69c8c8]{width:100%}.inline-check[data-v-ef69c8c8]{display:flex;align-items:center;gap:6px}.inline-check input[data-v-ef69c8c8]{min-height:auto;width:16px;height:16px}.narrow[data-v-ef69c8c8]{width:440px}@media(max-width:768px){.record-form-head[data-v-ef69c8c8],.result-grid[data-v-ef69c8c8]{grid-template-columns:1fr 1fr}}.mono[data-v-ce7f0d7c]{font-family:SF Mono,Consolas,monospace;font-size:12px}.notice.standing[data-v-ce7f0d7c]{background:#fdf6e6;border-color:#ecd49a;color:#8a6116}.layout-btn[data-v-ce7f0d7c]{padding:5px 12px}.wall[data-v-ce7f0d7c]{display:grid;gap:8px}.wall-1[data-v-ce7f0d7c]{grid-template-columns:1fr}.wall-4[data-v-ce7f0d7c]{grid-template-columns:1fr 1fr}.wall-9[data-v-ce7f0d7c]{grid-template-columns:1fr 1fr 1fr}.tile[data-v-ce7f0d7c]{position:relative;aspect-ratio:16 / 9;background:radial-gradient(ellipse at 50% 40%,#1a2c44,#0c1626 75%);border:1px solid #24354d;border-radius:6px;overflow:hidden;color:#c8d5e5}.tile-scan[data-v-ce7f0d7c]{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.015) 3px 4px)}.tile-scan[data-v-ce7f0d7c]:after{content:"";position:absolute;left:0;right:0;height:22%;background:linear-gradient(180deg,transparent,rgba(77,163,255,.06),transparent);animation:scanmove-ce7f0d7c 5s linear infinite}@keyframes scanmove-ce7f0d7c{0%{top:-25%}to{top:100%}}.tile-center[data-v-ce7f0d7c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.tile-signal[data-v-ce7f0d7c]{font-size:15px;letter-spacing:2px;color:#7d95b5}.tile-sub[data-v-ce7f0d7c]{font-size:11px;color:#55688a}.tile-top[data-v-ce7f0d7c]{position:absolute;top:6px;left:8px;font-size:12px;display:flex;align-items:center;gap:6px}.live-dot[data-v-ce7f0d7c]{width:7px;height:7px;border-radius:50%;background:#e6a23c;box-shadow:0 0 6px #e6a23c}.tile-bottom[data-v-ce7f0d7c]{position:absolute;left:8px;right:8px;bottom:5px;display:flex;justify-content:space-between;font-size:10px;color:#7d95b5}.ai-row[data-v-ce7f0d7c]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-canvas-card h3[data-v-ce7f0d7c],.ai-list-card h3[data-v-ce7f0d7c]{font-size:14px;margin-bottom:6px}.ai-canvas[data-v-ce7f0d7c]{position:relative;aspect-ratio:16 / 9;background:radial-gradient(ellipse at 50% 40%,#1a2c44,#0c1626 75%);border:1px solid #24354d;border-radius:6px;overflow:hidden;margin-bottom:8px;color:#c8d5e5}.figure[data-v-ce7f0d7c]{position:absolute;width:9%}.figure-head[data-v-ce7f0d7c]{width:42%;aspect-ratio:1;border-radius:50%;background:#3d5170;margin:0 auto 6%}.figure-body[data-v-ce7f0d7c]{width:100%;aspect-ratio:.62;border-radius:26% 26% 12% 12%;background:#354865}.ai-box[data-v-ce7f0d7c]{position:absolute;border:2px solid #d03050;border-radius:3px;box-shadow:0 0 12px #d0305073;animation:aiblink-ce7f0d7c 1.6s ease-in-out infinite}@keyframes aiblink-ce7f0d7c{50%{border-color:#ff7d99}}.ai-label[data-v-ce7f0d7c]{position:absolute;top:-22px;left:-2px;background:#d03050;color:#fff;font-size:11px;padding:1px 7px;border-radius:3px;white-space:nowrap}.ai-row-item[data-v-ce7f0d7c]{cursor:pointer}.ai-row-item.on td[data-v-ce7f0d7c]{background:#eef6ff}.cfg-input[data-v-ce7f0d7c]{width:220px}.cfg-check[data-v-ce7f0d7c]{width:18px;height:18px;min-height:auto}@media(max-width:900px){.ai-row[data-v-ce7f0d7c]{grid-template-columns:1fr}}@media(max-width:768px){.wall-4[data-v-ce7f0d7c]{grid-template-columns:1fr}.wall-9[data-v-ce7f0d7c]{grid-template-columns:1fr 1fr}.cfg-input[data-v-ce7f0d7c]{width:170px}}.mono[data-v-b6d59c0b]{font-family:SF Mono,Consolas,monospace;font-size:12px}.tab-badge[data-v-b6d59c0b]{display:inline-block;min-width:18px;padding:0 5px;margin-left:5px;border-radius:9px;background:var(--c-alarm);color:#fff;font-size:11px;line-height:18px;text-align:center}.msg-list[data-v-b6d59c0b]{display:flex;flex-direction:column}.msg[data-v-b6d59c0b]{display:flex;align-items:flex-start;gap:10px;padding:10px 6px;border-bottom:1px solid var(--c-border)}.msg[data-v-b6d59c0b]:last-child{border-bottom:none}.msg.unread[data-v-b6d59c0b]{background:#f7fafe}.msg-dot[data-v-b6d59c0b]{width:9px;height:9px;border-radius:50%;margin-top:6px;flex-shrink:0}.msg-dot.alarm[data-v-b6d59c0b]{background:var(--c-alarm)}.msg-dot.warning[data-v-b6d59c0b]{background:var(--c-warn)}.msg-dot.info[data-v-b6d59c0b]{background:var(--c-primary)}.msg-main[data-v-b6d59c0b]{flex:1;min-width:0}.msg-title-row[data-v-b6d59c0b]{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.msg-type[data-v-b6d59c0b]{flex-shrink:0}.msg-title[data-v-b6d59c0b]{font-weight:600;font-size:13px}.msg.unread .msg-title[data-v-b6d59c0b]{color:var(--c-primary)}.msg-time[data-v-b6d59c0b]{font-size:11px;color:var(--c-text-dim);margin-left:auto}.msg-body[data-v-b6d59c0b]{font-size:12px;color:var(--c-text-dim);margin-top:2px}.msg-ops[data-v-b6d59c0b]{display:flex;gap:4px;flex-shrink:0}.btn.mini[data-v-b6d59c0b]{padding:3px 10px;font-size:12px;min-height:auto}.todo-block[data-v-b6d59c0b]{margin-bottom:12px}.todo-block h3[data-v-b6d59c0b]{font-size:14px}.inline-check[data-v-b6d59c0b]{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--c-text-dim)}.inline-check input[data-v-b6d59c0b]{min-height:auto;width:16px;height:16px}@media(max-width:768px){.msg-ops[data-v-b6d59c0b]{flex-direction:column}.btn.mini[data-v-b6d59c0b]{min-height:36px}}.card[data-v-575542e1]{margin-bottom:12px}.card h3[data-v-575542e1]{font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hero[data-v-575542e1]{display:flex;gap:16px;align-items:flex-start}.hero-icon[data-v-575542e1]{width:84px;height:84px;border-radius:18px;flex-shrink:0;box-shadow:0 4px 14px #0d346540}.hero-text h3[data-v-575542e1]{font-size:18px;margin-bottom:6px}.hero-text p[data-v-575542e1]{font-size:13px;line-height:1.8;color:var(--c-text)}.standalone-tip[data-v-575542e1]{margin-top:8px;font-size:12px;color:var(--c-text-dim)}.ok-tip[data-v-575542e1]{color:var(--c-good);font-weight:600}.steps[data-v-575542e1]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}.step[data-v-575542e1]{border:1px solid var(--c-border);border-radius:8px;padding:12px 14px}.step.on[data-v-575542e1]{border-color:var(--c-primary);background:#f4f9ff;box-shadow:0 0 0 1px var(--c-primary)}.step h4[data-v-575542e1]{font-size:13px;margin-bottom:8px;color:var(--c-primary)}.step ol[data-v-575542e1]{padding-left:18px;font-size:12px;line-height:1.9;color:var(--c-text)}.cap-grid[data-v-575542e1]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.cap[data-v-575542e1]{display:flex;gap:10px;border:1px solid var(--c-border);border-radius:8px;padding:12px;cursor:pointer}.cap[data-v-575542e1]:hover{border-color:var(--c-primary)}.cap-icon[data-v-575542e1]{font-size:22px}.cap b[data-v-575542e1]{font-size:13px}.cap p[data-v-575542e1]{font-size:12px;color:var(--c-text-dim);margin-top:3px;line-height:1.7}@media(max-width:768px){.steps[data-v-575542e1],.cap-grid[data-v-575542e1]{grid-template-columns:1fr}.hero[data-v-575542e1]{flex-direction:column;align-items:center;text-align:left}}:root{--c-primary: #1259a8;--c-primary-dark: #0d4585;--c-bg: #eef2f7;--c-card: #ffffff;--c-border: #dde4ee;--c-text: #21344d;--c-text-dim: #6b7f99;--c-good: #18a058;--c-warn: #e6a23c;--c-alarm: #d03050;--c-stopped: #9aa7b8}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,sans-serif;color:var(--c-text);background:var(--c-bg);font-size:14px}button{font-family:inherit;cursor:pointer}.card{background:var(--c-card);border:1px solid var(--c-border);border-radius:8px;padding:14px 16px}.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;line-height:18px;color:#fff}.badge.warning{background:var(--c-warn)}.badge.alarm{background:var(--c-alarm)}.badge.ok{background:var(--c-good)}.badge.gray{background:var(--c-stopped)}.badge.code{background:#e8eef7;color:var(--c-primary);font-weight:600}table.jj{width:100%;border-collapse:collapse;background:#fff}table.jj th,table.jj td{border-bottom:1px solid var(--c-border);padding:8px 10px;text-align:left;white-space:nowrap}table.jj th{background:#f4f7fb;color:var(--c-text-dim);font-weight:600}table.jj tr:hover td{background:#f8fafd}.btn{border:1px solid var(--c-border);background:#fff;color:var(--c-text);border-radius:6px;padding:6px 14px;font-size:13px}.btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.btn.primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.btn.primary:hover{background:var(--c-primary-dark)}.btn.danger{background:var(--c-alarm);border-color:var(--c-alarm);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}input,select{font-family:inherit;font-size:13px;border:1px solid var(--c-border);border-radius:6px;padding:6px 10px;color:var(--c-text);background:#fff}input:focus,select:focus{outline:none;border-color:var(--c-primary)}.page-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.page-head h2{font-size:18px;white-space:nowrap}.page-head .sub{color:var(--c-text-dim);font-size:12px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.jj td.cell-clamp{white-space:normal;min-width:180px;max-width:320px;line-height:1.6}.clamp2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:break-word}.tabs{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.tab{border:1px solid var(--c-border);background:#fff;border-radius:6px 6px 0 0;padding:7px 18px;font-size:13px;color:var(--c-text-dim)}.tab.on{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.notice{margin-bottom:10px;padding:7px 12px;background:#eef6ff;border:1px solid #bcd8f5;border-radius:6px;color:var(--c-primary);font-size:13px}.filter-bar{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.filter-bar label{font-size:12px;color:var(--c-text-dim)}.empty{text-align:center;color:var(--c-text-dim);padding:26px 0}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a192f73;display:flex;align-items:flex-start;justify-content:center;padding:6vh 20px 20px;z-index:30}.modal{width:820px;max-width:100%;max-height:86vh;overflow-y:auto}.modal-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.modal-head h3{font-size:16px}.modal-close{margin-left:auto}.modal h4{font-size:14px;margin:14px 0 8px}.form-col{display:flex;flex-direction:column;gap:6px}.form-col label{font-size:12px;color:var(--c-text-dim)}.form-col .btn{margin-top:10px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;font-size:13px}.info-grid label{display:block;color:var(--c-text-dim);font-size:11px;margin-bottom:2px}.head-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.kpi-strip{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.kpi-strip .kpi{display:flex;flex-direction:column}.kpi-strip .kpi-value{font-size:22px;font-weight:700;color:var(--c-primary)}.kpi-strip .kpi-name{font-size:11px;color:var(--c-text-dim)}table.jj tr.row-duesoon td{background:#fdf6e6}table.jj tr.row-overdue td{background:#fdeef1}@media(max-width:768px){.btn{min-height:44px;padding:9px 14px}input,select{min-height:44px;font-size:16px}.page-head{flex-wrap:wrap;row-gap:6px}.page-head h2{font-size:17px}.tab{min-height:44px;padding:9px 16px}.modal-mask{padding:3vh 8px 12px}.modal{padding:12px}.info-grid{grid-template-columns:repeat(2,1fr)}.kpi-strip{gap:12px 20px}}
