:root {
  color-scheme: dark;
  --bg: #080b0d;
  --bg-raised: #0d1114;
  --panel: #11171a;
  --panel-2: #151c20;
  --panel-3: #1a2327;
  --border: #263135;
  --border-soft: #1d272b;
  --text: #eef4f1;
  --muted: #899792;
  --muted-2: #5f6e69;
  --accent: #c8f765;
  --accent-strong: #aeea37;
  --accent-ink: #18200b;
  --cyan: #65d9d1;
  --orange: #f2a65a;
  --red: #ff746c;
  --shadow: 0 30px 80px rgba(0, 0, 0, 0.32);
  --mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans: "Manrope", Inter, system-ui, sans-serif;
  --chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23899792' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background:
    radial-gradient(circle at 74% -10%, rgba(101, 217, 209, 0.08), transparent 32rem),
    var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}

button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
[hidden] { display: none !important; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 244px minmax(0, 1fr); }

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 244px;
  z-index: 30;
  display: flex;
  flex-direction: column;
  padding: 26px 18px 18px;
  border-right: 1px solid var(--border-soft);
  background: rgba(10, 14, 16, 0.96);
  backdrop-filter: blur(20px);
}

.brand { display: flex; align-items: center; gap: 11px; padding: 0 9px 30px; }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--accent-ink); background: var(--accent); box-shadow: 0 0 34px rgba(200,247,101,.13); }
.brand-mark svg { width: 23px; fill: currentColor; }
.brand-name { font-weight: 800; letter-spacing: -0.035em; font-size: 18px; }
.brand-caption { margin-top: 2px; color: var(--muted-2); font: 500 9px/1 var(--mono); letter-spacing: .18em; }

