:root{--brand: #1d4ed8;--brand-soft: #eef2ff;--page-bg: #f5f7fa;--card-border: #e4e7ed;--text-main: #1f2937;--text-sub: #6b7280;--up: #d93025;--down: #0f9d58}*{box-sizing:border-box}.n-config-provider{height:100%}html,body,#app{margin:0;padding:0;height:100%;background:var(--page-bg);color:var(--text-main);font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:14px}.page{padding:18px}.page-card{background:#fff;border:1px solid var(--card-border);border-radius:8px;padding:18px;margin-bottom:16px}.page-title{font-size:18px;font-weight:600;margin:0 0 4px}.page-desc{color:var(--text-sub);margin:0 0 16px;font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.metric{background:#fff;border:1px solid var(--card-border);border-radius:8px;padding:14px 16px}.metric__label{color:var(--text-sub);font-size:13px}.metric__value{font-size:24px;font-weight:600;margin-top:6px}.metric__unit{font-size:13px;color:var(--text-sub);margin-left:4px;font-weight:400}.up{color:var(--up)}.down{color:var(--down)}.section-title{font-size:15px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:6px}.section-title:before{content:"";width:3px;height:14px;background:var(--brand);border-radius:2px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}@font-face{font-family:v-sans;font-weight:400;src:url(/assets/LatoLatin-Regular-Dmlz1U0B.woff2)}@font-face{font-family:v-sans;font-weight:600;src:url(/assets/LatoLatin-Semibold-Dbk81p2D.woff2)}.ai-widget[data-v-2748c957]{position:fixed;right:24px;bottom:24px;z-index:2000}.ai-fab[data-v-2748c957]{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#1d4ed8,#4f7cff);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px #1d4ed859;margin-left:auto}.ai-fab[data-v-2748c957]:hover{transform:scale(1.05)}.ai-panel[data-v-2748c957]{width:420px;height:600px;background:#fff;border:1px solid var(--card-border);border-radius:10px;box-shadow:0 12px 32px #00000024;display:flex;flex-direction:column;overflow:hidden;margin-bottom:12px}.ai-panel__head[data-v-2748c957]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--card-border);background:#fafbff}.ai-panel__title[data-v-2748c957]{display:flex;align-items:center;gap:6px;font-weight:600}.ai-panel__close[data-v-2748c957]{cursor:pointer;color:var(--text-sub)}.ai-panel__role[data-v-2748c957]{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--card-border);background:#fff}.ai-panel__role-label[data-v-2748c957]{font-size:12px;color:var(--text-sub);flex-shrink:0}.ai-panel__body[data-v-2748c957]{flex:1;padding:12px;overflow-y:auto;background:#f7f8fb}.msg[data-v-2748c957]{display:flex;margin-bottom:10px}.msg--me[data-v-2748c957]{justify-content:flex-end}.msg__bubble[data-v-2748c957]{max-width:92%;background:#fff;border:1px solid var(--card-border);border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.6}.msg--me .msg__bubble[data-v-2748c957]{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.msg__meta[data-v-2748c957]{font-size:11px;color:var(--text-sub);margin-bottom:4px}.msg--me .msg__meta[data-v-2748c957]{color:#fffc}.msg__table[data-v-2748c957]{margin-top:8px}.msg__bubble--loading[data-v-2748c957]{color:var(--text-sub);display:flex;align-items:center;gap:6px}.msg__sql[data-v-2748c957]{margin-top:8px;border:1px solid #e4e7ed;border-radius:6px;overflow:hidden}.msg__sql-head[data-v-2748c957]{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#f5f7fa;cursor:pointer;-webkit-user-select:none;user-select:none}.msg__sql-title[data-v-2748c957]{font-size:12px;font-weight:600;color:#606266}.msg__sql-toggle[data-v-2748c957]{font-size:12px;color:#1d4ed8}.msg__sql-body[data-v-2748c957]{position:relative;padding:8px;background:#fafafa}.msg__sql-copy[data-v-2748c957]{position:absolute;right:6px;top:4px;z-index:1}.msg__sql-body pre[data-v-2748c957]{margin:0;padding:8px;background:#f0f1f3;border-radius:4px;font-size:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;white-space:pre-wrap;word-break:break-all;color:#303133}.ai-panel__quick[data-v-2748c957]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;border-top:1px solid var(--card-border)}.ai-panel__input[data-v-2748c957]{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--card-border);align-items:flex-end}.ai-panel__input[data-v-2748c957] .n-input{flex:1}.ai-spin[data-v-2748c957]{animation:ai-rotate-2748c957 1s linear infinite}@keyframes ai-rotate-2748c957{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.slide-enter-active[data-v-2748c957],.slide-leave-active[data-v-2748c957]{transition:all .22s ease}.slide-enter-from[data-v-2748c957],.slide-leave-to[data-v-2748c957]{opacity:0;transform:translateY(12px)}.fb-wrap[data-v-0ae74dbc]{padding:2px 2px 0}.fb-shot[data-v-0ae74dbc]{display:flex;align-items:center;gap:10px;width:100%;flex-wrap:wrap}.fb-file[data-v-0ae74dbc]{display:none}.fb-shot__ok[data-v-0ae74dbc]{color:#18a058;font-size:13px}.fb-shot__fail[data-v-0ae74dbc]{color:#d03050;font-size:13px}.fb-shot__busy[data-v-0ae74dbc]{color:#909399;font-size:13px}.fb-footer[data-v-0ae74dbc]{display:flex;justify-content:center;gap:12px}.help-trigger[data-v-622d451b]{font-size:14px}.help-dd[data-v-622d451b]{padding:4px 4px 2px}.help-dd__role[data-v-622d451b]{border-bottom:1px dashed #ebeef5;padding-bottom:10px}.help-dd__lbl[data-v-622d451b]{font-size:12px;color:#909399;margin-right:8px}.help-dd__hint[data-v-622d451b]{font-size:11px;color:#c0c4cc;margin-top:6px}.help-dd__docs[data-v-622d451b]{padding-top:6px}.help-dd__item[data-v-622d451b]{padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.help-dd__item[data-v-622d451b]:hover{background:#f5f7fa}.help-dd__item--disabled[data-v-622d451b]{cursor:default}.help-dd__item--disabled[data-v-622d451b]:hover{background:transparent}.help-dd__item--divided[data-v-622d451b]{border-top:1px solid #ebeef5;margin-top:4px;color:#1d4ed8;font-weight:600}.site-footer[data-v-b1486f10]{text-align:center}.site-footer__link[data-v-b1486f10]{color:inherit;text-decoration:none}.site-footer__link[data-v-b1486f10]:hover{text-decoration:underline}.site-footer--page[data-v-b1486f10]{color:var(--text-sub);font-size:12px;padding:16px 0 8px}.site-footer--auth[data-v-b1486f10]{color:#909399;font-size:14px;margin-top:18px}.site-footer--auth-sm[data-v-b1486f10]{color:#909399;font-size:13px;margin-top:16px}.layout[data-v-5b9e882e]{min-height:100%;background:var(--page-bg, #f5f7fa)}.layout__header[data-v-5b9e882e]{background:#fff}.layout__header-inner[data-v-5b9e882e]{display:flex;align-items:center;gap:10px;padding:8px 20px;max-width:1600px;margin:0 auto}.brand[data-v-5b9e882e]{display:flex;align-items:center;gap:8px;cursor:pointer;flex-shrink:0}.brand__logo[data-v-5b9e882e]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1d4ed8,#4f8cff);color:#fff;box-shadow:0 2px 6px #1d4ed840}.brand__name[data-v-5b9e882e]{font-size:17px;font-weight:600;color:#111827;white-space:nowrap}.brand__tag[data-v-5b9e882e]{margin-left:2px}.layout__menu[data-v-5b9e882e]{flex:1;min-width:0;overflow-x:auto}.layout__actions[data-v-5b9e882e]{display:flex;align-items:center;gap:8px;flex-shrink:0}.test-btn[data-v-5b9e882e]{background:#fff1e6!important;border-color:#ffb066!important;color:#d96000!important;font-weight:600}.test-btn[data-v-5b9e882e]:hover{background:#ffe4cc!important}.tenant-switch[data-v-5b9e882e]{width:200px}.ai-btn[data-v-5b9e882e]{color:#1d4ed8}.user-trigger[data-v-5b9e882e]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:3px 10px 3px 4px;border:1px solid #e4e7ed;border-radius:20px;outline:none;transition:border-color .15s,background .15s;max-width:340px}.user-trigger[data-v-5b9e882e]:hover{border-color:#c7d2fe;background:#f5f7ff}.user-avatar[data-v-5b9e882e]{background:#1d4ed8;color:#fff;font-size:13px;flex-shrink:0}.user-name[data-v-5b9e882e]{font-size:14px;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-tenant[data-v-5b9e882e]{font-size:12px;color:#6b7280;flex-shrink:0}.user-caret[data-v-5b9e882e]{color:#909399;flex-shrink:0}.login-btn[data-v-5b9e882e]{margin-right:2px}.layout__body[data-v-5b9e882e]{background:var(--page-bg, #f5f7fa)}.feedback-fab[data-v-5b9e882e]{position:fixed;right:100px;bottom:30px;z-index:1900;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,#1d4ed8,#4f8cff);color:#fff;box-shadow:0 6px 18px #1d4ed852;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:transform .18s,box-shadow .18s,filter .18s}.feedback-fab[data-v-5b9e882e]:hover{transform:scale(1.08);filter:brightness(1.08);box-shadow:0 8px 22px #1d4ed86b}.feedback-fab[data-v-5b9e882e]:active{transform:scale(.96)}.feedback-fab__txt[data-v-5b9e882e]{font-size:12px;font-weight:600;line-height:1}.notify-trigger[data-v-5b9e882e]{display:flex;align-items:center;cursor:pointer}.notify-btn[data-v-5b9e882e]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#4b5563;transition:background .15s,color .15s}.notify-btn[data-v-5b9e882e]:hover{background:#f0f4ff;color:#1d4ed8}.notify-panel[data-v-5b9e882e]{width:320px;max-width:80vw}.notify-panel__head[data-v-5b9e882e]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #eef0f3;font-weight:600;color:#1f2937}.notify-panel__list[data-v-5b9e882e]{max-height:360px;overflow-y:auto}.notify-item[data-v-5b9e882e]{position:relative;padding:10px 12px 10px 22px;cursor:pointer;border-bottom:1px solid #f2f3f5;transition:background .15s}.notify-item[data-v-5b9e882e]:hover{background:#f5f7ff}.notify-item--unread[data-v-5b9e882e]{background:#fbfdff}.notify-item__dot[data-v-5b9e882e]{position:absolute;left:10px;top:14px;width:7px;height:7px;border-radius:50%;background:#e5484d}.notify-item__content[data-v-5b9e882e]{font-size:13px;color:#303133;line-height:1.55;word-break:break-word}.notify-item__time[data-v-5b9e882e]{font-size:12px;color:#909399;margin-top:4px}
