:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #f4f6f7; color: #18201f; font-synthesis: none; } * { box-sizing: border-box; } body { margin: 0; min-width: 320px; background: #f4f6f7; } .topbar { min-height: 88px; padding: 18px 28px; border-bottom: 1px solid #d8dfdd; background: #ffffff; display: flex; align-items: center; justify-content: space-between; gap: 20px; } .eyebrow { color: #4f6862; font-size: 11px; font-weight: 700; letter-spacing: 0; } h1 { margin: 3px 0 0; font-size: 22px; line-height: 1.25; letter-spacing: 0; } .topbar-actions { display: flex; align-items: center; gap: 12px; } .sync-time { color: #64706d; font-size: 12px; } .icon-button { width: 36px; height: 36px; border: 1px solid #cbd5d2; border-radius: 6px; background: #ffffff; color: #273330; display: grid; place-items: center; cursor: pointer; } .icon-button:hover { background: #edf3f1; } .icon-button svg { width: 17px; height: 17px; } main { max-width: 1580px; margin: 0 auto; padding: 20px 28px 36px; } .run-strip { min-height: 72px; display: grid; grid-template-columns: minmax(280px, 0.8fr) minmax(320px, 2fr); align-items: center; gap: 28px; border-bottom: 1px solid #d8dfdd; } .run-identity { display: flex; align-items: center; gap: 10px; min-width: 0; } .run-identity strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 13px; } .status-pill { display: inline-flex; align-items: center; min-height: 25px; padding: 0 8px; border-radius: 4px; background: #dff4e8; color: #17643d; font-size: 11px; font-weight: 800; } .status-pill.failed { background: #fbe5e2; color: #a12e25; } .status-pill.complete { background: #e1eef8; color: #245d85; } .status-pill.testing, .status-pill.exporting { background: #fff0d8; color: #805411; } .progress-block { min-width: 0; } .progress-labels { margin-bottom: 7px; display: flex; justify-content: space-between; color: #4f5e5a; font-size: 12px; } .progress-track { height: 7px; overflow: hidden; border-radius: 3px; background: #dce4e2; } .progress-bar { width: 0; height: 100%; background: #16845b; transition: width 240ms ease; } .metric-grid { padding: 18px 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; } .metric { min-height: 78px; padding: 13px 14px; border: 1px solid #d5dddb; border-radius: 6px; background: #ffffff; } .metric span { display: block; color: #61706c; font-size: 10px; font-weight: 700; text-transform: uppercase; } .metric strong { display: block; margin-top: 8px; font-size: 19px; line-height: 1; letter-spacing: 0; } .chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #d8dfdd; border-left: 1px solid #d8dfdd; } .chart-panel { min-width: 0; padding: 15px 15px 8px; border-right: 1px solid #d8dfdd; border-bottom: 1px solid #d8dfdd; background: #ffffff; } .chart-heading, .section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; } .chart-heading h2, .section-heading h2 { margin: 0; font-size: 14px; letter-spacing: 0; } .chart-heading span, .section-heading span { color: #75807d; font-size: 11px; } .chart { width: 100%; height: 290px; } .diagnostics { padding-top: 22px; } .section-heading { margin-bottom: 12px; } .diagnostic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } figure { margin: 0; min-width: 0; border: 1px solid #d5dddb; border-radius: 6px; overflow: hidden; background: #ffffff; } figure.missing { display: none; } figure img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #ffffff; } figcaption { padding: 9px 11px; border-top: 1px solid #e3e8e6; color: #52615d; font-size: 11px; font-weight: 700; } @media (max-width: 1200px) { .metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } } @media (max-width: 980px) { .chart-grid { grid-template-columns: 1fr; } .diagnostic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 640px) { .topbar { padding: 15px 16px; align-items: flex-start; } .sync-time { display: none; } main { padding: 14px 16px 24px; } .run-strip { grid-template-columns: 1fr; gap: 12px; padding: 12px 0 16px; } .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .chart-panel { padding: 12px 8px 6px; } .chart { height: 260px; } .diagnostic-grid { grid-template-columns: 1fr; } }