.footer-filing[data-v-c61b31d0]{text-align:center;padding:16px 20px;font-size:12.5px;font-family:inherit;flex-shrink:0;letter-spacing:.2px}.footer-filing--light[data-v-c61b31d0]{color:var(--text-tertiary);background:transparent}.footer-filing--dark[data-v-c61b31d0]{color:var(--text-tertiary);background:transparent;border-top:1px solid var(--border-light)}.separator[data-v-c61b31d0]{margin:0 10px;color:#d5dbe6}.filing-link[data-v-c61b31d0]{color:var(--text-tertiary);transition:color .18s}.filing-link[data-v-c61b31d0]:hover{color:var(--primary)}.login-page[data-v-8ea76c22]{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.login-stage[data-v-8ea76c22]{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}.login-shell[data-v-8ea76c22]{display:flex;width:100%;max-width:980px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.brand-panel[data-v-8ea76c22]{flex:1;padding:56px 48px;display:flex;align-items:center;background:linear-gradient(150deg,#1f5fd6,#1748a8 58%,#12367a);color:#fff;position:relative;overflow:hidden}.brand-panel[data-v-8ea76c22]:after{content:"";position:absolute;right:-120px;bottom:-140px;width:380px;height:380px;border-radius:50%;background:#ffffff0f}.brand-content[data-v-8ea76c22]{position:relative;z-index:1;max-width:380px}.brand-logo[data-v-8ea76c22]{display:flex;align-items:center;gap:12px;margin-bottom:32px}.brand-logo-icon[data-v-8ea76c22]{width:52px;height:52px;border-radius:10px;background:#ffffff29;border:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600}.brand-logo-name[data-v-8ea76c22]{font-size:18px;font-weight:600;letter-spacing:1px}.brand-logo-sub[data-v-8ea76c22]{font-size:10px;letter-spacing:3px;opacity:.7;margin-top:1px}.brand-title[data-v-8ea76c22]{font-size:28px;font-weight:600;letter-spacing:1px;line-height:1.4;margin-bottom:16px}.brand-desc[data-v-8ea76c22]{font-size:13.5px;line-height:1.95;opacity:.82;margin-bottom:32px}.brand-features[data-v-8ea76c22]{list-style:none;display:flex;flex-direction:column;gap:14px}.brand-features li[data-v-8ea76c22]{display:flex;align-items:center;gap:10px;font-size:13.5px;opacity:.9}.feature-dot[data-v-8ea76c22]{width:6px;height:6px;border-radius:50%;background:#ffffffd9;flex-shrink:0}.brand-company[data-v-8ea76c22]{margin-top:44px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;opacity:.7}.login-card[data-v-8ea76c22]{width:420px;flex-shrink:0;background:var(--bg-panel)}.login-card-body[data-v-8ea76c22]{padding:56px 44px;height:100%;display:flex;flex-direction:column;justify-content:center}.login-title[data-v-8ea76c22]{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.login-subtitle[data-v-8ea76c22]{font-size:13.5px;color:var(--text-tertiary);margin-bottom:34px}.form-group[data-v-8ea76c22]{margin-bottom:20px}.form-label[data-v-8ea76c22]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.form-input[data-v-8ea76c22]{width:100%;height:46px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);background:var(--bg-panel);outline:none;transition:border-color .18s,box-shadow .18s}.form-input[data-v-8ea76c22]::placeholder{color:var(--text-tertiary)}.form-input[data-v-8ea76c22]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-options[data-v-8ea76c22]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:13px}.checkbox-wrapper[data-v-8ea76c22]{display:flex;align-items:center;gap:6px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-wrapper input[data-v-8ea76c22]{accent-color:var(--primary);width:14px;height:14px}.forgot-link[data-v-8ea76c22]{color:var(--primary);transition:color .18s}.forgot-link[data-v-8ea76c22]:hover{color:var(--primary-dark)}.btn-primary[data-v-8ea76c22]{width:100%;height:46px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:500;letter-spacing:2px;transition:background .18s,box-shadow .18s}.btn-primary[data-v-8ea76c22]:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 14px #1f5fd647}.btn-primary[data-v-8ea76c22]:disabled{opacity:.65;cursor:not-allowed}.login-tip[data-v-8ea76c22]{margin-top:24px;padding:12px 14px;background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:12px;color:var(--text-tertiary);line-height:1.75;text-align:center}@media (max-width: 900px){.brand-panel[data-v-8ea76c22]{display:none}.login-shell[data-v-8ea76c22]{max-width:420px}.login-card[data-v-8ea76c22]{width:100%}}@media (max-width: 500px){.login-stage[data-v-8ea76c22]{padding:24px 16px}.login-card-body[data-v-8ea76c22]{padding:40px 28px}}.login-page[data-v-8ea76c22]{position:relative;overflow:hidden}.login-page[data-v-8ea76c22]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(31,95,214,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(31,95,214,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 38%,#000 8%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 38%,#000 8%,transparent 72%);pointer-events:none}.login-page[data-v-8ea76c22]:after{content:"";position:absolute;top:-160px;right:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(47,168,216,.16),rgba(31,95,214,.06) 45%,transparent 70%);filter:blur(10px);pointer-events:none}.login-stage[data-v-8ea76c22]{position:relative;z-index:1}.login-shell[data-v-8ea76c22]{position:relative;box-shadow:0 26px 70px #1748a829,0 2px 8px #1748a80f}.brand-panel[data-v-8ea76c22]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.055) 0px,rgba(255,255,255,.055) 1px,transparent 1px,transparent 14px);pointer-events:none}.brand-logo-icon[data-v-8ea76c22]{background:linear-gradient(135deg,#ffffff47,#ffffff1a);box-shadow:0 6px 16px #0000001f,inset 0 1px #fff6}.brand-title[data-v-8ea76c22]{background:linear-gradient(90deg,#fff,#dbe9ff);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.btn-primary[data-v-8ea76c22]{position:relative;overflow:hidden;background:linear-gradient(135deg,#2f74e0 0%,var(--primary) 48%,var(--primary-dark) 100%);box-shadow:0 6px 16px #1f5fd642}.btn-primary[data-v-8ea76c22]:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:skew(-20deg);transition:left .55s ease}.btn-primary[data-v-8ea76c22]:hover:not(:disabled):after{left:120%}.btn-primary[data-v-8ea76c22]:hover:not(:disabled){background:linear-gradient(135deg,#3a80ea,#1f5fd6 48%,#12387e);box-shadow:0 10px 24px #1f5fd657}.dashboard[data-v-43cd519b]{display:flex;min-height:100vh;flex-direction:column;background:var(--bg)}.dashboard-body[data-v-43cd519b]{display:flex;flex:1;align-items:flex-start}.topbar[data-v-43cd519b]{height:60px;background:var(--bg-panel);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:100}.topbar-left[data-v-43cd519b]{display:flex;align-items:center;gap:12px}.topbar-logo[data-v-43cd519b]{width:36px;height:36px;border-radius:8px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600}.topbar-title[data-v-43cd519b]{font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:.3px;white-space:nowrap}.topbar-right[data-v-43cd519b]{display:flex;align-items:center;gap:18px}.topbar-search[data-v-43cd519b]{position:relative}.topbar-search input[data-v-43cd519b]{width:230px;height:36px;padding:0 12px 0 34px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;color:var(--text-primary);background:var(--bg-subtle);outline:none;transition:border-color .18s,box-shadow .18s,background .18s}.topbar-search input[data-v-43cd519b]::placeholder{color:var(--text-tertiary)}.topbar-search input[data-v-43cd519b]:focus{border-color:var(--primary);background:var(--bg-panel);box-shadow:0 0 0 3px var(--primary-glow)}.search-icon[data-v-43cd519b]{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-tertiary);pointer-events:none}.search-icon svg[data-v-43cd519b]{width:100%;height:100%}.topbar-clock[data-v-43cd519b]{font-size:13px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.user-info[data-v-43cd519b]{display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:4px 10px 4px 4px;border-radius:18px;transition:background .18s}.user-info[data-v-43cd519b]:hover{background:var(--bg-hover)}.user-avatar[data-v-43cd519b]{width:32px;height:32px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.user-name[data-v-43cd519b]{font-size:13px;color:var(--text-secondary)}.btn-logout[data-v-43cd519b]{height:34px;padding:0 14px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-secondary);border-radius:var(--radius-md);font-size:13px;transition:all .18s}.btn-logout[data-v-43cd519b]:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-light)}.sidebar[data-v-43cd519b]{width:220px;flex-shrink:0;background:var(--bg-panel);border-right:1px solid var(--border);padding:20px 12px;position:sticky;top:60px;align-self:flex-start;height:calc(100vh - 60px);display:flex;flex-direction:column;overflow-y:auto}.sidebar-group[data-v-43cd519b]{margin-bottom:18px}.sidebar-title[data-v-43cd519b]{font-size:11.5px;color:var(--text-tertiary);letter-spacing:.5px;padding:0 10px;margin-bottom:8px}.sidebar-menu[data-v-43cd519b]{list-style:none}.sidebar-menu li[data-v-43cd519b]{margin-bottom:2px}.sidebar-menu a[data-v-43cd519b]{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-md);font-size:13.5px;color:var(--text-secondary);transition:all .16s}.sidebar-menu a[data-v-43cd519b]:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-menu a.active[data-v-43cd519b]{background:var(--primary-light);color:var(--primary);font-weight:500}.menu-icon[data-v-43cd519b]{width:17px;height:17px;flex-shrink:0}.menu-label[data-v-43cd519b]{flex:1}.sidebar-foot[data-v-43cd519b]{margin-top:auto;padding:16px 10px 4px;border-top:1px solid var(--border-light)}.foot-item[data-v-43cd519b]{display:flex;justify-content:space-between;align-items:center;font-size:12px;line-height:2}.foot-label[data-v-43cd519b]{color:var(--text-tertiary)}.foot-value[data-v-43cd519b]{color:var(--text-secondary)}.foot-ok[data-v-43cd519b]{color:var(--success)}.main-content[data-v-43cd519b]{flex:1;min-width:0;padding:24px}.page-head[data-v-43cd519b]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-title[data-v-43cd519b]{font-size:21px;font-weight:600;color:var(--text-primary)}.page-desc[data-v-43cd519b]{font-size:13px;color:var(--text-tertiary);margin-top:4px}.head-badge[data-v-43cd519b]{font-size:12px;color:var(--text-secondary);background:var(--bg-panel);border:1px solid var(--border);border-radius:20px;padding:5px 14px;white-space:nowrap}.stats-grid[data-v-43cd519b]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.stat-card[data-v-43cd519b]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px;display:flex;align-items:flex-start;gap:14px;transition:box-shadow .18s,transform .18s}.stat-card[data-v-43cd519b]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon[data-v-43cd519b]{width:42px;height:42px;border-radius:10px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-43cd519b]{width:20px;height:20px}.stat-body[data-v-43cd519b]{min-width:0}.stat-label[data-v-43cd519b]{font-size:13px;color:var(--text-tertiary)}.stat-value-row[data-v-43cd519b]{display:flex;align-items:baseline;gap:4px;margin:2px 0 3px}.stat-value[data-v-43cd519b]{font-size:24px;font-weight:600;color:var(--text-primary);line-height:1.25;font-variant-numeric:tabular-nums}.stat-unit[data-v-43cd519b]{font-size:12px;color:var(--text-tertiary)}.stat-delta[data-v-43cd519b]{font-size:12px}.delta-up[data-v-43cd519b]{color:var(--success)}.delta-down[data-v-43cd519b]{color:var(--danger)}.panel[data-v-43cd519b]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}.panel-head[data-v-43cd519b]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-light)}.panel-title[data-v-43cd519b]{font-size:15px;font-weight:600;color:var(--text-primary)}.panel-action[data-v-43cd519b]{font-size:13px;color:var(--primary);cursor:pointer;transition:color .16s}.panel-action[data-v-43cd519b]:hover{color:var(--primary-dark)}.panel-body[data-v-43cd519b]{padding:20px}.chart[data-v-43cd519b]{display:flex;align-items:flex-end;gap:14px;height:200px;padding-top:20px}.chart-col[data-v-43cd519b]{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;gap:6px;justify-content:flex-end}.chart-value[data-v-43cd519b]{font-size:11px;color:var(--text-tertiary);opacity:0;transition:opacity .16s;white-space:nowrap}.chart-col:hover .chart-value[data-v-43cd519b]{opacity:1;color:var(--text-secondary)}.chart-track[data-v-43cd519b]{width:100%;flex:1;display:flex;align-items:flex-end;justify-content:center}.chart-bar[data-v-43cd519b]{width:100%;max-width:34px;background:linear-gradient(180deg,#4d86e8,var(--primary));border-radius:4px 4px 0 0;transition:opacity .16s,background .16s}.chart-col:hover .chart-bar[data-v-43cd519b]{background:linear-gradient(180deg,var(--primary),var(--primary-dark))}.chart-label[data-v-43cd519b]{font-size:12px;color:var(--text-tertiary)}.table-wrap[data-v-43cd519b]{overflow-x:auto}.data-table[data-v-43cd519b]{width:100%;border-collapse:collapse}.data-table th[data-v-43cd519b],.data-table td[data-v-43cd519b]{padding:13px 20px;text-align:left;font-size:13px;border-bottom:1px solid var(--border-light);white-space:nowrap}.data-table th[data-v-43cd519b]{color:var(--text-tertiary);font-weight:500;background:var(--bg-subtle)}.data-table tbody tr[data-v-43cd519b]{transition:background .16s}.data-table tbody tr[data-v-43cd519b]:hover{background:var(--bg-hover)}.data-table tr:last-child td[data-v-43cd519b]{border-bottom:none}.tool-cell[data-v-43cd519b]{display:flex;flex-direction:column;gap:2px}.tool-name[data-v-43cd519b]{color:var(--text-primary);font-weight:500}.tool-key[data-v-43cd519b]{font-size:11.5px;color:var(--text-tertiary)}.state[data-v-43cd519b]{display:inline-block;padding:2px 10px;border-radius:11px;font-size:12px;line-height:18px;border:1px solid transparent}.state-online[data-v-43cd519b]{color:var(--success);background:var(--success-light);border-color:#18a05833}.state-pending[data-v-43cd519b]{color:var(--warning);background:var(--warning-light);border-color:#f0a02033}.state-offline[data-v-43cd519b]{color:var(--text-tertiary);background:var(--bg-hover);border-color:var(--border)}.right-rail[data-v-43cd519b]{width:320px;flex-shrink:0;padding:24px 24px 0 0;position:sticky;top:60px;align-self:flex-start;max-height:calc(100vh - 60px);overflow-y:auto}.rail-panel[data-v-43cd519b]{margin-bottom:16px}.notice-list[data-v-43cd519b]{list-style:none}.notice-item[data-v-43cd519b]{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--border-light)}.notice-item[data-v-43cd519b]:last-child{border-bottom:none;padding-bottom:0}.notice-item[data-v-43cd519b]:first-child{padding-top:0}.tag[data-v-43cd519b]{flex-shrink:0;height:20px;padding:0 8px;border-radius:4px;font-size:11.5px;line-height:20px}.tag-info[data-v-43cd519b]{color:var(--primary);background:var(--primary-light)}.tag-warning[data-v-43cd519b]{color:var(--warning);background:var(--warning-light)}.tag-default[data-v-43cd519b]{color:var(--text-secondary);background:var(--bg-hover);border:1px solid var(--border)}.notice-body[data-v-43cd519b]{min-width:0}.notice-text[data-v-43cd519b]{font-size:13px;color:var(--text-secondary);line-height:1.65}.notice-time[data-v-43cd519b]{font-size:11.5px;color:var(--text-tertiary)}.status-item[data-v-43cd519b]{margin-bottom:16px}.status-item[data-v-43cd519b]:last-of-type{margin-bottom:0}.status-top[data-v-43cd519b]{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}.status-label[data-v-43cd519b]{font-size:13px;color:var(--text-secondary)}.status-value[data-v-43cd519b]{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.status-dot[data-v-43cd519b]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-ok[data-v-43cd519b]{background:var(--success)}.status-warn[data-v-43cd519b]{background:var(--warning)}.status-track[data-v-43cd519b]{height:5px;background:var(--border-light);border-radius:3px;overflow:hidden}.status-fill[data-v-43cd519b]{height:100%;border-radius:3px}.status-fill.status-ok[data-v-43cd519b]{background:var(--success)}.status-fill.status-warn[data-v-43cd519b]{background:var(--warning)}.status-foot[data-v-43cd519b]{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-light);font-size:12px;color:var(--text-tertiary)}.quick-list[data-v-43cd519b]{display:flex;flex-direction:column;gap:8px}.quick-btn[data-v-43cd519b]{height:38px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;transition:all .16s}.quick-btn[data-v-43cd519b]:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}@media (max-width: 1360px){.right-rail[data-v-43cd519b]{display:none}.stats-grid[data-v-43cd519b]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 992px){.sidebar[data-v-43cd519b]{display:none}.topbar-search input[data-v-43cd519b]{width:160px}}@media (max-width: 640px){.stats-grid[data-v-43cd519b]{grid-template-columns:1fr}.topbar-title[data-v-43cd519b],.topbar-clock[data-v-43cd519b],.topbar-search[data-v-43cd519b]{display:none}}.topbar[data-v-43cd519b]{position:relative}.topbar[data-v-43cd519b]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--primary) 0%,#2fa8d8 42%,rgba(47,168,216,0) 100%);pointer-events:none}.topbar-logo[data-v-43cd519b]{background:linear-gradient(135deg,#4d86e8 0%,var(--primary) 55%,var(--primary-dark) 100%);box-shadow:0 4px 12px #1f5fd647,inset 0 1px #ffffff4d}.user-avatar[data-v-43cd519b]{background:linear-gradient(135deg,#eaf1fd,#dbe8ff);box-shadow:inset 0 0 0 1px #1f5fd61f}.sidebar-menu a[data-v-43cd519b]{position:relative;overflow:hidden}.sidebar-menu a[data-v-43cd519b]:before{content:"";position:absolute;left:0;top:50%;width:3px;height:18px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#4d86e8,var(--primary));transform:translateY(-50%) scaleY(0);transition:transform .18s ease}.sidebar-menu a.active[data-v-43cd519b]{background:linear-gradient(90deg,#1f5fd61f,#1f5fd608)}.sidebar-menu a.active[data-v-43cd519b]:before{transform:translateY(-50%) scaleY(1)}.sidebar-menu a[data-v-43cd519b]:hover{transform:translate(2px)}.stat-card[data-v-43cd519b]{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfcff)}.stat-card[data-v-43cd519b]:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#4d86e8,#2fa8d8)}.stat-card[data-v-43cd519b]:nth-child(2):before{background:linear-gradient(90deg,#2fa8d8,#22c3a6)}.stat-card[data-v-43cd519b]:nth-child(3):before{background:linear-gradient(90deg,#6f7cf0,#4d86e8)}.stat-card[data-v-43cd519b]:nth-child(4):before{background:linear-gradient(90deg,#3b6fd4,#6f7cf0)}.stat-icon[data-v-43cd519b]{background:linear-gradient(135deg,#f2f7ff,#e2ecff);box-shadow:inset 0 0 0 1px #1f5fd614}.stat-value[data-v-43cd519b]{background:linear-gradient(90deg,#1748a8,#2f74e0);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.stat-card[data-v-43cd519b]:hover{border-color:#cfe0fa;box-shadow:0 10px 26px #1f5fd624}.panel-title[data-v-43cd519b]{position:relative;padding-left:12px}.panel-title[data-v-43cd519b]:before{content:"";position:absolute;left:0;top:50%;width:4px;height:15px;border-radius:2px;background:linear-gradient(180deg,#4d86e8,var(--primary-dark));transform:translateY(-50%)}.data-table tbody tr[data-v-43cd519b]:hover{background:linear-gradient(90deg,#1f5fd60f,#1f5fd604)}.data-table tbody tr:hover td[data-v-43cd519b]:first-child{box-shadow:inset 3px 0 0 var(--primary)}.chart-bar[data-v-43cd519b]{background:linear-gradient(180deg,#63b3f5 0%,#2f74e0 55%,var(--primary) 100%)}.chart-col:hover .chart-bar[data-v-43cd519b]{background:linear-gradient(180deg,#4d9bf0 0%,#1f5fd6 60%,var(--primary-dark) 100%);box-shadow:0 6px 16px #1f5fd642}.page-title[data-v-43cd519b]:after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;background:linear-gradient(135deg,#4d86e8,#2fa8d8);vertical-align:middle;box-shadow:0 0 0 4px #1f5fd614}.quick-btn[data-v-43cd519b]:hover{box-shadow:0 4px 12px #1f5fd61f}.toast-icon[data-v-54d01025]{font-size:15px;line-height:1}.toast-close[data-v-54d01025]{position:absolute;top:8px;right:8px;width:20px;height:20px;border:none;background:transparent;color:#b6bfce;font-size:16px;line-height:1;border-radius:50%;opacity:0;transition:opacity .16s,background .16s,color .16s}.toast:hover .toast-close[data-v-54d01025]{opacity:1}.toast-close[data-v-54d01025]:hover{background:#f0f3f8;color:#5c6678}.toast:hover .toast-progress[data-v-54d01025]{animation-play-state:paused}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #f4f6fa;--bg-panel: #ffffff;--bg-hover: #f7f9fc;--bg-subtle: #fafbfd;--primary: #1f5fd6;--primary-dark: #1748a8;--primary-light: #eaf1fd;--primary-glow: rgba(31, 95, 214, .14);--teal: #0f8a7a;--teal-light: #e6f5f2;--success: #18a058;--success-light: #e8f7ef;--warning: #f0a020;--warning-light: #fdf5e6;--danger: #d03050;--danger-light: #fdecef;--text-primary: #1f2937;--text-secondary: #4b5563;--text-tertiary: #8a94a6;--text-invert: #ffffff;--border: #e5e9f2;--border-light: #eef1f6;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04), 0 2px 8px rgba(16, 24, 40, .04);--shadow-md: 0 2px 4px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .07);--shadow-lg: 0 8px 32px rgba(16, 24, 40, .1);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px}html,body{min-height:100%}body{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-primary);line-height:1.6;min-height:100vh;background:var(--bg);-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input{font-family:inherit}::selection{background:var(--primary-light);color:var(--primary-dark)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d3dae6;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b8c3d6}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.toast-container{position:fixed;top:24px;right:24px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.toast{position:relative;overflow:hidden;min-width:300px;max-width:400px;padding:14px 38px 17px 14px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 32px #1018281f,0 2px 6px #1018280f;display:flex;align-items:flex-start;gap:12px;font-size:13.5px;color:var(--text-primary);animation:toastIn .32s cubic-bezier(.22,1,.36,1);pointer-events:auto}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#4d86e8,var(--primary))}.toast.toast-success:before{background:linear-gradient(180deg,#3ec785,var(--success))}.toast.toast-error:before{background:linear-gradient(180deg,#ec6079,var(--danger))}.toast.toast-warning:before{background:linear-gradient(180deg,#f7c04a,var(--warning))}.toast.toast-info:before{background:linear-gradient(180deg,#4d86e8,var(--primary))}.toast-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,#4d86e8,var(--primary));box-shadow:0 4px 10px #1f5fd642}.toast.toast-success .toast-icon{background:linear-gradient(135deg,#4ad894,var(--success));box-shadow:0 4px 10px #18a0583d}.toast.toast-error .toast-icon{background:linear-gradient(135deg,#ef7086,var(--danger));box-shadow:0 4px 10px #d030503d}.toast.toast-warning .toast-icon{background:linear-gradient(135deg,#f8ca63,var(--warning));box-shadow:0 4px 10px #f0a0203d}.toast-body{flex:1;min-width:0;padding-top:1px}.toast-title{font-weight:600;font-size:13.5px;color:var(--text-primary);line-height:1.5}.toast-message{font-size:12.5px;color:var(--text-tertiary);margin-top:3px;line-height:1.55}.toast-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#4d86e8,var(--primary));transform-origin:left center;animation-name:toastProgress;animation-timing-function:linear;animation-fill-mode:forwards}.toast.toast-success .toast-progress{background:linear-gradient(90deg,#4ad894,var(--success))}.toast.toast-error .toast-progress{background:linear-gradient(90deg,#ef7086,var(--danger))}.toast.toast-warning .toast-progress{background:linear-gradient(90deg,#f8ca63,var(--warning))}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(26px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}.toast.fade-out{animation:toastOut .22s ease forwards}@keyframes toastOut{to{opacity:0;transform:translate(26px)}}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#f4f6fab8;display:flex;align-items:center;justify-content:center;z-index:9998}.loading-overlay .spinner{width:38px;height:38px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}
