:root{color:#1d252d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f3f5f7}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.shell{min-height:100vh;margin:0 auto;max-width:1480px;padding:24px}.toolbar{align-items:stretch;display:flex;gap:24px;justify-content:space-between;margin-bottom:18px}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.2}.titleBlock{min-width:280px}.titleBlock p,.panelTitle p,.diagnosticsHeader p,.recentJobsHeader p,.reportPreviewHeader p{color:#607080;font-size:13px;margin-top:4px}.eyebrow{color:#6f4c1b;display:block;font-size:12px;font-weight:700;letter-spacing:0;margin-bottom:6px;text-transform:uppercase}.commandPanel{align-items:end;display:grid;gap:10px;min-width:min(560px,48vw)}.searchBox{align-items:center;background:#fff;border:1px solid #d9e0e7;border-radius:8px;box-shadow:0 1px 2px #0f172a0a;display:flex;gap:10px;padding:8px 8px 8px 12px}.searchBox input{border:0;flex:1;min-width:0;outline:0}.searchBox button,.iconButton{align-items:center;background:#1d5fd1;border:0;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;min-height:38px;padding:0 14px}.searchBox button:hover,.iconButton:hover{filter:brightness(.96)}.searchBox button:disabled,.iconButton:disabled{cursor:not-allowed;opacity:.48}.iconButton{background:#edf2f7;color:#1d2b3a;justify-content:center;min-width:38px;padding:0}.runMeta{display:flex;gap:8px;justify-content:flex-end}.statusBand{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.metric{background:#fff;border:1px solid #d9e0e7;border-radius:8px;min-width:0;padding:14px}.metric span{color:#607080;display:block;font-size:13px;margin-bottom:8px}.metric strong{display:block;font-size:22px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric small{color:#607080;display:block;font-size:12px;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metricValue.ok{color:#1f7a45}.metricValue.warn{color:#8a5a00}.metricValue.danger{color:#b42318}.errorMessage{background:#fff1f1;border:1px solid #f4b8b8;border-radius:8px;color:#9b1c1c;margin-bottom:18px;padding:12px 14px}.operationsGrid{align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);margin-bottom:18px}.pipelinePanel{background:#fff;border:1px solid #d9e0e7;border-radius:8px;padding:16px}.pipelineHeader{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.pipelineHeader p{color:#607080;font-size:13px;margin-top:4px}.pipelineHeader strong{color:#1d5fd1;font-size:18px}.progressTrack{background:#e8edf2;border-radius:999px;height:8px;overflow:hidden}.progressTrack span{background:#1d5fd1;display:block;height:100%;transition:width .22s ease}.pipelineSteps{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:14px 0 0;padding:0}.pipelineSteps li{align-items:center;border:1px solid #d9e0e7;border-radius:8px;display:flex;gap:8px;min-height:44px;min-width:0;padding:8px}.pipelineSteps span{align-items:center;background:#eef3f8;border-radius:999px;color:#607080;display:inline-flex;flex:0 0 auto;font-size:12px;height:24px;justify-content:center;width:24px}.pipelineSteps strong{display:block;font-size:12px;line-height:1.2;overflow-wrap:anywhere}.pipelineSteps .done{background:#f1fbf5;border-color:#b9e3c8}.pipelineSteps .done span{background:#238548;color:#fff}.pipelineSteps .active{background:#eef5ff;border-color:#9bc2ff}.pipelineSteps .active span{background:#1d5fd1;color:#fff}.pipelineSteps .failed{background:#fff1f1;border-color:#f4b8b8}.pipelineSteps .failed span{background:#b42318;color:#fff}.diagnosticsPanel{background:#fff;border:1px solid #d9e0e7;border-radius:8px;padding:16px}.diagnosticsHeader{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.diagnosticsError,.missingColumns{color:#607080;font-size:13px;margin-top:4px}.diagnosticsError{color:#9b1c1c;margin-bottom:10px}.diagnosticsGrid{display:grid;gap:10px;grid-template-columns:1fr}.diagnosticsGrid div{display:flex;flex-wrap:wrap;gap:8px}.checkOk,.checkWarn,.checkFail,.statusBadge{border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:650;line-height:1;padding:5px 9px;white-space:nowrap}.checkOk,.statusBadge.ok{background:#f1fbf5;border-color:#c5ebd2;color:#238548}.checkWarn,.statusBadge.warn{background:#fff8e8;border-color:#f2daa2;color:#8a5a00}.checkFail,.statusBadge.danger{background:#fff1f1;border-color:#f4b8b8;color:#b42318}.statusBadge.neutral{background:#eef3f8;border-color:#d9e0e7;color:#415264}.missingColumns{line-height:1.4;overflow-wrap:anywhere}.recentJobsPanel{background:#fff;border:1px solid #d9e0e7;border-radius:8px;padding:16px}.recentJobsHeader,.reportPreviewHeader{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.recentJobsList{display:grid;gap:8px;grid-template-columns:1fr}.recentJobsList button{align-items:center;background:#fff;border:1px solid #d9e0e7;border-radius:8px;color:#17202a;cursor:pointer;display:flex;gap:10px;min-height:58px;min-width:0;padding:10px 12px;text-align:left}.recentJobsList button:hover,.recentJobsList .activeJob{background:#eef5ff;border-color:#9bc2ff}.recentJobsList button:disabled{cursor:wait;opacity:.75}.recentJobsList span{display:block;min-width:0}.recentJobsList strong,.recentJobsList small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recentJobsList strong{font-size:13px}.recentJobsList small{color:#607080;font-size:12px;margin-top:3px}.reportPreviewPanel{background:#fff;border:1px solid #d9e0e7;border-radius:8px;padding:16px}.reportSectionChips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.reportSectionChips span{background:#eef3f8;border-radius:999px;color:#415264;font-size:12px;padding:5px 9px}.reportPreviewBody{background:#fbfcfd;border:1px solid #e8edf2;border-radius:8px;max-height:460px;overflow:auto}.reportPreviewBody pre{color:#243241;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55;margin:0;padding:16px;white-space:pre-wrap;word-break:break-word}.reportPreviewEmpty{align-items:center;color:#607080;display:flex;gap:8px;justify-content:center;min-height:120px;padding:18px}.contentGrid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 390px}.mainColumn,.sideColumn{display:grid;gap:18px}.tablePanel,.detailPanel{background:#fff;border:1px solid #d9e0e7;border-radius:8px}.panelTitle{align-items:center;border-bottom:1px solid #e8edf2;display:flex;justify-content:space-between;min-height:64px;padding:0 16px}.panelActions{display:flex;gap:8px}h2{font-size:16px}.tableScroll{overflow-x:auto}table{border-collapse:collapse;min-width:860px;width:100%}th,td{border-bottom:1px solid #e8edf2;font-size:14px;padding:12px 14px;text-align:left;vertical-align:middle}th{color:#607080;font-size:12px;font-weight:600}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#eef5ff}.rankPill,.scorePill{align-items:center;background:#eef3f8;border-radius:999px;color:#1d2b3a;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;min-width:34px;padding:5px 8px}.scorePill{background:#eaf4ff;color:#1d5fd1}.paperTitleCell{min-width:300px}.paperTitleCell strong,.paperTitleCell small{display:block}.paperTitleCell strong{line-height:1.35}.paperTitleCell small{color:#607080;font-size:12px;margin-top:4px;max-width:460px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detailPanel{padding-bottom:18px}.detailHeader{align-items:center;display:flex;justify-content:space-between;padding:16px 18px 0}.detailPanel h3{font-size:18px;line-height:1.35;padding:12px 18px 8px}.scoreBreakdown{border-bottom:1px solid #e8edf2;margin:0 18px 4px;padding:8px 0 16px}.scoreSummary{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.scoreSummary span{color:#607080;font-size:12px}.scoreSummary strong{color:#1d5fd1;font-size:22px}.scoreBars{display:grid;gap:12px}.scoreItem{min-width:0}.scoreLabel{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.scoreLabel span,.scoreItem p{color:#607080;font-size:12px}.scoreLabel strong{font-size:12px}.scoreTrack{background:#e8edf2;border-radius:999px;height:6px;overflow:hidden}.scoreTrack span{background:#238548;display:block;height:100%}.scoreItem p{line-height:1.35;margin-top:5px;overflow-wrap:anywhere}dl{margin:0;padding:0 18px}dt{color:#607080;font-size:12px;margin-top:14px}dd{font-size:14px;line-height:1.45;margin:4px 0 0;overflow-wrap:anywhere}.emptyCell,.emptyState{color:#607080;padding:18px;text-align:center}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.toolbar,.operationsGrid,.contentGrid{display:block}.commandPanel{margin-top:16px;min-width:0}.searchBox{min-width:0;width:100%}.runMeta{justify-content:flex-start}.statusBand,.pipelineSteps{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnosticsGrid{grid-template-columns:1fr}.diagnosticsPanel,.sideColumn{margin-top:18px}}@media(max-width:560px){.shell{padding:16px}h1{font-size:24px}.searchBox{align-items:stretch;display:grid;grid-template-columns:auto minmax(0,1fr)}.searchBox button{grid-column:1 / -1;justify-content:center}.statusBand,.pipelineSteps{grid-template-columns:1fr}}
