@import './tokens.css'; @import '@douyinfe/semi-theme-default/scss/index.scss'; * { box-sizing: border-box; } body { margin: 0; min-width: 1280px; background: var(--vp-bg); color: var(--vp-text); font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; } .vp-app { min-height: 100vh; background: var(--vp-bg); } .vp-shell { display: grid; grid-template-columns: var(--vp-shell-sidebar) minmax(0, 1fr); min-height: 100vh; } .vp-sidebar { position: sticky; top: 0; height: 100vh; background: var(--vp-surface); border-right: 1px solid var(--vp-border); padding: 16px 12px; } .vp-brand { min-height: 54px; display: flex; align-items: center; gap: 10px; padding: 0 8px 16px; font-weight: 700; color: var(--vp-text); } .vp-brand-mark { width: 28px; height: 28px; border-radius: 7px; background: linear-gradient(135deg, var(--vp-primary), var(--vp-cyan)); } .vp-brand-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; line-height: 18px; } .vp-brand-copy span:first-child { font-size: 15px; } .vp-brand-copy span:last-child { color: var(--vp-text-muted); font-size: 11px; font-weight: 500; white-space: nowrap; } .vp-nav-groups { display: grid; gap: 12px; } .vp-nav-group { min-width: 0; } .vp-nav-section-title { padding: 0 12px 6px; color: var(--vp-text-subtle); font-size: 12px; font-weight: 600; line-height: 18px; } .vp-main { min-width: 0; } .vp-topbar { height: var(--vp-shell-header); display: flex; align-items: center; justify-content: space-between; padding: 0 24px; background: rgba(255, 255, 255, 0.9); border-bottom: 1px solid var(--vp-border); backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 10; } .vp-link-health-button-warning { color: var(--vp-warning); border-color: rgba(247, 144, 9, 0.45); background: rgba(247, 144, 9, 0.08); } .vp-link-health-button-ok { color: var(--vp-success); border-color: rgba(18, 183, 106, 0.45); background: rgba(18, 183, 106, 0.08); } .vp-page { padding: var(--vp-page-gutter); } .vp-page-header { min-height: 54px; margin-bottom: 16px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } .vp-page-header-actions { flex: 0 0 auto; padding-top: 2px; } .vp-scope-bar { min-height: 40px; margin-top: 12px; padding: 8px 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: flex; align-items: center; gap: 10px; } .vp-scope-label { color: var(--vp-text-muted); font-size: 13px; } .vp-service-status { min-height: 40px; margin-top: 8px; padding: 8px 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: var(--vp-surface); display: flex; align-items: center; gap: 10px; } .vp-service-status-ok { border-color: rgba(18, 183, 106, 0.35); background: rgba(18, 183, 106, 0.05); } .vp-service-status-warning { border-color: rgba(247, 144, 9, 0.35); background: rgba(247, 144, 9, 0.06); } .vp-service-status-error { border-color: rgba(240, 68, 56, 0.35); background: rgba(240, 68, 56, 0.05); } .vp-section { background: var(--vp-surface); border: 1px solid var(--vp-border); border-radius: var(--vp-radius); box-shadow: var(--vp-shadow-sm); } .vp-grid { display: grid; gap: 16px; } .vp-grid.two { grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr); } .vp-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; } .vp-kpi-card { overflow: hidden; } .vp-kpi-button { width: 100%; min-height: 94px; padding: 20px 24px; border: 0; background: transparent; text-align: left; cursor: pointer; font: inherit; } .vp-kpi-button:hover, .vp-kpi-button:focus-visible { background: #f8fbff; outline: none; } .vp-kpi-value { font-size: 28px; font-weight: 700; line-height: 34px; color: var(--vp-text); } .vp-kpi-label { margin-top: 4px; color: var(--vp-text-muted); font-size: 13px; } .vp-result-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .vp-current-service-board { margin-bottom: 16px; padding: 14px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 16px; } .vp-current-service-title { margin-bottom: 10px; color: var(--vp-text); font-size: 14px; font-weight: 700; line-height: 20px; } .vp-current-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; } .vp-current-service-item { min-height: 112px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: var(--vp-surface); display: grid; gap: 8px; align-content: start; } .vp-current-service-risk { color: var(--vp-text); font-size: 13px; font-weight: 600; line-height: 20px; } .vp-current-service-next { color: var(--vp-text-muted); font-size: 12px; line-height: 18px; } .vp-current-action-list { display: flex; flex-wrap: wrap; gap: 8px; } .vp-realtime-command-board { margin-bottom: 16px; padding: 14px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 16px; } .vp-realtime-command-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; } .vp-realtime-command-item { min-height: 74px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: var(--vp-surface); display: grid; align-content: space-between; gap: 8px; text-align: left; font: inherit; } button.vp-realtime-command-item { cursor: pointer; } button.vp-realtime-command-item:hover, button.vp-realtime-command-item:focus-visible { border-color: rgba(22, 100, 255, 0.42); background: #f5f9ff; outline: none; } .vp-realtime-command-item span:last-child { color: var(--vp-text); font-size: 22px; font-weight: 700; line-height: 28px; } .vp-source-coverage-board { margin-bottom: 16px; padding: 14px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: var(--vp-surface); } .vp-source-coverage-grid { margin-top: 10px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; } .vp-source-coverage-item { min-height: 98px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; text-align: left; font: inherit; cursor: pointer; } .vp-source-coverage-item:hover, .vp-source-coverage-item:focus-visible { border-color: rgba(22, 100, 255, 0.42); background: #f5f9ff; outline: none; } .vp-source-coverage-item-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; } .vp-source-coverage-item-head span { color: var(--vp-text); font-weight: 700; } .vp-source-coverage-bars { margin-top: 12px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; color: var(--vp-text-muted); font-size: 12px; line-height: 18px; } .vp-result-summary-item { min-height: 72px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; } .vp-result-summary-button { width: 100%; text-align: left; font: inherit; cursor: pointer; } .vp-result-summary-button:hover, .vp-result-summary-button:focus-visible { border-color: rgba(22, 100, 255, 0.42); background: #f5f9ff; outline: none; } .vp-result-summary-value { color: var(--vp-text); font-size: 22px; font-weight: 700; line-height: 28px; } .vp-result-summary-label { margin-top: 4px; color: var(--vp-text-muted); font-size: 12px; line-height: 18px; } .vp-map { position: relative; height: 360px; overflow: hidden; background: linear-gradient(90deg, rgba(22, 100, 255, 0.08) 1px, transparent 1px), linear-gradient(0deg, rgba(22, 100, 255, 0.08) 1px, transparent 1px), #f8fbff; background-size: 36px 36px; } .vp-amap-canvas { position: absolute; inset: 0; } .vp-map-fallback { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22, 100, 255, 0.08) 1px, transparent 1px), linear-gradient(0deg, rgba(22, 100, 255, 0.08) 1px, transparent 1px), rgba(248, 251, 255, 0.94); background-size: 36px 36px; } .vp-map-fallback-status { position: absolute; left: 12px; bottom: 12px; box-shadow: var(--vp-shadow-sm); } .vp-amap-marker { min-width: 18px; height: 18px; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; color: #fff; font-size: 10px; font-weight: 700; line-height: 14px; text-align: center; box-shadow: 0 8px 18px rgba(16, 24, 40, 0.2); } .vp-amap-marker-online { background: var(--vp-success); } .vp-amap-marker-offline { background: var(--vp-warning); } .vp-amap-marker-selected { border-color: #fff; box-shadow: 0 0 0 4px rgba(22, 100, 255, 0.28), 0 10px 22px rgba(16, 24, 40, 0.24); } .vp-monitor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 16px; margin-bottom: 16px; } .vp-monitor-map { min-height: 430px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); overflow: hidden; background: var(--vp-surface); } .vp-monitor-map-header { min-height: 50px; padding: 12px; border-bottom: 1px solid var(--vp-border); background: #fbfcff; } .vp-map-monitor { height: 380px; } .vp-map-dot { position: absolute; width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: var(--vp-primary); box-shadow: 0 0 0 5px rgba(22, 100, 255, 0.16); cursor: pointer; } .vp-map-dot-online { background: var(--vp-success); box-shadow: 0 0 0 5px rgba(18, 183, 106, 0.16); } .vp-map-dot-offline { background: var(--vp-warning); box-shadow: 0 0 0 5px rgba(247, 144, 9, 0.16); } .vp-map-dot-start { width: 12px; height: 12px; background: var(--vp-success); box-shadow: 0 0 0 6px rgba(18, 183, 106, 0.18); } .vp-map-dot-end { width: 12px; height: 12px; background: var(--vp-warning); box-shadow: 0 0 0 6px rgba(247, 144, 9, 0.18); } .vp-map-dot-selected { width: 16px; height: 16px; border: 3px solid #fff; box-shadow: 0 0 0 7px rgba(22, 100, 255, 0.2), 0 10px 22px rgba(16, 24, 40, 0.2); } .vp-map-dot:focus-visible { outline: 2px solid var(--vp-primary); outline-offset: 6px; } .vp-monitor-side { display: grid; gap: 12px; align-content: start; } .vp-monitor-metric { min-height: 72px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; } .vp-monitor-metric-value { margin-top: 8px; color: var(--vp-text); font-size: 24px; font-weight: 700; line-height: 30px; } .vp-map-service-queue { display: grid; gap: 10px; margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--vp-border); } .vp-source-consistency-panel { display: grid; gap: 10px; margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--vp-border); } .vp-map-integration-panel { display: grid; gap: 8px; padding: 10px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fff; } .vp-map-integration-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--vp-border); } .vp-map-integration-row:last-child { padding-bottom: 0; border-bottom: 0; } .vp-map-integration-row > div { display: grid; gap: 2px; min-width: 0; } .vp-map-service-queue-title { color: var(--vp-text); font-size: 13px; font-weight: 700; } .vp-map-service-item { display: grid; gap: 8px; padding: 10px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fff; } .vp-map-service-item-button { width: 100%; color: inherit; text-align: left; cursor: pointer; } .vp-map-service-item-button:focus-visible { outline: 2px solid rgba(22, 100, 255, 0.45); outline-offset: 2px; } .vp-map-service-item-selected { border-color: rgba(22, 100, 255, 0.62); background: #f5f9ff; box-shadow: 0 0 0 3px rgba(22, 100, 255, 0.08); } .vp-map-service-item-main, .vp-map-service-item-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .vp-map-service-item-main > div { display: grid; min-width: 0; } .vp-selected-vehicle-panel { display: grid; gap: 8px; padding: 12px; border: 1px solid rgba(22, 100, 255, 0.28); border-radius: var(--vp-radius); background: #f5f9ff; } .vp-selected-vehicle-grid { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 10px; font-size: 12px; } .vp-selected-vehicle-grid span { color: var(--vp-text-muted); } .vp-selected-vehicle-grid strong { color: var(--vp-text); font-weight: 600; text-align: right; } .vp-alert-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .vp-alert-flow-item { min-height: 96px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 10px; align-content: start; } .vp-alert-flow-value { color: var(--vp-text); font-size: 22px; font-weight: 700; line-height: 28px; } .vp-alert-dispatch-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .vp-alert-dispatch-item { min-height: 132px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; align-content: start; gap: 8px; text-align: left; font: inherit; cursor: pointer; } .vp-alert-dispatch-item:hover, .vp-alert-dispatch-item:focus-visible { border-color: rgba(22, 100, 255, 0.42); background: #f5f9ff; outline: none; } .vp-alert-dispatch-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .vp-alert-dispatch-head strong { color: var(--vp-text); font-size: 22px; line-height: 28px; } .vp-alert-command-board { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; } .vp-alert-command-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .vp-alert-command-item { min-height: 92px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; align-content: space-between; gap: 10px; } .vp-alert-command-item > div { color: var(--vp-text); font-size: 22px; font-weight: 700; line-height: 28px; word-break: break-word; } .vp-alert-next-action { min-height: 132px; padding: 12px; border: 1px solid rgba(22, 100, 255, 0.28); border-radius: var(--vp-radius); background: #f5f9ff; display: grid; align-content: start; gap: 10px; } .vp-sla-board { display: grid; gap: 14px; } .vp-sla-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .vp-sla-summary-item { min-height: 72px; display: grid; gap: 8px; align-content: start; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; } .vp-sla-summary-item strong { color: var(--vp-text); font-size: 18px; line-height: 24px; } .vp-risk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .vp-risk-item { min-height: 158px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 10px; align-content: start; } .vp-risk-value { color: var(--vp-text); font-size: 26px; font-weight: 700; line-height: 32px; } .vp-risk-runbook { margin-top: 12px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #f5f9ff; display: flex; align-items: center; gap: 10px; } .vp-ops-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .vp-ops-action-item { min-height: 196px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 10px; align-content: start; } .vp-ops-action-evidence { color: var(--vp-text); font-size: 18px; font-weight: 700; line-height: 26px; word-break: break-word; } .vp-ops-action-acceptance { padding-top: 8px; border-top: 1px solid var(--vp-border); color: var(--vp-text-muted); font-size: 13px; line-height: 20px; } .vp-alert-ops-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(360px, 0.6fr); gap: 16px; margin-top: 16px; } .vp-notification-policy-list { display: grid; gap: 12px; } .vp-notification-policy { min-height: 86px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 10px; } .vp-alert-policy-detail { margin-top: 8px; color: var(--vp-text-muted); font-size: 13px; line-height: 20px; } .vp-stat-workspace { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; } .vp-stat-chart { display: grid; gap: 12px; } .vp-stat-bar-row { min-height: 32px; display: grid; grid-template-columns: 110px minmax(0, 1fr) 96px; align-items: center; gap: 10px; } .vp-stat-bar-label, .vp-stat-bar-value { color: var(--vp-text-muted); font-size: 12px; line-height: 18px; white-space: nowrap; } .vp-stat-bar-value { color: var(--vp-text); text-align: right; } .vp-stat-bar-track { height: 10px; overflow: hidden; border-radius: 999px; background: #eef4ff; } .vp-stat-bar-fill { display: block; height: 100%; border-radius: inherit; background: var(--vp-primary); } .vp-stat-bar-fill-green { background: var(--vp-success); } .vp-stat-insight-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 16px; } .vp-stat-definition-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .vp-stat-definition-grid > div { min-height: 104px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; } .vp-stat-definition-grid p { margin: 10px 0 0; color: var(--vp-text-muted); font-size: 13px; line-height: 20px; } .vp-stat-closure-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .vp-stat-closure-item { min-height: 112px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 8px; align-content: start; } .vp-stat-closure-action { margin-top: 12px; min-height: 48px; padding: 10px 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #f5f9ff; display: flex; align-items: center; justify-content: space-between; gap: 12px; } .vp-bi-publish-board { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr) auto; gap: 16px; align-items: center; } .vp-bi-publish-main { display: grid; gap: 8px; align-content: start; } .vp-bi-publish-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .vp-bi-publish-grid div { min-height: 68px; padding: 10px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 6px; } .vp-bi-publish-grid span { color: var(--vp-text-muted); font-size: 12px; line-height: 18px; } .vp-bi-publish-grid strong { color: var(--vp-text); font-size: 15px; line-height: 22px; } .vp-stat-audit-board { display: grid; grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr); gap: 16px; } .vp-stat-audit-summary { min-height: 168px; padding: 12px; border: 1px solid rgba(22, 100, 255, 0.28); border-radius: var(--vp-radius); background: #f5f9ff; display: grid; gap: 10px; align-content: start; } .vp-stat-audit-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; } .vp-stat-audit-item { min-height: 184px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 9px; align-content: start; } .vp-stat-audit-item strong { color: var(--vp-text); font-size: 18px; line-height: 24px; } .vp-stat-audit-action { padding-top: 8px; border-top: 1px solid var(--vp-border); color: var(--vp-text-muted); font-size: 12px; line-height: 18px; } .vp-trajectory-anomaly-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .vp-trajectory-anomaly-item { min-height: 112px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 8px; align-content: start; } .vp-trajectory-anomaly-action { margin-top: 12px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #f5f9ff; display: flex; align-items: center; gap: 10px; } .vp-playback-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 16px; } .vp-playback-map { min-height: 430px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); overflow: hidden; background: var(--vp-surface); } .vp-playback-side { display: grid; gap: 12px; align-content: start; } .vp-playback-current { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fff; } .vp-playback-address { min-width: 0; display: grid; gap: 6px; padding: 10px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; } .vp-playback-timeline { margin-top: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .vp-playback-step { text-align: left; min-height: 112px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; color: inherit; cursor: pointer; transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease; } .vp-playback-step:hover, .vp-playback-step:focus-visible { border-color: rgba(22, 100, 255, 0.42); box-shadow: 0 0 0 3px rgba(22, 100, 255, 0.08); outline: none; } .vp-playback-step-active { border-color: rgba(22, 100, 255, 0.72); background: #eef5ff; box-shadow: inset 3px 0 0 #1664ff; } .vp-playback-range { width: 100%; accent-color: #1664ff; } .vp-json { margin: 0; padding: 16px; border-radius: 8px; background: #101828; color: #e4e7ec; overflow: auto; max-height: 360px; font-size: 12px; line-height: 1.65; } .vp-table-footer { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 12px; } .vp-table-toolbar { min-height: 42px; display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding-bottom: 12px; } .vp-vehicle-summary { min-height: 72px; display: flex; align-items: center; } .vp-evidence-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; } .vp-conclusion-grid { display: grid; grid-template-columns: 160px minmax(180px, 1fr) minmax(260px, 1.4fr); gap: 12px; } .vp-conclusion-item { min-height: 78px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; } .vp-evidence-item { min-height: 70px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; } .vp-evidence-label { color: var(--vp-text-muted); font-size: 12px; line-height: 18px; } .vp-evidence-value { margin-top: 6px; color: var(--vp-text); font-size: 15px; font-weight: 600; line-height: 22px; word-break: break-all; } .vp-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .vp-action-item { min-height: 92px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: flex; align-items: center; justify-content: space-between; gap: 16px; } .vp-action-item > div { min-width: 0; } .vp-map-ops-board { display: grid; grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr); gap: 12px; } .vp-map-ops-readiness, .vp-map-ops-work { display: grid; gap: 12px; } .vp-map-ops-readiness { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vp-map-ops-readiness-item, .vp-map-ops-work-item { min-height: 128px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 9px; align-content: start; } .vp-map-ops-value, .vp-map-ops-work-value { color: var(--vp-text); font-size: 22px; font-weight: 700; line-height: 28px; } .vp-map-ops-work { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vp-map-ops-work-item { width: 100%; color: inherit; text-align: left; cursor: pointer; transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease; } .vp-map-ops-work-item:hover, .vp-map-ops-work-item:focus-visible { border-color: rgba(22, 100, 255, 0.42); box-shadow: 0 0 0 3px rgba(22, 100, 255, 0.08); outline: none; } .vp-map-ops-work-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; } .vp-runbook-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; } .vp-runbook-step { min-height: 210px; padding: 14px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; grid-template-rows: auto 1fr; gap: 12px; } .vp-runbook-index { width: 28px; height: 28px; border-radius: 7px; background: rgba(0, 164, 184, 0.1); color: var(--vp-cyan); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; } .vp-runbook-body { min-width: 0; display: grid; gap: 10px; align-content: space-between; } .vp-runbook-body .semi-typography { line-height: 20px; } .vp-runbook-acceptance { padding: 9px 10px; border-radius: 6px; background: rgba(18, 183, 106, 0.08); color: var(--vp-text); font-size: 12px; line-height: 18px; } .vp-workbench-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; } .vp-workbench-item { min-height: 190px; padding: 14px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 10px; align-content: start; } .vp-workbench-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .vp-workbench-head .semi-typography { font-size: 12px; line-height: 18px; text-align: right; } .vp-workbench-value { color: var(--vp-text); font-size: 24px; font-weight: 700; line-height: 30px; } .vp-focus-service { display: grid; grid-template-columns: minmax(220px, 0.8fr) minmax(420px, 1.6fr) auto; gap: 16px; align-items: center; } .vp-focus-service-main { min-width: 0; } .vp-focus-service-main .semi-typography { line-height: 20px; } .vp-focus-service-evidence { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; } .vp-focus-service-evidence-item { min-height: 78px; padding: 11px 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 7px; align-content: start; } .vp-focus-service-evidence-item span { color: var(--vp-text-muted); font-size: 12px; line-height: 18px; } .vp-focus-service-evidence-item strong { color: var(--vp-text); font-size: 13px; line-height: 19px; font-weight: 600; word-break: break-word; } .vp-operation-flow { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; } .vp-service-model-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .vp-service-model-item { min-height: 132px; padding: 14px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 10px; align-content: start; } .vp-service-model-value { color: var(--vp-text); font-size: 26px; font-weight: 700; line-height: 32px; } .vp-scenario-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; } .vp-scenario-item { min-height: 220px; padding: 14px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 12px; align-content: space-between; } .vp-scenario-main { display: grid; gap: 8px; } .vp-scenario-main .semi-typography { line-height: 20px; } .vp-scenario-evidence { min-height: 42px; padding: 10px; border-radius: 6px; background: rgba(22, 100, 255, 0.06); color: var(--vp-text); font-size: 12px; line-height: 18px; } .vp-operation-step { min-height: 176px; padding: 14px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; grid-template-rows: auto 1fr; gap: 12px; } .vp-operation-index { width: 28px; height: 28px; border-radius: 7px; background: rgba(22, 100, 255, 0.1); color: var(--vp-primary); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; } .vp-operation-content { min-width: 0; display: grid; gap: 10px; align-content: space-between; } .vp-operation-content .semi-typography { line-height: 20px; } .vp-priority-alert { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 16px; } .vp-priority-alert-main { min-width: 0; } .vp-capability-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; } .vp-capability-item { min-height: 154px; padding: 14px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 12px; align-content: space-between; } .vp-capability-item .semi-typography { line-height: 20px; } .vp-capability-status { justify-self: start; } .vp-capability-item .semi-button { justify-self: start; } .vp-vehicle-map-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 16px; } .vp-source-fusion-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .vp-source-fusion-item { min-height: 250px; padding: 14px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; display: grid; gap: 12px; align-content: space-between; } .vp-source-fusion-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; } .vp-source-fusion-contribution { min-height: 52px; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 6px; } .vp-source-fusion-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .vp-source-fusion-fact { min-height: 64px; padding: 9px 10px; border: 1px solid var(--vp-border); border-radius: 6px; background: #fff; display: grid; gap: 5px; align-content: start; } .vp-source-fusion-fact span { color: var(--vp-text-muted); font-size: 12px; line-height: 18px; } .vp-source-fusion-fact strong { color: var(--vp-text); font-size: 13px; line-height: 19px; font-weight: 600; word-break: break-word; } .vp-vehicle-detail-map { height: 300px; } .vp-vehicle-map-side { display: flex; min-width: 0; flex-direction: column; gap: 10px; } .vp-vehicle-map-source { display: flex; min-height: 84px; flex-direction: column; gap: 6px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; } .vp-vehicle-map-source-main { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .vp-source-toolbar { margin-bottom: 12px; } .vp-realtime-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; } .vp-realtime-strip-item { min-height: 72px; padding: 12px; border: 1px solid var(--vp-border); border-radius: var(--vp-radius); background: #fbfcff; } .vp-realtime-strip-label { color: var(--vp-text-muted); font-size: 12px; line-height: 18px; } .vp-realtime-strip-value { margin-top: 6px; color: var(--vp-text); font-size: 15px; font-weight: 600; line-height: 22px; word-break: break-all; } .semi-navigation-item-text { font-size: 14px; } @media (max-width: 900px) { .vp-evidence-grid, .vp-action-grid, .vp-map-ops-board, .vp-map-ops-readiness, .vp-map-ops-work, .vp-current-service-board, .vp-current-service-grid, .vp-realtime-command-board, .vp-realtime-command-grid, .vp-source-coverage-grid, .vp-runbook-grid, .vp-workbench-grid, .vp-focus-service, .vp-focus-service-evidence, .vp-scenario-grid, .vp-operation-flow, .vp-service-model-grid, .vp-capability-grid, .vp-conclusion-grid, .vp-monitor-layout, .vp-alert-flow, .vp-alert-dispatch-grid, .vp-alert-command-board, .vp-alert-command-grid, .vp-sla-summary, .vp-risk-grid, .vp-ops-action-grid, .vp-alert-ops-grid, .vp-stat-workspace, .vp-stat-insight-grid, .vp-stat-definition-grid, .vp-stat-closure-board, .vp-bi-publish-board, .vp-bi-publish-grid, .vp-stat-audit-board, .vp-stat-audit-grid, .vp-trajectory-anomaly-grid, .vp-source-fusion-grid, .vp-source-fusion-facts, .vp-vehicle-map-layout, .vp-playback-layout, .vp-playback-timeline { grid-template-columns: 1fr; } .vp-stat-closure-action { align-items: flex-start; flex-direction: column; } }