.main-nav { display: grid; gap: 5px; }
.main-nav.compact { gap: 3px; }
.nav-item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #9aa7a3;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: .18s ease;
}
.nav-item svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nav-item:hover { color: var(--text); background: #11181a; }
.nav-item.active { color: var(--accent); border-color: #253229; background: linear-gradient(90deg, rgba(200,247,101,.1), rgba(200,247,101,.025)); }
.nav-count { margin-left: auto; min-width: 22px; padding: 2px 6px; border-radius: 999px; background: #202a2e; color: var(--muted); font: 500 10px var(--mono); text-align: center; }
.sidebar-section-label { margin: 28px 12px 10px; color: #4e5a57; font: 500 9px var(--mono); letter-spacing: .16em; text-transform: uppercase; }

.sidebar-footer { margin-top: auto; display: grid; gap: 14px; }
.security-stamp { display: flex; gap: 10px; align-items: center; padding: 13px; border: 1px solid var(--border-soft); border-radius: 10px; background: #0e1416; }
.security-stamp svg { width: 21px; flex: 0 0 auto; fill: none; stroke: var(--cyan); stroke-width: 1.7; stroke-linejoin: round; }
.security-stamp strong, .security-stamp span { display: block; }
.security-stamp strong { font-size: 11px; font-weight: 700; }
.security-stamp span { margin-top: 2px; color: var(--muted-2); font-size: 9px; }
.version-row { display: flex; justify-content: space-between; padding: 0 5px; color: #45504d; font: 9px var(--mono); }

.main-content { grid-column: 2; min-width: 0; }
.topbar { height: 70px; position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; padding: 0 34px; border-bottom: 1px solid rgba(38,49,53,.72); background: rgba(8,11,13,.85); backdrop-filter: blur(18px); }
.breadcrumbs { display: flex; align-items: center; gap: 10px; color: var(--muted-2); font-size: 12px; }
.breadcrumbs b { color: #303a37; }
.breadcrumbs strong { color: #bbc4c1; font-weight: 600; }
.topbar-actions { display: flex; align-items: center; gap: 13px; }
.connection-pill { display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid var(--border-soft); border-radius: 999px; color: var(--muted); background: #0d1214; font-size: 10px; font-weight: 600; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #596561; box-shadow: 0 0 0 3px rgba(89,101,97,.1); }
.connection-pill.connected .status-dot { background: var(--accent); box-shadow: 0 0 0 3px rgba(200,247,101,.12); }
.connection-pill.connected { color: #cfd8d4; }
.avatar-button { width: 34px; height: 34px; border: 1px solid #34413d; border-radius: 50%; background: #1b2528; color: #c6cfcc; font-size: 10px; font-weight: 800; cursor: pointer; transition: border-color .15s ease; }
.avatar-button:hover, .avatar-button[aria-expanded="true"] { border-color: var(--accent); color: var(--text); }
.mobile-menu { display: none; }

.account-menu { position: relative; }
.account-panel { position: absolute; top: calc(100% + 10px); right: 0; z-index: 40; width: 248px; padding: 8px; border: 1px solid #32403b; border-radius: 14px; background: linear-gradient(150deg,#151d20,#0e1315); box-shadow: var(--shadow); animation: account-panel-in .14s ease-out; }
@keyframes account-panel-in { from { opacity: 0; transform: translateY(-4px); } }
.account-panel-identity { display: flex; align-items: center; gap: 11px; padding: 10px 9px 12px; }
.account-avatar-lg { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: var(--accent-ink); font-size: 11px; font-weight: 800; }
.account-panel-identity strong, .account-panel-identity span { display: block; }
.account-panel-identity strong { font-size: 12px; letter-spacing: -.02em; }
.account-panel-identity span { margin-top: 2px; color: var(--muted-2); font-size: 9px; }
.account-panel-role { display: flex; align-items: center; gap: 7px; margin: 0 9px 10px; color: var(--muted); font: 500 9px var(--mono); letter-spacing: .06em; }
.account-panel-role span:first-child { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px rgba(200,247,101,.12); }
.account-panel-divider { height: 1px; margin: 4px 5px; background: var(--border-soft); }
.account-panel-item { width: 100%; display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 0 9px; border: 0; border-radius: 8px; background: transparent; color: #cbd4d1; font-size: 12px; font-weight: 600; text-align: left; cursor: pointer; transition: .15s ease; }
.account-panel-item svg { width: 16px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.account-panel-item:hover { background: #131a1c; color: var(--text); }
.account-panel-item.danger { color: #e08c85; }
.account-panel-item.danger:hover { background: rgba(239,119,105,.08); color: #ff9089; }

.content-wrap { width: min(1380px, 100%); margin: 0 auto; padding: 50px 44px 32px; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: var(--accent); font: 500 10px var(--mono); letter-spacing: .15em; }
.eyebrow span { width: 18px; height: 1px; background: currentColor; }

.stepper { display: flex; align-items: center; padding: 18px 20px; margin-bottom: 18px; border: 1px solid var(--border-soft); border-radius: 12px; background: rgba(13,18,20,.68); }
.step { display: flex; align-items: center; gap: 10px; min-width: max-content; opacity: .42; }
.step > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #3a4542; border-radius: 50%; font: 500 10px var(--mono); }
.step strong, .step small { display: block; }
.step strong { font-size: 11px; }
.step small { margin-top: 2px; color: var(--muted-2); font-size: 8px; }
.stepper:not(.execution-stepper) .step > div { text-align: center; }
.step.active, .step.complete { opacity: 1; }
.step.active > span { color: var(--accent-ink); border-color: var(--accent); background: var(--accent); }
.step.complete > span { color: var(--accent); border-color: rgba(200,247,101,.45); background: rgba(200,247,101,.07); }
.step-line { flex: 1; height: 1px; min-width: 25px; margin: 0 17px; background: #26302d; }

.panel { border: 1px solid var(--border-soft); border-radius: 13px; background: linear-gradient(145deg, rgba(19,26,29,.94), rgba(13,18,20,.94)); box-shadow: inset 0 1px rgba(255,255,255,.018); }
.connection-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 18px 22px; }
.connection-card { position: relative; min-height: auto; display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; padding: 16px 20px; overflow: hidden; border: 1px solid #25302d; border-radius: 11px; background: rgba(15,21,23,.55); }
.connection-card::after { content: ""; position: absolute; width: 140px; height: 140px; top: -85px; right: -50px; border-radius: 50%; background: rgba(200,247,101,.035); filter: blur(2px); }
.connection-card-clickable { cursor: pointer; transition: transform .15s ease, border-color .15s, background .15s; }
.connection-card-clickable:hover { transform: translateY(-1px); border-color: #52615c; background: rgba(20,28,30,.7); }
.connection-card-clickable:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.panel-icon, .modal-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; }
.panel-icon svg, .modal-mark svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; }
.github-icon { color: #e6ece9; background: #222b2e; }
.model-icon { color: var(--cyan); background: rgba(101,217,209,.09); }
.profile-icon { color: var(--accent); background: rgba(200,247,101,.09); }
.card-kicker { color: var(--muted-2); font: 500 8px var(--mono); letter-spacing: .14em; }
.connection-copy h2 { margin: 0; font-size: 13px; letter-spacing: -.025em; }
.connection-copy p { max-width: 345px; margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 38px; padding: 0 15px; border: 1px solid transparent; border-radius: 8px; text-decoration: none; font-weight: 700; font-size: 10px; cursor: pointer; transition: transform .15s ease, border-color .15s, background .15s; }
.button:hover { transform: translateY(-1px); }
.button:disabled { opacity: .42; cursor: not-allowed; transform: none; }
.button.primary { color: var(--accent-ink); background: var(--accent); }
.button.primary:hover { background: var(--accent-strong); }
.button.secondary { border-color: #3a4844; color: #d4dcda; background: #1a2326; }
.button.secondary:hover { border-color: #52615c; background: #202a2d; }
.button.ghost { min-height: 31px; color: var(--muted); background: transparent; }
.button.ghost:hover { color: var(--text); }
.button.full { width: 100%; min-height: 44px; }
.card-status { display: flex; align-items: center; gap: 7px; margin-top: 4px; color: var(--muted-2); font-size: 9px; }
.card-status > span { width: 5px; height: 5px; border-radius: 50%; background: #505d59; }
.connection-card.connected { border-color: rgba(200,247,101,.22); }
.connection-card.connected .card-status { color: #aebbb6; }
.connection-card.connected .card-status > span { background: var(--accent); box-shadow: 0 0 9px rgba(200,247,101,.6); }

.workspace-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid var(--border-soft); }
.panel-header > div:first-child, .rules-heading > div:first-child { display: flex; align-items: center; gap: 12px; }
.section-number { color: var(--accent); font: 500 9px var(--mono); }
.panel-header h2 { margin: 0; font-size: 14px; letter-spacing: -.02em; }
.panel-header p { margin: 4px 0 0; color: var(--muted-2); font-size: 9px; }
.repo-search-wrap { height: 36px; display: flex; align-items: center; gap: 8px; padding-left: 10px; border: 1px solid #2b3734; border-radius: 8px; background: #0c1113; }
.repo-search-wrap svg { width: 14px; fill: none; stroke: var(--muted-2); stroke-width: 2; }
.repo-search-wrap input { width: 240px; border: 0; outline: 0; color: #dce4e1; background: transparent; font: 10px var(--mono); }
.repo-search-wrap button { align-self: stretch; width: 32px; border: 0; border-left: 1px solid #2b3734; color: var(--accent); background: #12191b; cursor: pointer; }
.repo-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px; }
.repo-row { min-width: 0; min-height: 64px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 9px; align-items: center; padding: 9px 11px; border: 1px solid #25302d; border-radius: 9px; background: #0f1517; text-align: left; cursor: pointer; transition: transform .16s ease, border-color .16s ease, background .16s ease; }
.repo-row:hover { transform: translateY(-1px); border-color: #3a4843; background: #151d20; }
.repo-row.selected { border-color: #41533f; background: linear-gradient(145deg, rgba(200,247,101,.075), rgba(101,217,209,.025)); }
.repo-row > span:nth-child(2) { min-width: 0; }
.repo-radio { width: 15px; height: 15px; display: grid; place-items: center; border: 1px solid #45534f; border-radius: 4px; }
.repo-row.selected .repo-radio { border-color: var(--accent); }
.repo-row.selected .repo-radio::after { content: "✓"; color: #0b0f0e; font: 700 10px/1 var(--mono); }
.repo-row.selected .repo-radio { background: var(--accent); }
.repo-title { display: flex; align-items: flex-start; gap: 7px; min-width: 0; overflow-wrap: anywhere; font-weight: 700; font-size: 11px; line-height: 1.35; }
.repo-title .lock { color: var(--orange); font-size: 9px; }
.repo-meta { display: flex; flex-wrap: wrap; gap: 4px 9px; margin-top: 5px; color: var(--muted-2); font: 8px var(--mono); }
.repo-language { display: flex; align-items: center; gap: 5px; }
.repo-language i { width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); }
.empty-state { min-height: 300px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; color: var(--muted-2); }
.empty-state.small { min-height: 325px; }
.empty-state strong { margin-top: 11px; color: #9aa6a2; font-size: 11px; }
.empty-state span { margin-top: 4px; font-size: 9px; }
.empty-orbit { width: 42px; height: 42px; display: grid; place-items: center; border: 1px dashed #34413d; border-radius: 50%; color: var(--accent); font-size: 17px; }

.text-button { border: 0; background: transparent; color: var(--muted); font-size: 9px; cursor: pointer; }
.text-button:hover { color: var(--accent); }
.rules-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; background: var(--border-soft); }
.repo-summary-button { width: 100%; min-height: 38px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 7px 10px; text-align: left; outline: none; border: 1px solid #2b3734; border-radius: 7px; color: #d8e0dd; background: #0b1012; font: 9px var(--mono); cursor: pointer; }
.repo-summary-button:hover:not(:disabled) { border-color: #46564f; }
.repo-summary-button:focus:not(:disabled) { border-color: #607b5b; box-shadow: 0 0 0 3px rgba(200,247,101,.055); }
.repo-summary-button:disabled { color: var(--muted-2); cursor: default; }
.repo-summary-empty { color: var(--muted-2); }
.repo-pill { display: inline-flex; align-items: center; max-width: 100%; height: 22px; padding: 0 9px; border: 1px solid rgba(200,247,101,.32); border-radius: 999px; color: #d8e0dd; background: rgba(200,247,101,.06); font: 9px var(--mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.toggle-row { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 12px; background: #111719; cursor: pointer; }
.toggle-row > span { min-width: 0; }
.toggle-row strong, .toggle-row small { display: block; }
.toggle-row strong { font-size: 10px; }
.toggle-row small { margin-top: 4px; color: var(--muted-2); font-size: 8px; }
.toggle-row input { position: absolute; opacity: 0; }
.toggle-row i { width: 31px; height: 17px; position: relative; flex: 0 0 auto; border: 1px solid #3a4642; border-radius: 999px; background: #1b2426; transition: .18s; }
.toggle-row i::after { content: ""; width: 11px; height: 11px; position: absolute; left: 2px; top: 2px; border-radius: 50%; background: #6b7773; transition: .18s; }
.toggle-row input:checked + i { border-color: rgba(200,247,101,.6); background: rgba(200,247,101,.16); }
.toggle-row input:checked + i::after { left: 16px; background: var(--accent); }
#modelActiveField { min-height: 0; margin: 0 0 12px; padding: 11px 12px; border: 1px solid #2b3734; border-radius: 8px; }
.parameter-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 18px; }
.candidate-advanced { border-top: 1px solid var(--border-soft); }
.candidate-advanced-parameters { border-top: 1px solid var(--border-soft); background: rgba(9,14,16,.3); }
.parameter-grid label > span, .parameter-label { display: block; margin: 0 0 7px 2px; color: var(--muted-2); font-size: 8px; }
.parameter-grid input, .modal-field input, .modal-field select { width: 100%; height: 36px; padding: 0 10px; outline: none; border: 1px solid #2b3734; border-radius: 7px; color: #d8e0dd; background: #0b1012; font: 10px var(--mono); }
.parameter-grid label.wide { grid-column: span 2; }
.parameter-grid input:focus, .modal-field input:focus, .modal-field select:focus { border-color: #607b5b; box-shadow: 0 0 0 3px rgba(200,247,101,.055); }
.input-suffix { display: flex; align-items: center; border: 1px solid #2b3734; border-radius: 7px; overflow: hidden; background: #0b1012; }
.input-suffix input { border: 0; border-radius: 0; }
.input-suffix b { padding-right: 9px; color: var(--muted-2); font: 7px var(--mono); }
.scan-footer { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; border-top: 1px solid var(--border-soft); }
.scan-estimate { display: flex; align-items: center; gap: 10px; }
.pulse-dot { width: 8px; height: 8px; border: 2px solid #56635f; border-radius: 50%; }
.scan-estimate strong { font-size: 9px; }
.scan-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; margin-left: auto; }
.scan-preview { min-width: 0; display: flex; align-items: flex-start; gap: 10px; }
.scan-preview > div { min-width: 0; }
.scan-preview strong, .scan-preview small { display: block; }
.scan-preview strong { color: #dbe5e1; font-size: 9px; }
.scan-preview small { margin-top: 4px; overflow: hidden; color: var(--muted-2); font: 7px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.scan-preview .pulse-dot { margin-top: 2px; }
.scan-preview-failures { margin-top: 7px; }
.scan-preview-failures summary { width: fit-content; cursor: pointer; color: var(--cyan); font: 700 7px var(--mono); list-style-position: inside; }
.scan-preview-failures > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.scan-preview-failures > div span { padding: 4px 6px; border: 1px solid rgba(223,145,139,.2); border-radius: 5px; color: #dbc3c0; background: rgba(223,145,139,.055); font: 7px var(--mono); }
.scan-preview-failures > small { margin-top: 6px; }
.scan-preview:not([hidden]) .pulse-dot { border-color: var(--cyan); box-shadow: 0 0 0 4px rgba(101,217,209,.05); }
.scan-button { min-width: 174px; color: var(--accent-ink); background: var(--accent); }
.scan-button svg { width: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.scan-button.loading svg { animation: spin 1s linear infinite; }
.scan-progress { display: grid; grid-template-columns: minmax(190px,auto) minmax(160px,1fr) 38px; gap: 14px; align-items: center; padding: 12px 18px; border-top: 1px solid var(--border-soft); background: rgba(101,217,209,.035); }
.scan-progress[hidden] { display: none; }
.scan-progress-copy strong, .scan-progress-copy span { display: block; }
.scan-progress-copy strong { font-size: 9px; }
.scan-progress-copy span { margin-top: 3px; color: var(--muted-2); font: 8px var(--mono); }
.scan-progress-meter { height: 6px; overflow: hidden; border-radius: 99px; background: #25302e; }
.scan-progress-meter i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--cyan),var(--accent)); transition: width .35s ease; }
.scan-progress > b { color: var(--cyan); font: 500 9px var(--mono); text-align: right; }
.scan-progress.complete .scan-progress-copy strong, .scan-progress.complete > b { color: var(--accent); }
.scan-progress.failed .scan-progress-copy strong, .scan-progress.failed > b { color: var(--red); }
@keyframes spin { to { transform: rotate(360deg); } }

.results-section, .artifact-section, .remediation-section { margin-top: 56px; scroll-margin-top: 90px; }
.artifact-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.artifact-heading h2 { margin: 9px 0 5px; font-size: 24px; letter-spacing: -.04em; }
.artifact-heading p { margin: 0; color: var(--muted); font-size: 10px; }
.results-controls { display: grid; padding: 18px 22px 4px; }
.model-review-error { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px; margin: 10px 22px 18px; padding: 11px 13px; border: 1px solid rgba(239,119,105,.25); border-radius: 9px; color: #e7aaa2; background: rgba(239,119,105,.055); }
.model-review-error[hidden] { display: none; }
.model-review-error::before { content: "!"; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 6px; color: var(--red); background: rgba(239,119,105,.11); font: 700 10px var(--mono); }
.model-review-error strong, .model-review-error span { display: block; }
.model-review-error strong { color: #f0beb8; font-size: 9px; }
.model-review-error span { margin-top: 3px; color: #bd8d87; font: 8px/1.5 var(--mono); }
.screening-flow { width: 100%; }
.screening-flow-svg { display: block; width: 100%; height: auto; overflow: visible; }
.screening-ribbon { transition: opacity .2s; }
.screening-ribbon.main { fill: url(#screeningMain); }
.screening-ribbon.good { fill: url(#screeningGood); }
.screening-ribbon.bad { fill: url(#screeningBad); }
.screening-ribbon.muted { fill: url(#screeningMuted); }
.screening-svg-node, .screening-svg-badge { cursor: pointer; outline: none; }
.screening-svg-node rect { fill: #11191b; stroke: #33413e; transition: fill .16s,stroke .16s,filter .16s; }
.screening-svg-node:hover rect, .screening-svg-node.active rect, .screening-svg-node:focus rect { fill: #182120; stroke: rgba(200,247,101,.55); filter: drop-shadow(0 4px 12px rgba(0,0,0,.28)); }
.screening-svg-node.eligible rect { fill: rgba(200,247,101,.055); stroke: rgba(200,247,101,.34); }
.screening-svg-node.rejected rect { fill: rgba(223,145,139,.04); stroke: rgba(223,145,139,.27); }
.screening-svg-node.muted rect { fill: rgba(82,97,93,.045); stroke: rgba(82,97,93,.35); }
.screening-svg-node text { pointer-events: none; font-family: var(--mono); }
.screening-svg-node .node-label { fill: #7e8d88; font-size: 8px; letter-spacing: .6px; }
.screening-svg-node .node-value { fill: #dbe5e1; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.screening-svg-node.eligible .node-value { fill: var(--accent); }
.screening-svg-node.rejected .node-value { fill: #df918b; }
.screening-backfill { fill: none; stroke: rgba(140,201,255,.46); stroke-width: 1.5; }
@media (prefers-reduced-motion: reduce) { .screening-flow-animation { display: none; } }
.screening-svg-badge rect { fill: #0e1517; stroke: #31403c; transition: fill .16s,stroke .16s; }
.screening-svg-badge:hover rect, .screening-svg-badge.active rect, .screening-svg-badge:focus rect { fill: #182120; stroke: rgba(200,247,101,.48); }
.screening-svg-badge text { pointer-events: none; fill: #84928e; font: 7px var(--mono); }
.screening-svg-badge .badge-value { fill: #cad5d1; font-weight: 600; }
.screening-svg-badge.fast circle { fill: var(--cyan); }
.screening-svg-badge.ai circle { fill: #8cc9ff; }
.screening-svg-badge.ai path { fill: none; stroke: rgba(140,201,255,.28); }
.workbench-heading-actions { display: flex; align-items: center; gap: 8px; }
.button.compact { min-height: 32px; padding: 0 11px; font-size: 8px; }
.workbench-badge { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid rgba(101,217,209,.22); border-radius: 8px; color: var(--cyan); background: rgba(101,217,209,.05); font: 8px var(--mono); }
.workbench-badge i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.benchmark-builder { display: grid; grid-template-columns: minmax(170px, 1fr) auto minmax(150px, .48fr) minmax(190px, .62fr) minmax(180px, .55fr) auto; gap: 14px; align-items: end; padding: 18px 22px; border-top: 1px solid var(--border-soft); }
.benchmark-builder > div strong, .benchmark-builder > div small { display: block; }
.benchmark-builder > div strong { font-size: 11px; }
.benchmark-builder > div strong span { color: var(--accent); }
.benchmark-builder > div small { margin-top: 4px; color: var(--muted-2); font-size: 8px; }
.benchmark-builder label span { display: block; margin-bottom: 6px; color: var(--muted-2); font-size: 8px; }
.benchmark-builder input, .benchmark-builder select { width: 100%; height: 36px; padding: 0 10px; outline: none; border: 1px solid #2b3734; border-radius: 7px; color: #d8e0dd; background: #0b1012; font: 10px var(--mono); }
.benchmark-builder input:focus, .benchmark-builder select:focus { border-color: #607b5b; box-shadow: 0 0 0 3px rgba(200,247,101,.055); }
.benchmark-packaging-environment > span { display: block; margin-bottom: 6px; color: var(--muted-2); font-size: 8px; }
.benchmark-packaging-environment .execution-location-options { gap: 5px; }
.benchmark-packaging-environment .execution-location-option { min-height: 36px; padding: 0 9px; border-radius: 7px; }
.discovery-panel { overflow: hidden; border-top: 1px solid var(--border-soft); border-radius: 0 0 13px 13px; }
.screening-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 16px; border-bottom: 1px solid var(--border-soft); }
.screening-list-heading > div strong, .screening-list-heading > div span { display: block; }
.screening-list-heading > div strong { font-size: 11px; }
.screening-list-heading > div span { margin-top: 4px; color: var(--muted-2); font-size: 8px; }
.screening-list-heading > b { color: var(--cyan); font: 500 9px var(--mono); }
.discovery-include { padding: 5px 8px; border: 1px solid #2c3835; border-radius: 6px; color: var(--muted); background: #12191b; font: 8px var(--mono); cursor: pointer; }
.discovery-list { display: grid; gap: 8px; padding: 10px; }
.discovery-row { display: grid; grid-template-columns: 52px minmax(210px,1fr) minmax(250px,1.2fr) auto; gap: 12px; align-items: center; min-height: 58px; padding: 9px 12px; border: 1px solid rgba(45,56,53,.55); border-radius: 8px; background: #0e1416; }
.discovery-row:hover { background: rgba(255,255,255,.018); }
.discovery-number { color: var(--muted-2); font: 8px var(--mono); }
.discovery-title strong, .discovery-title small, .discovery-outcome b, .discovery-outcome small { display: block; }
.discovery-title strong { overflow: hidden; color: #cbd4d1; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.discovery-title strong a { color: inherit; text-decoration: none; }
.discovery-title strong a:hover { color: var(--accent); }
.discovery-title small, .discovery-outcome small { margin-top: 3px; color: var(--muted-2); font-size: 8px; line-height: 1.35; }
.discovery-outcome b { color: #b7c1bd; font-size: 8px; }
.discovery-row.eligible .discovery-outcome b { color: var(--accent); }
.discovery-row.rejected .discovery-outcome b, .discovery-row.prefiltered_out .discovery-outcome b, .discovery-row.inspection_failed .discovery-outcome b { color: #df918b; }
.discovery-row.not_inspected .discovery-outcome b { color: var(--orange); }
.discovery-include.included { color: var(--accent); border-color: rgba(200,247,101,.4); background: rgba(200,247,101,.07); }
.discovery-empty { padding: 28px; color: var(--muted-2); font-size: 9px; text-align: center; }
.candidate-card { display: grid; grid-template-columns: 56px minmax(250px,1fr) auto; gap: 18px; align-items: center; padding: 16px 18px; border: 1px solid var(--border-soft); border-radius: 10px; background: linear-gradient(100deg, #11181a, #0e1315); }
.candidate-card.eligible { border-color: rgba(200,247,101,.19); }
.candidate-card.in-workbench { border-color: rgba(101,217,209,.35); background: linear-gradient(100deg,rgba(101,217,209,.055),#0e1517 62%); box-shadow: inset 3px 0 var(--cyan); }
.score-ring { width: 48px; height: 48px; display: grid; place-items: center; border: 3px solid #283431; border-top-color: var(--accent); border-radius: 50%; color: var(--text); font: 500 11px var(--mono); }
.candidate-main h3 { margin: 0; font-size: 12px; line-height: 1.35; letter-spacing: -.015em; }
.candidate-main h3 a { color: inherit; text-decoration: none; }
.candidate-main h3 a:hover { color: var(--accent); }
.candidate-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 7px; color: var(--muted-2); font: 8px var(--mono); }
.ai-review { margin-top: 9px; padding-left: 9px; border-left: 2px solid rgba(140,201,255,.45); }
.ai-review span { color: #8cc9ff; font: 500 8px var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.ai-review p { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.candidate-assessment { margin-top: 10px; padding: 9px 10px; border: 1px solid rgba(255,116,108,.16); border-radius: 8px; background: rgba(255,116,108,.035); }
.candidate-assessment-head { display: flex; align-items: baseline; gap: 8px; }
.candidate-assessment-head b { color: var(--red); font: 600 8px var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.candidate-assessment-head span { color: #a9817e; font-size: 8px; }
.candidate-failures { display: grid; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.candidate-failures li { display: grid; grid-template-columns: 16px minmax(0,1fr); gap: 7px; align-items: start; }
.candidate-failures li > i { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; background: rgba(255,116,108,.13); color: #ef9b95; font: 700 8px var(--mono); font-style: normal; }
.candidate-failures li > span, .candidate-failures strong, .candidate-failures small { display: block; }
.candidate-failures strong { color: #dbb0ad; font-size: 8px; font-weight: 600; }
.candidate-failures small { margin-top: 2px; color: #7f8d88; font: 7px/1.45 var(--mono); }
.candidate-workbench-editor { display: grid; grid-template-columns: minmax(220px,1fr) 160px 110px; gap: 9px; align-items: end; margin-top: 12px; padding: 11px; border: 1px solid rgba(101,217,209,.16); border-radius: 9px; background: rgba(5,10,11,.34); }
.candidate-workbench-state { grid-column: 1 / -1; display: flex; align-items: center; gap: 7px; color: var(--cyan); font: 7px var(--mono); text-transform: uppercase; letter-spacing: .05em; }
.candidate-workbench-state i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(101,217,209,.07); }
.candidate-workbench-state small { margin-left: auto; color: var(--muted-2); font-size: 7px; text-transform: none; letter-spacing: 0; }
.candidate-workbench-editor label span { display: block; margin: 0 0 5px 2px; color: var(--muted-2); font-size: 7px; }
.candidate-workbench-editor input, .candidate-workbench-editor select { width: 100%; height: 32px; padding: 0 9px; outline: none; border: 1px solid #2b3734; border-radius: 7px; color: #d4ded9; background: #0a1012; font: 8px var(--mono); }
.candidate-workbench-editor input:focus, .candidate-workbench-editor select:focus { border-color: #607b5b; box-shadow: 0 0 0 3px rgba(200,247,101,.05); }
.candidate-gates { display: flex; gap: 5px; flex-wrap: wrap; }
.gate-chip { display: inline-flex; align-items: center; gap: 5px; padding: 5px 7px; border-radius: 6px; background: #182124; color: var(--muted); font-size: 8px; }
.gate-chip::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #596561; }
.gate-chip.pass { color: #b9c5c0; background: rgba(200,247,101,.055); }
.gate-chip.pass::before { background: var(--accent); }
.gate-chip.fail { color: #d5aaa7; background: rgba(255,116,108,.06); }
.gate-chip.fail::before { background: var(--red); }
.candidate-action { display: grid; justify-items: end; gap: 7px; }
.candidate-action .discovery-include { min-width: 126px; padding: 8px 12px; }
.candidate-selector { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font: 8px var(--mono); cursor: pointer; }
.candidate-selector input { position: absolute; opacity: 0; pointer-events: none; }
.candidate-selector i { width: 13px; height: 13px; display: grid; place-items: center; border: 1px solid #45534f; border-radius: 4px; background: #101619; }
.candidate-selector input:checked + i { border-color: var(--accent); background: rgba(200,247,101,.14); }
.candidate-selector input:checked + i::after { content: "✓"; color: var(--accent); font-size: 9px; }
.candidate-selector.rejected { opacity: .35; cursor: default; }
.status-label { font: 500 8px var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.status-label.eligible { color: var(--accent); }
.status-label.rejected { color: var(--red); }
.assign-button { min-width: 122px; }
.remediate-button { min-width: 112px; border-color: rgba(242,166,90,.3) !important; color: #e1b47f !important; background: rgba(242,166,90,.055) !important; }
.remediate-button:hover { border-color: rgba(242,166,90,.55) !important; background: rgba(242,166,90,.09) !important; }
.discovery-remediate { padding: 5px 8px; border: 1px solid rgba(242,166,90,.3); border-radius: 6px; color: #d9aa75; background: rgba(242,166,90,.055); font: 8px var(--mono); cursor: pointer; }
.discovery-remediate:hover { border-color: rgba(242,166,90,.55); }
.discovery-remediate.saved { color: var(--cyan); border-color: rgba(101,217,209,.3); background: rgba(101,217,209,.05); }
.remediation-list { display: grid; gap: 9px; }
.remediation-card { display: grid; grid-template-columns: 128px minmax(240px,1fr) minmax(260px,1fr) auto; gap: 16px; align-items: center; padding: 14px 16px; border: 1px solid rgba(242,166,90,.18); border-radius: 11px; background: linear-gradient(100deg, rgba(242,166,90,.035), #0e1315 45%); }
.remediation-state { display: inline-flex; align-items: center; gap: 6px; color: var(--orange); font: 8px var(--mono); text-transform: uppercase; letter-spacing: .05em; }
.remediation-state i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.remediation-state.queued { color: var(--cyan); }
.remediation-card strong, .remediation-card small { display: block; }
.remediation-card strong { font-size: 10px; }
.remediation-card small { margin-top: 4px; color: var(--muted-2); font-size: 8px; }
.remediation-card-reason { color: var(--muted); font-size: 8px; line-height: 1.45; }
.remediation-card-reason b { color: #d9aaa6; font-weight: 500; }

.artifact-actions { display: flex; align-items: center; gap: 10px; }
.verification-badge { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid rgba(242,166,90,.22); border-radius: 8px; color: #d8b185; background: rgba(242,166,90,.06); font: 8px var(--mono); }
.verification-badge i { width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.artifact-browser { min-height: 570px; display: grid; grid-template-columns: 280px minmax(0,1fr); overflow: hidden; }
.file-tree { padding: 12px; border-right: 1px solid var(--border-soft); background: #0d1214; overflow: auto; }
.file-tree-root { display: grid; grid-template-columns: 15px minmax(0,1fr) auto; align-items: center; gap: 7px; min-width: max-content; padding: 6px 8px 10px; color: var(--text); font: 9px var(--mono); }
.file-tree-root i { width: 11px; height: 8px; border: 1px solid #60716a; border-radius: 2px; background: #18201e; position: relative; }
.file-tree-root i::before { content: ""; position: absolute; left: 1px; top: -4px; width: 5px; height: 3px; border: 1px solid #60716a; border-bottom: 0; border-radius: 2px 2px 0 0; }
.file-tree-root strong { overflow: hidden; text-overflow: ellipsis; }
.file-tree-root small, .file-folder summary small { color: var(--muted-2); font: 7px var(--mono); }
.file-folder { min-width: max-content; }
.file-folder > summary { display: grid; grid-template-columns: 12px minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 7px 8px; border-radius: 6px; color: #aab6b1; font: 9px var(--mono); list-style: none; cursor: pointer; user-select: none; }
.file-folder > summary::-webkit-details-marker { display: none; }
.file-folder > summary:hover { color: var(--text); background: #151d1f; }
.file-folder > summary i::before { content: "▸"; color: #65736e; font-style: normal; }
.file-folder[open] > summary i::before { content: "▾"; color: var(--accent); }
.file-folder > summary span::before { content: "▰"; margin-right: 7px; color: #65736e; font-size: 7px; }
.file-folder[open] > summary span::before { color: #849b75; }
.file-folder-children { margin-left: 13px; padding-left: 7px; border-left: 1px solid #202a28; }
.file-item { width: 100%; display: flex; align-items: center; gap: 8px; padding: 8px 9px; border: 0; border-radius: 6px; color: var(--muted); background: transparent; font: 9px var(--mono); text-align: left; cursor: pointer; }
.file-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-item.root-file { min-width: max-content; }
.file-item:hover, .file-item.active { color: var(--text); background: #182023; }
.file-item.active { color: var(--accent); }
.file-item::before { content: "◇"; color: #4e5c57; }
.file-item[data-type="patch"]::before { content: "±"; color: var(--orange); }
.file-item[data-type="config"]::before { content: "{}"; color: var(--cyan); font-size: 7px; }
.code-viewer { min-width: 0; display: grid; grid-template-rows: 45px 1fr; background: #090d0f; }
.code-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border-bottom: 1px solid var(--border-soft); color: #a9b4b0; font: 9px var(--mono); }
.code-toolbar button { border: 0; background: transparent; color: var(--muted); font-size: 9px; cursor: pointer; }
.code-toolbar button:hover { color: var(--accent); }
.code-viewer pre { margin: 0; padding: 19px 22px 40px; overflow: auto; max-height: 650px; color: #b6c3be; font: 10px/1.72 var(--mono); tab-size: 2; }

.view-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 28px; }
.view-hero h1 { margin: 13px 0 14px; font-size: clamp(38px, 4vw, 58px); line-height: 1.03; letter-spacing: -.055em; }
.view-hero h1 em { color: #88958f; font-style: normal; font-weight: 500; }
.view-hero > div:first-child > p { max-width: 680px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.view-hero-summary { min-width: 230px; display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--border-soft); border-radius: 12px; background: var(--border-soft); }
.view-hero-summary span { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 11px 13px; color: var(--muted); background: #101619; font-size: 9px; }
.view-hero-summary b { color: var(--text); font: 500 11px var(--mono); }
.suite-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(290px,.62fr); gap: 18px; align-items: start; }
.surface-heading { min-height: 82px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 19px 20px; border-bottom: 1px solid var(--border-soft); }
.surface-heading.compact { min-height: 74px; padding: 17px 18px; }
.surface-heading h2 { margin: 5px 0 4px; font-size: 15px; letter-spacing: -.025em; }
.surface-heading p { margin: 0; color: var(--muted-2); font-size: 8px; line-height: 1.45; }
.surface-count, .snapshot-badge, .chart-legend { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; padding: 7px 9px; border: 1px solid rgba(242,166,90,.23); border-radius: 7px; color: #d2a878; background: rgba(242,166,90,.05); font: 8px var(--mono); }
.chart-legend i { width: 5px; height: 5px; border-radius: 50%; background: var(--orange); }
.surface-count { border-color: var(--border); color: var(--muted); background: #11181a; }
.snapshot-badge { border-color: rgba(101,217,209,.24); color: var(--cyan); background: rgba(101,217,209,.05); }
.chart-legend { border-color: rgba(200,247,101,.22); color: var(--muted); background: rgba(200,247,101,.04); }
.chart-legend i { background: var(--accent); }
.run-fields { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(220px,.65fr) auto; gap: 10px; padding: 18px 20px; }
.run-fields label > span, .snapshot-select > span { display: block; margin: 0 0 7px 2px; color: var(--muted-2); font-size: 8px; }
.run-fields label > strong, .run-benchmark-field label > strong { display: block; margin: 0 0 7px 2px; color: var(--text); font-size: 8px; }
.run-fields input, .run-fields select, .snapshot-select select, .run-benchmark-field select { width: 100%; height: 38px; padding: 0 10px; outline: none; border: 1px solid #2b3734; border-radius: 7px; color: #d8e0dd; background: #0b1012; font: 9px var(--mono); }
.run-fields input:focus, .run-fields select:focus, .snapshot-select select:focus { border-color: #607b5b; box-shadow: 0 0 0 3px rgba(200,247,101,.055); }
.run-fields-toggle-wrap { display: flex; flex-direction: column; }
.run-fields-toggle-spacer { display: block; margin: 0 0 7px 2px; font-size: 8px; visibility: hidden; }
.run-fields-toggle-wrap .icon-button { width: 38px; height: 38px; }
.run-fields-toggle-wrap .icon-button.active { border-color: rgba(200,247,101,.38); background: rgba(200,247,101,.045); }
.rules-environment-fields { grid-template-columns: 1fr; }
.rules-environment-fields .rules-repo-field { width: 100%; }
.rules-environment-fields .execution-location-option { min-height: 38px; padding: 0 10px; border-radius: 7px; }
#candidateAdvancedToggle { color: #fff; }
.advanced-run-fields { grid-template-columns: repeat(3,minmax(0,1fr)); margin: -7px 20px 17px; padding: 11px; border: 1px solid var(--border-soft); border-radius: 8px; background: rgba(9,14,16,.48); }
.run-benchmark-field > button { display: block; margin: 6px 0 0 2px; padding: 0; border: 0; color: var(--cyan); background: transparent; font: 600 7px var(--mono); cursor: pointer; }
.run-benchmark-field > button:disabled { color: var(--muted-2); cursor: default; }
.execution-task-modal { width: min(680px, calc(100vw - 40px)); }
.execution-task-modal-controls { display: flex; align-items: center; gap: 13px; margin-top: 18px; padding: 10px 12px; border: 1px solid var(--border-soft); border-radius: 8px 8px 0 0; color: var(--muted-2); background: #0b1012; font: 500 8px var(--mono); }
.execution-task-modal-controls button { padding: 0; border: 0; color: var(--cyan); background: transparent; font: 600 8px var(--mono); cursor: pointer; }
.execution-task-modal-controls button:first-of-type { margin-left: auto; }
.execution-task-modal-list { max-height: 390px; overflow-y: auto; padding: 6px; border: 1px solid var(--border-soft); border-top: 0; border-radius: 0 0 8px 8px; background: rgba(9,14,16,.58); }
.execution-task-modal-row { display: grid; grid-template-columns: 17px minmax(0,1fr); align-items: center; gap: 10px; min-height: 53px; padding: 8px 10px; border-radius: 7px; cursor: pointer; }
.execution-task-modal-row:hover { background: rgba(255,255,255,.03); }
.execution-task-modal-row input { accent-color: var(--accent); }
.execution-task-modal-row strong, .execution-task-modal-row small { display: block; }
.execution-task-modal-row strong { font-size: 9px; }
.execution-task-modal-row small { margin-top: 4px; color: var(--muted-2); font-size: 7px; }
.execution-task-empty { display: block; padding: 14px; color: var(--muted-2); font-size: 8px; }
.execution-location { display: grid; grid-template-columns: minmax(150px,.55fr) minmax(0,1.45fr); gap: 18px; align-items: center; margin: 0 20px 16px; padding: 13px 14px; border: 1px solid var(--border-soft); border-radius: 10px; background: rgba(9,14,16,.58); }
.execution-location > div:first-child strong, .execution-location > div:first-child span { display: block; }
.execution-location > div:first-child strong { font-size: 9px; }
.execution-location > div:first-child span { margin-top: 4px; color: var(--muted-2); font-size: 7px; line-height: 1.4; }
.execution-location-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.execution-location-option { min-height: 51px; display: grid; grid-template-columns: 8px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid #2a3632; border-radius: 8px; color: inherit; background: #0d1315; text-align: left; cursor: pointer; }
.execution-location-option:hover { border-color: #405149; background: #11191a; }
.execution-location-option > i { width: 7px; height: 7px; border: 1px solid #60716a; border-radius: 50%; }
.execution-location-option strong, .execution-location-option small { display: block; }
.execution-location-option strong { font-size: 9px; }
.execution-location-option small { margin-top: 3px; color: var(--muted-2); font-size: 7px; }
.execution-location-option > b { color: var(--muted-2); font: 500 7px var(--mono); }
.execution-location-option.selected { border-color: rgba(200,247,101,.38); background: rgba(200,247,101,.045); }
.execution-location-option.selected > i { border-color: var(--accent); background: var(--accent); box-shadow: 0 0 0 3px rgba(200,247,101,.08); }
.execution-location-option.selected > b { color: var(--accent); }
.execution-location-option.unavailable { opacity: .58; }
.execution-location-option.unavailable > b { color: var(--orange); }
.model-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 5px 20px 10px; }
.model-heading strong, .model-heading span { display: block; }
.model-heading strong { font-size: 8px; }
.model-heading span { margin-top: 3px; color: var(--muted-2); font-size: 8px; }
.execution-connectivity { margin-bottom: 18px; }
.route-heading-actions { display: flex; align-items: center; gap: 10px; }
.execution-route-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; padding: 16px 20px; }
.repo-radio.filled { border-color: var(--accent); background: var(--accent); }
.execution-route.connected { border-color: #41533f; background: linear-gradient(145deg, rgba(200,247,101,.075), rgba(101,217,209,.025)); }
.execution-route.connected .repo-language i { background: var(--accent); }
.execution-route.inactive { opacity: .55; }
.execution-route.inactive .repo-language i { background: var(--muted-2); }
.execution-route-model-count { display: inline-flex; align-items: center; gap: 5px; padding: 0 4px; color: var(--muted-2); font: 7px var(--mono); }
.execution-route-model-count strong { color: var(--cyan); font-size: 9px; }
.execution-route-empty { min-height: 38px; display: inline-flex; align-items: center; color: var(--muted-2); font: 8px var(--mono); }
.execution-target-list { display: grid; gap: 7px; padding: 0 20px 12px; }
.execution-target-row { display: grid; grid-template-columns: 28px minmax(145px,.8fr) 14px minmax(220px,1.45fr) 14px minmax(130px,.85fr) 14px minmax(100px,.6fr) 28px; gap: 8px; align-items: end; padding: 10px; border: 1px solid #293531; border-radius: 9px; background: #0d1315; }
.execution-target-row.invalid { border-color: rgba(239,119,105,.33); background: rgba(239,119,105,.025); }
.target-number { height: 38px; display: grid; place-items: center; color: var(--accent); font: 8px var(--mono); }
.target-field > span { display: block; margin: 0 0 6px 2px; color: var(--muted-2); font-size: 7px; text-transform: uppercase; letter-spacing: .07em; }
.target-field select, .target-field input { width: 100%; height: 38px; padding: 0 10px; outline: none; border: 1px solid #2b3734; border-radius: 7px; color: #d8e0dd; background: #0a0f11; font: 9px var(--mono); }
.target-field select:focus, .target-field input:focus { border-color: #607b5b; box-shadow: 0 0 0 3px rgba(200,247,101,.055); }
.modal-field select, .benchmark-builder select, .candidate-workbench-editor select, .run-fields select, .snapshot-select select, .target-field select { appearance: none; -webkit-appearance: none; padding-right: 24px; background-image: var(--chevron); background-repeat: no-repeat; background-position: right 9px center; background-size: 9px 9px; }
.target-operator { height: 38px; display: grid; place-items: center; color: var(--muted-2); font: 12px var(--mono); }
.target-compatibility { grid-column: 2 / 9; min-height: 38px; display: flex; align-items: center; padding: 7px 9px; border-radius: 7px; font: 7px/1.35 var(--mono); }
.target-compatibility.invalid { color: #e09488; background: rgba(239,119,105,.07); }
.target-remove { width: 28px; height: 38px; border: 0; border-radius: 7px; color: var(--muted-2); background: transparent; font-size: 16px; cursor: pointer; }
.target-remove:hover { color: #ef7769; background: rgba(239,119,105,.07); }
.target-list-empty { min-height: 70px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px dashed #2a3632; border-radius: 9px; color: var(--muted-2); font-size: 8px; }
.target-list-empty strong, .target-list-empty span { display: block; }
.target-list-empty span { margin-top: 4px; }
.omnigent-seam { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 0 20px 18px; padding: 10px 12px; border: 1px solid rgba(101,217,209,.13); border-radius: 8px; background: rgba(101,217,209,.025); }
.omnigent-seam > div { display: flex; align-items: center; gap: 9px; }
.omnigent-mark { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 7px; color: var(--cyan); background: rgba(101,217,209,.09); font: 7px var(--mono); }
.omnigent-seam strong, .omnigent-seam small { display: block; }
.omnigent-seam strong { font-size: 8px; }
.omnigent-seam small { margin-top: 3px; color: var(--muted-2); font-size: 7px; }
.engine-actions { display: inline-flex; align-items: center; gap: 10px; }
.engine-actions .text-button { font-size: 7px; }
.engine-capability { flex: 0 0 auto; color: var(--cyan); font: 7px var(--mono); }
.run-launch { min-height: 73px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; border-top: 1px solid var(--border-soft); background: rgba(101,217,209,.025); }
.run-launch strong, .run-launch span { display: block; }
.run-launch strong { color: var(--cyan); font: 500 11px var(--mono); }
.run-launch span { margin-top: 3px; color: var(--muted-2); font-size: 8px; }
.icon-button { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #35423e; border-radius: 7px; color: var(--accent); background: #12191b; cursor: pointer; font-size: 13px; }
.icon-button:hover { border-color: var(--accent); }
.benchmark-catalog { overflow: hidden; scroll-margin-top: 90px; }
.benchmark-catalog-list { max-height: 602px; overflow: auto; padding: 9px; }
.benchmark-card { width: 100%; display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid transparent; border-radius: 8px; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.benchmark-card:hover, .benchmark-card.selected { border-color: #31403a; background: rgba(200,247,101,.045); }
.benchmark-card-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; color: var(--accent); background: rgba(200,247,101,.08); font: 500 9px var(--mono); }
.benchmark-card strong, .benchmark-card small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.benchmark-card strong { font-size: 9px; }
.benchmark-card small { margin-top: 4px; color: var(--muted-2); font-size: 7px; }
.benchmark-card > i { color: var(--muted-2); font-style: normal; }
.catalog-empty { min-height: 300px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; text-align: center; }
.catalog-empty strong { margin-top: 10px; font-size: 10px; }
.catalog-empty > span { max-width: 190px; margin: 4px 0 14px; color: var(--muted-2); font-size: 8px; line-height: 1.45; }
.run-queue-panel, .comparison-panel { margin-top: 18px; overflow: hidden; }
.run-queue { min-height: 126px; }
.run-queue-head, .run-row { display: grid; grid-template-columns: 100px 86px 82px minmax(190px,1fr) 74px 104px 88px 84px 168px; gap: 14px; align-items: center; }
.run-queue-head { min-height: 36px; padding: 0 20px; border-top: 1px solid var(--border-soft); border-bottom: 1px solid var(--border-soft); color: var(--muted-2); background: rgba(255,255,255,.02); font: 600 11px var(--mono); text-transform: uppercase; letter-spacing: .07em; text-align: center; }
.run-row { min-height: 80px; padding: 14px 20px; border-bottom: 1px solid var(--border-soft); }
.run-row:last-child { border-bottom: 0; }
.run-row.is-running { position: relative; background: linear-gradient(90deg, rgba(101,217,209,.045), transparent 38%); }
.run-row.is-running::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 2px; background: var(--cyan); box-shadow: 0 0 13px rgba(101,217,209,.75); animation: run-edge-pulse 1.5s ease-in-out infinite; }
.run-row strong, .run-row small { display: block; }
.run-row strong { font-size: 12px; line-height: 1.3; }
.run-row small { margin-top: 4px; color: var(--muted-2); font-size: 10px; line-height: 1.4; }
.run-state { width: fit-content; min-height: 26px; display: inline-flex; align-items: center; gap: 7px; padding: 0 11px; border: 1px solid rgba(240,165,91,.18); border-radius: 999px; color: var(--orange); background: rgba(240,165,91,.045); font: 10px var(--mono); white-space: nowrap; }
.run-state i { flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.run-state.ready { border-color: rgba(200,247,101,.18); color: var(--accent); background: rgba(200,247,101,.04); }
.run-state.ready i { background: var(--accent); }
.run-state.queued, .run-state.running { border-color: rgba(101,217,209,.2); color: var(--cyan); background: rgba(101,217,209,.045); }
.run-state.queued i, .run-state.running i { background: var(--cyan); }
.run-state.running i { box-shadow: 0 0 0 0 rgba(101,217,209,.45); animation: run-dot-pulse 1.45s ease-out infinite; }
.run-state.completed { border-color: rgba(200,247,101,.18); color: var(--accent); background: rgba(200,247,101,.04); }
.run-state.completed i { background: var(--accent); }
.run-state.failed { border-color: rgba(239,119,105,.22); color: #ef7769; background: rgba(239,119,105,.045); }
.run-state.failed i { background: #ef7769; }
.run-metric { min-width: 0; }
.run-runner strong { white-space: nowrap; }
.run-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.run-action { flex: none; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--border); border-radius: 7px; color: var(--muted-2); background: transparent; text-decoration: none; cursor: pointer; }
.run-action svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.run-action:hover { border-color: rgba(101,217,209,.35); color: var(--cyan); background: rgba(101,217,209,.045); }
.run-action.run-action-primary { border-color: rgba(101,217,209,.26); color: var(--cyan); background: rgba(101,217,209,.05); }
.run-action.run-action-primary:hover { background: rgba(101,217,209,.11); }
.run-action:disabled, .run-action-disabled { border-color: var(--border); color: #465049; background: transparent; cursor: default; }
.run-action:disabled:hover, .run-action-disabled:hover { border-color: var(--border); color: #465049; background: transparent; }
.run-action.danger { border-color: rgba(239,119,105,.2); color: #d9877d; background: rgba(239,119,105,.035); }
.run-action.danger:hover { border-color: rgba(239,119,105,.4); color: #ef998f; background: rgba(239,119,105,.09); }
.run-benchmark-cell { display: flex; flex-direction: column; min-width: 0; }
.run-benchmark-name { display: block; width: 100%; max-width: 100%; margin: 0; padding: 0; border: 0; color: var(--text); background: transparent; font: 600 12px var(--mono); text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.run-benchmark-name:hover { color: var(--cyan); text-decoration: underline; }
.run-benchmark-name:disabled { color: inherit; cursor: default; text-decoration: none; }
.run-summary-button { min-width: 0; max-width: 100%; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.run-summary-button small { margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.run-summary-button:disabled { cursor: default; }
.run-inline-progress { display: grid; grid-template-columns: minmax(70px,150px) auto; gap: 7px; align-items: center; margin-top: 7px; }
.run-inline-progress > i, .run-progress-meter { position: relative; height: 4px; overflow: hidden; border-radius: 99px; background: #25302e; }
.run-inline-progress > i b, .run-progress-meter > i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--cyan),var(--accent)); transition: width .35s ease; }
.run-inline-progress > i.indeterminate b, .run-progress-meter.indeterminate > i { width: 35% !important; animation: run-progress-sweep 1.25s ease-in-out infinite; }
.run-inline-progress em { color: var(--cyan); font: normal 9px var(--mono); }
.queue-empty { min-height: 126px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--muted-2); text-align: center; }
.queue-empty strong { color: var(--muted); font-size: 10px; }
.queue-empty span { margin-top: 4px; font-size: 8px; }
.snapshot-select { width: 260px; flex: 0 0 auto; }
.profile-run-toolbar, .benchmark-library-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 18px; padding: 18px; }
.profile-run-toolbar h2, .benchmark-library-toolbar h2 { margin: 4px 0 3px; font-size: 18px; letter-spacing: -.035em; }
.profile-run-toolbar p, .benchmark-library-toolbar p { margin: 0; color: var(--muted-2); font-size: 8px; }
.profile-metrics, .benchmark-library-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 18px; }
.profile-metrics article, .benchmark-library-metrics article { min-height: 118px; display: flex; flex-direction: column; padding: 16px; border: 1px solid var(--border-soft); border-radius: 11px; background: linear-gradient(145deg, rgba(19,26,29,.94), rgba(13,18,20,.94)); }
.profile-metrics article > span, .benchmark-library-metrics article > span { color: var(--muted-2); font: 8px var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.profile-metrics strong, .benchmark-library-metrics strong { margin: auto 0 4px; font: 500 24px var(--mono); letter-spacing: -.05em; }
.profile-metrics small, .benchmark-library-metrics small { overflow: hidden; color: var(--muted-2); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.benchmark-task-table-panel { min-width: 0; margin-bottom: 18px; overflow: hidden; }
.benchmark-task-table-panel .comparison-table-wrap { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-gutter: stable; -webkit-overflow-scrolling: touch; }
.benchmark-task-table { min-width: 1380px; }
.table-scroll-hint { align-self: center; color: var(--muted-2); font: 8px var(--mono); white-space: nowrap; }
.benchmark-task-table td { vertical-align: top; }
.benchmark-task-table td strong, .benchmark-task-table td span { display: block; }
.benchmark-task-table td > span:not(.task-library-tag):not(.task-library-complexity):not(.task-library-status) { max-width: 270px; margin-top: 4px; overflow: hidden; color: var(--muted-2); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.benchmark-task-row { cursor: pointer; transition: background .15s ease; }
.benchmark-task-row:hover, .benchmark-task-row.selected { background: rgba(200,247,101,.035); }
.benchmark-task-row:focus { outline: 1px solid rgba(200,247,101,.45); outline-offset: -1px; }
.task-library-tag, .task-library-complexity, .task-library-status { width: fit-content; padding: 5px 7px; border-radius: 999px; font: 600 7px var(--mono); }
.task-library-tag { color: var(--cyan); background: rgba(101,217,209,.07); }
.task-library-complexity { color: var(--muted); background: #182023; }
.task-library-complexity.high { color: var(--orange); background: rgba(242,166,90,.07); }
.task-library-status { color: var(--orange); background: rgba(242,166,90,.07); }
.task-library-status.ready { color: var(--accent); background: rgba(200,247,101,.07); }
.benchmark-task-detail { margin-bottom: 24px; overflow: hidden; scroll-margin-top: 88px; }
.benchmark-task-detail-head { display: flex; justify-content: space-between; gap: 24px; padding: 20px; border-bottom: 1px solid var(--border-soft); }
.benchmark-task-detail-head h2 { max-width: 780px; margin: 5px 0 4px; font-size: 17px; letter-spacing: -.03em; }
.benchmark-task-detail-head p { margin: 0; color: var(--muted-2); font: 8px var(--mono); }
.benchmark-task-detail-actions { display: flex; flex: 0 0 auto; align-items: flex-start; gap: 8px; }
.benchmark-task-detail-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; border-bottom: 1px solid var(--border-soft); background: var(--border-soft); }
.benchmark-task-detail-grid article { min-width: 0; padding: 13px 16px; background: #101619; }
.benchmark-task-detail-grid span, .benchmark-task-detail-grid strong { display: block; }
.benchmark-task-detail-grid span { color: var(--muted-2); font: 7px var(--mono); text-transform: uppercase; letter-spacing: .07em; }
.benchmark-task-detail-grid strong { margin-top: 5px; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.benchmark-task-detail-content { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(260px,.7fr); }
.benchmark-task-detail-content > article, .benchmark-task-detail-content > aside { min-width: 0; padding: 18px; }
.benchmark-task-detail-content > aside { border-left: 1px solid var(--border-soft); background: rgba(8,12,14,.35); }
.benchmark-task-detail-content h3 { margin: 0 0 10px; color: var(--muted-2); font: 600 8px var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.benchmark-task-detail-content pre { max-height: 460px; margin: 0; overflow: auto; color: #c5cecb; font: 9px/1.65 var(--mono); white-space: pre-wrap; }
#benchmarkTaskTests { display: grid; gap: 6px; margin-bottom: 18px; }
#benchmarkTaskTests span { padding: 7px 8px; border-radius: 6px; color: var(--muted); background: #151d20; font-size: 8px; line-height: 1.4; }
#benchmarkTaskCommand { display: block; padding: 9px; overflow-wrap: anywhere; border: 1px solid var(--border-soft); border-radius: 7px; color: var(--cyan); background: #0b1012; font: 8px/1.5 var(--mono); }
.benchmark-original-diff { border-top: 1px solid var(--border-soft); }
.benchmark-original-diff-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 16px 18px; border-bottom: 1px solid var(--border-soft); }
.benchmark-original-diff-head h3 { margin: 0 0 4px; font-size: 11px; }
.benchmark-original-diff-head p { margin: 0; color: var(--muted-2); font-size: 8px; }
.benchmark-original-diff-head > span { color: var(--muted-2); font: 8px var(--mono); white-space: nowrap; }
.benchmark-original-diff-output { max-height: 620px; overflow: auto; border: 0; border-radius: 0; }
.profile-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(310px,.65fr); gap: 18px; }
.inference-panel, .snapshot-panel { overflow: hidden; }
.profile-chart { height: 380px; position: relative; padding: 28px 34px 40px 52px; background: #0b1012; }
.chart-grid { width: 100%; height: 100%; border-left: 1px solid #35413d; border-bottom: 1px solid #35413d; background-image: linear-gradient(rgba(47,59,55,.32) 1px, transparent 1px), linear-gradient(90deg, rgba(47,59,55,.32) 1px, transparent 1px); background-size: 25% 25%; }
.axis-y, .axis-x { position: absolute; z-index: 1; color: var(--muted-2); font: 7px var(--mono); }
.axis-y { left: 11px; top: 50%; transform: rotate(-90deg) translateX(-50%); transform-origin: left top; }
.axis-x { left: 50%; bottom: 14px; transform: translateX(-50%); }
.chart-empty { position: absolute; inset: 50% auto auto 50%; width: min(320px,70%); transform: translate(-50%,-50%); display: flex; flex-direction: column; align-items: center; text-align: center; }
.chart-empty b { font-size: 11px; }
.chart-empty span { margin: 5px 0 14px; color: var(--muted-2); font-size: 8px; line-height: 1.5; }
.snapshot-detail { padding: 18px; }
.snapshot-name strong, .snapshot-name span { display: block; }
.snapshot-name strong { font-size: 13px; }
.snapshot-name span { margin-top: 4px; color: var(--muted-2); font: 8px var(--mono); }
.snapshot-detail dl { display: grid; gap: 1px; margin: 16px 0; overflow: hidden; border: 1px solid var(--border-soft); border-radius: 8px; background: var(--border-soft); }
.snapshot-detail dl > div { display: grid; grid-template-columns: 90px 1fr; gap: 10px; padding: 9px 10px; background: #0e1416; }
.snapshot-detail dt { color: var(--muted-2); font-size: 8px; }
.snapshot-detail dd { margin: 0; overflow: hidden; color: #bbc6c2; font: 8px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.snapshot-tasks { display: flex; flex-wrap: wrap; gap: 6px; }
.snapshot-tasks span { max-width: 100%; padding: 6px 8px; overflow: hidden; border-radius: 6px; color: var(--muted); background: #151d20; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.snapshot-empty { min-height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--muted-2); text-align: center; }
.snapshot-empty strong { color: var(--muted); font-size: 10px; }
.snapshot-empty span { max-width: 220px; margin-top: 5px; font-size: 8px; line-height: 1.45; }
.comparison-table-wrap { overflow-x: auto; }
.comparison-table { width: 100%; border-collapse: collapse; min-width: 850px; }
.comparison-table th { padding: 10px 14px; border-bottom: 1px solid var(--border-soft); color: var(--muted-2); font: 600 11px var(--mono); text-align: left; text-transform: uppercase; letter-spacing: .07em; }
.comparison-table td { padding: 13px 14px; border-bottom: 1px solid rgba(38,49,53,.55); color: var(--muted); font: 8px var(--mono); }
.comparison-table td strong { color: var(--text); font: 600 9px var(--sans); }
.profile-results-table { margin: 0 0 18px; }
.results-table { min-width: 1050px; }
.results-table td { vertical-align: top; }
.results-table .result-primary, .results-table .result-secondary { display: block; }
.results-table .result-primary { color: var(--text); font: 600 9px var(--sans); }
.results-table .result-secondary { margin-top: 4px; color: var(--muted-2); font: 7px var(--mono); }
.result-outcome { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 999px; font: 600 7px var(--mono); }
.result-outcome::before { width: 5px; height: 5px; border-radius: 50%; background: currentColor; content: ""; }
.result-outcome.passed { color: var(--accent); background: rgba(200,247,101,.07); }
.result-outcome.failed { color: #ef7769; background: rgba(239,119,105,.07); }
.result-outcome.error { color: var(--orange); background: rgba(242,166,90,.07); }
.result-measure-missing { color: var(--muted-2); }
.comparison-table tr:last-child td { border-bottom: 0; }
.table-status { display: inline-flex; padding: 5px 7px; border-radius: 6px; }
.table-status.waiting { color: var(--orange); background: rgba(242,166,90,.07); }
.comparison-table .table-empty td { height: 130px; color: var(--muted-2); text-align: center; }


.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; overflow-y: auto; overscroll-behavior: contain; background: rgba(3,5,6,.78); backdrop-filter: blur(10px); }
.modal-backdrop[hidden] { display: none; }
body.modal-open { overflow: hidden; }
#benchmarkValidationModal { place-items: start center; }
.modal { width: min(460px,100%); position: relative; padding: 28px; border: 1px solid #32403b; border-radius: 16px; background: linear-gradient(150deg,#151d20,#0e1315); box-shadow: var(--shadow); }
.modal-close { position: absolute; top: 13px; right: 14px; width: 30px; height: 30px; border: 0; border-radius: 7px; background: #1b2427; color: var(--muted); font-size: 20px; cursor: pointer; }
.modal-mark { margin-bottom: 18px; }
.modal h2 { margin: 8px 0; font-size: 22px; letter-spacing: -.04em; }
.modal > p { margin: 0 0 20px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.modal-field { display: grid; gap: 7px; margin: 12px 0; }
.modal-field > span { color: #aeb9b5; font-size: 9px; font-weight: 700; }
.modal-field input, .modal-field select { height: 44px; }
.modal-field textarea { width: 100%; padding: 11px; resize: vertical; outline: none; border: 1px solid #2b3734; border-radius: 7px; color: #d8e0dd; background: #0b1012; font: 10px/1.55 var(--mono); }
.modal-field textarea:focus { border-color: #607b5b; box-shadow: 0 0 0 3px rgba(200,247,101,.055); }
.permission-list { display: flex; gap: 7px; flex-wrap: wrap; margin: 15px 0 20px; }
.permission-list span { padding: 5px 7px; border-radius: 6px; background: rgba(101,217,209,.06); color: #8fc0bc; font-size: 8px; }
.modal-note { display: flex; gap: 8px; align-items: center; margin-top: 15px; color: var(--muted-2); font-size: 8px; line-height: 1.4; }
.modal-note svg { width: 17px; flex: 0 0 auto; fill: none; stroke: var(--cyan); stroke-width: 1.7; }
.remediation-modal { width: min(900px,100%); max-height: calc(100vh - 40px); overflow: auto; }
.remediation-icon { color: var(--orange); background: rgba(242,166,90,.09); }
.remediation-context { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 12px 14px; border: 1px solid rgba(242,166,90,.16); border-radius: 9px; background: rgba(242,166,90,.035); }
.remediation-context strong, .remediation-context span { display: block; }
.remediation-context strong { font-size: 10px; }
.remediation-context span { margin-top: 4px; color: var(--muted-2); font-size: 8px; }
.remediation-context a { color: var(--orange); font: 8px var(--mono); text-decoration: none; }
.remediation-gates { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 8px; }
.remediation-editor-grid { display: grid; grid-template-columns: minmax(260px,.65fr) minmax(360px,1.35fr); gap: 16px; margin-top: 8px; }
.remediation-patch-field { align-self: stretch; }
.remediation-patch-field textarea { min-height: 325px; flex: 1; resize: vertical; }
.remediation-patch-field small { color: var(--muted-2); font-size: 8px; line-height: 1.45; }
.remediation-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 8px; }
.assignment-modal { width: min(520px,100%); }
.assignment-icon { color: var(--cyan); background: rgba(101,217,209,.09); }
.assignment-classification { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; margin: 4px 0 12px; padding: 11px 12px; border: 1px solid rgba(101,217,209,.13); border-radius: 9px; background: rgba(101,217,209,.025); }
.assignment-task-name { grid-column: 1 / -1; }
.assignment-classification .modal-field { margin: 0; }
.assignment-classification > small { grid-column: 1 / -1; margin-top: 8px; color: var(--muted-2); font-size: 8px; line-height: 1.4; }
.assignment-classification > button { grid-column: 1 / -1; justify-self: start; margin-top: 8px; }
.run-icon { color: var(--accent); background: rgba(200,247,101,.09); }
.run-decision-modal { width: min(500px,100%); }
.run-decision-summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 16px; margin: 18px 0; padding: 14px; border: 1px solid var(--border-soft); border-radius: 9px; background: #0d1315; }
.run-decision-summary strong, .run-decision-summary span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.run-decision-summary strong { font-size: 10px; }
.run-decision-summary span { grid-column: 1; color: var(--muted-2); font-size: 8px; }
.run-decision-summary b { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--cyan); font: 500 13px var(--mono); }
.run-decision-error { margin: -4px 0 14px; padding: 10px 12px; border: 1px solid rgba(239,119,105,.25); border-radius: 8px; color: #e5a097; background: rgba(239,119,105,.06); font-size: 8px; line-height: 1.45; }
.run-decision-actions { display: flex; justify-content: flex-end; gap: 9px; }
.runner-setup-modal { width: min(620px,100%); max-height: calc(100vh - 40px); overflow: auto; }
.runner-setup-status { margin: -5px 0 16px; padding: 10px 12px; border: 1px solid rgba(242,166,90,.2); border-radius: 8px; color: #d2a878; background: rgba(242,166,90,.045); font: 8px/1.45 var(--mono); }
.runner-setup-status.available { border-color: rgba(200,247,101,.22); color: var(--accent); background: rgba(200,247,101,.045); }
.runner-setup-steps { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: runner-step; }
.runner-setup-steps li { position: relative; min-height: 48px; padding: 10px 12px 10px 46px; border: 1px solid var(--border-soft); border-radius: 8px; background: #0d1315; counter-increment: runner-step; }
.runner-setup-steps li::before { content: counter(runner-step); position: absolute; top: 10px; left: 11px; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; color: var(--cyan); background: rgba(101,217,209,.08); font: 8px var(--mono); }
.runner-setup-steps b, .runner-setup-steps span { display: block; }
.runner-setup-steps b { font-size: 9px; }
.runner-setup-steps span { margin-top: 3px; color: var(--muted-2); font-size: 8px; line-height: 1.45; }
.runner-setup-steps code { color: #b7c9c5; font-size: 8px; }
.runner-config-block { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; margin-top: 12px; padding: 12px; border: 1px solid rgba(101,217,209,.16); border-radius: 8px; background: #091012; }
.runner-config-block code { overflow-x: auto; color: #9ccac6; font: 8px/1.65 var(--mono); white-space: pre; }
.runner-config-block button { padding: 6px 8px; border: 1px solid var(--border-soft); border-radius: 6px; color: var(--muted); background: #151d20; font: 7px var(--mono); cursor: pointer; }
.runner-contract-note { display: grid; gap: 3px; margin-top: 12px; padding: 10px 12px; border-left: 2px solid var(--cyan); color: var(--muted-2); background: rgba(101,217,209,.025); font-size: 8px; line-height: 1.45; }
.runner-contract-note strong { color: var(--muted); }
.runner-setup-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.run-log-modal { width: min(880px,100%); max-height: calc(100vh - 40px); display: flex; flex-direction: column; overflow: hidden; }
.run-log-heading { padding-right: 30px; }
.run-log-heading .run-state { margin-bottom: 11px; }
.run-log-heading h2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.run-log-heading p { margin-top: 6px; color: var(--muted-2); font: 8px/1.45 var(--mono); }
.run-log-progress { margin: 17px 0 12px; padding: 12px 14px; border: 1px solid rgba(101,217,209,.16); border-radius: 9px; background: rgba(101,217,209,.03); }
.run-log-progress > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin-bottom: 9px; }
.run-log-progress strong { color: var(--cyan); font: 500 15px var(--mono); }
.run-log-progress span { color: var(--muted-2); font: 8px var(--mono); }
.run-progress-meter { height: 7px; }
.run-log-jobs { display: flex; flex-direction: column; gap: 6px; margin: 0 0 12px; max-height: 168px; overflow-y: auto; }
.run-log-job { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; border: 1px solid #293531; border-radius: 9px; background: rgba(101,217,209,.02); }
.run-job-chip { flex: none; min-width: 62px; text-align: center; padding: 2px 8px; border: 1px solid rgba(240,165,91,.22); border-radius: 999px; color: var(--orange); background: rgba(240,165,91,.045); font: 8px var(--mono); white-space: nowrap; }
.run-job-chip.passed { border-color: rgba(200,247,101,.22); color: var(--accent); background: rgba(200,247,101,.045); }
.run-job-chip.failed { border-color: rgba(240,165,91,.22); color: var(--orange); background: rgba(240,165,91,.045); }
.run-job-chip.error { border-color: rgba(239,119,105,.26); color: #ef7769; background: rgba(239,119,105,.05); }
.run-job-chip.running { border-color: rgba(101,217,209,.24); color: var(--cyan); background: rgba(101,217,209,.05); }
.run-job-chip.pending { border-color: rgba(151,166,162,.24); color: var(--muted); background: rgba(151,166,162,.04); }
.run-score { width: fit-content; min-height: 26px; display: inline-flex; align-items: center; padding: 0 11px; border: 1px solid #293531; border-radius: 999px; color: var(--muted); background: rgba(151,166,162,.04); font: 10px var(--mono); white-space: nowrap; }
.run-score.has-passes { border-color: rgba(200,247,101,.2); color: var(--accent); background: rgba(200,247,101,.04); }
.run-score-empty { color: var(--muted-2); border-style: dashed; }
.run-job-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.run-job-body strong { color: var(--text); font: 500 9px var(--mono); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.run-job-task { color: var(--muted-2); font: 8px var(--mono); }
.run-job-detail { color: var(--muted); font: 8px/1.5 var(--mono); }
.run-job-links { flex: none; display: inline-flex; gap: 9px; padding-top: 2px; }
.run-job-links .text-button { font-size: 8px; white-space: nowrap; }
.run-log-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 2px 0 7px; color: var(--muted-2); font: 8px var(--mono); }
.run-log-toolbar > span:last-child { display: inline-flex; align-items: center; gap: 12px; }
.run-log-output { min-height: 300px; max-height: 48vh; margin: 0; overflow: auto; padding: 14px; border: 1px solid #293531; border-radius: 9px; color: #b9cbc7; background: #080c0e; font: 8px/1.65 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.run-log-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 14px; }
.run-log-actions a { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
@keyframes run-dot-pulse { 70% { box-shadow: 0 0 0 6px rgba(101,217,209,0); } 100% { box-shadow: 0 0 0 0 rgba(101,217,209,0); } }
@keyframes run-edge-pulse { 50% { opacity: .35; } }
@keyframes run-progress-sweep { from { transform: translateX(-120%); } to { transform: translateX(320%); } }
.assignment-context { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 11px; align-items: center; margin: 17px 0; padding: 12px; border: 1px solid rgba(101,217,209,.16); border-radius: 9px; background: rgba(101,217,209,.035); }
.assignment-context > b { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 9px; color: var(--cyan); background: rgba(101,217,209,.08); font: 500 9px var(--mono); }
.assignment-context strong, .assignment-context span { display: block; }
.assignment-context strong { font-size: 10px; }
.assignment-context span { margin-top: 4px; color: var(--muted-2); font-size: 8px; }
.benchmark-validation-modal { width: min(690px,100%); max-height: calc(100dvh - 40px); overflow-y: auto; overscroll-behavior: contain; }
.validation-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: rgba(101,217,209,.08); }
.validation-icon span { width: 9px; height: 9px; border: 2px solid rgba(101,217,209,.28); border-top-color: var(--cyan); border-radius: 50%; animation: validation-spin .8s linear infinite; }
.benchmark-validation-current { min-height: 74px; padding: 13px 14px; border: 1px solid rgba(101,217,209,.16); border-radius: 9px; background: rgba(101,217,209,.035); }
.benchmark-validation-current > div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.benchmark-validation-current strong { font-size: 10px; }
.benchmark-validation-current b { color: var(--cyan); font: 500 8px var(--mono); }
.benchmark-validation-current > span { display: block; margin-top: 7px; color: var(--muted-2); font: 8px/1.45 var(--mono); }
.benchmark-validation-progress { margin: 13px 0; padding: 12px 14px; border: 1px solid var(--border-soft); border-radius: 9px; background: #0d1315; }
.benchmark-validation-progress > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.benchmark-validation-progress strong { color: var(--cyan); font: 500 15px var(--mono); }
.benchmark-validation-progress span { color: var(--muted-2); font: 8px var(--mono); }
.benchmark-validation-phases { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 0; padding: 0; list-style: none; }
.benchmark-validation-phases li { min-height: 56px; display: grid; grid-template-columns: 27px minmax(0,1fr); gap: 9px; align-items: center; padding: 9px 10px; border: 1px solid var(--border-soft); border-radius: 8px; background: #0d1315; opacity: .52; }
.benchmark-validation-phases li > i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; color: var(--muted-2); background: #182022; font: normal 8px var(--mono); }
.benchmark-validation-phases strong, .benchmark-validation-phases small { display: block; }
.benchmark-validation-phases strong { font-size: 8px; }
.benchmark-validation-phases small { margin-top: 3px; color: var(--muted-2); font-size: 7px; line-height: 1.35; }
.benchmark-validation-phases li.active { border-color: rgba(101,217,209,.3); opacity: 1; background: rgba(101,217,209,.045); }
.benchmark-validation-phases li.active > i { color: var(--cyan); background: rgba(101,217,209,.1); }
.benchmark-validation-phases li.complete { border-color: rgba(200,247,101,.14); opacity: .8; }
.benchmark-validation-phases li.complete > i { color: var(--accent); background: rgba(200,247,101,.08); }
.benchmark-validation-phases li.failed { border-color: rgba(239,119,105,.28); opacity: 1; }
.benchmark-validation-phases li.failed > i { color: var(--red); background: rgba(239,119,105,.08); }
.benchmark-validation-tasks { display: grid; gap: 5px; max-height: 220px; margin: 11px 0 0; padding: 0; overflow-y: auto; list-style: none; }
.benchmark-validation-tasks li { display: grid; grid-template-columns: 27px minmax(0,1fr); gap: 9px; align-items: center; min-height: 42px; padding: 7px 9px; border: 1px solid var(--border-soft); border-radius: 7px; background: #0d1315; }
.benchmark-validation-tasks i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; color: var(--muted-2); background: #182022; font: normal 8px var(--mono); }
.benchmark-validation-tasks span { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; }
.benchmark-validation-tasks strong { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.benchmark-validation-tasks small { color: var(--muted-2); font: 7px var(--mono); }
.benchmark-validation-tasks li.running { border-color: rgba(101,217,209,.3); }
.benchmark-validation-tasks li.running i, .benchmark-validation-tasks li.running small { color: var(--cyan); }
.benchmark-validation-tasks li.passed { border-color: rgba(200,247,101,.16); }
.benchmark-validation-tasks li.passed i, .benchmark-validation-tasks li.passed small { color: var(--accent); }
.benchmark-validation-tasks li.failed { border-color: rgba(239,119,105,.28); }
.benchmark-validation-tasks li.failed i, .benchmark-validation-tasks li.failed small { color: var(--red); }
.benchmark-validation-tasks li.blocked { border-color: rgba(242,166,90,.2); opacity: .75; }
.benchmark-validation-tasks li.blocked i, .benchmark-validation-tasks li.blocked small { color: var(--orange); }
.benchmark-validation-errors { max-height: 210px; display: grid; gap: 7px; margin-top: 11px; overflow: auto; }
.benchmark-validation-errors[hidden] { display: none; }
.benchmark-validation-error { padding: 10px 11px; border: 1px solid rgba(239,119,105,.24); border-radius: 8px; background: rgba(239,119,105,.045); }
.benchmark-validation-error > strong, .benchmark-validation-error > span { display: block; }
.benchmark-validation-error > strong { color: #e8aaa2; font-size: 8px; }
.benchmark-validation-error > span { margin-top: 4px; color: var(--muted); font: 8px/1.45 var(--mono); }
.benchmark-validation-error details { margin-top: 8px; border-top: 1px solid rgba(239,119,105,.13); padding-top: 7px; }
.benchmark-validation-error summary { color: var(--cyan); font: 7px var(--mono); cursor: pointer; }
.benchmark-validation-error pre { max-height: 120px; margin: 7px 0 0; overflow: auto; padding: 8px; border-radius: 6px; color: #b9cbc7; background: #080c0e; font: 7px/1.55 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.benchmark-validation-footer { display: flex; justify-content: space-between; gap: 12px; margin: 11px 2px 0; color: var(--muted-2); font: 7px var(--mono); }
.benchmark-validation-actions { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 8px; margin-top: 16px; }
.benchmark-validation-actions[hidden] { display: none; }
.benchmark-validation-actions .button { width: 100%; }
.benchmark-validation-modal.failed .validation-icon { background: rgba(239,119,105,.08); }
.benchmark-validation-modal.failed .validation-icon span { border: 0; border-radius: 0; color: var(--red); animation: none; }
.benchmark-validation-modal.failed .validation-icon span::before { content: "!"; font: 700 13px var(--mono); }
.benchmark-validation-modal.failed #benchmarkValidationStage, .benchmark-validation-modal.failed #benchmarkValidationPercent, .benchmark-validation-modal.failed #benchmarkValidationFailures { color: var(--red); }
.benchmark-validation-modal.complete .validation-icon span { border: 0; border-radius: 0; color: var(--accent); animation: none; }
.benchmark-validation-modal.complete .validation-icon span::before { content: "✓"; font: 700 13px var(--mono); }
.benchmark-validation-modal.complete #benchmarkValidationStage, .benchmark-validation-modal.complete #benchmarkValidationPercent { color: var(--accent); }
@keyframes validation-spin { to { transform: rotate(360deg); } }

.signed-out-overlay { position: fixed; inset: 0; z-index: 300; overflow-y: auto; background: var(--bg); }
.signed-out-overlay[hidden] { display: none; }
.auth-layout { min-height: 100%; display: grid; grid-template-columns: minmax(0,44%) minmax(0,56%); }

/* Left: the sign-in column. Kept deliberately quiet — the scorecard carries the personality. */
.auth-column { display: flex; flex-direction: column; padding: 36px 44px 30px; border-right: 1px solid var(--border); }
.auth-column > *, .auth-body { width: min(382px,100%); margin-inline: auto; }
.auth-body { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 34px 0; animation: account-panel-in .22s ease-out; }
.auth-brand { display: flex; align-items: center; gap: 11px; }
.auth-brand .brand-mark { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 9px; color: var(--accent-ink); background: var(--accent); box-shadow: 0 0 28px rgba(200,247,101,.1); }
.auth-brand .brand-mark svg { width: 23px; fill: currentColor; }
.auth-brand strong, .auth-brand span { display: block; }
.auth-brand strong { font-size: 12px; }
.auth-brand span { margin-top: 2px; color: var(--muted-2); font: 7px var(--mono); letter-spacing: .13em; }
.auth-heading { margin: 0 0 26px; }
.auth-heading h1 { margin: 0 0 10px; font-size: clamp(30px,3.3vw,38px); font-weight: 800; line-height: 1.02; letter-spacing: -.045em; }
.auth-heading p { margin: 0; max-width: 36ch; color: var(--muted); font-size: 11px; line-height: 1.5; }
.auth-form { display: grid; gap: 14px; }
.auth-form label > span { display: block; margin-bottom: 7px; color: var(--muted-2); font: 500 8px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.auth-form input:not([type="checkbox"]) { width: 100%; height: 46px; padding: 0 13px; outline: none; border: 1px solid #2a3634; border-radius: 10px; color: var(--text); background: #06090a; font: 11px var(--mono); transition: border-color .15s, box-shadow .15s; }
.auth-form input::placeholder { color: #4a5854; }
.auth-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(200,247,101,.09); }
.auth-password { position: relative; }
.auth-password input { padding-right: 58px !important; }
.auth-reveal { position: absolute; right: 4px; bottom: 4px; height: 38px; padding: 0 10px; border: 0; border-radius: 7px; color: var(--muted-2); background: transparent; font: 500 8px var(--mono); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.auth-reveal:hover { color: var(--accent); }
.auth-field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.auth-form-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -2px 0 2px; }
.auth-checkbox { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; cursor: pointer; }
.auth-checkbox input { width: 13px; height: 13px; margin: 0; accent-color: var(--accent); }
.auth-checkbox span { margin: 0 !important; }
.auth-switch { margin: 3px 0 0; color: var(--muted-2); font-size: 10px; text-align: center; }
.auth-switch button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.auth-switch button:hover { color: var(--accent-strong); }
.auth-form > small { color: var(--muted-2); font-size: 8px; line-height: 1.5; text-align: center; }
.auth-error { margin-top: 14px; padding: 10px 12px; border: 1px solid rgba(239,119,105,.22); border-radius: 9px; color: #f09a91; background: rgba(239,119,105,.05); font-size: 9px; line-height: 1.5; }
.auth-testuser { margin-top: 22px; padding: 12px 13px; border: 1px dashed rgba(200,247,101,.22); border-radius: 11px; background: rgba(200,247,101,.028); }
.auth-testuser-label { display: block; color: rgba(200,247,101,.62); font: 500 7px var(--mono); letter-spacing: .16em; }
.auth-testuser-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 9px; }
.auth-testuser-creds { display: grid; gap: 4px; min-width: 0; }
.auth-testuser-creds span { overflow: hidden; color: #cfdcc6; font: 9px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.auth-testuser-creds span + span { color: var(--muted-2); }
.auth-column > footer { display: flex; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--border-soft); color: var(--muted-2); font: 7px var(--mono); }
.auth-body button:focus-visible, .auth-checkbox input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Right: a sample scorecard resolving in place — the artifact ForgeBench actually produces. */
.auth-evidence { position: relative; display: grid; place-content: center; overflow: hidden; padding: 44px 52px; }
.auth-evidence::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 74% 16%, rgba(200,247,101,.055), transparent 26rem),
    radial-gradient(circle at 22% 88%, rgba(101,217,209,.05), transparent 24rem),
    repeating-linear-gradient(to right, rgba(255,255,255,.016) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(to bottom, rgba(255,255,255,.016) 0 1px, transparent 1px 34px);
}
.scorecard { position: relative; width: min(566px,100%); padding: 24px 25px 20px; border: 1px solid var(--border); border-radius: 16px; background: linear-gradient(160deg,#121b1d,#0a0f11); box-shadow: var(--shadow); }
.scorecard-eyebrow { color: var(--muted-2); font: 500 7px var(--mono); letter-spacing: .18em; }
.scorecard-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 9px 0 16px; }
.scorecard-title strong { color: var(--text); font: 500 13px var(--mono); letter-spacing: -.01em; }
.scorecard-title span { color: var(--accent); font: 500 9px var(--mono); }
.scorecard-row { display: grid; grid-template-columns: 44px minmax(0,1fr) repeat(4,50px); gap: 11px; align-items: center; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.035); }
.scorecard-row:last-child { border-bottom: 0; }
.scorecard-labels { padding-bottom: 9px; border-bottom-color: rgba(255,255,255,.07); }
.scorecard-labels i { color: var(--muted-2); font: 7px var(--mono); font-style: normal; letter-spacing: .02em; text-align: center; }
.scorecard-row b { color: var(--muted-2); font: 8px var(--mono); }
.scorecard-row > span { overflow: hidden; color: #b4c3be; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
/* One orchestrated reveal on load: every cell resolves once, then the grid holds still. */
.scorecard-row u { position: relative; display: grid; height: 27px; place-items: center; border-radius: 7px; background: rgba(255,255,255,.02); text-decoration: none; animation: cell-tint .4s calc(var(--d) + .5s) ease both; }
.scorecard-row u.pass { --tint: rgba(200,247,101,.085); }
.scorecard-row u.fail { --tint: rgba(255,116,108,.075); }
.scorecard-row u em, .scorecard-row u s { position: absolute; text-decoration: none; }
.scorecard-row u em { color: var(--muted-2); font: 10px var(--mono); font-style: normal; letter-spacing: .05em; animation: cell-pending .25s calc(var(--d) + .45s) ease both, cell-waiting 1.5s ease-in-out infinite; }
.scorecard-row u s { opacity: 0; font-size: 11px; line-height: 1; animation: cell-result .34s calc(var(--d) + .55s) cubic-bezier(.2,1.4,.4,1) both; }
.scorecard-row u.pass s { color: var(--accent); }
.scorecard-row u.fail s { color: var(--red); }
.scorecard-legend { display: flex; align-items: center; gap: 5px; margin: 16px 0 0; color: var(--muted-2); font: 8px var(--mono); line-height: 1.6; }
.scorecard-legend s { text-decoration: none; }
.scorecard-legend s.pass { color: var(--accent); }
.scorecard-legend s.fail { margin-left: 6px; color: var(--red); }
@keyframes cell-pending { to { opacity: 0; } }
@keyframes cell-result { from { opacity: 0; transform: scale(.5); } to { opacity: 1; transform: none; } }
@keyframes cell-tint { to { background-color: var(--tint); } }
@keyframes cell-waiting { 50% { color: var(--cyan); } }

.first-user-setup-overlay { position: fixed; inset: 0; z-index: 290; display: grid; place-items: center; overflow: auto; padding: 28px; background: radial-gradient(circle at 50% 0,rgba(101,217,209,.055),transparent 34%),var(--bg); }
.first-user-setup { width: min(620px,100%); padding: 30px; border: 1px solid #2c3935; border-radius: 18px; background: linear-gradient(145deg,#141c1f,#0c1113); box-shadow: 0 28px 80px rgba(0,0,0,.38); animation: account-panel-in .2s ease-out; }
.first-user-setup > header { display: flex; gap: 17px; align-items: flex-start; }
.first-user-setup > header .brand-mark { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 11px; color: var(--accent-ink); background: var(--accent); }
.first-user-setup > header .brand-mark svg { width: 27px; fill: currentColor; }
.first-user-setup > header span, .first-user-setup-copy > span { color: var(--cyan); font: 600 8px var(--mono); letter-spacing: .12em; }
.first-user-setup > header h1 { margin: 4px 0 5px; font-size: 23px; letter-spacing: -.035em; }
.first-user-setup > header p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.first-user-setup-progress { display: grid; grid-template-columns: 1fr 44px 1fr; align-items: center; margin: 26px 0 18px; }
.first-user-setup-progress > div { display: flex; gap: 10px; align-items: center; opacity: .42; }
.first-user-setup-progress > div.active, .first-user-setup-progress > div.complete { opacity: 1; }
.first-user-setup-progress i { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid #394641; border-radius: 50%; color: var(--muted); font: normal 700 9px var(--mono); }
.first-user-setup-progress .active i { border-color: var(--cyan); color: var(--cyan); box-shadow: 0 0 0 4px rgba(101,217,209,.055); }
.first-user-setup-progress .complete i { border-color: var(--accent); color: var(--accent-ink); background: var(--accent); }
.first-user-setup-progress strong, .first-user-setup-progress small { display: block; }
.first-user-setup-progress strong { font-size: 9px; }
.first-user-setup-progress small { margin-top: 2px; color: var(--muted-2); font-size: 7px; }
.first-user-setup-progress > b { height: 1px; background: #2c3935; }
.first-user-setup-card { padding: 21px; border: 1px solid var(--border); border-radius: 12px; background: rgba(4,8,9,.38); }
.first-user-setup-copy h2 { margin: 5px 0 6px; font-size: 16px; }
.first-user-setup-copy p { margin: 0 0 17px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.first-user-setup-card label > span { display: block; margin-bottom: 6px; color: var(--muted-2); font-size: 8px; }
.first-user-setup-card input { width: 100%; height: 42px; margin-bottom: 11px; padding: 0 12px; outline: none; border: 1px solid #33403c; border-radius: 8px; color: var(--text); background: #080d0f; font: 10px var(--mono); }
.first-user-setup-card input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(101,217,209,.06); }
.first-user-demo { display: block; margin: 13px auto 0; }
.first-user-model-choice { display: grid; grid-template-columns: 54px 1fr; gap: 2px 10px; align-items: center; margin-bottom: 13px; padding: 11px 12px; border: 1px solid rgba(200,247,101,.14); border-radius: 8px; background: rgba(200,247,101,.035); }
.first-user-model-choice > span { grid-row: 1 / 3; color: var(--muted-2); font: 8px var(--mono); }
.first-user-model-choice strong { font-size: 10px; }
.first-user-model-choice small { color: var(--muted-2); font-size: 7px; }
.first-user-setup-error { margin-top: 10px; padding: 9px 11px; border: 1px solid rgba(239,119,105,.22); border-radius: 8px; color: #f09a91; background: rgba(239,119,105,.05); font-size: 8px; line-height: 1.45; }
.first-user-setup > footer { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-top: 14px; color: var(--muted-2); font-size: 8px; }

.toast-stack { position: fixed; right: 22px; bottom: 22px; z-index: 200; display: grid; gap: 8px; }
.result-diff-button { display: block; margin-top: 7px; padding: 0; border: 0; color: var(--cyan); background: transparent; font: 600 8px var(--mono); letter-spacing: .04em; cursor: pointer; }
.result-diff-button:hover { color: #a5fff8; }
.patch-label { display: inline-block; margin-bottom: 9px; color: var(--cyan); font: 600 8px var(--mono); letter-spacing: .13em; }
.result-patch-modal { width: min(1120px, calc(100vw - 40px)); }
.result-patch-output { max-height: 62vh; overflow: auto; border-radius: 7px; color: #e6edf3; background: #0d1117; font: 11px/1.55 var(--mono); }
.github-diff { display: grid; gap: 14px; }
.github-diff-file { overflow: hidden; border: 1px solid #30363d; border-radius: 6px; background: #0d1117; }
.github-diff-file > header { display: flex; min-height: 42px; align-items: center; gap: 8px; padding: 0 12px; border-bottom: 1px solid #30363d; background: #161b22; }
.github-diff-file > header strong { min-width: 0; overflow: hidden; color: #e6edf3; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.github-file-icon { color: #8b949e; font-size: 15px; }
.github-file-stats { display: flex; margin-left: auto; gap: 8px; font-size: 9px; }
.github-file-stats b { color: #3fb950; }
.github-file-stats i { color: #f85149; font-style: normal; font-weight: 700; }
.github-diff-scroll { overflow-x: auto; }
.github-diff table { width: 100%; border-collapse: collapse; table-layout: auto; }
.github-diff td { height: 21px; padding: 0; border: 0; vertical-align: top; }
.github-line-number { width: 46px; min-width: 46px; padding: 0 10px !important; color: #6e7681; background: #0d1117; text-align: right; user-select: none; }
.github-code { width: 100%; min-width: 560px; white-space: pre; }
.github-code code { font: inherit; }
.github-sign { display: inline-block; width: 23px; color: #6e7681; text-align: center; user-select: none; }
.github-diff-add .github-line-number, .github-diff-add .github-code { background: rgba(46, 160, 67, .15); }
.github-diff-add .github-sign { color: #3fb950; }
.github-diff-remove .github-line-number, .github-diff-remove .github-code { background: rgba(248, 81, 73, .15); }
.github-diff-remove .github-sign { color: #f85149; }
.github-diff-hunk .github-line-number, .github-diff-hunk .github-code { color: #8cbbf7; background: rgba(56, 139, 253, .15); }
.github-diff-hunk .github-code { padding: 3px 0; }
.github-diff-meta .github-code { color: #8b949e; font-style: italic; }
.toast { width: min(360px, calc(100vw - 44px)); display: flex; align-items: flex-start; gap: 10px; padding: 13px 15px; border: 1px solid #34423e; border-radius: 10px; background: #182023; box-shadow: var(--shadow); animation: toast-in .2s ease-out; }
.toast i { width: 7px; height: 7px; margin-top: 4px; flex: 0 0 auto; border-radius: 50%; background: var(--accent); }
.toast.error i { background: var(--red); }
.toast strong, .toast span { display: block; }
.toast strong { font-size: 10px; }
.toast span { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

@media (prefers-reduced-motion: reduce) {
  .run-row.is-running::before, .run-state.running i, .run-inline-progress > i.indeterminate b, .run-progress-meter.indeterminate > i, .validation-icon span { animation: none; }
  /* Show the scorecard already resolved rather than replaying the run. */
  .auth-body, .scorecard-row u, .scorecard-row u em, .scorecard-row u s { animation: none; }
  .scorecard-row u { background: var(--tint); }
  .scorecard-row u em { opacity: 0; }
  .scorecard-row u s { opacity: 1; transform: none; }
}

@media (max-width: 1120px) {
  .auth-layout { grid-template-columns: minmax(0,46%) minmax(0,54%); }
  .auth-column { padding: 32px 30px 26px; }
  .auth-evidence { padding: 28px; }
  .empty-state.small { min-height: 250px; }
  .candidate-card { grid-template-columns: 56px 1fr auto; }
  .candidate-gates { grid-column: 2 / 3; }
  .candidate-action { grid-column: 3; grid-row: 1 / span 2; }
  .remediation-card { grid-template-columns: 120px 1fr auto; }
  .remediation-card-reason { grid-column: 2; }
  .benchmark-builder { grid-template-columns: 1fr 1fr auto; }
  .benchmark-builder > div:first-child { grid-column: 1 / 3; }
  .suite-grid, .profile-grid { grid-template-columns: 1fr; }
  .benchmark-catalog-list { max-height: 360px; }
  .discovery-row { grid-template-columns: 50px minmax(200px,1fr) 90px minmax(220px,1fr) auto; }
}

@media (max-width: 940px) {
  .auth-layout { grid-template-columns: 1fr; }
  .auth-evidence { display: none; }
}

@media (max-width: 860px) {
  .profile-run-toolbar, .benchmark-library-toolbar { align-items: stretch; flex-direction: column; }
  .app-shell { display: block; }
  .sidebar { transform: translateX(-100%); transition: transform .2s; }
  body.menu-open .sidebar { transform: translateX(0); }
  .main-content { grid-column: 1; }
  .mobile-menu { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-right: 10px; border: 1px solid var(--border-soft); border-radius: 7px; background: #111719; }
  .topbar { padding: 0 18px; }
  .breadcrumbs { margin-right: auto; }
  .content-wrap { padding: 36px 20px 25px; }
  .workbench-heading-actions { width: 100%; justify-content: space-between; }
  .candidate-workbench-editor { grid-template-columns: minmax(0,1fr) 145px 100px; }
  .connection-grid { grid-template-columns: 1fr; }
  .artifact-browser { grid-template-columns: 220px minmax(0,1fr); }
  .view-hero { align-items: flex-start; flex-direction: column; gap: 22px; }
  .view-hero-summary, .snapshot-select { width: 100%; }
  .profile-metrics, .benchmark-library-metrics { grid-template-columns: 1fr 1fr; }
  .benchmark-task-detail-head { align-items: flex-start; flex-direction: column; }
  .benchmark-task-detail-grid { grid-template-columns: 1fr 1fr; }
  .benchmark-task-detail-content { grid-template-columns: 1fr; }
  .benchmark-task-detail-content > aside { border-top: 1px solid var(--border-soft); border-left: 0; }
  .run-fields { grid-template-columns: 1fr 1fr auto; }
  .execution-location { grid-template-columns: 1fr; }
  .execution-target-row { grid-template-columns: 28px 1fr; align-items: center; }
  .target-number { grid-row: 1 / span 5; }
  .target-operator { display: none; }
  .target-route, .target-compatibility { grid-column: 2; }
  .target-remove { grid-column: 1; grid-row: 5; }
  .run-queue-head { display: none; }
  .run-row { grid-template-columns: auto auto auto 1fr; grid-template-areas: "state score cost ." "summary summary summary summary" "target task runner started" "actions actions actions actions"; gap: 8px 14px; }
  .run-row .run-state { grid-area: state; }
  .run-row .run-score { grid-area: score; }
  .run-row > .run-metric:nth-child(3) { grid-area: cost; }
  .run-row .run-benchmark-cell { grid-area: summary; }
  .run-row > .run-metric:nth-child(5) { grid-area: target; }
  .run-row > .run-metric:nth-child(6) { grid-area: task; }
  .run-row .run-runner { grid-area: runner; }
  .run-row > .run-metric:nth-child(8) { grid-area: started; justify-self: end; text-align: right; }
  .run-row .run-actions { grid-area: actions; }
  .remediation-editor-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .repo-list, .execution-route-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .candidate-workbench-editor { grid-template-columns: 1fr 1fr; }
  .candidate-workbench-name, .candidate-workbench-state { grid-column: 1 / -1; }
  .connection-pill { display: none; }
  .account-panel { width: calc(100vw - 32px); }
  .stepper { overflow-x: auto; }
  .step-line { min-width: 16px; margin: 0 10px; }
  .panel-header { align-items: flex-start; flex-direction: column; }
  .repo-search-wrap { width: 100%; }
  .repo-search-wrap input { width: 100%; }
  .rules-grid { grid-template-columns: 1fr; }
  .parameter-grid { grid-template-columns: 1fr 1fr; }
  .parameter-grid label.wide { grid-column: 1 / -1; }
  .benchmark-builder { grid-template-columns: 1fr; align-items: stretch; }
  .benchmark-builder > div:first-child { grid-column: auto; }
  .scan-footer { align-items: stretch; flex-direction: column; }
  .scan-actions { width: 100%; }
  .scan-actions .button { flex: 1; }
  .scan-preview small { white-space: normal; }
  .first-user-setup-overlay { padding: 12px; place-items: start center; }
  .first-user-setup { padding: 21px 17px; }
  .first-user-setup > header h1 { font-size: 19px; }
  .first-user-setup-progress { grid-template-columns: 1fr 22px 1fr; }
  .first-user-setup > footer { align-items: flex-start; flex-direction: column; }
  .auth-column { padding: 26px 20px 22px; border-right: 0; }
  .auth-body { padding: 30px 0; }
  .auth-field-pair { grid-template-columns: 1fr; }
  .auth-column > footer { align-items: flex-start; flex-direction: column; }
  .scan-progress { grid-template-columns: 1fr 38px; }
  .scan-progress-meter { grid-column: 1 / -1; grid-row: 2; }
  .discovery-row { grid-template-columns: 44px 1fr auto; }
  .discovery-fast { grid-column: 2; }
  .discovery-outcome { grid-column: 2 / -1; }
  .candidate-card { grid-template-columns: 48px 1fr; }
  .candidate-gates { grid-column: 1 / -1; }
  .candidate-action { grid-column: 1 / -1; grid-row: auto; grid-template-columns: 1fr auto; align-items: center; width: 100%; }
  .artifact-heading { align-items: flex-start; flex-direction: column; }
  .remediation-card { grid-template-columns: 1fr auto; }
  .remediation-card-reason { grid-column: 1 / -1; }
  .artifact-actions { width: 100%; justify-content: space-between; }
  .artifact-browser { min-height: 700px; grid-template-columns: 1fr; grid-template-rows: 180px 1fr; }
  .file-tree { border-right: 0; border-bottom: 1px solid var(--border-soft); }
  .view-hero h1 { font-size: 37px; }
  .run-fields { grid-template-columns: 1fr; }
  .execution-location-options { grid-template-columns: 1fr; }
  .route-heading-actions { width: 100%; align-items: stretch; flex-direction: column-reverse; }
  .execution-target-row { grid-template-columns: 28px 1fr; align-items: center; }
  .target-number { grid-row: 1 / span 5; }
  .target-operator { display: none; }
  .target-route, .target-compatibility { grid-column: 2; }
  .target-remove { grid-column: 1; grid-row: 5; }
  .omnigent-seam { align-items: flex-start; flex-direction: column; }
  .run-launch { align-items: stretch; flex-direction: column; }
  .run-queue-head { display: none; }
  .run-row { gap: 8px 12px; padding: 14px; }
  .run-row .run-runner { justify-self: start; text-align: left; }
  .benchmark-validation-phases { grid-template-columns: 1fr; }
  .benchmark-validation-current > div { align-items: flex-start; flex-direction: column; gap: 4px; }
  .profile-metrics, .benchmark-library-metrics { grid-template-columns: 1fr 1fr; }
  .profile-chart { height: 330px; }
}

@media (max-width: 420px) {
  .repo-list, .execution-route-list { grid-template-columns: 1fr; }
}

.auth-hint {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--muted, #8b8b8b);
}
