.kpi-grid[data-v-f33b6659]{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:100%}.kpi-card[data-v-f33b6659]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:center;gap:12px;position:relative;overflow:hidden;cursor:pointer;transition:border-color .3s,box-shadow .3s;animation:fadeInUp-f33b6659 .5s ease backwards}.kpi-card[data-v-f33b6659]:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow),var(--shadow-card)}.kpi-icon[data-v-f33b6659]{width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s}.kpi-card:hover .kpi-icon[data-v-f33b6659]{transform:scale(1.05)}.kpi-info[data-v-f33b6659]{display:flex;flex-direction:column;min-width:0}.kpi-label[data-v-f33b6659]{font-size:11px;color:var(--text-secondary);letter-spacing:.03em}.kpi-value[data-v-f33b6659]{font-size:24px;font-weight:700;line-height:1.2;color:var(--text-primary)}.kpi-sub[data-v-f33b6659]{font-size:10px;color:var(--text-secondary)}@keyframes fadeInUp-f33b6659{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.section[data-v-a87df6b5]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.section-title[data-v-a87df6b5]{font-size:11px;font-weight:600;padding:4px 0 6px;flex-shrink:0}.section-title--busy[data-v-a87df6b5]{color:#ff4d4f}.section-title--idle[data-v-a87df6b5]{color:#52c41a}.table-scroll-wrap[data-v-a87df6b5]{flex:1;min-height:0;overflow:hidden;position:relative}.table-scroll-inner[data-v-a87df6b5]{animation:scrollUp-a87df6b5 20s linear infinite;display:flex;flex-direction:column}.clickable[data-v-a87df6b5]{cursor:pointer;transition:background .15s}.clickable[data-v-a87df6b5]:hover{background:#1677ff0a!important}.station-name[data-v-a87df6b5]{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-row[data-v-a87df6b5]{animation:fadeInUp .4s ease backwards}.data-table[data-v-a87df6b5]{table-layout:fixed}.data-table th[data-v-a87df6b5]:nth-child(1),.data-table td[data-v-a87df6b5]:nth-child(1){width:40%}.data-table th[data-v-a87df6b5]:nth-child(2),.data-table td[data-v-a87df6b5]:nth-child(2){width:12%}.data-table th[data-v-a87df6b5]:nth-child(3),.data-table td[data-v-a87df6b5]:nth-child(3){width:18%;text-align:center}.data-table th[data-v-a87df6b5]:nth-child(4),.data-table td[data-v-a87df6b5]:nth-child(4){width:12%;text-align:right}.data-table th[data-v-a87df6b5]:nth-child(5),.data-table td[data-v-a87df6b5]:nth-child(5){width:18%;text-align:center}.detail-panel[data-v-a87df6b5]{flex:1;display:flex;flex-direction:column;min-height:0;animation:slideIn-a87df6b5 .25s ease}.detail-header[data-v-a87df6b5]{display:flex;justify-content:space-between;align-items:center;padding:2px 0 8px;flex-shrink:0}.detail-back[data-v-a87df6b5]{font-size:12px;color:var(--color-primary);cursor:pointer}.detail-back[data-v-a87df6b5]:hover{opacity:.7}.detail-close[data-v-a87df6b5]{font-size:14px;color:#9ca3af;cursor:pointer}.detail-close[data-v-a87df6b5]:hover{color:#ff4d4f}.detail-body[data-v-a87df6b5]{flex:1;overflow-y:auto;min-height:0;padding-right:4px}.detail-name[data-v-a87df6b5]{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.4;margin-bottom:8px}.detail-tags[data-v-a87df6b5]{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.detail-tag[data-v-a87df6b5]{font-size:10px;padding:2px 8px;border-radius:10px;background:#e6f4ff;color:#1677ff}.detail-tag--type[data-v-a87df6b5]{background:#e6fffb;color:#13c2c2}.detail-tag--rating[data-v-a87df6b5]{background:#fffbe6;color:#faad14}.detail-avail[data-v-a87df6b5]{margin-bottom:12px}.detail-avail-header[data-v-a87df6b5]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.detail-avail-bar[data-v-a87df6b5]{height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden;margin-bottom:4px}.detail-avail-fill[data-v-a87df6b5]{height:100%;border-radius:3px;transition:width .6s ease}.detail-avail-stats[data-v-a87df6b5]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-secondary)}.detail-avail-stats b[data-v-a87df6b5]{font-weight:600}.detail-info-grid[data-v-a87df6b5]{display:flex;flex-direction:column;gap:8px}.detail-info-item[data-v-a87df6b5]{display:flex;flex-direction:column;gap:2px}.detail-label[data-v-a87df6b5]{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.detail-value[data-v-a87df6b5]{font-size:12px;color:var(--text-secondary)}@keyframes slideIn-a87df6b5{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes scrollUp-a87df6b5{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.alert-ticker[data-v-b8a5abea]{display:flex;align-items:center;height:28px;background:#fff2f0;border:1px solid #ffccc7;border-radius:4px;margin:0 12px;overflow:hidden;flex-shrink:0;z-index:2}.ticker-label[data-v-b8a5abea]{flex-shrink:0;font-size:10px;font-weight:700;color:#ff4d4f;padding:0 10px;letter-spacing:.04em;background:#fff1f0;height:100%;display:flex;align-items:center;border-right:1px solid #ffccc7}.ticker-track[data-v-b8a5abea]{flex:1;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 4%,black 96%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,black 4%,black 96%,transparent 100%)}.ticker-track[data-v-b8a5abea]::-webkit-scrollbar{display:none}.ticker-scroll[data-v-b8a5abea]{display:inline-flex;align-items:center;animation-name:tickerScroll-b8a5abea;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes tickerScroll-b8a5abea{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-item[data-v-b8a5abea]{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#4b5563;padding:0 12px;cursor:pointer;transition:color .15s;flex-shrink:0}.ticker-item[data-v-b8a5abea]:hover,.ticker-item.warning[data-v-b8a5abea]{color:#faad14}.ticker-item.critical[data-v-b8a5abea]{color:#ff4d4f}.ticker-item.warning .ticker-dot[data-v-b8a5abea]{background:#faad14}.ticker-item.critical .ticker-dot[data-v-b8a5abea]{background:#ff4d4f}.ticker-dot[data-v-b8a5abea]{width:5px;height:5px;border-radius:50%;flex-shrink:0}.ticker-item b[data-v-b8a5abea]{font-weight:700;font-family:var(--font-mono)}.ticker-sep[data-v-b8a5abea]{color:#d1d5db;margin:0 2px;font-weight:300}.ticker-summary[data-v-b8a5abea]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff1f0;height:100%;border-left:1px solid #ffccc7;font-size:10px}.ticker-count[data-v-b8a5abea]{font-weight:600;color:#ff4d4f}.ticker-separator[data-v-b8a5abea]{color:#ffccc7}.summary-critical[data-v-b8a5abea]{display:flex;align-items:center;gap:4px;color:#ff4d4f;font-weight:500}.summary-warning[data-v-b8a5abea]{display:flex;align-items:center;gap:4px;color:#faad14;font-weight:500}.summary-dot[data-v-b8a5abea]{width:6px;height:6px;border-radius:50%}.summary-dot.critical[data-v-b8a5abea]{background:#ff4d4f}.summary-dot.warning[data-v-b8a5abea]{background:#faad14}.clickable[data-v-b8a5abea]{cursor:pointer;transition:opacity .15s}.clickable[data-v-b8a5abea]:hover{opacity:.7}.alert-dialog-overlay[data-v-b8a5abea]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn-b8a5abea .15s ease}@keyframes fadeIn-b8a5abea{0%{opacity:0}to{opacity:1}}.alert-dialog[data-v-b8a5abea]{width:720px;max-height:75vh;background:#fff;border-radius:12px;box-shadow:0 16px 48px #0003;display:flex;flex-direction:column;overflow:hidden;animation:slideUp-b8a5abea .2s ease}@keyframes slideUp-b8a5abea{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.alert-dialog-header[data-v-b8a5abea]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0}.alert-dialog-title[data-v-b8a5abea]{font-size:16px;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:8px}.alert-dialog-icon[data-v-b8a5abea]{font-size:18px}.alert-dialog-badge[data-v-b8a5abea]{background:#ff4d4f;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;line-height:1.4}.alert-dialog-close[data-v-b8a5abea]{background:none;border:none;font-size:16px;color:#9ca3af;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s}.alert-dialog-close[data-v-b8a5abea]:hover{color:#ff4d4f;background:#fff2f0}.alert-dialog-stats[data-v-b8a5abea]{display:flex;gap:16px;padding:10px 20px;background:#fafafa;border-bottom:1px solid #f0f0f0;font-size:12px}.stat-item[data-v-b8a5abea]{display:flex;align-items:center;gap:5px;font-weight:500}.stat-item.critical[data-v-b8a5abea]{color:#ff4d4f}.stat-item.warning[data-v-b8a5abea]{color:#faad14}.alert-dialog-body[data-v-b8a5abea]{flex:1;display:flex;flex-direction:column;min-height:0}.alert-table-header[data-v-b8a5abea]{display:flex;align-items:center;padding:10px 20px;background:#fafafa;font-size:11px;font-weight:600;color:#6b7280;border-bottom:1px solid #f0f0f0;flex-shrink:0}.alert-table-scroll[data-v-b8a5abea]{flex:1;overflow-y:auto;min-height:0}.alert-table-row[data-v-b8a5abea]{display:flex;align-items:center;padding:10px 20px;font-size:12px;color:#374151;border-bottom:1px solid #f9fafb;cursor:pointer;transition:background .12s}.alert-table-row[data-v-b8a5abea]:hover{background:#f0f7ff}.alert-table-row.critical[data-v-b8a5abea]:hover{background:#fff1f0}.alert-table-row.warning[data-v-b8a5abea]:hover{background:#fffbe6}.col-idx[data-v-b8a5abea]{width:36px;color:#9ca3af;font-family:var(--font-mono);flex-shrink:0}.col-name[data-v-b8a5abea]{flex:2;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-district[data-v-b8a5abea]{flex:1;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-avail[data-v-b8a5abea]{width:80px;text-align:center;flex-shrink:0}.col-avail b[data-v-b8a5abea]{color:#1677ff;font-weight:700}.col-rate[data-v-b8a5abea]{width:100px;display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;flex-shrink:0}.rate-bar[data-v-b8a5abea]{width:40px;height:4px;background:#f0f0f0;border-radius:2px;overflow:hidden;flex-shrink:0}.rate-fill[data-v-b8a5abea]{height:100%;border-radius:2px;transition:width .3s}.rate-fill.critical[data-v-b8a5abea]{background:#ff4d4f}.rate-fill.warning[data-v-b8a5abea]{background:#faad14}.col-level[data-v-b8a5abea]{width:50px;text-align:center;flex-shrink:0}.level-tag[data-v-b8a5abea]{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px}.level-tag.critical[data-v-b8a5abea]{color:#ff4d4f;background:#fff1f0}.level-tag.warning[data-v-b8a5abea]{color:#faad14;background:#fffbe6}.alert-search-bar[data-v-b8a5abea]{display:flex;align-items:center;gap:8px;padding:10px 20px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.search-icon[data-v-b8a5abea]{color:#9ca3af;flex-shrink:0}.search-input[data-v-b8a5abea]{flex:1;border:none;outline:none;font-size:13px;color:#1f2937;background:transparent;font-family:inherit}.search-input[data-v-b8a5abea]::placeholder{color:#c0c4cc}.search-clear[data-v-b8a5abea]{color:#c0c4cc;cursor:pointer;font-size:12px;padding:2px 6px;border-radius:4px;transition:all .12s;flex-shrink:0}.search-clear[data-v-b8a5abea]:hover{color:#ff4d4f;background:#fff1f0}.search-count[data-v-b8a5abea]{color:#9ca3af;font-size:11px;font-family:var(--font-mono);flex-shrink:0}.alert-empty[data-v-b8a5abea]{padding:40px 20px;text-align:center;color:#c0c4cc;font-size:13px}.map-loading[data-v-bd662714]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;z-index:5;color:var(--text-dim);font-size:13px}.reset-view-btn[data-v-bd662714]{position:absolute;top:10px;right:10px;width:36px;height:36px;background:#ffffffe6;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);z-index:3;transition:all .2s}.reset-view-btn[data-v-bd662714]:hover{background:#fff;color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.map-legend[data-v-bd662714]{position:absolute;bottom:10px;right:10px;display:flex;gap:14px;padding:6px 12px;background:#ffffffe6;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);z-index:3}.legend-item[data-v-bd662714]{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-secondary)}.legend-dot[data-v-bd662714]{width:8px;height:8px;border-radius:50%}.pulse-canvas[data-v-bd662714]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.order-kpi[data-v-5992123a]{display:flex;flex-direction:column}.order-header[data-v-5992123a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.order-header[data-v-5992123a] .panel-title{margin-bottom:0}.period-switcher[data-v-5992123a]{display:flex;gap:2px;background:#f3f4f6;border-radius:6px;padding:2px}.period-btn[data-v-5992123a]{border:none;background:transparent;color:var(--text-dim);font-size:11px;font-family:var(--font-sans);padding:2px 10px;border-radius:4px;cursor:pointer;transition:all .2s}.period-btn[data-v-5992123a]:hover{color:var(--text-primary)}.period-btn.active[data-v-5992123a]{background:var(--color-primary);color:#fff;font-weight:600}.order-row[data-v-5992123a]{display:flex;align-items:center;gap:14px;flex:1;min-height:0}.order-item[data-v-5992123a]{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.order-label[data-v-5992123a]{font-size:12px;color:var(--text-secondary);line-height:1.4}.order-value[data-v-5992123a]{font-size:clamp(16px,2vw,26px);font-weight:700;color:var(--text-primary);line-height:1.2;white-space:nowrap}.order-value.accent[data-v-5992123a]{color:var(--color-primary)}.order-divider[data-v-5992123a]{width:1px;height:32px;background:#e5e7eb;flex-shrink:0}.trend-header[data-v-c87edcaa]{display:flex;align-items:center;gap:8px}.trend-header[data-v-c87edcaa] .panel-title{margin-bottom:0;flex-shrink:0}.unit-hint[data-v-c87edcaa]{font-size:10px;color:var(--text-dim);margin-left:auto}.view-switcher[data-v-c87edcaa]{display:flex;gap:2px;background:#f3f4f6;border-radius:6px;padding:2px}.sw-btn[data-v-c87edcaa]{border:none;background:transparent;color:var(--text-dim);font-size:11px;font-family:var(--font-sans);padding:2px 10px;border-radius:4px;cursor:pointer;transition:all .2s}.sw-btn[data-v-c87edcaa]:hover{color:var(--text-primary)}.sw-btn.active[data-v-c87edcaa]{background:var(--color-primary);color:#fff;font-weight:600}.month-picker[data-v-c87edcaa]{display:flex;gap:1px;flex-wrap:wrap;padding:0;flex-shrink:0;line-height:1}.m-btn[data-v-c87edcaa]{border:1px solid #e5e7eb;background:transparent;color:var(--text-dim);font-size:9px;font-family:var(--font-sans);padding:0 5px;border-radius:3px;cursor:pointer;transition:all .15s;line-height:1.6}.m-btn[data-v-c87edcaa]:hover{border-color:#91caff;color:var(--color-primary)}.m-btn.active[data-v-c87edcaa]{background:#e6f4ff;border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.channel-list[data-v-8acc6c26]{display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1;min-height:0;padding-right:4px}.channel-bar[data-v-8acc6c26]{display:flex;align-items:center;gap:8px}.channel-name[data-v-8acc6c26]{font-size:11px;color:var(--text-secondary);width:70px;flex-shrink:0}.channel-track[data-v-8acc6c26]{flex:1;height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden}.channel-fill[data-v-8acc6c26]{height:100%;background:linear-gradient(90deg,#1677ff,#4096ff);border-radius:3px;transition:width 1s ease}.channel-pct[data-v-8acc6c26]{font-size:11px;color:var(--color-primary);width:32px;text-align:right}.ring-container[data-v-8acc6c26]{display:flex;justify-content:center;overflow:visible}.ring-container svg[data-v-8acc6c26]{overflow:visible}.rank-list[data-v-cbcf89ba]{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}.rank-item[data-v-cbcf89ba]{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-sm);background:#f9fafb;animation:fadeInRight-cbcf89ba .4s ease backwards}.rank-num[data-v-cbcf89ba]{font-size:16px;width:24px;text-align:center;flex-shrink:0}.rank-other[data-v-cbcf89ba]{font-size:12px;color:var(--text-dim);font-weight:700}.rank-info[data-v-cbcf89ba]{flex:1;min-width:0;display:flex;flex-direction:column}.rank-name[data-v-cbcf89ba]{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-district[data-v-cbcf89ba]{font-size:10px;color:var(--text-secondary)}.rank-value[data-v-cbcf89ba]{font-size:12px;font-weight:600;color:var(--color-primary);flex-shrink:0}@keyframes fadeInRight-cbcf89ba{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.login-wrapper[data-v-9ff82c8b]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:999}.login-container[data-v-9ff82c8b]{display:flex;height:100%;background:#f0f2f5}.login-left[data-v-9ff82c8b]{flex:0 0 500px;background:linear-gradient(160deg,#0f172a,#1e3a5f 35%,#1a56db);display:flex;flex-direction:column;justify-content:center;padding:60px 56px;color:#fff;position:relative;overflow:hidden}.deco-circle[data-v-9ff82c8b]{position:absolute;border-radius:50%;background:#ffffff08}.deco-circle.c1[data-v-9ff82c8b]{width:360px;height:360px;top:-120px;right:-100px}.deco-circle.c2[data-v-9ff82c8b]{width:200px;height:200px;bottom:-60px;left:-40px}.deco-circle.c3[data-v-9ff82c8b]{width:80px;height:80px;top:35%;right:60px;background:#ffffff0a}.deco-circle.c4[data-v-9ff82c8b]{width:140px;height:140px;bottom:30%;left:50px;background:#ffffff06}.brand[data-v-9ff82c8b]{margin-bottom:40px}.brand-icon-wrap[data-v-9ff82c8b]{margin-bottom:20px}.brand-svg[data-v-9ff82c8b]{width:96px;height:96px}.brand h1[data-v-9ff82c8b]{font-size:34px;font-weight:800;margin:0 0 6px;letter-spacing:.04em}.brand-sub[data-v-9ff82c8b]{font-size:13px;opacity:.55;margin:0;letter-spacing:.06em}.stats-row[data-v-9ff82c8b]{display:flex;align-items:center;gap:0;margin-bottom:40px;padding:16px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.stat-item[data-v-9ff82c8b]{flex:1;text-align:center}.stat-num[data-v-9ff82c8b]{display:block;font-size:22px;font-weight:800;letter-spacing:.02em}.stat-label[data-v-9ff82c8b]{display:block;font-size:11px;opacity:.5;margin-top:2px;letter-spacing:.05em}.stat-divider[data-v-9ff82c8b]{width:1px;height:32px;background:#ffffff1a;flex-shrink:0}.feature-list[data-v-9ff82c8b]{display:flex;flex-direction:column;gap:14px;margin-bottom:auto}.feature-item[data-v-9ff82c8b]{display:flex;align-items:flex-start;gap:14px}.feature-icon[data-v-9ff82c8b]{width:40px;height:40px;border-radius:10px;background:#ffffff14;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.feature-title[data-v-9ff82c8b]{font-size:13px;font-weight:600}.feature-desc[data-v-9ff82c8b]{font-size:11px;opacity:.45;margin-top:2px}.brand-footer[data-v-9ff82c8b]{font-size:11px;opacity:.25;text-align:center;margin-top:48px}.login-right[data-v-9ff82c8b]{flex:1;display:flex;align-items:center;justify-content:center}.login-card[data-v-9ff82c8b]{background:#fff;border-radius:12px;padding:40px;width:380px;box-shadow:0 2px 16px #0000000f}.login-card h2[data-v-9ff82c8b]{margin:0 0 32px;font-size:22px;color:#1a1a2e;text-align:center}.field[data-v-9ff82c8b]{margin-bottom:20px}.field label[data-v-9ff82c8b]{display:block;font-size:13px;color:#64748b;margin-bottom:6px}.field input[data-v-9ff82c8b]{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.field input[data-v-9ff82c8b]:focus{border-color:#1a56db}.error[data-v-9ff82c8b]{color:#ef4444;font-size:12px;margin:0 0 12px}.btn[data-v-9ff82c8b]{width:100%;padding:12px;background:#1a56db;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.btn[data-v-9ff82c8b]:hover{background:#1e40af}.btn[data-v-9ff82c8b]:disabled{opacity:.6;cursor:not-allowed}.chooser-container[data-v-9ff82c8b]{height:100%;background:#f0f2f5;display:flex;align-items:center;justify-content:center}.chooser-card[data-v-9ff82c8b]{background:#fff;border-radius:16px;padding:40px;width:520px;box-shadow:0 2px 24px #0000000f}.chooser-user[data-v-9ff82c8b]{display:flex;align-items:center;gap:14px;padding-bottom:24px;border-bottom:1px solid #f1f5f9;margin-bottom:24px}.avatar[data-v-9ff82c8b]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#1a56db,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.welcome[data-v-9ff82c8b]{font-size:12px;color:#94a3b8}.name[data-v-9ff82c8b]{font-size:16px;font-weight:600;color:#1a1a2e}.role-tag[data-v-9ff82c8b]{font-size:11px;background:#eff6ff;color:#1a56db;padding:1px 8px;border-radius:10px;margin-left:6px}.logout-btn[data-v-9ff82c8b]{margin-left:auto;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:6px 14px;font-size:12px;color:#64748b;cursor:pointer}.logout-btn[data-v-9ff82c8b]:hover{color:#ef4444;border-color:#fca5a5}.chooser-hint[data-v-9ff82c8b]{font-size:14px;color:#64748b;margin:0 0 20px;text-align:center}.chooser-grid[data-v-9ff82c8b]{display:flex;flex-direction:column;gap:12px}.chooser-item[data-v-9ff82c8b]{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s;text-align:left}.chooser-item[data-v-9ff82c8b]:hover{border-color:#1a56db;background:#f8fafc;transform:translate(4px)}.chooser-icon-wrap[data-v-9ff82c8b]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.bg-cyan[data-v-9ff82c8b]{background:#ecfeff}.bg-blue[data-v-9ff82c8b]{background:#eff6ff}.chooser-name[data-v-9ff82c8b]{font-size:15px;font-weight:600;color:#1a1a2e}.chooser-desc[data-v-9ff82c8b]{font-size:12px;color:#94a3b8;margin-top:2px}.arrow[data-v-9ff82c8b]{margin-left:auto;color:#94a3b8;font-size:18px}.dashboard[data-v-2b9e8094]{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;padding:12px 20px 16px}.header[data-v-2b9e8094]{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 12px;z-index:2;position:relative}.header-left[data-v-2b9e8094]{width:30px;flex-shrink:0;z-index:1}.logo-icon[data-v-2b9e8094]{width:45px;height:45px;filter:drop-shadow(0 0 8px rgba(0,212,255,.4));color:#00d4ff}.header-center[data-v-2b9e8094]{position:absolute;left:50%;transform:translate(-50%);text-align:center;pointer-events:none;z-index:0}.title[data-v-2b9e8094]{font-size:24px;font-weight:700;background:linear-gradient(135deg,#4096ff,#36cfc9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.06em;white-space:nowrap}.subtitle[data-v-2b9e8094]{font-size:10px;color:#9ca3af;letter-spacing:.15em;text-transform:uppercase}.header-right[data-v-2b9e8094]{display:flex;align-items:center;gap:12px;z-index:1}.op-btn[data-v-2b9e8094]{border:1px solid #d9d9d9;background:#fff;color:var(--text-accent);font-size:12px;font-family:var(--font-sans);padding:4px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.op-btn[data-v-2b9e8094]:hover{border-color:var(--color-primary);color:var(--color-primary)}.logout-btn[data-v-2b9e8094]{color:#ff4d4f;border-color:#ffccc7}.logout-btn[data-v-2b9e8094]:hover{color:#ff4d4f;border-color:#ff4d4f;background:#fff2f0}.time[data-v-2b9e8094]{font-size:11px;color:#9ca3af;font-family:var(--font-mono)}.main-grid[data-v-2b9e8094]{flex:1;display:flex;gap:14px;min-height:0;z-index:2}.col-left[data-v-2b9e8094]{width:22%;display:flex;flex-direction:column;gap:10px}.col-left[data-v-2b9e8094]>:nth-child(1){height:160px}.col-left[data-v-2b9e8094]>:nth-child(2){flex:1;min-height:0}.col-left[data-v-2b9e8094]>:nth-child(3){height:160px}.col-center[data-v-2b9e8094]{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.panel-toggle[data-v-2b9e8094]{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:#fff;border:1px solid #d9d9d9;color:var(--text-accent);cursor:pointer;width:20px;height:48px;border-radius:4px;font-size:10px;padding:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.panel-toggle[data-v-2b9e8094]:hover{border-color:var(--color-primary);color:var(--color-primary)}.toggle-left[data-v-2b9e8094]{left:0;border-radius:0 4px 4px 0}.toggle-right[data-v-2b9e8094]{right:0;border-radius:4px 0 0 4px}.col-right[data-v-2b9e8094]{width:23%;display:flex;flex-direction:column;gap:10px}.col-right[data-v-2b9e8094]>:nth-child(1){height:78px;flex-shrink:0}.col-right[data-v-2b9e8094]>:nth-child(2){flex:5;min-height:0}.col-right[data-v-2b9e8094]>:nth-child(3){height:170px;flex-shrink:0}.col-right[data-v-2b9e8094]>:nth-child(4){flex:4;min-height:0}:root{--bg-deep: #f5f7fa;--bg-primary: #ffffff;--bg-card: rgba(255, 255, 255, .95);--bg-card-hover: rgba(255, 255, 255, 1);--color-primary: #1677ff;--color-primary-dim: #0958d9;--color-primary-glow: rgba(22, 119, 255, .15);--color-cyan: #13c2c2;--color-purple: #722ed1;--color-accent: #1677ff;--color-success: #52c41a;--color-danger: #ff4d4f;--color-warning: #faad14;--color-info: #1677ff;--text-primary: #1f2937;--text-secondary: #6b7280;--text-dim: #9ca3af;--text-accent: #1677ff;--border-subtle: rgba(0, 0, 0, .08);--border-glow: rgba(22, 119, 255, .3);--shadow-card: 0 1px 8px rgba(0, 0, 0, .06);--shadow-glow: 0 0 12px rgba(22, 119, 255, .1);--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", "Consolas", monospace;--font-sans: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}#app{width:100vw;height:100vh;overflow:hidden;position:relative;background:var(--bg-deep)}#app.admin-mode,#app.admin-mode .main-content{background:#f0f2f5}.panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px;position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:border-color .4s,box-shadow .4s;z-index:1}.panel:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow),var(--shadow-card)}.panel-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:10px;letter-spacing:.06em;display:flex;align-items:center;gap:8px}.panel-title:before{content:"";display:inline-block;width:3px;height:14px;background:var(--color-primary);border-radius:2px}.number{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#00000040}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{color:var(--text-dim);font-weight:500;text-align:left;padding:6px 8px;border-bottom:1px solid var(--border-subtle)}.data-table td{padding:5px 8px;border-bottom:1px solid rgba(0,0,0,.04);color:var(--text-secondary)}.data-table tr:hover td{background:#1677ff0a;color:var(--text-primary)}.tag{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:500}.tag--green{background:#52c41a1f;color:#52c41a}.tag--yellow{background:#faad141f;color:#faad14}.tag--red{background:#ff4d4f1f;color:#ff4d4f}
