.toast-container[data-v-a0b5c9b3]{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast[data-v-a0b5c9b3]{display:flex;align-items:center;gap:12px;min-width:300px;max-width:500px;padding:14px 16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;pointer-events:auto;animation:slideInRight-a0b5c9b3 .3s ease-out}.toast-icon[data-v-a0b5c9b3]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.toast-content[data-v-a0b5c9b3]{flex:1;min-width:0}.toast-message[data-v-a0b5c9b3]{font-size:14px;line-height:1.5;color:#1e293b;word-break:break-word}.toast-close[data-v-a0b5c9b3]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;cursor:pointer;color:#94a3b8;transition:color .2s}.toast-close[data-v-a0b5c9b3]:hover{color:#64748b}.toast-success[data-v-a0b5c9b3]{border-left:4px solid #10b981}.toast-success .toast-icon[data-v-a0b5c9b3]{color:#10b981}.toast-error[data-v-a0b5c9b3]{border-left:4px solid #ef4444}.toast-error .toast-icon[data-v-a0b5c9b3]{color:#ef4444}.toast-warning[data-v-a0b5c9b3]{border-left:4px solid #f59e0b}.toast-warning .toast-icon[data-v-a0b5c9b3]{color:#f59e0b}.toast-info[data-v-a0b5c9b3]{border-left:4px solid #3b82f6}.toast-info .toast-icon[data-v-a0b5c9b3]{color:#3b82f6}@keyframes slideInRight-a0b5c9b3{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-enter-active[data-v-a0b5c9b3]{animation:slideInRight-a0b5c9b3 .3s ease-out}.toast-leave-active[data-v-a0b5c9b3]{animation:slideOutRight-a0b5c9b3 .3s ease-in}@keyframes slideOutRight-a0b5c9b3{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media (max-width: 640px){.toast-container[data-v-a0b5c9b3]{top:10px;right:10px;left:10px}.toast[data-v-a0b5c9b3]{min-width:auto;max-width:100%}}.app{min-height:100vh}.refresh-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:refresh-spin .7s linear infinite;vertical-align:middle;margin-right:6px}@keyframes refresh-spin{to{transform:rotate(360deg)}}.app-layout[data-v-2bc354ba]{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-height:0;width:100%;overflow:hidden}.top-header[data-v-2bc354ba]{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px;background:#fff;flex-shrink:0;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}.header-left[data-v-2bc354ba]{display:flex;align-items:center;gap:16px}.menu-trigger-header[data-v-2bc354ba]{display:none;width:40px;height:40px;border:none;background:#f1f5f9;color:#475569;font-size:18px;border-radius:8px;cursor:pointer;transition:background .2s}.menu-trigger-header[data-v-2bc354ba]:hover{background:#e2e8f0}.system-name[data-v-2bc354ba]{font-size:17px;font-weight:600;color:#0f172a;letter-spacing:.02em}.user-dropdown-wrap[data-v-2bc354ba]{position:relative}.user-trigger[data-v-2bc354ba]{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;border-radius:10px;cursor:pointer;font-size:14px;transition:all .2s ease}.user-trigger[data-v-2bc354ba]:hover{background:#f1f5f9;border-color:#cbd5e1}.user-trigger.open[data-v-2bc354ba]{background:#f1f5f9;border-color:#94a3b8;box-shadow:0 0 0 2px #94a3b833}.user-avatar[data-v-2bc354ba]{width:36px;height:36px;line-height:36px;text-align:center;background:linear-gradient(135deg,#0d9488 0%,#14b8a6 100%);color:#fff;border-radius:10px;font-weight:600;font-size:15px}.user-display-name[data-v-2bc354ba]{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#475569;font-weight:500}.user-chevron[data-v-2bc354ba]{color:#94a3b8;transition:transform .2s}.user-trigger.open .user-chevron[data-v-2bc354ba]{transform:rotate(180deg)}.dropdown-enter-active[data-v-2bc354ba],.dropdown-leave-active[data-v-2bc354ba]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-2bc354ba],.dropdown-leave-to[data-v-2bc354ba]{opacity:0;transform:translateY(-4px)}.user-dropdown[data-v-2bc354ba]{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#fff;color:#334155;border-radius:12px;box-shadow:0 10px 40px #0000001f,0 2px 10px #0000000f;padding:8px 0;z-index:1001;border:1px solid #e2e8f0}.user-dropdown button[data-v-2bc354ba]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;color:#475569;transition:background .15s}.user-dropdown button[data-v-2bc354ba]:hover{background:#f8fafc;color:#0f172a}.dd-icon[data-v-2bc354ba]{font-size:14px;opacity:.8}.dd-divider[data-v-2bc354ba]{height:1px;background:#e2e8f0;margin:6px 0}.dd-logout[data-v-2bc354ba]:hover{color:#dc2626}.body-row[data-v-2bc354ba]{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar-overlay[data-v-2bc354ba]{display:none;position:fixed;inset:60px 0 0;background:rgba(0,0,0,.4);z-index:998}.sidebar[data-v-2bc354ba]{width:220px;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);color:#0f172a;flex-shrink:0;transition:width .2s,transform .3s ease;overflow:hidden;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;min-height:0;align-self:stretch}.app-layout.collapsed .sidebar[data-v-2bc354ba]{width:48px}.sidebar-header[data-v-2bc354ba]{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8f0}.sidebar-header.collapsed[data-v-2bc354ba]{padding:10px;justify-content:center}.sidebar-header span[data-v-2bc354ba]{font-size:13px;font-weight:600;color:#64748b}.collapse-btn[data-v-2bc354ba]{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;padding:4px 8px;cursor:pointer;border-radius:6px;font-size:10px;transition:all .2s}.collapse-btn[data-v-2bc354ba]:hover{background:#e2e8f0;color:#0f172a}.menu[data-v-2bc354ba]{padding:10px 0;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.menu-group[data-v-2bc354ba]{margin-bottom:2px}.group-title[data-v-2bc354ba]{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:13px;color:#334155;transition:all .2s}.group-title[data-v-2bc354ba]:hover{background:#f1f5f9;color:#0f172a}.group-icon[data-v-2bc354ba]{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.group-icon[data-v-2bc354ba] svg{width:18px;height:18px}.group-text[data-v-2bc354ba]{flex:1;white-space:nowrap;overflow:hidden}.group-title .arrow[data-v-2bc354ba]{font-size:10px;opacity:.7;transition:transform .25s ease}.menu.collapsed .group-title[data-v-2bc354ba]{padding:12px;justify-content:center}.menu.collapsed .group-icon[data-v-2bc354ba] svg{width:22px;height:22px}.group-title.open .arrow[data-v-2bc354ba]{transform:rotate(0)}.group-title:not(.open) .arrow[data-v-2bc354ba]{transform:rotate(-90deg)}.group-items-wrap[data-v-2bc354ba]{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.group-items-wrap.open[data-v-2bc354ba]{max-height:500px;transition:max-height .35s ease-in}.group-items[data-v-2bc354ba]{list-style:none;padding:0;margin:0}.group-items a[data-v-2bc354ba]{display:block;padding:9px 16px 9px 36px;color:#475569;text-decoration:none;font-size:13px;transition:all .15s;border-left:3px solid transparent}.group-items a[data-v-2bc354ba]:hover{background:#f1f5f9;color:#0f172a}.group-items a.active[data-v-2bc354ba]{background:rgba(13,148,136,.12);color:#0f766e;font-weight:500;border-left-color:#0d9488}.main[data-v-2bc354ba]{flex:1;overflow:auto;background:#fff;min-width:0;min-height:0;display:flex;flex-direction:column}.main[data-v-2bc354ba]>*{flex:1;min-height:0}.app-footer[data-v-2bc354ba]{flex-shrink:0;padding:14px 24px;text-align:center;font-size:12px;color:#94a3b8;background:#fff;border-top:1px solid #e2e8f0}.modal-overlay[data-v-2bc354ba]{position:fixed;inset:0;background:rgba(15,23,42,.4);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:2000}.modal-box[data-v-2bc354ba]{background:#fff;border-radius:16px;padding:28px;min-width:360px;box-shadow:0 25px 50px -12px #0003;border:1px solid #e2e8f0}.modal-box h3[data-v-2bc354ba]{margin:0 0 24px;font-size:18px;font-weight:600;color:#0f172a}.modal-field[data-v-2bc354ba]{margin-bottom:18px}.modal-field label[data-v-2bc354ba]{display:block;margin-bottom:8px;font-size:13px;color:#475569;font-weight:500}.modal-field input[data-v-2bc354ba]{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:border-color .2s}.modal-field input[data-v-2bc354ba]:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.modal-actions[data-v-2bc354ba]{display:flex;gap:12px;margin-top:24px}.btn-cancel[data-v-2bc354ba]{padding:10px 20px;background:#f1f5f9;color:#475569;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-cancel[data-v-2bc354ba]:hover{background:#e2e8f0}@media (max-width: 768px){.menu-trigger-header[data-v-2bc354ba]{display:flex;align-items:center;justify-content:center}.app-layout.mobile .sidebar-overlay[data-v-2bc354ba]{display:block}.app-layout.mobile .sidebar[data-v-2bc354ba]{position:fixed;left:0;top:60px;bottom:0;z-index:1000;width:280px;max-width:85vw;box-shadow:8px 0 30px #0f172a29}.app-layout.mobile.collapsed .sidebar[data-v-2bc354ba]{transform:translate(-100%)}.app-footer[data-v-2bc354ba]{font-size:11px;padding:10px 16px}}.login-page[data-v-02a6bbbe]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0f172a 0%,#1e293b 50%,#334155 100%)}.login-card[data-v-02a6bbbe]{background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:40px;border-radius:16px;box-shadow:0 20px 60px #0f172a52;border:1px solid rgba(255,255,255,.45);width:100%;max-width:380px}.title[data-v-02a6bbbe]{font-size:22px;color:#0d9488;margin:0 0 8px;text-align:center}.subtitle[data-v-02a6bbbe]{color:#666;font-size:14px;margin:0 0 24px;text-align:center}.form .field[data-v-02a6bbbe]{margin-bottom:16px}.form label[data-v-02a6bbbe]{display:block;font-size:13px;color:#333;margin-bottom:6px}.form input[data-v-02a6bbbe]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.form input[data-v-02a6bbbe]:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948824}.captcha-row[data-v-02a6bbbe]{display:grid;grid-template-columns:1fr 148px;gap:10px;align-items:center}.captcha-box[data-v-02a6bbbe]{height:50px;border:1px solid #cbd5e1;border-radius:8px;padding:0;background:#f8fafc;overflow:hidden;cursor:pointer;appearance:none;-webkit-appearance:none;display:flex;align-items:stretch;justify-content:stretch;line-height:0}.captcha-box[data-v-02a6bbbe]:hover:not(:disabled){border-color:#0d9488}.captcha-svg[data-v-02a6bbbe]{width:100%;height:100%;display:block}.captcha-svg[data-v-02a6bbbe] svg{width:100%;height:100%;display:block}.captcha-loading[data-v-02a6bbbe]{color:#64748b;font-size:12px}.captcha-tip[data-v-02a6bbbe]{margin:6px 0 0;font-size:12px;color:#64748b}.error[data-v-02a6bbbe]{color:#c62828;font-size:13px;margin:0 0 12px}.btn[data-v-02a6bbbe]{width:100%;padding:12px;background:#0d9488;color:#fff;border:none;border-radius:6px;font-size:15px;cursor:pointer}.btn[data-v-02a6bbbe]:hover:not(:disabled){background:#0f766e}.btn-ghost[data-v-02a6bbbe]{margin-top:10px;background:#eef7f6;color:#0f766e}.btn-ghost[data-v-02a6bbbe]:hover:not(:disabled){background:#dff2f0}.btn[data-v-02a6bbbe]:disabled{opacity:.7;cursor:not-allowed}.guest-modal-mask[data-v-02a6bbbe]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}.guest-modal[data-v-02a6bbbe]{width:320px;background:#fff;border-radius:10px;padding:18px}.guest-modal h3[data-v-02a6bbbe]{margin:0 0 12px;font-size:16px}.guest-modal select[data-v-02a6bbbe]{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px}.guest-actions[data-v-02a6bbbe]{margin-top:12px;display:grid;gap:8px}.btn-cancel[data-v-02a6bbbe]{background:#e5e7eb;color:#111827}.detail-overlay[data-v-8529d24f]{position:fixed;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.detail-panel[data-v-8529d24f]{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);border-radius:16px;width:100%;max-width:620px;max-height:85vh;overflow:auto;box-shadow:0 24px 48px #0003,0 0 0 1px #0000000d}.detail-header[data-v-8529d24f]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%);color:#fff;border-radius:16px 16px 0 0}.detail-title[data-v-8529d24f]{font-size:16px;font-weight:600;letter-spacing:.3px}.btn-close[data-v-8529d24f]{width:32px;height:32px;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:20px;line-height:1;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-close[data-v-8529d24f]:hover{background:rgba(255,255,255,.3)}.detail-body[data-v-8529d24f]{padding:20px}.loading-state[data-v-8529d24f]{display:flex;flex-direction:column;align-items:center;gap:12px;color:#64748b;padding:40px}.spinner[data-v-8529d24f]{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#0d9488;border-radius:50%;animation:spin-8529d24f .8s linear infinite}@keyframes spin-8529d24f{to{transform:rotate(360deg)}}.info-grid[data-v-8529d24f]{display:flex;flex-direction:column;gap:14px}.info-card[data-v-8529d24f]{padding:16px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}.info-card-highlight[data-v-8529d24f]{border-color:#99f6e4;background:linear-gradient(135deg,#f0fdfa 0%,#ccfbf1 20%)}.info-row[data-v-8529d24f]{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;font-size:14px;border-bottom:1px solid #f1f5f9}.info-row[data-v-8529d24f]:last-child{border-bottom:none}.info-label[data-v-8529d24f]{color:#64748b;min-width:80px}.info-value[data-v-8529d24f]{color:#334155;font-weight:500;text-align:right}.warn-text[data-v-8529d24f]{color:#dc2626}.metric-header-row[data-v-8529d24f]{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:10px}.metric-meta[data-v-8529d24f]{display:flex;flex-direction:column;gap:2px;min-width:0}.metric-meta-label[data-v-8529d24f]{font-size:11px;color:#64748b}.metric-meta-value[data-v-8529d24f]{font-size:12px;font-weight:500;color:#0f172a}.metric-values[data-v-8529d24f]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 520px){.metric-values[data-v-8529d24f]{grid-template-columns:1fr}}.metric-item[data-v-8529d24f]{padding:10px;border-radius:10px;border:1px solid rgba(13,148,136,.18);background:rgba(255,255,255,.72)}.metric-name[data-v-8529d24f]{font-size:12px;color:#64748b;margin-bottom:4px}.metric-val[data-v-8529d24f]{font-size:18px;font-weight:700;color:#0f172a}.metric-unit[data-v-8529d24f]{font-size:11px;font-weight:600;color:#64748b;margin-left:4px}.report-section[data-v-8529d24f]{margin-top:18px;padding-top:16px;border-top:1px dashed #e2e8f0}.report-section-title[data-v-8529d24f]{font-size:13px;color:#64748b;margin-bottom:12px;font-weight:500}.report-links[data-v-8529d24f]{display:flex;gap:10px;flex-wrap:wrap}.report-btn[data-v-8529d24f]{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1;min-width:72px;border:2px solid transparent;box-shadow:0 1px 3px #00000014}.report-btn[data-v-8529d24f]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.report-btn[data-v-8529d24f]:active{transform:translateY(0);box-shadow:0 1px 3px #00000014}.report-btn-primary[data-v-8529d24f]{background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%);border-color:#0d9488;color:#fff}.report-btn-primary[data-v-8529d24f]:hover{background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);box-shadow:0 4px 16px #0d948866}.report-btn-action[data-v-8529d24f]{background:#fff;border-color:#0d9488;color:#0d9488}.report-btn-action[data-v-8529d24f]:hover{background:#f0fdfa;border-color:#0f766e;color:#0f766e;box-shadow:0 4px 12px #0d948840}.report-icon[data-v-8529d24f]{width:16px;height:16px;flex-shrink:0}.edit-form[data-v-8529d24f]{margin-top:8px}.edit-form-subtitle[data-v-8529d24f]{font-size:12px;font-weight:600;color:#475569;margin-top:12px;margin-bottom:4px;padding-top:10px;border-top:1px solid #e2e8f0}.edit-form-subtitle[data-v-8529d24f]:first-child{margin-top:0;padding-top:0;border-top:none}.form-row[data-v-8529d24f]{display:flex;align-items:center;gap:10px;padding:6px 0}.form-row label[data-v-8529d24f]{min-width:200px;font-size:.8125rem;color:#64748b;line-height:1.3}.form-input[data-v-8529d24f]{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px}.action-row[data-v-8529d24f]{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.btn[data-v-8529d24f]{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-8529d24f]{background:#0d9488;color:#fff;border:none}.btn-primary[data-v-8529d24f]:hover{background:#0f766e;box-shadow:0 2px 8px #0d948866}.btn-outline[data-v-8529d24f]{background:#fff;color:#0d9488;border:1px solid #0d9488}.btn-outline[data-v-8529d24f]:hover{background:#f0fdfa}.chart-overlay[data-v-8529d24f]{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px}.chart-modal[data-v-8529d24f]{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow:hidden;box-shadow:0 24px 64px #00000040}.chart-modal-header[data-v-8529d24f]{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#0f172a;color:#fff;flex-wrap:wrap}.chart-title[data-v-8529d24f]{font-weight:600}.chart-type-tabs[data-v-8529d24f]{display:flex;gap:4px;margin-left:auto}.chart-tab[data-v-8529d24f]{padding:6px 14px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#94a3b8;font-size:12px;border-radius:6px;cursor:pointer;transition:all .2s}.chart-tab[data-v-8529d24f]:hover{color:#fff;border-color:#ffffff80}.chart-tab.active[data-v-8529d24f]{background:#0d9488;border-color:#0d9488;color:#fff}.btn-close-chart[data-v-8529d24f]{margin-left:0}.chart-modal-body[data-v-8529d24f]{padding:20px;min-height:320px;position:relative}.realtime-chart[data-v-8529d24f]{width:100%;height:300px;min-height:300px}.chart-loading-overlay[data-v-8529d24f]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);color:#64748b;font-size:14px}.chart-modal-body[data-v-8529d24f]{position:relative}.detail-overlay[data-v-598e4ff6]{position:fixed;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.detail-panel[data-v-598e4ff6]{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);border-radius:16px;width:100%;max-width:560px;max-height:85vh;overflow:auto;box-shadow:0 24px 48px #0003,0 0 0 1px #0000000d}.detail-header[data-v-598e4ff6]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%);color:#fff;border-radius:16px 16px 0 0}.detail-title[data-v-598e4ff6]{font-size:16px;font-weight:600;letter-spacing:.3px}.btn-close[data-v-598e4ff6]{width:32px;height:32px;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:20px;line-height:1;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-close[data-v-598e4ff6]:hover{background:rgba(255,255,255,.3)}.detail-body[data-v-598e4ff6]{padding:20px}.loading-state[data-v-598e4ff6]{display:flex;flex-direction:column;align-items:center;gap:12px;color:#64748b;padding:40px}.spinner[data-v-598e4ff6]{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#0d9488;border-radius:50%;animation:spin-598e4ff6 .8s linear infinite}@keyframes spin-598e4ff6{to{transform:rotate(360deg)}}.info-grid[data-v-598e4ff6]{display:flex;flex-direction:column;gap:14px}.info-card[data-v-598e4ff6]{padding:16px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}.info-card-highlight[data-v-598e4ff6]{border-color:#99f6e4;background:linear-gradient(135deg,#f0fdfa 0%,#ccfbf1 20%)}.info-row[data-v-598e4ff6]{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;font-size:14px;border-bottom:1px solid #f1f5f9}.info-row[data-v-598e4ff6]:last-child{border-bottom:none}.info-label[data-v-598e4ff6]{color:#64748b;min-width:80px}.info-value[data-v-598e4ff6]{color:#334155;font-weight:500;text-align:right}.metric-tabs[data-v-598e4ff6]{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.metric-tab[data-v-598e4ff6]{padding:6px 10px;font-size:12px;border-radius:999px;border:1px solid #99f6e4;background:rgba(255,255,255,.7);color:#0f766e;cursor:pointer;transition:all .2s}.metric-tab[data-v-598e4ff6]:hover{background:#fff;border-color:#5eead4}.metric-tab.active[data-v-598e4ff6]{background:#0d9488;border-color:#0d9488;color:#fff;box-shadow:0 2px 8px #0d948840}.metric-values[data-v-598e4ff6]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 520px){.metric-values[data-v-598e4ff6]{grid-template-columns:1fr}}.metric-item[data-v-598e4ff6]{padding:10px;border-radius:10px;border:1px solid rgba(13,148,136,.18);background:rgba(255,255,255,.72)}.metric-name[data-v-598e4ff6]{font-size:12px;color:#64748b;margin-bottom:4px}.metric-val[data-v-598e4ff6]{font-size:18px;font-weight:700;color:#0f172a}.metric-unit[data-v-598e4ff6]{font-size:12px;font-weight:600;color:#64748b;margin-left:4px}.report-section[data-v-598e4ff6]{margin-top:18px;padding-top:16px;border-top:1px dashed #e2e8f0}.report-section-title[data-v-598e4ff6]{font-size:13px;color:#64748b;margin-bottom:12px;font-weight:500}.report-links[data-v-598e4ff6]{display:flex;gap:10px;flex-wrap:wrap}.report-btn[data-v-598e4ff6]{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1;min-width:72px;border:2px solid transparent;box-shadow:0 1px 3px #00000014}.report-btn[data-v-598e4ff6]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.report-btn[data-v-598e4ff6]:active{transform:translateY(0);box-shadow:0 1px 3px #00000014}.report-btn-primary[data-v-598e4ff6]{background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%);border-color:#0d9488;color:#fff}.report-btn-primary[data-v-598e4ff6]:hover{background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);box-shadow:0 4px 16px #0d948866}.report-btn-action[data-v-598e4ff6]{background:#fff;border-color:#0d9488;color:#0d9488}.report-btn-action[data-v-598e4ff6]:hover{background:#f0fdfa;border-color:#0f766e;color:#0f766e;box-shadow:0 4px 12px #0d948840}.report-icon[data-v-598e4ff6]{width:16px;height:16px;flex-shrink:0}.chart-overlay[data-v-598e4ff6]{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px}.chart-modal[data-v-598e4ff6]{background:#fff;border-radius:16px;width:100%;max-width:760px;max-height:90vh;overflow:hidden;box-shadow:0 24px 64px #00000040}.chart-modal-header[data-v-598e4ff6]{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#0f172a;color:#fff;flex-wrap:wrap}.chart-title[data-v-598e4ff6]{font-weight:600}.chart-type-tabs[data-v-598e4ff6]{display:flex;gap:4px;margin-left:auto}.chart-tab[data-v-598e4ff6]{padding:6px 14px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#94a3b8;font-size:12px;border-radius:6px;cursor:pointer;transition:all .2s}.chart-tab[data-v-598e4ff6]:hover{color:#fff;border-color:#ffffff80}.chart-tab.active[data-v-598e4ff6]{background:#0d9488;border-color:#0d9488;color:#fff}.btn-close-chart[data-v-598e4ff6]{margin-left:0}.chart-modal-body[data-v-598e4ff6]{padding:20px;min-height:320px;position:relative}.realtime-chart[data-v-598e4ff6]{width:100%;height:320px;min-height:320px}.chart-loading-overlay[data-v-598e4ff6]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);color:#64748b;font-size:14px}.map-page[data-v-68a8f3cb]{display:flex;flex-direction:column;flex:1;min-height:0;max-height:calc(100vh - 120px);max-width:100%;overflow:hidden}.map-view[data-v-68a8f3cb]{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff;position:relative;overflow:hidden}.map-container[data-v-68a8f3cb]{flex:1;overflow:auto;position:relative;cursor:move;min-height:0;scrollbar-gutter:stable}.map-container.grabbing[data-v-68a8f3cb]{cursor:move;user-select:none}.map-container:not(.grabbing) .marker-wrapper[data-v-68a8f3cb]:hover{cursor:pointer}.viewer[data-v-68a8f3cb]{position:relative;display:block}.map-image[data-v-68a8f3cb]{display:block;max-width:none;vertical-align:top}.map-overlay[data-v-68a8f3cb]{position:absolute;z-index:10;pointer-events:none}.map-overlay[data-v-68a8f3cb]>*{pointer-events:auto}.map-overlay-fixed[data-v-68a8f3cb]{position:fixed;z-index:20;pointer-events:none}.map-overlay-fixed[data-v-68a8f3cb]>*{pointer-events:auto}.map-overlay-top-left[data-v-68a8f3cb]{top:72px;left:calc(var(--sidebar-width, 220px) + 12px);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.region-badge[data-v-68a8f3cb]{padding:6px 12px;background:rgba(255,255,255,.95);border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;color:#334155;box-shadow:0 2px 8px #00000014}.coord-display[data-v-68a8f3cb]{padding:4px 10px;background:rgba(15,23,42,.85);color:#94a3b8;font-size:12px;font-family:ui-monospace,monospace;border-radius:6px}.map-overlay-bottom-left[data-v-68a8f3cb]{bottom:48px;left:calc(var(--sidebar-width, 220px) + 12px)}@media (max-width: 768px){.map-overlay-top-left[data-v-68a8f3cb]{left:12px;top:72px}.map-overlay-bottom-left[data-v-68a8f3cb]{left:12px}}.map-overlay-fixed.map-overlay-bottom-left .zoom-controls[data-v-68a8f3cb]{pointer-events:auto}.zoom-controls[data-v-68a8f3cb]{display:flex;align-items:center;gap:2px;background:rgba(255,255,255,.95);border:1px solid #e2e8f0;padding:4px 6px;border-radius:8px;box-shadow:0 2px 8px #00000014}.zoom-btn[data-v-68a8f3cb]{width:32px;height:32px;border:none;background:#f8fafc;color:#475569;font-size:18px;line-height:1;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .2s}.zoom-btn[data-v-68a8f3cb]:hover:not(:disabled){background:#0d9488;color:#fff}.zoom-btn[data-v-68a8f3cb]:disabled{opacity:.4;cursor:not-allowed}.zoom-value[data-v-68a8f3cb]{font-size:12px;min-width:44px;text-align:center;color:#64748b;font-weight:500}.marker-wrapper[data-v-68a8f3cb]{position:absolute;left:0;top:0;z-index:5;transition:z-index .15s}.marker-pin[data-v-68a8f3cb]{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#0d9488;border:2px solid #fff;box-shadow:0 2px 8px #0000004d;pointer-events:none}.marker-pin-hydro[data-v-68a8f3cb]{background:#0d9488}.marker-pin-weather[data-v-68a8f3cb]{background:#38bdf8}.marker-connector[data-v-68a8f3cb]{position:absolute;left:-1px;top:6px;width:2px;height:10px;background:linear-gradient(to bottom,#0d9488 0%,rgba(13,148,136,.5) 100%);pointer-events:none}.marker-card[data-v-68a8f3cb]{position:absolute;left:-80px;top:16px;transform:none;min-width:160px;background:#ffffff;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 10px 30px #0f172a1f,0 0 0 1px #0f172a08;overflow:hidden;transition:transform .2s,box-shadow .2s}.marker-card-hydro[data-v-68a8f3cb]{border-color:#bae6fd}.marker-card-weather[data-v-68a8f3cb]{border-color:#bfdbfe}.marker-wrapper:hover .marker-card[data-v-68a8f3cb],.marker-wrapper.hovered .marker-card[data-v-68a8f3cb]{transform:scale(1.02);box-shadow:0 14px 40px #0f172a29,0 0 0 1px #0f172a08}.marker-header[data-v-68a8f3cb]{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid #e2e8f0}.marker-header-hydro[data-v-68a8f3cb]{background:linear-gradient(135deg,#f0fdfa 0%,#fed7aa 100%)}.marker-header-weather[data-v-68a8f3cb]{background:linear-gradient(135deg,#eff6ff 0%,#6fb5f3 100%)}.marker-card-maint[data-v-68a8f3cb]{background:#fef2f2;border-color:#fecaca}.marker-header-maint[data-v-68a8f3cb]{background:linear-gradient(135deg,#fee2e2 0%,#fca5a5 100%);border-bottom-color:#fecaca}.maint-pill[data-v-68a8f3cb]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:4px;font-size:11px;font-weight:800;color:#fff;background:#dc2626;border:1px solid #991b1b}.marker-icon[data-v-68a8f3cb]{width:14px;height:14px;flex-shrink:0}.marker-station[data-v-68a8f3cb]{font-size:12px;font-weight:700;color:#0f172a;flex:1;min-width:0}.warn-icon-wrap[data-v-68a8f3cb]{position:relative;display:inline-flex;align-items:flex-end;flex-shrink:0;margin-left:2px;vertical-align:middle}.warn-icon[data-v-68a8f3cb]{height:14px;width:auto;display:block}.warn-badge[data-v-68a8f3cb]{position:absolute;right:-6px;bottom:-4px;min-width:13px;height:13px;padding:0 2px;border-radius:4px;font-size:8px;font-weight:800;line-height:13px;text-align:center;letter-spacing:-.02em;color:#fff;border:1px solid rgba(255,255,255,.95);box-shadow:0 1px 3px #00000059;pointer-events:none}.warn-badge--wide[data-v-68a8f3cb]{min-width:18px;font-size:7px;padding:0 1px}.warn-badge--chg[data-v-68a8f3cb]{background:linear-gradient(145deg,#475569,#334155)}.warn-badge--drop1[data-v-68a8f3cb]{background:linear-gradient(145deg,#2563eb,#1d4ed8)}.warn-badge--drop2[data-v-68a8f3cb]{background:linear-gradient(145deg,#eab308,#ca8a04);color:#1c1917;border-color:#fff}.warn-badge--drop3[data-v-68a8f3cb]{background:linear-gradient(145deg,#f97316,#ea580c)}.warn-badge--drop4[data-v-68a8f3cb]{background:linear-gradient(145deg,#ef4444,#b91c1c)}.warn-badge--upchg[data-v-68a8f3cb]{background:linear-gradient(145deg,#0d9488,#0f766e)}.warn-badge--dnchg[data-v-68a8f3cb]{background:linear-gradient(145deg,#7c3aed,#6d28d9)}.warn-badge--up[data-v-68a8f3cb]{background:#0ea5e9}.warn-badge--dn[data-v-68a8f3cb]{background:#8b5cf6}.warn-badge--nodata[data-v-68a8f3cb]{background:#64748b}.warn-badge--cum[data-v-68a8f3cb]{background:#d97706}.warn-badge--anom[data-v-68a8f3cb]{background:#be123c}.warn-badge--volt[data-v-68a8f3cb]{background:#6366f1;font-size:7px}.warn-badge--other[data-v-68a8f3cb]{background:#334155;font-size:7px}.marker-values[data-v-68a8f3cb]{padding:8px 10px;display:flex;flex-direction:column;gap:4px}.val-row[data-v-68a8f3cb]{display:flex;align-items:center;gap:6px;font-size:11px}.val-label[data-v-68a8f3cb]{color:#94a3b8;min-width:32px}.val-num[data-v-68a8f3cb]{font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.val-water .val-num[data-v-68a8f3cb]{color:#38bdf8}.val-temp .val-num[data-v-68a8f3cb]{color:#fbbf24}.val-volt .val-num[data-v-68a8f3cb]{color:#a78bfa}.val-unit[data-v-68a8f3cb]{color:#64748b;font-size:10px;font-weight:600}.marker-extra[data-v-68a8f3cb]{padding:4px 10px 8px;font-size:10px;color:#64748b;display:flex;gap:10px;flex-wrap:wrap}.report-view[data-v-29155551]{min-height:500px;display:flex;flex-direction:column;padding:0 20px 24px}.report-header[data-v-29155551]{padding:16px 24px;background:#fff;color:#0f172a;border-bottom:1px solid #e2e8f0}.report-header h1[data-v-29155551]{margin:0;font-size:18px;font-weight:600}@media (max-width: 768px){.report-view[data-v-29155551]{padding:0 12px 16px}.report-header[data-v-29155551]{padding:12px 16px}.report-header h1[data-v-29155551]{font-size:16px}.report-form-row[data-v-29155551]{padding:12px 16px;gap:10px}.station-select[data-v-29155551]{flex-direction:column;align-items:flex-start}.station-chips[data-v-29155551]{max-width:100%}.report-form[data-v-29155551]{flex-direction:column;align-items:stretch}.chart-wrap[data-v-29155551]{margin-bottom:16px}.chart-toolbar[data-v-29155551]{top:4px;right:8px;flex-wrap:wrap;gap:4px}.chart-btn[data-v-29155551]{padding:4px 10px;font-size:11px}.chart[data-v-29155551]{min-height:260px!important}.data-table[data-v-29155551]{font-size:11px}.data-table th[data-v-29155551],.data-table td[data-v-29155551]{padding:6px 8px}}.report-form-row[data-v-29155551]{padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:14px}.station-select[data-v-29155551]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.station-label[data-v-29155551]{font-size:13px;color:#64748b}.station-chips[data-v-29155551]{display:flex;flex-wrap:wrap;gap:8px}.station-chip[data-v-29155551]{padding:6px 14px;border:1px solid #cbd5e1;border-radius:20px;background:#fff;color:#475569;font-size:13px;cursor:pointer;transition:all .2s}.station-chip[data-v-29155551]:hover{border-color:#0d9488;color:#0d9488}.station-chip.active[data-v-29155551]{background:#0d9488;border-color:#0d9488;color:#fff;box-shadow:0 2px 8px #0d94884d}.station-chip-all[data-v-29155551]{font-weight:500}.report-form[data-v-29155551]{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.form-label[data-v-29155551]{font-size:13px;color:#64748b}.form-select[data-v-29155551],.form-input[data-v-29155551]{padding:7px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;background:#fff}.form-select-year[data-v-29155551]{min-width:90px}.btn-print[data-v-29155551]{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#334155;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-print[data-v-29155551]:hover{background:#1e293b;box-shadow:0 2px 8px #3341554d}.btn-print[data-v-29155551]:active{transform:translateY(0)}.data-table-wrap[data-v-29155551]{margin:16px 0}.data-table[data-v-29155551]{width:100%;border-collapse:collapse;border:1px solid #e2e8f0;font-size:13px}.data-table th[data-v-29155551],.data-table td[data-v-29155551]{border:1px solid #e2e8f0;padding:8px 10px;text-align:center}.data-table th[data-v-29155551]{background:#f1f5f9;font-weight:600}.data-table td.station-name[data-v-29155551]{text-align:left;font-weight:500;min-width:100px}.data-table tbody tr[data-v-29155551]:nth-child(2n){background:#fafafa}.chart-wrap[data-v-29155551]{position:relative;margin-bottom:24px}.chart-toolbar[data-v-29155551]{position:absolute;top:8px;right:16px;z-index:10;display:flex;gap:6px}.chart-btn[data-v-29155551]{padding:5px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;cursor:pointer;transition:all .2s}.chart-btn[data-v-29155551]:hover{border-color:#0d9488;color:#0d9488}.chart-btn.active[data-v-29155551]{background:#0d9488;border-color:#0d9488;color:#fff}.chart-btn-download[data-v-29155551]{margin-left:4px}.chart[data-v-29155551]{min-height:380px}.analysis-section[data-v-29155551]{margin-top:24px;display:flex;justify-content:center}.analysis-inner[data-v-29155551]{width:100%;max-width:720px;display:flex;flex-direction:column;gap:12px}.analysis-label[data-v-29155551]{font-weight:600;font-size:15px;color:#334155}.analysis-history[data-v-29155551]{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.analysis-item[data-v-29155551]{display:flex;align-items:flex-start;gap:6px;font-size:14px}.analysis-author[data-v-29155551]{color:#0d9488;font-weight:500;flex-shrink:0}.analysis-time[data-v-29155551]{font-weight:400;color:#94a3b8;margin-left:2px}.analysis-content[data-v-29155551]{flex:1;color:#475569;white-space:pre-wrap;word-break:break-word}.analysis-delete[data-v-29155551]{flex-shrink:0;width:24px;height:24px;padding:0;border:none;background:#fef2f2;color:#dc2626;font-size:18px;line-height:1;border-radius:4px;cursor:pointer;opacity:.8}.analysis-delete[data-v-29155551]:hover{opacity:1;background:#fecaca}.analysis-input-row[data-v-29155551]{display:flex;flex-direction:column;gap:10px}.analysis-textarea[data-v-29155551]{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;resize:vertical;min-height:100px}.analysis-textarea[data-v-29155551]:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.btn-save[data-v-29155551]{align-self:flex-end;padding:10px 24px;background:#0d9488;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save[data-v-29155551]:hover:not(:disabled){background:#0f766e;box-shadow:0 2px 8px #0d94884d}.btn-save[data-v-29155551]:disabled{opacity:.6;cursor:not-allowed}.report-view[data-v-86b9a27d]{min-height:500px;display:flex;flex-direction:column;padding:0 20px 24px}.report-header[data-v-86b9a27d]{padding:16px 24px;background:#fff;color:#0f172a;border-bottom:1px solid #e2e8f0}.report-header h1[data-v-86b9a27d]{margin:0;font-size:18px;font-weight:600}.report-form-row[data-v-86b9a27d]{padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:14px}.station-select[data-v-86b9a27d]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.station-label[data-v-86b9a27d]{font-size:13px;color:#64748b}.station-chips[data-v-86b9a27d]{display:flex;flex-wrap:wrap;gap:8px}.station-chip[data-v-86b9a27d]{padding:6px 14px;border:1px solid #cbd5e1;border-radius:20px;background:#fff;color:#475569;font-size:13px;cursor:pointer;transition:all .2s}.station-chip[data-v-86b9a27d]:hover{border-color:#0d9488;color:#0d9488}.station-chip.active[data-v-86b9a27d]{background:#0d9488;border-color:#0d9488;color:#fff;box-shadow:0 2px 8px #0d94884d}.station-chip-all[data-v-86b9a27d]{font-weight:500}.report-form[data-v-86b9a27d]{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.raw-range-hint[data-v-86b9a27d]{margin:0;font-size:12px;color:#b45309;line-height:1.5}.form-label[data-v-86b9a27d]{font-size:13px;color:#64748b}.form-select[data-v-86b9a27d],.form-input[data-v-86b9a27d]{padding:7px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;background:#fff}.btn-print[data-v-86b9a27d]{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#334155;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-print[data-v-86b9a27d]:hover{background:#1e293b;box-shadow:0 2px 8px #3341554d}.chart-wrap[data-v-86b9a27d]{position:relative;margin:16px 0 24px}.chart-toolbar[data-v-86b9a27d]{position:absolute;top:8px;right:16px;z-index:10;display:flex;gap:6px}.chart-btn[data-v-86b9a27d]{padding:5px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;cursor:pointer;transition:all .2s}.chart-btn[data-v-86b9a27d]:hover{border-color:#0d9488;color:#0d9488}.chart-btn.active[data-v-86b9a27d]{background:#0d9488;border-color:#0d9488;color:#fff}.chart-btn-download[data-v-86b9a27d]{margin-left:4px}.chart[data-v-86b9a27d]{min-height:380px}.analysis-section[data-v-86b9a27d]{margin-top:24px;display:flex;justify-content:center}.analysis-inner[data-v-86b9a27d]{width:100%;max-width:720px;display:flex;flex-direction:column;gap:12px}.analysis-label[data-v-86b9a27d]{font-weight:600;font-size:15px;color:#334155}.analysis-history[data-v-86b9a27d]{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.analysis-item[data-v-86b9a27d]{display:flex;align-items:flex-start;gap:6px;font-size:14px}.analysis-author[data-v-86b9a27d]{color:#0d9488;font-weight:500;flex-shrink:0}.analysis-time[data-v-86b9a27d]{font-weight:400;color:#94a3b8;margin-left:2px}.analysis-content[data-v-86b9a27d]{flex:1;color:#475569;white-space:pre-wrap;word-break:break-word}.analysis-delete[data-v-86b9a27d]{flex-shrink:0;width:24px;height:24px;padding:0;border:none;background:#fef2f2;color:#dc2626;font-size:18px;line-height:1;border-radius:4px;cursor:pointer;opacity:.8}.analysis-delete[data-v-86b9a27d]:hover{opacity:1;background:#fecaca}.analysis-input-row[data-v-86b9a27d]{display:flex;flex-direction:column;gap:10px}.analysis-textarea[data-v-86b9a27d]{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;resize:vertical;min-height:100px}.analysis-textarea[data-v-86b9a27d]:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.btn-save[data-v-86b9a27d]{align-self:flex-end;padding:10px 24px;background:#0d9488;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save[data-v-86b9a27d]:hover:not(:disabled){background:#0f766e;box-shadow:0 2px 8px #0d94884d}.btn-save[data-v-86b9a27d]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.report-view[data-v-86b9a27d]{padding:0 12px 16px}.report-header[data-v-86b9a27d]{padding:12px 16px}.report-header h1[data-v-86b9a27d]{font-size:16px}.report-form-row[data-v-86b9a27d]{padding:12px 16px;gap:10px}.station-select[data-v-86b9a27d]{flex-direction:column;align-items:flex-start}.station-chips[data-v-86b9a27d]{max-width:100%}.report-form[data-v-86b9a27d]{flex-direction:column;align-items:stretch}.chart-wrap[data-v-86b9a27d]{margin-bottom:16px}.chart-toolbar[data-v-86b9a27d]{top:4px;right:8px;flex-wrap:wrap;gap:4px}.chart-btn[data-v-86b9a27d]{padding:4px 10px;font-size:11px}.chart[data-v-86b9a27d]{min-height:260px!important}}.page-view[data-v-f67d52b1]{padding:20px}.page-header[data-v-f67d52b1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h1[data-v-f67d52b1]{font-size:18px;margin:0}.data-table[data-v-f67d52b1]{width:100%;border-collapse:collapse;background:#fff}.data-table th[data-v-f67d52b1],.data-table td[data-v-f67d52b1]{border:1px solid #ddd;padding:10px 14px;text-align:left}.data-table th[data-v-f67d52b1]{background:#e8eaf6}.data-table tr[data-v-f67d52b1]:nth-child(2n){background:#f9f9f9}.page-view[data-v-57aff167]{padding:20px}.page-header[data-v-57aff167]{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.page-header h1[data-v-57aff167]{font-size:18px;margin:0}.page-header .date-picker[data-v-57aff167]{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff;min-width:160px}.page-header .date-picker[data-v-57aff167]:hover{border-color:#cbd5e1}.page-header .date-picker[data-v-57aff167]:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.data-table[data-v-57aff167]{width:100%;border-collapse:collapse;background:#fff}.data-table th[data-v-57aff167],.data-table td[data-v-57aff167]{border:1px solid #ddd;padding:8px 12px;text-align:center;min-width:80px}.data-table th[data-v-57aff167]{background:#e8eaf6}.page-view[data-v-684615a8]{padding:20px}.page-header[data-v-684615a8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h1[data-v-684615a8]{font-size:18px;margin:0}.data-table[data-v-684615a8]{width:100%;border-collapse:collapse;background:#fff}.data-table th[data-v-684615a8],.data-table td[data-v-684615a8]{border:1px solid #ddd;padding:10px 14px;text-align:left}.data-table th[data-v-684615a8]{background:#e8eaf6}.data-table tr[data-v-684615a8]:nth-child(2n){background:#f9f9f9}.empty[data-v-684615a8]{text-align:center;color:#999}.sub-section[data-v-684615a8]{margin-top:24px}.sub-title[data-v-684615a8]{font-size:16px;margin:0 0 8px}.page-view[data-v-408847cf]{padding:20px}.page-header[data-v-408847cf]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h1[data-v-408847cf]{font-size:18px;margin:0}.filters[data-v-408847cf]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.form-input[data-v-408847cf],.form-select[data-v-408847cf]{height:34px;border:1px solid #ddd;border-radius:6px;padding:0 10px}.form-input[data-v-408847cf]{min-width:240px}.form-input.small[data-v-408847cf]{min-width:140px}.form-select[data-v-408847cf]{min-width:180px;padding-right:40px}.data-table[data-v-408847cf]{width:100%;border-collapse:collapse;background:#fff}.data-table th[data-v-408847cf],.data-table td[data-v-408847cf]{border:1px solid #ddd;padding:10px 14px;text-align:left}.data-table th[data-v-408847cf]{background:#e8eaf6}.data-table tr[data-v-408847cf]:nth-child(2n){background:#f9f9f9}.status-badge[data-v-408847cf]{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.data-table .status-done[data-v-408847cf]{color:#047857;background:#d1fae5;border:1px solid #a7f3d0}.data-table .status-pending[data-v-408847cf]{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.sms-preview[data-v-408847cf]{max-width:280px;font-size:12px;color:#334155;line-height:1.35;word-break:break-all}.empty[data-v-408847cf]{text-align:center;color:#999}.pager[data-v-408847cf]{display:flex;align-items:center;gap:10px;margin-top:12px;color:#475569;font-size:13px}.btn-page[data-v-408847cf]{height:30px;padding:0 10px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer}.btn-page[data-v-408847cf]:disabled{opacity:.5;cursor:not-allowed}.page-size[data-v-408847cf]{min-width:120px;height:30px}.page-view[data-v-b950e04b]{padding:20px}.page-header[data-v-b950e04b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h1[data-v-b950e04b]{font-size:18px;margin:0}.page-header .page-desc[data-v-b950e04b]{color:#64748b;font-size:12px;margin:6px 0 0;max-width:720px;line-height:1.5}.page-header .desc[data-v-b950e04b]{color:#666;font-size:12px;margin:0}.filters[data-v-b950e04b]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.form-input[data-v-b950e04b],.form-select[data-v-b950e04b]{height:34px;border:1px solid #ddd;border-radius:6px;padding:0 10px}.form-input[data-v-b950e04b]{min-width:240px}.form-input.small[data-v-b950e04b]{min-width:140px}.form-select[data-v-b950e04b]{min-width:180px;padding-right:40px}.data-table[data-v-b950e04b]{width:100%;border-collapse:collapse;background:#fff}.data-table th[data-v-b950e04b],.data-table td[data-v-b950e04b]{border:1px solid #ddd;padding:10px 14px;text-align:left}.data-table th[data-v-b950e04b]{background:#e8eaf6}.data-table tr[data-v-b950e04b]:nth-child(2n){background:#f9f9f9}.status-badge[data-v-b950e04b]{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.data-table .status-done[data-v-b950e04b]{color:#047857;background:#d1fae5;border:1px solid #a7f3d0}.data-table .status-pending[data-v-b950e04b]{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.empty[data-v-b950e04b]{text-align:center;color:#999}.pager[data-v-b950e04b]{display:flex;align-items:center;gap:10px;margin-top:12px;color:#475569;font-size:13px}.btn-page[data-v-b950e04b]{height:30px;padding:0 10px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer}.btn-page[data-v-b950e04b]:disabled{opacity:.5;cursor:not-allowed}.page-size[data-v-b950e04b]{min-width:120px;height:30px}.device-card[data-v-8a70c9e8]{position:relative;border-radius:10px;padding:12px 14px 14px 16px;min-width:min(100%,320px);overflow:hidden;background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 50%,#e2e8f0 100%);border:1px solid rgba(148,163,184,.35);box-shadow:0 2px 8px #0f172a0f,inset 0 1px #fffc;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.device-card[data-v-8a70c9e8]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0f172a1a,inset 0 1px #ffffffe6;border-color:#94a3b880}.device-card.is-online[data-v-8a70c9e8]{background:linear-gradient(145deg,#f0fdf4 0%,#ecfdf5 40%,#d1fae5 100%);border-color:#22c55e40}.device-card.is-online[data-v-8a70c9e8]:hover{border-color:#22c55e66}.card-accent[data-v-8a70c9e8]{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:10px 0 0 10px;background:linear-gradient(180deg,#94a3b8 0%,#64748b 100%);opacity:.9}.device-card.is-online .card-accent[data-v-8a70c9e8]{background:linear-gradient(180deg,#4ade80 0%,#22c55e 50%,#16a34a 100%);opacity:1;box-shadow:0 0 12px #22c55e66}.card-decoration[data-v-8a70c9e8]{position:absolute;top:-20px;right:-20px;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.6),rgba(148,163,184,.15));pointer-events:none}.device-card.is-online .card-decoration[data-v-8a70c9e8]{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.5),rgba(34,197,94,.12))}.card-header[data-v-8a70c9e8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;position:relative;z-index:1}.header-left[data-v-8a70c9e8]{display:flex;align-items:center;gap:8px;min-width:0}.header-actions[data-v-8a70c9e8]{display:flex;align-items:center;gap:6px}.device-icon[data-v-8a70c9e8]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);color:#fff;flex-shrink:0;box-shadow:0 2px 6px #4f46e559}.device-icon svg[data-v-8a70c9e8]{width:16px;height:16px}.device-id[data-v-8a70c9e8]{font-size:14px;font-weight:700;color:#1e293b;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge[data-v-8a70c9e8]{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;flex-shrink:0;letter-spacing:.02em}.status-dot[data-v-8a70c9e8]{width:5px;height:5px;border-radius:50%;background:currentColor;animation:pulse-8a70c9e8 2s ease-in-out infinite}.status-offline .status-dot[data-v-8a70c9e8]{animation:none}@keyframes pulse-8a70c9e8{0%,to{opacity:1}50%{opacity:.5}}.status-online[data-v-8a70c9e8]{background:linear-gradient(135deg,#dcfce7 0%,#bbf7d0 100%);color:#15803d;box-shadow:0 1px 2px #22c55e33}.status-offline[data-v-8a70c9e8]{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);color:#64748b}.remove-btn[data-v-8a70c9e8]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:linear-gradient(145deg,#fef2f2 0%,#fee2e2 100%);color:#dc2626;cursor:pointer;flex-shrink:0;transition:transform .15s,box-shadow .15s;position:relative;z-index:1}.remove-btn svg[data-v-8a70c9e8]{width:14px;height:14px}.remove-btn[data-v-8a70c9e8]:hover{transform:scale(1.05);box-shadow:0 2px 8px #dc262640;background:linear-gradient(145deg,#fee2e2 0%,#fecaca 100%)}.command-btn[data-v-8a70c9e8]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:linear-gradient(145deg,#eef2ff 0%,#e0e7ff 100%);color:#4f46e5;cursor:pointer;flex-shrink:0;transition:transform .15s,box-shadow .15s,background-color .15s;position:relative;z-index:1}.command-btn svg[data-v-8a70c9e8]{width:14px;height:14px}.command-btn[data-v-8a70c9e8]:hover{transform:scale(1.05);box-shadow:0 2px 8px #4f46e547;background:linear-gradient(145deg,#e0e7ff 0%,#c7d2fe 100%)}.command-btn.is-sending[data-v-8a70c9e8]{color:#2563eb;box-shadow:0 0 0 2px #3b82f62e}.card-address[data-v-8a70c9e8]{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b;margin-bottom:8px;font-family:ui-monospace,monospace;position:relative;z-index:1}.address-icon[data-v-8a70c9e8]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:rgba(100,116,139,.15);color:#475569}.address-icon svg[data-v-8a70c9e8]{width:12px;height:12px}.card-meta[data-v-8a70c9e8]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;position:relative;z-index:1}.meta-item[data-v-8a70c9e8]{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#64748b;background:rgba(255,255,255,.6);padding:4px 8px;border-radius:6px;border:1px solid rgba(148,163,184,.2)}.meta-icon[data-v-8a70c9e8]{font-size:10px;opacity:.9}.card-data[data-v-8a70c9e8]{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-bottom:8px;position:relative;z-index:1;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.data-chip[data-v-8a70c9e8]{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;border:1px solid transparent;box-shadow:0 1px 2px #0000000d;white-space:nowrap}.data-chip-water[data-v-8a70c9e8]{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);color:#1d4ed8;border-color:#3b82f64d}.data-chip-temp[data-v-8a70c9e8]{background:linear-gradient(135deg,#ffedd5 0%,#fed7aa 100%);color:#c2410c;border-color:#f973164d}.data-chip-volt[data-v-8a70c9e8]{background:linear-gradient(135deg,#ede9fe 0%,#ddd6fe 100%);color:#6d28d9;border-color:#8b5cf64d}.data-chip-muted[data-v-8a70c9e8]{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);color:#94a3b8;border-color:#94a3b840}.at-last-command-inline[data-v-8a70c9e8]{margin-top:2px;font-size:11px;color:#64748b;position:relative;z-index:1}.at-last-command-inline code[data-v-8a70c9e8]{color:#4f46e5;font-size:11px;font-weight:600;padding:0 4px;background:rgba(99,102,241,.1);border-radius:4px}.at-shortcuts-row[data-v-8a70c9e8]{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:6px}.at-shortcuts-label[data-v-8a70c9e8]{font-size:11px;color:#6b7280}.at-shortcuts-chips[data-v-8a70c9e8]{display:flex;flex-wrap:wrap;gap:4px}.at-shortcut-chip[data-v-8a70c9e8]{border:none;padding:2px 8px;border-radius:999px;font-size:11px;background:#e5e7eb;color:#374151;cursor:pointer}.at-shortcut-chip[data-v-8a70c9e8]:hover{background:#d1d5db}.at-row[data-v-8a70c9e8]{display:flex;gap:8px;margin-bottom:6px}.at-input[data-v-8a70c9e8]{flex:1;min-width:0;padding:6px 10px;border:1px solid rgba(148,163,184,.4);border-radius:6px;font-size:12px;background:#fff;transition:border-color .2s,box-shadow .2s}.at-input[data-v-8a70c9e8]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.send-btn[data-v-8a70c9e8]{padding:6px 12px;border:none;border-radius:6px;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);color:#fff;font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0;box-shadow:0 2px 4px #4f46e54d;transition:transform .15s,box-shadow .15s}.send-btn[data-v-8a70c9e8]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #4f46e566}.send-btn[data-v-8a70c9e8]:disabled{background:linear-gradient(135deg,#cbd5e1 0%,#94a3b8 100%);box-shadow:none;cursor:not-allowed}.at-sent[data-v-8a70c9e8]{font-size:11px;color:#64748b;margin-bottom:4px}.at-sent code[data-v-8a70c9e8]{color:#4f46e5;font-size:11px;font-weight:600;padding:0 4px;background:rgba(99,102,241,.1);border-radius:4px}.at-response[data-v-8a70c9e8]{font-size:11px;padding:8px 10px;background:rgba(15,23,42,.03);border-radius:6px;border:1px solid rgba(148,163,184,.2);max-height:80px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;color:#334155}.at-response-empty[data-v-8a70c9e8]{color:#94a3b8;font-style:italic}.at-modal[data-v-8a70c9e8]{position:fixed;inset:0;background:rgba(15,23,42,.4);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1200}.at-modal-box[data-v-8a70c9e8]{width:min(860px,calc(100vw - 40px));max-height:calc(100vh - 64px);overflow:auto;background:#fff;border-radius:12px;padding:18px;box-shadow:0 20px 50px #00000040}.at-modal-header[data-v-8a70c9e8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.at-modal-title[data-v-8a70c9e8]{font-size:16px;font-weight:700;color:#1f2937}.at-modal-close[data-v-8a70c9e8]{border:none;border-radius:6px;padding:6px 10px;background:#e5e7eb;color:#334155;font-size:12px;cursor:pointer}.at-modal-response[data-v-8a70c9e8]{min-height:240px;max-height:50vh;font-size:13px}.page-view[data-v-c63e0232]{padding:20px}.page-header[data-v-c63e0232]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h1[data-v-c63e0232]{font-size:18px;margin:0}.device-grid[data-v-c63e0232]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.empty-tip[data-v-c63e0232]{color:#999;margin-top:20px}.device-group-title[data-v-c63e0232]{font-size:16px;margin-bottom:6px;margin-top:12px}.tabs[data-v-c63e0232]{display:inline-flex;gap:8px;margin-bottom:16px;border-radius:999px;padding:4px;background:#e5e7eb}.tab-btn[data-v-c63e0232]{border:none;background:transparent;padding:6px 16px;border-radius:999px;font-size:13px;cursor:pointer;color:#4b5563}.tab-btn.active[data-v-c63e0232]{background:#ffffff;color:#111827;box-shadow:0 1px 3px #0000001f}.at-shortcuts-panel[data-v-c63e0232]{margin-top:8px}.crud-tab .toolbar[data-v-c63e0232]{margin-bottom:12px;display:flex;gap:8px;align-items:center}.crud-tab .table[data-v-c63e0232]{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}.crud-tab .table th[data-v-c63e0232],.crud-tab .table td[data-v-c63e0232]{border:1px solid #e5e7f0;padding:8px;text-align:left}.crud-tab .table th[data-v-c63e0232]{background:#f8fafc;color:#334155;font-weight:600}.btn[data-v-c63e0232]{padding:8px 16px;background:#0d9488;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.btn-cancel[data-v-c63e0232]{background:#e2e8f0;color:#334155}.toolbar-tip[data-v-c63e0232]{font-size:12px;color:#6b7280}.btn-action[data-v-c63e0232]{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer}.btn-action-edit[data-v-c63e0232]{background:#e0f2f1;color:#0d9488}.btn-action-danger[data-v-c63e0232]{background:#fee2e2;color:#dc2626;margin-left:4px}.loading-cell[data-v-c63e0232],.empty-cell[data-v-c63e0232]{text-align:center;color:#6b7280;font-size:13px}.modal[data-v-c63e0232]{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-box.at-modal-box[data-v-c63e0232]{background:#fff;padding:24px;border-radius:12px;min-width:520px;max-width:720px;width:92vw;box-shadow:0 20px 50px #0000002e}.modal-box h3[data-v-c63e0232]{margin:0 0 16px;font-size:16px}.form-row[data-v-c63e0232]{display:flex;gap:12px;margin-bottom:10px}.field[data-v-c63e0232]{flex:1}.field-full[data-v-c63e0232]{flex:1 1 100%}.field label[data-v-c63e0232]{display:block;margin-bottom:4px;font-size:12px;color:#4b5563}.field .required[data-v-c63e0232]{color:#ef4444;margin-left:4px}.field input[data-v-c63e0232]{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:6px;border:1px solid #d1d5db;font-size:13px}.modal-actions[data-v-c63e0232]{margin-top:16px;display:flex;gap:8px}.page-view[data-v-de1c60a4]{padding:20px}.page-header[data-v-de1c60a4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.page-header h1[data-v-de1c60a4]{font-size:18px;margin:0}.controls[data-v-de1c60a4]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.form-select[data-v-de1c60a4]{padding:6px 10px;border-radius:6px;border:1px solid #e2e8f0;font-size:13px;min-width:140px}.form-select[data-v-de1c60a4]:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d94881f}.data-table[data-v-de1c60a4]{width:100%;border-collapse:collapse;background:#fff}.data-table th[data-v-de1c60a4],.data-table td[data-v-de1c60a4]{border:1px solid #ddd;padding:8px 10px;text-align:center;white-space:nowrap}.data-table th[data-v-de1c60a4]{background:#e8eaf6}.empty-tip[data-v-de1c60a4]{padding:40px 0;text-align:center;color:#64748b}.report-view[data-v-b1ff6dcd]{min-height:500px;display:flex;flex-direction:column;padding:0 20px 24px}.report-header[data-v-b1ff6dcd]{padding:16px 24px;background:#fff;color:#0f172a;border-bottom:1px solid #e2e8f0}.report-header h1[data-v-b1ff6dcd]{margin:0;font-size:18px;font-weight:600}@media (max-width: 768px){.report-view[data-v-b1ff6dcd]{padding:0 12px 16px}.report-header[data-v-b1ff6dcd]{padding:12px 16px}.report-header h1[data-v-b1ff6dcd]{font-size:16px}.report-form-row[data-v-b1ff6dcd]{padding:12px 16px;gap:10px}.station-select[data-v-b1ff6dcd]{flex-direction:column;align-items:flex-start}.station-chips[data-v-b1ff6dcd]{max-width:100%}.report-form[data-v-b1ff6dcd]{flex-direction:column;align-items:stretch}.chart-wrap[data-v-b1ff6dcd]{margin-bottom:16px}.chart-toolbar[data-v-b1ff6dcd]{top:4px;right:8px;flex-wrap:wrap;gap:4px}.chart-btn[data-v-b1ff6dcd]{padding:4px 10px;font-size:11px}.chart[data-v-b1ff6dcd]{min-height:260px!important}.data-table[data-v-b1ff6dcd]{font-size:11px}.data-table th[data-v-b1ff6dcd],.data-table td[data-v-b1ff6dcd]{padding:6px 8px}}.report-form-row[data-v-b1ff6dcd]{padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:14px}.station-select[data-v-b1ff6dcd]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.station-label[data-v-b1ff6dcd]{font-size:13px;color:#64748b}.station-chips[data-v-b1ff6dcd]{display:flex;flex-wrap:wrap;gap:8px}.station-chip[data-v-b1ff6dcd]{padding:6px 14px;border:1px solid #cbd5e1;border-radius:20px;background:#fff;color:#475569;font-size:13px;cursor:pointer;transition:all .2s}.station-chip[data-v-b1ff6dcd]:hover{border-color:#0d9488;color:#0d9488}.station-chip.active[data-v-b1ff6dcd]{background:#0d9488;border-color:#0d9488;color:#fff;box-shadow:0 2px 8px #0d94884d}.station-chip-all[data-v-b1ff6dcd]{font-weight:500}.report-form[data-v-b1ff6dcd]{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.form-label[data-v-b1ff6dcd]{font-size:13px;color:#64748b}.form-select[data-v-b1ff6dcd],.form-input[data-v-b1ff6dcd]{padding:7px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;background:#fff}.form-select-year[data-v-b1ff6dcd]{min-width:90px}.btn-print[data-v-b1ff6dcd]{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#334155;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-print[data-v-b1ff6dcd]:hover{background:#1e293b;box-shadow:0 2px 8px #3341554d}.btn-print[data-v-b1ff6dcd]:active{transform:translateY(0)}.data-table-wrap[data-v-b1ff6dcd]{margin:16px 0}.data-table[data-v-b1ff6dcd]{width:100%;border-collapse:collapse;border:1px solid #e2e8f0;font-size:13px}.data-table th[data-v-b1ff6dcd],.data-table td[data-v-b1ff6dcd]{border:1px solid #e2e8f0;padding:8px 10px;text-align:center}.data-table th[data-v-b1ff6dcd]{background:#f1f5f9;font-weight:600}.data-table td.station-name[data-v-b1ff6dcd]{text-align:left;font-weight:500;min-width:100px}.data-table tbody tr[data-v-b1ff6dcd]:nth-child(2n){background:#fafafa}.chart-wrap[data-v-b1ff6dcd]{position:relative;margin-bottom:24px}.chart-toolbar[data-v-b1ff6dcd]{position:absolute;top:8px;right:16px;z-index:10;display:flex;gap:6px}.chart-btn[data-v-b1ff6dcd]{padding:5px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;cursor:pointer;transition:all .2s}.chart-btn[data-v-b1ff6dcd]:hover{border-color:#0d9488;color:#0d9488}.chart-btn.active[data-v-b1ff6dcd]{background:#0d9488;border-color:#0d9488;color:#fff}.chart-btn-download[data-v-b1ff6dcd]{margin-left:4px}.chart[data-v-b1ff6dcd]{min-height:380px}.analysis-section[data-v-b1ff6dcd]{margin-top:24px;display:flex;justify-content:center}.analysis-inner[data-v-b1ff6dcd]{width:100%;max-width:720px;display:flex;flex-direction:column;gap:12px}.analysis-label[data-v-b1ff6dcd]{font-weight:600;font-size:15px;color:#334155}.analysis-history[data-v-b1ff6dcd]{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.analysis-item[data-v-b1ff6dcd]{display:flex;align-items:flex-start;gap:6px;font-size:14px}.analysis-author[data-v-b1ff6dcd]{color:#0d9488;font-weight:500;flex-shrink:0}.analysis-time[data-v-b1ff6dcd]{font-weight:400;color:#94a3b8;margin-left:2px}.analysis-content[data-v-b1ff6dcd]{flex:1;color:#475569;white-space:pre-wrap;word-break:break-word}.analysis-delete[data-v-b1ff6dcd]{flex-shrink:0;width:24px;height:24px;padding:0;border:none;background:#fef2f2;color:#dc2626;font-size:18px;line-height:1;border-radius:4px;cursor:pointer;opacity:.8}.analysis-delete[data-v-b1ff6dcd]:hover{opacity:1;background:#fecaca}.analysis-input-row[data-v-b1ff6dcd]{display:flex;flex-direction:column;gap:10px}.analysis-textarea[data-v-b1ff6dcd]{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;resize:vertical;min-height:100px}.analysis-textarea[data-v-b1ff6dcd]:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.btn-save[data-v-b1ff6dcd]{align-self:flex-end;padding:10px 24px;background:#0d9488;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save[data-v-b1ff6dcd]:hover:not(:disabled){background:#0f766e;box-shadow:0 2px 8px #0d94884d}.btn-save[data-v-b1ff6dcd]:disabled{opacity:.6;cursor:not-allowed}.report-view[data-v-3d26c698]{min-height:500px;display:flex;flex-direction:column;padding:0 20px 24px}.report-header[data-v-3d26c698]{padding:16px 24px;background:#fff;color:#0f172a;border-bottom:1px solid #e2e8f0}.report-header h1[data-v-3d26c698]{margin:0;font-size:18px;font-weight:600}.report-form-row[data-v-3d26c698]{padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:14px}.station-select[data-v-3d26c698]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.station-label[data-v-3d26c698]{font-size:13px;color:#64748b}.station-chips[data-v-3d26c698]{display:flex;flex-wrap:wrap;gap:8px}.station-chip[data-v-3d26c698]{padding:6px 14px;border:1px solid #cbd5e1;border-radius:20px;background:#fff;color:#475569;font-size:13px;cursor:pointer;transition:all .2s}.station-chip[data-v-3d26c698]:hover{border-color:#0d9488;color:#0d9488}.station-chip.active[data-v-3d26c698]{background:#0d9488;border-color:#0d9488;color:#fff;box-shadow:0 2px 8px #0d94884d}.station-chip-all[data-v-3d26c698]{font-weight:500}.report-form[data-v-3d26c698]{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.raw-range-hint[data-v-3d26c698]{margin:0;font-size:12px;color:#b45309;line-height:1.5}.form-label[data-v-3d26c698]{font-size:13px;color:#64748b}.form-select[data-v-3d26c698],.form-input[data-v-3d26c698]{padding:7px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;background:#fff}.btn-print[data-v-3d26c698]{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#334155;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-print[data-v-3d26c698]:hover{background:#1e293b;box-shadow:0 2px 8px #3341554d}.chart-wrap[data-v-3d26c698]{position:relative;margin:16px 0 24px}.chart-toolbar[data-v-3d26c698]{position:absolute;top:8px;right:16px;z-index:10;display:flex;gap:6px}.chart-btn[data-v-3d26c698]{padding:5px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;cursor:pointer;transition:all .2s}.chart-btn[data-v-3d26c698]:hover{border-color:#0d9488;color:#0d9488}.chart-btn.active[data-v-3d26c698]{background:#0d9488;border-color:#0d9488;color:#fff}.chart-btn-download[data-v-3d26c698]{margin-left:4px}.chart[data-v-3d26c698]{min-height:380px}.analysis-section[data-v-3d26c698]{margin-top:24px;display:flex;justify-content:center}.analysis-inner[data-v-3d26c698]{width:100%;max-width:720px;display:flex;flex-direction:column;gap:12px}.analysis-label[data-v-3d26c698]{font-weight:600;font-size:15px;color:#334155}.analysis-history[data-v-3d26c698]{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.analysis-item[data-v-3d26c698]{display:flex;align-items:flex-start;gap:6px;font-size:14px}.analysis-author[data-v-3d26c698]{color:#0d9488;font-weight:500;flex-shrink:0}.analysis-time[data-v-3d26c698]{font-weight:400;color:#94a3b8;margin-left:2px}.analysis-content[data-v-3d26c698]{flex:1;color:#475569;white-space:pre-wrap;word-break:break-word}.analysis-delete[data-v-3d26c698]{flex-shrink:0;width:24px;height:24px;padding:0;border:none;background:#fef2f2;color:#dc2626;font-size:18px;line-height:1;border-radius:4px;cursor:pointer;opacity:.8}.analysis-delete[data-v-3d26c698]:hover{opacity:1;background:#fecaca}.analysis-input-row[data-v-3d26c698]{display:flex;flex-direction:column;gap:10px}.analysis-textarea[data-v-3d26c698]{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;resize:vertical;min-height:100px}.analysis-textarea[data-v-3d26c698]:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.btn-save[data-v-3d26c698]{align-self:flex-end;padding:10px 24px;background:#0d9488;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save[data-v-3d26c698]:hover:not(:disabled){background:#0f766e;box-shadow:0 2px 8px #0d94884d}.btn-save[data-v-3d26c698]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.report-view[data-v-3d26c698]{padding:0 12px 16px}.report-header[data-v-3d26c698]{padding:12px 16px}.report-header h1[data-v-3d26c698]{font-size:16px}.report-form-row[data-v-3d26c698]{padding:12px 16px;gap:10px}.station-select[data-v-3d26c698]{flex-direction:column;align-items:flex-start}.station-chips[data-v-3d26c698]{max-width:100%}.report-form[data-v-3d26c698]{flex-direction:column;align-items:stretch}.chart-wrap[data-v-3d26c698]{margin-bottom:16px}.chart-toolbar[data-v-3d26c698]{top:4px;right:8px;flex-wrap:wrap;gap:4px}.chart-btn[data-v-3d26c698]{padding:4px 10px;font-size:11px}.chart[data-v-3d26c698]{min-height:260px!important}}.crud-tab .toolbar[data-v-55265107]{margin-bottom:12px;display:flex;gap:8px;align-items:center}.crud-tab .table[data-v-55265107]{width:100%;border-collapse:collapse;font-size:14px}.crud-tab .table th[data-v-55265107],.crud-tab .table td[data-v-55265107]{border:1px solid #e2e8f0;padding:10px;text-align:left}.crud-tab .table th[data-v-55265107]{background:#f8fafc;color:#334155;font-weight:600}.btn[data-v-55265107]{padding:8px 14px;background:#0d9488;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.modal[data-v-55265107]{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-55265107]{background:#fff;padding:24px;border-radius:12px;min-width:640px;max-width:860px;width:92vw;box-shadow:0 20px 50px #0000002e}.modal-box h3[data-v-55265107]{margin:0 0 16px}.form .field[data-v-55265107]{margin-bottom:12px}.form label[data-v-55265107]{display:block;margin-bottom:8px;font-size:13px;color:#334155;font-weight:600}.form input[data-v-55265107],.form select[data-v-55265107]{width:100%;padding:10px 12px;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px}.form-input-custom[data-v-55265107]{margin-top:8px}.field-hint[data-v-55265107]{display:block;margin-top:4px;font-size:12px;color:#64748b}.modal-actions[data-v-55265107]{margin-top:16px;display:flex;gap:8px}.modal-actions .btn[data-v-55265107]:last-child{background:#e2e8f0;color:#334155}.btn-action[data-v-55265107]{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer}.btn-action+.btn-action[data-v-55265107]{margin-left:4px}.btn-action-edit[data-v-55265107]{background:#e0f2f1;color:#0d9488}.btn-action-warn[data-v-55265107]{background:#fef3c7;color:#b45309}.btn-action-danger[data-v-55265107]{background:#fee2e2;color:#dc2626}.crud-tab .toolbar[data-v-22b3ef9b]{margin-bottom:12px;display:flex;gap:8px;align-items:center}.crud-tab .table[data-v-22b3ef9b]{width:100%;border-collapse:collapse;font-size:13px;min-width:800px}.crud-tab .table th[data-v-22b3ef9b],.crud-tab .table td[data-v-22b3ef9b]{border:1px solid #ddd;padding:8px;text-align:left}.crud-tab .table th[data-v-22b3ef9b]{background:#f5f5f5}.btn[data-v-22b3ef9b]{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500}.btn-primary[data-v-22b3ef9b]{background:#0d9488;color:#fff}.btn-primary[data-v-22b3ef9b]:hover{background:#0f766e}.btn-secondary[data-v-22b3ef9b]{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.btn-secondary[data-v-22b3ef9b]:hover{background:#e2e8f0}.modal[data-v-22b3ef9b]{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:100}.station-modal[data-v-22b3ef9b]{background:#fff;padding:24px;border-radius:10px;box-shadow:0 10px 40px #00000026;max-width:560px;width:90%;max-height:90vh;display:flex;flex-direction:column}.station-modal h3[data-v-22b3ef9b]{margin:0 0 16px;font-size:18px;font-weight:600;color:#0f172a}.form-scroll[data-v-22b3ef9b]{overflow-y:auto;flex:1;padding-right:8px;margin:0 -4px}.form-section[data-v-22b3ef9b]{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.form-section[data-v-22b3ef9b]:last-of-type{border-bottom:none;margin-bottom:0}.form-section h4[data-v-22b3ef9b]{margin:0 0 12px;font-size:14px;font-weight:600;color:#334155}.field-hint[data-v-22b3ef9b]{margin:0 0 12px;font-size:12px;color:#64748b;line-height:1.45}.field-note[data-v-22b3ef9b]{margin-top:6px;font-size:12px;color:#64748b;line-height:1.45}.form-grid[data-v-22b3ef9b]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px}.form-grid .field.col-span-2[data-v-22b3ef9b]{grid-column:span 2}.form-grid .field label[data-v-22b3ef9b]{display:block;margin-bottom:6px;font-size:12px;color:#64748b;font-weight:500}.form-grid .field input[data-v-22b3ef9b],.form-grid .field select[data-v-22b3ef9b]{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.form-grid .field input[data-v-22b3ef9b]:focus,.form-grid .field select[data-v-22b3ef9b]:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.type-radio-group[data-v-22b3ef9b]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:4px}.type-radio-item[data-v-22b3ef9b]{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dbe3ea;border-radius:10px;background:#f8fafc;color:#334155;font-size:13px;font-weight:500;cursor:pointer;user-select:none;transition:all .15s ease}.type-radio-item[data-v-22b3ef9b]:hover{border-color:#9dd9d3;background:#f0fdfa}.type-radio-item input[data-v-22b3ef9b]{display:none}.type-radio-item.active[data-v-22b3ef9b]{border-color:#0d9488;background:#e6fffb;color:#0f766e;box-shadow:inset 0 0 0 1px #0d948840}.field-hint[data-v-22b3ef9b]{margin-top:4px;font-size:11px;color:#f97316}.code-parts[data-v-22b3ef9b]{display:grid;grid-template-columns:1.6fr .9fr .9fr 1fr 1fr;gap:8px}.code-parts input[data-v-22b3ef9b]{min-width:0}.modal-actions[data-v-22b3ef9b]{margin-top:16px;display:flex;gap:8px;flex-shrink:0}.btn-action[data-v-22b3ef9b]{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer}.btn-action+.btn-action[data-v-22b3ef9b]{margin-left:4px}.btn-action-edit[data-v-22b3ef9b]{background:#e0f2f1;color:#0d9488}.btn-action-warn[data-v-22b3ef9b]{background:#fef3c7;color:#b45309}.btn-action-maint[data-v-22b3ef9b]{background:#fff7ed;color:#c2410c}.btn-action-danger[data-v-22b3ef9b]{background:#fee2e2;color:#dc2626}@media (max-width: 960px){.code-parts[data-v-22b3ef9b]{grid-template-columns:1fr 1fr}}.crud-tab .toolbar[data-v-c36a220c]{margin-bottom:12px}.table[data-v-c36a220c]{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}.table th[data-v-c36a220c],.table td[data-v-c36a220c]{border:1px solid #ddd;padding:8px}.form-section[data-v-c36a220c]{margin-bottom:16px}.form-section h4[data-v-c36a220c]{margin:0 0 8px;font-size:13px;color:#555}.form-row[data-v-c36a220c]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.form-row .field[data-v-c36a220c]{min-width:140px;flex:1}.form .field label[data-v-c36a220c]{display:block;margin-bottom:4px;font-size:12px}.form input[data-v-c36a220c]{width:100%;padding:8px;box-sizing:border-box}.modal[data-v-c36a220c]{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:100;overflow-y:auto;padding:16px}.modal-box[data-v-c36a220c]{background:#fff;padding:20px;border-radius:8px;max-width:720px;width:100%;max-height:90vh;overflow-y:auto}.form-hint[data-v-c36a220c]{margin:0 0 10px;font-size:12px;color:#64748b;line-height:1.45}.modal-actions[data-v-c36a220c]{margin-top:16px;display:flex;gap:8px}.btn[data-v-c36a220c]{padding:8px 16px;background:#0d9488;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-cancel[data-v-c36a220c]{background:#94a3b8}.btn-action[data-v-c36a220c]{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer}.btn-action+.btn-action[data-v-c36a220c]{margin-left:4px}.btn-action-edit[data-v-c36a220c]{background:#e0f2f1;color:#0d9488}.btn-action-danger[data-v-c36a220c]{background:#fee2e2;color:#dc2626}.warn-tpl[data-v-ba827b23]{--teal: #0d9488;--slate: #334155;--muted: #64748b;--border: #e2e8f0;--bg-soft: #f8fafc}.toolbar[data-v-ba827b23]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.btn-secondary[data-v-ba827b23]{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--slate);font-weight:600;cursor:pointer}.btn-secondary[data-v-ba827b23]:disabled{opacity:.55;cursor:not-allowed}.hint[data-v-ba827b23]{font-size:13px;color:var(--muted);margin:0 0 12px;line-height:1.55;max-width:1100px}.hint code[data-v-ba827b23]{font-size:12px;background:#f1f5f9;padding:1px 6px;border-radius:4px}.table[data-v-ba827b23]{width:100%;border-collapse:collapse;font-size:14px}.table th[data-v-ba827b23],.table td[data-v-ba827b23]{border:1px solid var(--border);padding:10px}.table th[data-v-ba827b23]{background:var(--bg-soft);color:var(--slate);font-weight:600}.ellipsis[data-v-ba827b23]{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal[data-v-ba827b23]{position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100}.editor-shell[data-v-ba827b23]{background:linear-gradient(160deg,#fff 0%,#f8fafc 100%);padding:0;border-radius:16px;min-width:720px;max-width:1180px;width:96vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 64px #0003}.editor-head[data-v-ba827b23]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:rgba(13,148,136,.06)}.editor-head h3[data-v-ba827b23]{margin:0;font-size:18px;color:#0f172a}.icon-close[data-v-ba827b23]{border:none;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:var(--muted)}.editor-grid[data-v-ba827b23]{display:grid;grid-template-columns:1fr 380px;gap:0;min-height:420px;max-height:calc(92vh - 64px)}.col-left[data-v-ba827b23]{padding:20px;overflow-y:auto;border-right:1px solid var(--border)}.col-right[data-v-ba827b23]{display:flex;flex-direction:column;background:#f1f5f9;min-height:0}.field[data-v-ba827b23]{margin-bottom:14px}.field label[data-v-ba827b23]{display:block;margin-bottom:6px;font-size:13px;color:var(--slate);font-weight:600}.sub[data-v-ba827b23]{font-weight:400;color:var(--muted);font-size:12px}.inp[data-v-ba827b23]{width:100%;padding:10px 12px;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;font-size:14px}.inp.sm[data-v-ba827b23]{width:100%}.textarea[data-v-ba827b23]{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;font-size:14px;line-height:1.5;resize:vertical;min-height:200px;font-family:ui-monospace,monospace;background:#fff}.body-ta[data-v-ba827b23]:focus{outline:2px solid rgba(13,148,136,.35);border-color:var(--teal)}.panel[data-v-ba827b23]{padding:14px;overflow-y:auto}.preview-panel[data-v-ba827b23]{flex:0 0 auto;border-bottom:1px solid var(--border);background:#fff}.chips-panel[data-v-ba827b23]{flex:1 1 auto;min-height:0}.panel-title[data-v-ba827b23]{font-size:13px;font-weight:700;color:#0f172a;margin-bottom:10px;letter-spacing:.02em}.preview-meta[data-v-ba827b23]{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;margin-bottom:10px;font-size:12px;color:var(--muted)}.preview-meta label[data-v-ba827b23]{font-weight:600;color:var(--slate)}.preview-body[data-v-ba827b23]{margin:0;padding:12px;background:#0f172a;color:#e2e8f0;border-radius:10px;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word;min-height:100px}.chip-grid[data-v-ba827b23]{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding-right:4px}.chip[data-v-ba827b23]{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;cursor:grab;transition:border-color .15s,box-shadow .15s}.chip[data-v-ba827b23]:active{cursor:grabbing}.chip[data-v-ba827b23]:hover{border-color:var(--teal);box-shadow:0 2px 8px #0d948826}.chip-label[data-v-ba827b23]{font-size:12px;color:var(--slate);font-weight:600}.chip-code[data-v-ba827b23]{font-size:11px;color:#0369a1}.modal-actions[data-v-ba827b23]{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.btn[data-v-ba827b23]{padding:8px 14px;background:var(--teal);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.btn[data-v-ba827b23]:disabled{opacity:.55;cursor:wait}.btn-primary-solid[data-v-ba827b23]{background:#0f766e}.btn.ghost[data-v-ba827b23]{background:#e2e8f0;color:var(--slate)}.btn-action[data-v-ba827b23]{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer}.btn-action-edit[data-v-ba827b23]{background:#e0f2f1;color:var(--teal)}@media (max-width: 960px){.editor-grid[data-v-ba827b23]{grid-template-columns:1fr}.col-left[data-v-ba827b23]{border-right:none;border-bottom:1px solid var(--border)}}.crud-tab .toolbar[data-v-ec494687]{margin-bottom:12px;display:flex;gap:8px}.table[data-v-ec494687]{width:100%;border-collapse:collapse;font-size:14px}.table th[data-v-ec494687],.table td[data-v-ec494687]{border:1px solid #e2e8f0;padding:10px}.table th[data-v-ec494687]{background:#f8fafc;color:#334155;font-weight:600}.modal[data-v-ec494687]{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-ec494687]{background:#fff;padding:24px;border-radius:12px;min-width:640px;max-width:860px;width:92vw;box-shadow:0 20px 50px #0000002e}.form .field[data-v-ec494687]{margin-bottom:12px}.form label[data-v-ec494687]{display:block;margin-bottom:8px;color:#334155;font-size:13px;font-weight:600}.form input[data-v-ec494687],.form select[data-v-ec494687]{width:100%;padding:10px 12px;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px}.modal-actions[data-v-ec494687]{margin-top:16px;display:flex;gap:8px}.btn[data-v-ec494687]{padding:8px 14px;background:#0d9488;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.modal-actions .btn[data-v-ec494687]:last-child{background:#e2e8f0;color:#334155}.btn-action[data-v-ec494687]{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer}.btn-action+.btn-action[data-v-ec494687]{margin-left:4px}.btn-action-edit[data-v-ec494687]{background:#e0f2f1;color:#0d9488}.btn-action-danger[data-v-ec494687]{background:#fee2e2;color:#dc2626}.tip[data-v-9babf5f1]{color:#666;margin-bottom:16px}.backup-buttons[data-v-9babf5f1]{display:flex;gap:12px;flex-wrap:wrap}.btn[data-v-9babf5f1]{padding:10px 20px;background:#0d9488;color:#fff;border:none;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn[data-v-9babf5f1]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-9babf5f1]{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin-9babf5f1 .8s linear infinite}@keyframes spin-9babf5f1{to{transform:rotate(360deg)}}.crud-tab .tip[data-v-5f870e0c]{color:#64748b;margin-bottom:16px;line-height:1.6;font-size:13px}.crud-tab .tip code[data-v-5f870e0c]{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:12px}.src[data-v-5f870e0c]{margin-left:8px;color:#0d9488}.toolbar[data-v-5f870e0c]{margin-bottom:16px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sub-tabs[data-v-5f870e0c]{display:inline-flex;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;margin-bottom:14px}.sub-tab[data-v-5f870e0c]{border:none;background:#fff;padding:8px 14px;font-size:13px;color:#334155;cursor:pointer}.sub-tab.active[data-v-5f870e0c]{background:#0d9488;color:#fff}.btn[data-v-5f870e0c]{padding:8px 14px;background:#0d9488;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.btn[data-v-5f870e0c]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-5f870e0c]{background:#e2e8f0;color:#334155}.btn-highlight[data-v-5f870e0c]{box-shadow:0 0 0 3px #0d94882e}.unsaved-tip[data-v-5f870e0c]{margin:-4px 0 14px;padding:8px 12px;border-radius:8px;background:#fffbeb;color:#92400e;border:1px solid #fde68a;font-size:13px}.form-grid[data-v-5f870e0c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.switch-groups[data-v-5f870e0c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:12px}.switch-group[data-v-5f870e0c]{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:10px 12px}.switch-group-title[data-v-5f870e0c]{font-size:13px;color:#0f172a;font-weight:700;margin-bottom:4px}.switch-group-desc[data-v-5f870e0c]{font-size:12px;color:#64748b;line-height:1.4;margin-bottom:8px}.field label[data-v-5f870e0c],.switch-field[data-v-5f870e0c]{display:block;font-size:13px;color:#334155;font-weight:600;margin-bottom:6px}.field input[data-v-5f870e0c]{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box}.switch-field[data-v-5f870e0c]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}.switch-label[data-v-5f870e0c]{line-height:1.2}.switch-control[data-v-5f870e0c]{position:relative;display:inline-flex}.switch-input[data-v-5f870e0c]{position:absolute;opacity:0;width:0;height:0}.switch-slider[data-v-5f870e0c]{width:44px;height:24px;border-radius:999px;background:#cbd5e1;position:relative;transition:background-color .2s ease}.switch-slider[data-v-5f870e0c]:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s ease}.switch-input:checked+.switch-slider[data-v-5f870e0c]{background:#0d9488}.switch-input:checked+.switch-slider[data-v-5f870e0c]:after{transform:translate(20px)}.switch-input:focus-visible+.switch-slider[data-v-5f870e0c]{box-shadow:0 0 0 3px #0d948833}.sub-title[data-v-5f870e0c]{margin:20px 0 10px;font-size:14px;color:#334155}.targets[data-v-5f870e0c]{margin-bottom:16px}.target-row[data-v-5f870e0c]{display:grid;grid-template-columns:1.2fr 80px 1fr 1fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px}.target-row input[data-v-5f870e0c]{padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.target-row .port[data-v-5f870e0c]{max-width:90px}.btn-mini[data-v-5f870e0c]{padding:6px 10px;font-size:12px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;color:#334155}.btn-mini.danger[data-v-5f870e0c]{color:#dc2626;border-color:#fecaca}.table[data-v-5f870e0c]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-5f870e0c],.table td[data-v-5f870e0c]{border:1px solid #e2e8f0;padding:8px 10px;text-align:left}.table th[data-v-5f870e0c]{background:#f8fafc;color:#334155;font-weight:600}.msg-cell[data-v-5f870e0c]{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill[data-v-5f870e0c]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.s-ok[data-v-5f870e0c]{background:#dcfce7;color:#166534}.s-skip[data-v-5f870e0c]{background:#e2e8f0;color:#475569}.s-warn[data-v-5f870e0c]{background:#fef3c7;color:#b45309}.s-err[data-v-5f870e0c]{background:#fee2e2;color:#b91c1c}.log-toolbar[data-v-5f870e0c]{margin-bottom:8px;font-size:12px;color:#64748b}.pager[data-v-5f870e0c]{margin-top:12px;display:flex;gap:12px;align-items:center;font-size:13px}@media (max-width: 900px){.target-row[data-v-5f870e0c]{grid-template-columns:1fr}}.sys-manage[data-v-5b1d9cb2]{padding:16px}.tabs[data-v-5b1d9cb2]{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap}.tab[data-v-5b1d9cb2]{padding:8px 14px;background:#f0f0f0;color:#333;text-decoration:none;border-radius:6px;font-size:13px}.tab[data-v-5b1d9cb2]:hover{background:#e0e0e0}.tab.active[data-v-5b1d9cb2]{background:#0d9488;color:#fff}.content[data-v-5b1d9cb2]{background:#fff;padding:16px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.tip[data-v-5b1d9cb2]{color:#999;padding:20px}.crud-tab .toolbar[data-v-310b26e3]{margin-bottom:12px}.table[data-v-310b26e3]{width:100%;border-collapse:collapse;font-size:14px}.table th[data-v-310b26e3],.table td[data-v-310b26e3]{border:1px solid #e2e8f0;padding:10px}.table th[data-v-310b26e3]{background:#f8fafc;color:#334155;font-weight:600}.modal[data-v-310b26e3]{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-310b26e3]{background:#fff;padding:24px;border-radius:12px;min-width:640px;max-width:860px;width:92vw;box-shadow:0 20px 50px #0000002e}.form .field[data-v-310b26e3]{margin-bottom:12px}.form label[data-v-310b26e3]{display:block;margin-bottom:8px;font-size:13px;color:#334155;font-weight:600}.form input[data-v-310b26e3]{width:100%;padding:10px 12px;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px}.modal-actions[data-v-310b26e3]{margin-top:16px;display:flex;gap:8px}.btn[data-v-310b26e3]{padding:8px 14px;background:#0d9488;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.modal-actions .btn[data-v-310b26e3]:last-child{background:#e2e8f0;color:#334155}.btn-action[data-v-310b26e3]{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer}.btn-action+.btn-action[data-v-310b26e3]{margin-left:4px}.btn-action-edit[data-v-310b26e3]{background:#e0f2f1;color:#0d9488}.btn-action-danger[data-v-310b26e3]{background:#fee2e2;color:#dc2626}.crud-tab .toolbar[data-v-6e1df87e]{margin-bottom:12px}.table[data-v-6e1df87e]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-6e1df87e],.table td[data-v-6e1df87e]{border:1px solid #ddd;padding:8px}.modal[data-v-6e1df87e]{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-6e1df87e]{background:#fff;padding:24px;border-radius:12px;min-width:680px;max-width:880px}.form .field[data-v-6e1df87e]{margin-bottom:12px}.form label[data-v-6e1df87e]{display:block;margin-bottom:8px;color:#334155;font-weight:600}.form input[data-v-6e1df87e],.form select[data-v-6e1df87e]{width:100%;padding:8px;box-sizing:border-box}.group-chip-list[data-v-6e1df87e]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:220px;overflow:auto;border:1px solid #e2e8f0;background:#f8fafc;padding:12px;border-radius:10px}.group-chip[data-v-6e1df87e]{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:8px 12px;font-size:13px;cursor:pointer;transition:all .2s ease}.group-chip[data-v-6e1df87e]:hover{border-color:#0d9488;color:#0f766e}.group-chip.active[data-v-6e1df87e]{border-color:#0d9488;background:#ccfbf1;color:#115e59;font-weight:600}.switch-row[data-v-6e1df87e]{display:flex;justify-content:space-between;align-items:center;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:10px 12px}.switch-label[data-v-6e1df87e]{color:#334155;font-size:13px}.switch-btn[data-v-6e1df87e]{width:46px;height:26px;border:none;border-radius:999px;background:#cbd5e1;padding:2px;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center}.switch-btn.on[data-v-6e1df87e]{background:#0d9488}.switch-dot[data-v-6e1df87e]{width:22px;height:22px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0003;transition:transform .2s}.switch-btn.on .switch-dot[data-v-6e1df87e]{transform:translate(20px)}.modal-actions[data-v-6e1df87e]{margin-top:16px;display:flex;gap:8px}.btn[data-v-6e1df87e]{padding:6px 12px;background:#0d9488;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-action[data-v-6e1df87e]{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer}.btn-action+.btn-action[data-v-6e1df87e]{margin-left:4px}.btn-action-edit[data-v-6e1df87e]{background:#e0f2f1;color:#0d9488}.btn-action-danger[data-v-6e1df87e]{background:#fee2e2;color:#dc2626}@media (max-width: 900px){.modal-box[data-v-6e1df87e]{min-width:92vw}.group-chip-list[data-v-6e1df87e]{grid-template-columns:repeat(2,minmax(0,1fr))}}.crud-tab .toolbar[data-v-dd8f50d8]{margin-bottom:12px}.table[data-v-dd8f50d8]{width:100%;border-collapse:collapse;font-size:14px}.table th[data-v-dd8f50d8],.table td[data-v-dd8f50d8]{border:1px solid #e2e8f0;padding:10px}.table th[data-v-dd8f50d8]{background:#f8fafc;color:#334155;font-weight:600}.modal[data-v-dd8f50d8]{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-dd8f50d8]{background:#fff;padding:24px;border-radius:12px;min-width:640px;max-width:860px;width:92vw;box-shadow:0 20px 50px #0000002e}.form .field[data-v-dd8f50d8]{margin-bottom:12px}.form label[data-v-dd8f50d8]{display:block;margin-bottom:8px;font-size:13px;color:#334155;font-weight:600}.form input[data-v-dd8f50d8],.form select[data-v-dd8f50d8]{width:100%;padding:10px 12px;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px}.modal-actions[data-v-dd8f50d8]{margin-top:16px;display:flex;gap:8px}.btn[data-v-dd8f50d8]{padding:8px 14px;background:#0d9488;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.modal-actions .btn[data-v-dd8f50d8]:last-child{background:#e2e8f0;color:#334155}.btn-action[data-v-dd8f50d8]{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer}.btn-action+.btn-action[data-v-dd8f50d8]{margin-left:4px}.btn-action-edit[data-v-dd8f50d8]{background:#e0f2f1;color:#0d9488}.btn-action-danger[data-v-dd8f50d8]{background:#fee2e2;color:#dc2626}.release-tab[data-v-99cd6421]{display:flex;flex-direction:column;gap:16px}.page-tip[data-v-99cd6421]{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;padding:12px 14px;border-radius:8px}.card[data-v-99cd6421]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.card-title[data-v-99cd6421]{font-size:15px;font-weight:600;margin-bottom:14px;color:#0f172a}.form-card[data-v-99cd6421]{background:linear-gradient(180deg,#ffffff 0%,#f8fffe 100%)}.form-grid[data-v-99cd6421]{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:12px 16px}.option-row[data-v-99cd6421]{margin-top:12px}.check-item[data-v-99cd6421]{display:inline-flex;align-items:center;gap:8px;color:#334155;font-size:13px}.migration-box[data-v-99cd6421]{margin-top:14px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#fcfffe}.migration-title[data-v-99cd6421]{font-size:13px;font-weight:600;margin-bottom:6px;color:#0f172a}.migration-tip[data-v-99cd6421]{font-size:12px;color:#64748b;margin-bottom:10px}.migration-list[data-v-99cd6421]{display:flex;flex-direction:column;gap:8px}.migration-item[data-v-99cd6421]{justify-content:space-between;padding:6px 8px;border-radius:6px;background:#fff;border:1px solid #eef2f7}.field label[data-v-99cd6421]{display:block;margin-bottom:6px;font-size:12px;color:#64748b}.field input[data-v-99cd6421],.field select[data-v-99cd6421],.field textarea[data-v-99cd6421]{width:100%;padding:9px 12px;border:1px solid #dbe3ea;border-radius:8px;box-sizing:border-box;font-family:inherit}.actions[data-v-99cd6421]{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}.btn[data-v-99cd6421]{padding:9px 16px;border:none;border-radius:8px;cursor:pointer;font-size:13px}.btn-primary[data-v-99cd6421]{background:#0d9488;color:#fff}.btn-secondary[data-v-99cd6421]{background:#f1f5f9;color:#334155}.btn[data-v-99cd6421]:disabled{opacity:.6;cursor:not-allowed}.current-version[data-v-99cd6421]{margin-top:12px;color:#334155}.download-hint[data-v-99cd6421]{margin-top:10px;color:#475569;font-size:12px}.download-hint code[data-v-99cd6421]{background:#f1f5f9;padding:2px 6px;border-radius:4px}.table[data-v-99cd6421]{width:100%;border-collapse:collapse;min-width:760px}.table th[data-v-99cd6421],.table td[data-v-99cd6421]{border:1px solid #e5e7eb;padding:10px 8px;font-size:13px;text-align:left}.table th[data-v-99cd6421]{background:#f8fafc;color:#475569}.tag[data-v-99cd6421]{display:inline-block;padding:3px 8px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:12px}.tag-current[data-v-99cd6421],.tag-success[data-v-99cd6421]{background:#ccfbf1;color:#0f766e}.tag-fail[data-v-99cd6421]{background:#fee2e2;color:#b91c1c}.btn-action-primary[data-v-99cd6421]{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;background:#e0f2f1;color:#0f766e;font-size:12px}.btn-action-danger[data-v-99cd6421]{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;background:#fee2e2;color:#b91c1c;font-size:12px;margin-left:6px}.btn-action-primary[data-v-99cd6421]:disabled{opacity:.55;cursor:not-allowed}.btn-action-danger[data-v-99cd6421]:disabled{opacity:.55;cursor:not-allowed}.empty[data-v-99cd6421]{color:#94a3b8;padding:12px 0}.muted[data-v-99cd6421]{color:#64748b;font-size:12px}.output-box[data-v-99cd6421]{white-space:pre-wrap;word-break:break-word;background:#0f172a;color:#e2e8f0;padding:14px;border-radius:8px;font-size:12px;max-height:320px;overflow:auto}.modal-mask[data-v-99cd6421]{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:20px;z-index:999}.modal-card[data-v-99cd6421]{width:min(780px,100%);background:#fff;border-radius:14px;padding:20px;box-shadow:0 24px 60px #0f172a33}.modal-title[data-v-99cd6421]{font-size:18px;font-weight:600;color:#0f172a;margin-bottom:10px}.modal-tip[data-v-99cd6421]{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;padding:10px 12px;border-radius:8px;margin-bottom:14px;font-size:13px}.form-grid-modal[data-v-99cd6421]{grid-template-columns:repeat(2,minmax(0,1fr))}.time-row[data-v-99cd6421]{display:flex;align-items:center;gap:8px}.time-row input[data-v-99cd6421]{width:90px}.field-block[data-v-99cd6421]{margin-top:12px}.bootstrap-result[data-v-99cd6421]{margin-top:14px;border:1px solid #dbeafe;background:#f8fbff;border-radius:10px;padding:12px}.result-title[data-v-99cd6421]{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:6px}.result-line[data-v-99cd6421]{color:#334155;font-size:13px;margin-bottom:4px}.summary-list[data-v-99cd6421]{display:flex;flex-direction:column;gap:6px;margin-top:8px}.summary-item[data-v-99cd6421]{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #e2e8f0}@media (max-width: 860px){.form-grid[data-v-99cd6421],.form-grid-modal[data-v-99cd6421]{grid-template-columns:1fr}}.switcher[data-v-d1c08313]{display:inline-flex;border:1px solid #dbe3ee;border-radius:10px;overflow:hidden;margin-bottom:12px}.switch-btn[data-v-d1c08313]{border:none;background:#fff;color:#334155;padding:8px 14px;font-size:13px;cursor:pointer}.switch-btn.active[data-v-d1c08313]{background:#0d9488;color:#fff}.toolbar[data-v-d1c08313]{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.filters[data-v-d1c08313]{display:flex;align-items:center;gap:8px;font-size:13px;color:#334155;flex-wrap:wrap}.filters select[data-v-d1c08313],.filters input[data-v-d1c08313]{height:32px;border:1px solid #e2e8f0;border-radius:8px;padding:0 8px}.filters input[data-v-d1c08313]{min-width:260px}.btn[data-v-d1c08313]{padding:8px 14px;border:none;border-radius:8px;font-size:13px;cursor:pointer}.btn-secondary[data-v-d1c08313]{background:#e2e8f0;color:#334155}.table[data-v-d1c08313]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-d1c08313],.table td[data-v-d1c08313]{border:1px solid #e2e8f0;padding:8px 10px;text-align:left;vertical-align:top}.table th[data-v-d1c08313]{background:#f8fafc;color:#334155;font-weight:600}.tag[data-v-d1c08313]{display:inline-block;padding:2px 8px;border-radius:999px;background:#e2e8f0;color:#334155;margin-right:4px}.tag-op[data-v-d1c08313]{background:#e0f2fe;color:#0369a1}.tag-method[data-v-d1c08313]{background:#ecfccb;color:#3f6212}.status[data-v-d1c08313]{display:inline-block;min-width:42px;text-align:center;padding:2px 8px;border-radius:999px}.status.ok[data-v-d1c08313]{background:#dcfce7;color:#166534}.status.bad[data-v-d1c08313]{background:#fee2e2;color:#b91c1c}.msg-cell[data-v-d1c08313]{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty[data-v-d1c08313]{color:#64748b;text-align:center}.pager[data-v-d1c08313]{margin-top:12px;display:flex;gap:12px;align-items:center;font-size:13px}.btn-mini[data-v-d1c08313]{padding:6px 10px;font-size:12px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;color:#334155}.app-center[data-v-f68c5124]{padding:16px}.tabs[data-v-f68c5124]{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap}.tab[data-v-f68c5124]{padding:8px 14px;background:#f0f0f0;color:#333;text-decoration:none;border-radius:6px;font-size:13px}.tab[data-v-f68c5124]:hover{background:#e0e0e0}.tab.active[data-v-f68c5124]{background:#0d9488;color:#fff}.content[data-v-f68c5124]{background:#fff;padding:16px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.tip[data-v-f68c5124]{color:#999;padding:20px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;background:#f8fafc;min-height:100vh;margin:0;color:#1e293b}#app{width:100%;min-height:100vh}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#0d9488;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#0f766e;box-shadow:0 2px 8px #0d94884d}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-reset{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#fff;color:#475569;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:38px}.btn-reset:hover{border-color:#0d9488;color:#0d9488;background:#f0fdfa}.btn-reset:active{transform:scale(.98)}.btn-action{display:inline-flex;align-items:center;padding:5px 12px;font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;border:1px solid transparent;margin-right:6px}.btn-action:last-child{margin-right:0}.btn-action-edit{background:#0d9488;color:#fff;border-color:#0d9488}.btn-action-edit:hover{background:#0f766e;border-color:#0f766e;box-shadow:0 2px 6px #0d94884d}.btn-action-view{background:#fff;color:#475569;border-color:#cbd5e1}.btn-action-view:hover{border-color:#0d9488;color:#0d9488;background:#f0fdfa}.btn-action-danger{background:#dc2626;color:#fff;border-color:#dc2626}.btn-action-danger:hover{background:#b91c1c;border-color:#b91c1c;box-shadow:0 2px 6px #dc26264d}.form-select,.form-input,input[type=date],input[type=month],input[type=datetime-local]{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff;color:#1e293b;transition:border-color .2s,box-shadow .2s}.form-select:hover,.form-input:hover,input[type=date]:hover,input[type=month]:hover{border-color:#cbd5e1}.form-select:focus,.form-input:focus,input[type=date]:focus,input[type=month]:focus,input[type=datetime-local]:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.form-select{min-height:38px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.crud-tab .toolbar select.form-select,.toolbar select.form-select{min-width:140px}.form select,.modal .form select,.crud-tab .form select{padding:8px 32px 8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 10px center;min-height:38px;width:100%;box-sizing:border-box;appearance:none;cursor:pointer}.form select:focus,.modal .form select:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.form input:not([type=checkbox]):not([type=radio]),.modal .form input:not([type=checkbox]):not([type=radio]){padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;width:100%;box-sizing:border-box}.form input:focus,.modal .form input:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.data-table-wrap,.table-wrap{margin:16px 0;overflow:visible}.main .data-table-wrap,.main .table-wrap{overflow:visible!important}.data-table,.crud-tab .table,.sys-manage .content .table,.app-center .content .table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:none!important;font-size:13px!important;background:#fff!important}.data-table th,.data-table td,.crud-tab .table th,.crud-tab .table td,.sys-manage .content .table th,.sys-manage .content .table td,.app-center .content .table th,.app-center .content .table td{border-style:solid!important;border-color:#e2e8f0!important;border-width:0 1px 1px 0!important;padding:8px 10px!important;text-align:center!important;vertical-align:middle}.data-table thead tr:first-child th,.crud-tab .table thead tr:first-child th,.sys-manage .content .table thead tr:first-child th,.app-center .content .table thead tr:first-child th{border-top-width:1px!important}.data-table th:first-child,.data-table td:first-child,.crud-tab .table th:first-child,.crud-tab .table td:first-child,.sys-manage .content .table th:first-child,.sys-manage .content .table td:first-child,.app-center .content .table th:first-child,.app-center .content .table td:first-child{border-left-width:1px!important}.data-table th,.crud-tab .table th,.sys-manage .content .table th,.app-center .content .table th{background:#f1f5f9!important;font-weight:600!important}.data-table thead th,.crud-tab .table thead th,.sys-manage .content .table thead th,.app-center .content .table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:8;background:#f1f5f9!important;box-shadow:0 1px #e2e8f0,0 4px 8px -2px #0f172a14}.data-table tbody tr:nth-child(2n),.crud-tab .table tbody tr:nth-child(2n),.sys-manage .content .table tbody tr:nth-child(2n),.app-center .content .table tbody tr:nth-child(2n){background:#fafafa!important}.data-table td.station-name{text-align:left!important;font-weight:500;min-width:100px}
