.logo[data-v-5888bbef]{position:sticky;top:0;z-index:1;height:56px;background:var(--n-color);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;white-space:nowrap;overflow:hidden}.header[data-v-5888bbef]{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.header-left[data-v-5888bbef]{display:flex;align-items:center;gap:12px}.collapse-toggle[data-v-5888bbef]{cursor:pointer}.user-info[data-v-5888bbef]{display:inline-flex;align-items:center;gap:6px;cursor:pointer}html,body,#app{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}.page-container{padding:16px}.search-bar{margin-bottom:16px;padding:16px 16px 0;background:var(--n-color, #fff);border-radius:4px}.table-card{padding:16px;background:var(--n-color, #fff);border-radius:4px}.search-form{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.search-form.n-form .n-form-item{margin-right:0}.search-form .n-form-item-feedback-wrapper{display:none}.search-form .search-actions{margin-left:auto}.sf-w-xs{width:120px}.sf-w-sm{width:160px}.sf-w-md{width:200px}.sf-w-lg{width:240px}.sf-w-xl{width:380px}:root{--dash-page: #f5f6f7;--dash-surface: #ffffff;--dash-surface-sub: #fafbfc;--dash-border: #e8eaee;--dash-border-soft: #f0f1f3;--dash-text-1: #1f2225;--dash-text-2: #52575c;--dash-text-3: #6f747a;--dash-accent: #2080f0;--dash-good: #18a058;--dash-warn: #f0a020;--dash-bad: #d03050;--dash-radius: 10px;--dash-shadow: 0 1px 2px rgb(16 24 40 / 4%), 0 1px 3px rgb(16 24 40 / 6%)}.dash-page{padding:16px}.dash-num{font-variant-numeric:tabular-nums}.dash-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.dash-title{font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.2px;color:var(--dash-text-1)}.dash-subtitle{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:12px;color:var(--dash-text-3)}.dash-subtitle .sep{color:var(--dash-border)}.dash-updated{font-variant-numeric:tabular-nums}.dash-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dash-hero{display:flex;flex-wrap:wrap;align-items:stretch;gap:16px;padding:18px;margin-bottom:12px;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow)}.dash-hero-main{flex:1 1 240px;min-width:220px;padding-right:16px;border-right:1px solid var(--dash-border)}.dash-hero-label{font-size:12px;font-weight:500;color:var(--dash-text-3)}.dash-hero-value{margin-top:6px;font-size:32px;font-weight:600;line-height:1.1;letter-spacing:-.6px;color:var(--dash-text-1)}.dash-hero-unit{margin-left:4px;font-size:13px;font-weight:400;color:var(--dash-text-3)}.dash-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--dash-text-3)}.dash-kpi-grid{flex:2 1 520px;display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;align-content:start}.dash-kpi-card{padding:12px 14px;background:var(--dash-surface-sub);border:1px solid transparent;border-radius:8px;transition:border-color .15s,background-color .15s}.dash-kpi-card.clickable{cursor:pointer}.dash-kpi-card.clickable:hover{background:var(--dash-surface);border-color:#2080f059}.dash-kpi-card.clickable:focus-visible{outline:2px solid rgb(32 128 240 / 45%);outline-offset:2px}.dash-kpi-label{font-size:12px;font-weight:500;color:var(--dash-text-3)}.dash-kpi-value{margin-top:6px;font-size:20px;font-weight:600;line-height:1.2;color:var(--dash-text-1);font-variant-numeric:tabular-nums}.dash-kpi-unit{margin-left:2px;font-size:12px;font-weight:400;color:var(--dash-text-3)}.dash-kpi-hint{margin-top:4px;font-size:11px;line-height:1.4;color:var(--dash-text-3)}.dash-delta{display:inline-flex;align-items:center;gap:2px;margin-top:6px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}.dash-delta.up{color:var(--dash-good);background:#18a05814}.dash-delta.down{color:var(--dash-bad);background:#d0305014}.dash-delta.flat{color:var(--dash-text-3);background:#0000000a}.dash-card{background:var(--dash-surface);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow)}.dash-card .n-card-header{padding:14px 16px 0}.dash-card .n-card-header__main{font-size:14px;font-weight:600;letter-spacing:0;color:var(--dash-text-1)}.dash-card .n-card__content{padding:12px 16px 16px}.dash-card-hint{font-size:12px;color:var(--dash-text-3);font-variant-numeric:tabular-nums}.dash-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;margin-top:12px}.dash-chart-trend{height:320px}.dash-chart-donut,.dash-chart-rank{height:280px}.dash-card-mb{margin-bottom:12px}.dash-empty-success{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:200px;color:var(--dash-good)}.dash-empty-success-text{font-size:13px;color:var(--dash-text-2)}.dash-alert-list{display:flex;flex-direction:column;gap:8px}.dash-alert-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--dash-border);border-radius:8px;background:var(--dash-surface);transition:border-color .15s,box-shadow .15s}.dash-alert-item.clickable{cursor:pointer}.dash-alert-item.clickable:hover{border-color:#f0a02073;box-shadow:var(--dash-shadow)}.dash-alert-item.clickable:focus-visible{outline:2px solid rgb(240 160 32 / 45%);outline-offset:2px}.dash-alert-item.is-zero{opacity:.56}.dash-alert-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--dash-text-1)}.dash-alert-dot{width:8px;height:8px;border-radius:50%;background:var(--dot-color, var(--dash-warn))}.dash-alert-sub{margin-top:3px;font-size:11px;color:var(--dash-text-3);font-variant-numeric:tabular-nums}.dash-alert-count{font-size:20px;font-weight:600;line-height:1;color:var(--dash-text-1);font-variant-numeric:tabular-nums}.dash-alert-count .unit{margin-left:2px;font-size:12px;font-weight:400;color:var(--dash-text-3)}.dash-welcome h2{font-size:16px;font-weight:600}.dash-welcome .role-tag{margin-right:6px}@media(max-width:1200px){.dash-hero-main{padding-right:0;border-right:0}}
