:root{--pt-primary: #2f6fed;--pt-primary-light: #e8f1fe;--pt-primary-dark: #1b52c4;--pt-accent: #13b5a6;--pt-success: #38a169;--pt-warning: #d69e2e;--pt-danger: #e53e3e;--pt-info: #718096;--pt-up: #e53e3e;--pt-down: #38a169;--pt-flat: #a0aec0;--pt-text-primary: #1a202c;--pt-text-regular: #2d3748;--pt-text-secondary: #64748b;--pt-text-disabled: #a0aec0;--pt-text-inverse: #ffffff;--pt-bg-page: #f4f6fa;--pt-bg-card: #ffffff;--pt-bg-subtle: #f8fafc;--pt-bg-hover: #eef2f8;--pt-border: #e2e8f0;--pt-border-light: #edf2f7;--pt-chart-axis: #64748b;--pt-chart-split: #edf2f7;--pt-chart-area-from: rgba(47, 111, 237, .22);--pt-chart-area-to: rgba(47, 111, 237, .01);--pt-chart-tooltip-bg: rgba(255, 255, 255, .98);--pt-chart-tooltip-border: #e2e8f0;--pt-sidebar-bg: #0f1722;--pt-sidebar-text: #93a1b5;--pt-sidebar-active-bg: rgba(47, 111, 237, .16);--pt-header-bg: #ffffff;--pt-shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--pt-shadow-hover: 0 4px 12px rgba(16, 24, 40, .1);color-scheme:light}html.dark{--pt-primary: #4f8bf5;--pt-primary-light: rgba(79, 139, 245, .16);--pt-primary-dark: #3a72d8;--pt-success: #48bb78;--pt-warning: #ecc94b;--pt-danger: #f56565;--pt-info: #8b98a8;--pt-up: #f56565;--pt-down: #48bb78;--pt-flat: #6b7686;--pt-text-primary: #e8edf5;--pt-text-regular: #c3ccd9;--pt-text-secondary: #8b98a8;--pt-text-disabled: #5a6474;--pt-text-inverse: #0f1722;--pt-bg-page: #12161d;--pt-bg-card: #1a2029;--pt-bg-subtle: #151a22;--pt-bg-hover: #232b37;--pt-border: #2a3342;--pt-border-light: #222a36;--pt-chart-axis: #8b98a8;--pt-chart-split: rgba(255, 255, 255, .06);--pt-chart-area-from: rgba(79, 139, 245, .28);--pt-chart-area-to: rgba(79, 139, 245, .01);--pt-chart-tooltip-bg: rgba(26, 32, 41, .98);--pt-chart-tooltip-border: #2a3342;--pt-header-bg: #1a2029;--pt-shadow-card: 0 1px 2px rgba(0, 0, 0, .3);--pt-shadow-hover: 0 4px 14px rgba(0, 0, 0, .45);color-scheme:dark}:root{--el-color-primary: #2f6fed;--el-color-primary-light-3: rgb(103.3256637168, 149.9946902655, 241.8743362832);--el-color-primary-light-5: rgb(150.2637168142, 182.4902654867, 245.9362831858);--el-color-primary-light-7: rgb(197.2017699115, 214.985840708, 249.9982300885);--el-color-primary-light-8: rgb(225.3646017699, 234.4831858407, 252.4353982301);--el-color-primary-light-9: #e8f1fe;--el-color-primary-dark-2: #1b52c4;--el-color-success: #38a169;--el-color-warning: #d69e2e;--el-color-danger: #e53e3e;--el-color-error: #e53e3e;--el-color-info: #718096;--el-text-color-primary: #1a202c;--el-text-color-regular: #2d3748;--el-text-color-secondary: #64748b;--el-border-color: #e2e8f0;--el-border-color-light: #edf2f7;--el-border-color-lighter: #edf2f7;--el-fill-color-blank: #ffffff;--el-bg-color: #ffffff;--el-bg-color-overlay: #ffffff;--el-font-size-base: 13px;--el-border-radius-base: 6px}html.dark{--el-text-color-primary: #e8edf5;--el-text-color-regular: #c3ccd9;--el-text-color-secondary: #8b98a8;--el-border-color: #2a3342;--el-border-color-light: #222a36;--el-border-color-lighter: #222a36;--el-fill-color-blank: #1a2029;--el-bg-color: #1a2029;--el-bg-color-overlay: #1a2029;--el-bg-color-page: #12161d;--el-fill-color-light: #232b37;--el-mask-color: rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}body{overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--pt-text-primary);background:var(--pt-bg-page);transition:background-color .2s ease,color .2s ease}.pt-page{padding-bottom:32px}.pt-page-head,.header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.pt-page-title,.page-title{margin:0;font-size:20px;font-weight:650;line-height:1.3;color:var(--pt-text-primary);letter-spacing:-.01em}.pt-page-sub,.page-subtitle{margin:4px 0 0;font-size:12px;color:var(--pt-text-secondary)}.pt-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pt-grid{display:grid;gap:12px}.pt-grid--kpi{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.pt-grid--2{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.pt-grid--3{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}.pt-card{background:var(--pt-bg-card);border:1px solid var(--pt-border);border-radius:10px;box-shadow:var(--pt-shadow-card);transition:box-shadow .18s ease,border-color .18s ease;overflow:hidden}.pt-card:hover{box-shadow:var(--pt-shadow-hover)}.pt-card .pt-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--pt-border-light);flex-wrap:wrap}.pt-card .pt-card__title{font-size:14px;font-weight:600;color:var(--pt-text-primary);display:flex;align-items:center;gap:8px}.pt-card .pt-card__extra{font-size:12px;color:var(--pt-text-secondary);font-variant-numeric:tabular-nums}.pt-card .pt-card__body{padding:12px 16px}.pt-card .pt-card__body--flush{padding:8px}.pt-card .pt-chart{width:100%;height:320px}.pt-card .pt-chart--tall{height:380px}.pt-card .pt-chart--short{height:240px}.cc{background:var(--pt-bg-card);border:1px solid var(--pt-border);border-radius:10px;box-shadow:var(--pt-shadow-card);margin-bottom:12px}.pt-kpi{background:var(--pt-bg-card);border:1px solid var(--pt-border);border-radius:10px;padding:12px 16px;box-shadow:var(--pt-shadow-card);display:flex;flex-direction:column;gap:2px;min-width:0}.pt-kpi--clickable{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.pt-kpi--clickable:hover{box-shadow:var(--pt-shadow-hover);transform:translateY(-1px)}.pt-kpi--accent{border-left:3px solid var(--pt-primary)}.pt-kpi .pt-kpi__label{font-size:12px;color:var(--pt-text-secondary);display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-kpi .pt-kpi__value{font-size:26px;font-weight:680;line-height:1.15;color:var(--pt-text-primary);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:3px;flex-wrap:wrap;min-width:0;overflow-wrap:anywhere}.pt-kpi .pt-kpi__value small{font-size:12px;font-weight:400;color:var(--pt-text-secondary)}.pt-kpi .pt-kpi__foot{font-size:11px;color:var(--pt-text-disabled);display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;min-height:15px}.sc{background:var(--pt-bg-card);border:1px solid var(--pt-border);border-radius:10px;padding:12px 16px;box-shadow:var(--pt-shadow-card)}.sc .sl{font-size:12px;color:var(--pt-text-secondary);margin-bottom:6px}.sc .sv{font-size:20px;font-weight:680;color:var(--pt-text-primary);font-variant-numeric:tabular-nums}.sc .sv small{font-size:12px;color:var(--pt-text-secondary);font-weight:400}.sc .ss{font-size:11px;color:var(--pt-text-disabled);margin-top:2px}.num{font-variant-numeric:tabular-nums}.pt-up{color:var(--pt-up)}.pt-down{color:var(--pt-down)}.pt-flat{color:var(--pt-flat)}.pt-delta{font-variant-numeric:tabular-nums;font-weight:600;font-size:12px}.pt-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:0 0 auto}.pt-dot--ok{background:var(--pt-success)}.pt-dot--warn{background:var(--pt-warning)}.pt-dot--danger{background:var(--pt-danger)}.pt-dot--idle{background:var(--pt-text-disabled)}.pt-skeleton{background:linear-gradient(90deg,var(--pt-bg-subtle) 25%,var(--pt-bg-hover) 37%,var(--pt-bg-subtle) 63%);background-size:400% 100%;animation:pt-shimmer 1.4s ease infinite;border-radius:6px}@keyframes pt-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--pt-text-disabled);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--pt-text-secondary)}::-webkit-scrollbar-track{background:transparent}.el-table{font-size:13px;background:transparent}.el-table th.el-table__cell{background:var(--pt-bg-subtle)!important;color:var(--pt-text-secondary)!important;font-weight:600}.el-table td.el-table__cell{background:transparent}.el-table .cell{font-variant-numeric:tabular-nums}.el-card{border-color:var(--pt-border)}.el-tabs__item{font-size:14px}.el-table .num-cell{font-variant-numeric:tabular-nums;text-align:right}.echarts,[data-chart]{width:100%!important;max-width:100%}html,body,#app{height:100%;margin:0;padding:0}
