.kpi-card[data-v-1d0108ad]{border-radius:8px;transition:all .3s;box-shadow:0 1px 3px #0000000d}.kpi-card[data-v-1d0108ad]:hover{box-shadow:0 4px 12px #00000014}.kpi-card .site-section-title[data-v-1d0108ad]{color:#334155;align-items:center;gap:6px;margin-bottom:12px;font-size:15px;font-weight:600;display:flex}.kpi-card .site-section-title .dot-indicator[data-v-1d0108ad]{border-radius:50%;width:8px;height:8px;display:inline-block}.kpi-card .site-section-title .dot-indicator.blue[data-v-1d0108ad]{background-color:#3b82f6}.kpi-card .site-section-title .dot-indicator.purple[data-v-1d0108ad]{background-color:#8b5cf6}.kpi-card .download-details-list[data-v-1d0108ad]{background-color:#f8fafc;border:1px dashed #e2e8f0;border-radius:6px;margin-top:16px;padding:12px}.kpi-card .download-details-list .list-header[data-v-1d0108ad]{color:#64748b;margin-bottom:8px;font-size:12px;font-weight:600}.kpi-card .download-details-list .detail-row[data-v-1d0108ad]{color:#475569;border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.kpi-card .download-details-list .detail-row[data-v-1d0108ad]:last-child{border-bottom:none}.kpi-card .download-details-list .detail-row .platform-name[data-v-1d0108ad]{font-weight:500}.kpi-card .download-details-list .detail-row .platform-count[data-v-1d0108ad]{color:#0f172a;font-weight:600}.kpi-card .kpi-meta[data-v-1d0108ad]{color:#64748b;justify-content:space-between;align-items:center;font-size:14px;display:flex}.kpi-card .kpi-meta .kpi-info-icon[data-v-1d0108ad]{cursor:pointer;color:#94a3b8}.kpi-card .kpi-meta .kpi-info-icon[data-v-1d0108ad]:hover{color:#64748b}.kpi-card .kpi-value[data-v-1d0108ad]{color:#1e293b;height:48px;margin-top:8px;font-size:32px;font-weight:700;line-height:48px}.kpi-card .kpi-value .unit[data-v-1d0108ad]{color:#64748b;margin-left:4px;font-size:16px;font-weight:400}.kpi-card .kpi-chart-box[data-v-1d0108ad],.kpi-card .kpi-tags-box[data-v-1d0108ad]{align-items:center;height:32px;display:flex}.kpi-card .kpi-tags-box[data-v-1d0108ad]{flex-wrap:wrap;gap:4px}.kpi-card .kpi-tags-box .platform-tag[data-v-1d0108ad]{margin:0}.kpi-card .speed-indicator-bar[data-v-1d0108ad]{background:linear-gradient(90deg,#52c41a 0%,#faad14 50%,#ff4d4f 100%);border-radius:3px;width:100%;height:6px;position:relative}.kpi-card .speed-indicator-bar .speed-cursor[data-v-1d0108ad]{border:2px solid #fff;border-radius:50%;width:10px;height:10px;transition:left .5s ease-out;position:absolute;top:-2px;transform:translate(-50%);box-shadow:0 1px 3px #0000004d}.kpi-card .kpi-footer[data-v-1d0108ad]{color:#64748b;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:12px;padding-top:8px;font-size:12px;display:flex}.kpi-card .kpi-footer .failed-count[data-v-1d0108ad]{color:#ef4444}.trend-card[data-v-1d0108ad]{border-radius:8px}.trend-card .trend-card-header[data-v-1d0108ad]{justify-content:space-between;align-items:center;width:100%;display:flex}.trend-card .trend-card-header .card-title-text[data-v-1d0108ad]{color:#1e293b;font-size:16px;font-weight:700}.trend-card .trend-card-header .card-title-text .icon[data-v-1d0108ad]{color:#3b82f6;margin-right:6px}.trend-card .trend-chart-wrapper[data-v-1d0108ad]{padding:10px 0;position:relative}.trend-card .trend-chart-wrapper .svg-trend-chart[data-v-1d0108ad]{overflow:visible}.trend-card .trend-chart-wrapper .bar-rect[data-v-1d0108ad]{cursor:pointer;transition:opacity .2s}.trend-card .trend-chart-wrapper .bar-rect[data-v-1d0108ad]:hover{opacity:.85}.trend-card .trend-chart-wrapper .axis-text[data-v-1d0108ad]{fill:#64748b;font-size:11px}.trend-card .trend-chart-wrapper .chart-tooltip[data-v-1d0108ad]{color:#fff;pointer-events:none;z-index:10;background:#0f172af2;border-radius:6px;min-width:130px;padding:10px 14px;font-size:12px;position:absolute;box-shadow:0 4px 12px #00000026}.trend-card .trend-chart-wrapper .chart-tooltip .tooltip-title[data-v-1d0108ad]{border-bottom:1px solid #ffffff26;margin-bottom:6px;padding-bottom:4px;font-weight:700}.trend-card .trend-chart-wrapper .chart-tooltip .tooltip-row[data-v-1d0108ad]{justify-content:space-between;align-items:center;gap:6px;margin-bottom:3px;display:flex}.trend-card .trend-chart-wrapper .chart-tooltip .tooltip-row .dot[data-v-1d0108ad]{background-color:#3b82f6;border-radius:50%;width:6px;height:6px;display:inline-block}.trend-card .trend-chart-wrapper .chart-tooltip .tooltip-row.green[data-v-1d0108ad]{background-color:#10b981}.trend-card .trend-chart-wrapper .chart-tooltip .tooltip-row.red[data-v-1d0108ad]{background-color:#ef4444}.trend-card .trend-chart-wrapper .chart-tooltip .tooltip-row .green-text[data-v-1d0108ad]{color:#4ade80}.trend-card .trend-chart-wrapper .chart-tooltip .tooltip-row .red-text[data-v-1d0108ad]{color:#f87171}.breakdown-card[data-v-1d0108ad]{border-radius:8px;height:100%}.breakdown-card .breakdown-list[data-v-1d0108ad]{flex-direction:column;gap:16px;padding:10px 0;display:flex}.breakdown-card .breakdown-list .breakdown-item .info[data-v-1d0108ad]{justify-content:space-between;margin-bottom:4px;font-size:13px;display:flex}.breakdown-card .breakdown-list .breakdown-item .info .name[data-v-1d0108ad]{color:#334155;white-space:nowrap;text-overflow:ellipsis;max-width:70%;font-weight:500;overflow:hidden}.breakdown-card .breakdown-list .breakdown-item .info .val[data-v-1d0108ad]{color:#64748b}.breakdown-card .breakdown-list .breakdown-item .info .model-call-stats[data-v-1d0108ad]{white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.breakdown-card .breakdown-list .breakdown-item .info .model-call-stats .success-count[data-v-1d0108ad]{color:#16a34a;font-weight:600}.breakdown-card .breakdown-list .breakdown-item .info .model-call-stats .stats-sep[data-v-1d0108ad]{color:#cbd5e1}.breakdown-card .breakdown-list .breakdown-item .info .model-call-stats .failed-count[data-v-1d0108ad]{color:#dc2626;font-weight:600}.hourly-card[data-v-1d0108ad]{border-radius:8px}.hourly-card .hourly-summary-bar[data-v-1d0108ad]{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.hourly-card .hourly-pill[data-v-1d0108ad]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:inline-flex}.hourly-card .hourly-pill .pill-label[data-v-1d0108ad]{color:#64748b}.hourly-card .hourly-pill .pill-value[data-v-1d0108ad]{font-variant-numeric:tabular-nums;font-weight:700}.hourly-card .hourly-pill.success .pill-value[data-v-1d0108ad]{color:#16a34a}.hourly-card .hourly-pill.failed .pill-value[data-v-1d0108ad]{color:#dc2626}.hourly-card .hourly-pill.total .pill-value[data-v-1d0108ad]{color:#334155}.hourly-card .hourly-pill.rate .pill-value[data-v-1d0108ad]{color:#2563eb}.hourly-card .hourly-table-wrap[data-v-1d0108ad]{max-width:520px}.hourly-card[data-v-1d0108ad] .hourly-table .ant-table-thead>tr>th{color:#64748b;background:#f8fafc;padding:8px 10px;font-size:12px;font-weight:600}.hourly-card[data-v-1d0108ad] .hourly-table .ant-table-tbody>tr>td{padding:7px 10px;font-size:13px}.hourly-card[data-v-1d0108ad] .hourly-table .ant-table-tbody>tr:hover>td{background:#f8fafc}.hourly-card[data-v-1d0108ad] .hourly-table .ant-table-summary>tr>td{background:#f1f5f9;border-top:1px solid #e2e8f0}.hourly-card .hour-cell[data-v-1d0108ad]{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.hourly-card .hour-label[data-v-1d0108ad]{color:#475569;font-variant-numeric:tabular-nums;font-size:12px}.hourly-card .hour-now[data-v-1d0108ad]{color:#2563eb;background:#dbeafe;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:600;line-height:1}.hourly-card .num-cell[data-v-1d0108ad]{font-variant-numeric:tabular-nums;font-weight:500}.hourly-card .success-count[data-v-1d0108ad]{color:#16a34a;font-weight:600}.hourly-card .failed-count[data-v-1d0108ad]{color:#dc2626;font-weight:600}.hourly-card .zero-count[data-v-1d0108ad]{color:#cbd5e1}.hourly-card .rate-cell[data-v-1d0108ad]{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:inline-flex}.hourly-card .rate-bar[data-v-1d0108ad]{background:#e2e8f0;border-radius:999px;flex:1;max-width:56px;height:6px;overflow:hidden}.hourly-card .rate-fill[data-v-1d0108ad]{border-radius:999px;height:100%;transition:width .2s}.hourly-card .rate-text[data-v-1d0108ad]{text-align:right;color:#64748b;font-variant-numeric:tabular-nums;min-width:42px;font-size:12px}.empty-box[data-v-1d0108ad]{color:#94a3b8;justify-content:center;align-items:center;gap:8px;height:200px;font-size:14px;display:flex}
