/* Fieldwork · light workspace. One palette for every page and inspector. */
:root {
  color-scheme: light;
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji";
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  color: #37352f;
  background: #ffffff;
  --text: #37352f;
  --text-secondary: #61605c;
  --muted: #787774;
  --placeholder: #a5a39e;
  --surface: #ffffff;
  --subtle: #f7f7f5;
  --hover: #efefed;
  --selected: #e8e8e5;
  --line: #e9e9e7;
  --line-strong: #d3d1cb;
  --panel: #ffffff;
  --accent: #2383e2;
  --accent-hover: #1b6fc2;
  --blue-bg: #e7f3f8;
  --green: #356d4a;
  --green-bg: #edf3ec;
  --orange: #956125;
  --orange-bg: #fbf3db;
  --danger: #b33a32;
  --danger-bg: #fbe4e2;
  --mint: #356d4a;
  --radius: 4px;
  --sidebar-width: 240px;
}
.readable-record {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) 3fr;
  gap: 8px 18px;
  font-size: 13px;
}
.readable-record dt {
  color: var(--muted);
  text-transform: capitalize;
}
.readable-record dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.readable-list {
  margin: 4px 0;
  padding-left: 18px;
}
.readable-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.source-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-height: 480px;
  overflow: auto;
  line-height: 1.6;
}
.source-location {
  font-size: 12px;
  overflow-wrap: anywhere;
}
.finding {
  border-left: 2px solid var(--orange);
  margin: 16px 0;
}
.finding blockquote {
  margin: 10px 0;
  color: var(--muted);
}
.task-prompt {
  line-height: 1.65;
}
.process-steps {
  padding-left: 24px;
  line-height: 1.6;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input,
textarea,
select {
  font: inherit;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
  border: 1px solid var(--line);
}

button:disabled {
  cursor: not-allowed;
}
a {
  text-decoration: none;
}
input,
textarea,
select {
  width: 100%;
}

textarea {
  resize: vertical;
}

label {
  display: block;
  line-height: 1.6;
  margin: 16px 0 7px;
}
label.check {
  display: flex;
  gap: 10px;
}
h1,
h2,
h3,
p {
  margin: 0;
}

h2 {
  letter-spacing: -0.2px;
}

small,
.muted {
  color: var(--muted);
}
small {
  line-height: 1.6;
}
pre {
  white-space: pre-wrap;
  word-break: break-word;
  font: 12px/1.65 ui-monospace,
    SFMono-Regular,
    monospace;
  margin: 0;
}
code {
  font:
    12px ui-monospace,
    monospace;
}
details {
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
summary {
  cursor: pointer;
  line-height: 1.6;
}
details pre {
  padding: 14px 0;
}
.shell {
  display: grid;
  min-height: 100vh;
}
.sidebar {
  display: flex;
  flex-direction: column;
  position: fixed;
  inset: 0 auto 0 0;
}

.mark {
  display: grid;
  grid-template-columns: repeat(2, 8px);
  gap: 4px;
  transform: rotate(-12deg);
}
.mark i {
  width: 8px;
  height: 8px;
  background: var(--mint);
  border-radius: 1px;
}
.mark i:last-child {
  background: transparent;
  border: 1px solid var(--mint);
}

.side-label {
  padding: 15px 10px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.side-label button {
  border: 0;
  font-size: 20px;
  padding: 0 4px;
  color: var(--text-secondary);
}
.project-nav {
  display: flex;
  flex-direction: column;
  gap: 5px;
  overflow: auto;
}
.project-link {
  display: flex;
  gap: 9px;
  text-align: left;
  align-items: flex-start;
  background: transparent;
  border: 0;
  color: var(--text-secondary);
  border-radius: 6px;
  padding: 11px 10px;
  font-size: 12px;
  line-height: 1.6;
}
.project-link .dot {
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--surface);
  margin-top: 7px;
}
.project-link.selected {
  background: var(--surface);
  color: var(--text);
}
.project-link.selected .dot {
  background: var(--mint);
}
.sidebar-bottom {
  margin-top: auto;
}
.sidebar-bottom p {
  font-size: 12px;
  color: var(--text-secondary);
}
.sidebar-bottom small {
  font-size: 10px;
}
.main {
  grid-column: 2;
  min-width: 0;
}
.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: var(--muted);
}
.topbar-right {
  display: flex;
  align-items: center;
  gap: 20px;
}
.status-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 7px;
}
.content {
  margin: auto;
}
.breadcrumb {
  font-size: 12px;
  color: var(--text-secondary);
  margin-bottom: 19px;
}
.project-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 25px;
  margin-bottom: 26px;
}
.project-header p {
  max-width: 760px;
  color: var(--text-secondary);
  font-size: 13px;
  margin-top: 14px;
}
.titleline {
  display: flex;
  gap: 14px;
  align-items: center;
}
.badge {
  display: inline-flex;
  white-space: nowrap;
  line-height: 1.5;
}
.badge.good {
  border-color: var(--line);
}
.badge.warn {
  border-color: var(--line);
}
.badge.bad {
  border-color: var(--line);
}
.tabs {
  display: flex;
  gap: 26px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 30px;
  overflow: auto;
}
.tab {
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 0 0 15px;
  color: var(--text-secondary);
  font-size: 12px;
  white-space: nowrap;
}
.tab.active {
  border-bottom: 2px solid var(--mint);
}
.tab:hover {
  background: transparent;
}
.tab-count {
  color: var(--muted);
  font-size: 10px;
  margin-left: 6px;
}
.metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin-bottom: 28px;
}
.metric {
  border: 1px solid var(--line);
}
.metric .number {
  font-size: 31px;
  letter-spacing: -1px;
  line-height: 1.4;
  margin: 8px 0 5px;
}
.metric small {
  font-size: 11px;
}
.grid-two {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
  gap: 22px;
  align-items: start;
}
.panel {
  border: 1px solid var(--line);
  overflow: hidden;
  margin-bottom: 22px;
}
.panel-head {
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}
.panel-head small {
  font-size: 11px;
}

.row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--line);
}
.row:last-child {
  border-bottom: 0;
}

.row-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.row-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex: none;
}
.step-symbol {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  font: 14px ui-monospace;
}
.experiment-row {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  flex: 1;
  min-width: 0;
}
.coverage {
  margin: 18px 0 23px;
}
.coverage:first-child {
  margin-top: 0;
}
.coverage-label {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  margin-bottom: 11px;
}
.bar {
  height: 5px;
  border-radius: 9px;
  overflow: hidden;
}
.bar span {
  display: block;
  height: 100%;
  border-radius: 9px;
}
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.chip {
  font: 10px ui-monospace,
    monospace;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 4px 6px;
}
.timeline {
  position: relative;
  padding-left: 20px;
  margin: 0 0 25px;
  border-left: 1px solid var(--line);
}
.timeline:before {
  content: "";
  position: absolute;
  left: -4px;
  top: 2px;
  width: 7px;
  height: 7px;
  background: var(--orange);
  border-radius: 50%;
}
.timeline p {
  font-size: 12px;
  margin-top: 8px;
  color: var(--text-secondary);
}
.timeline small {
  font-size: 10px;
}
.note {
  line-height: 1.7;
}

.empty {
  padding: 42px 24px;
  text-align: center;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.7;
}
.empty button {
  margin-top: 18px;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 20px;
}
.library-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 18px;
}
.source-card {
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
}

.source-icon {
  font: 21px ui-monospace;
}
.source-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}
.goal-form {
  max-width: 900px;
}
.goal-form textarea {
  min-height: 160px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.form-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 25px;
}
.task-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.task-table th {
  text-align: left;
  font-weight: 500;
  padding: 14px 20px;
  border-bottom: 1px solid var(--line);
}
.task-table td {
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}
.task-table tr:last-child td {
  border-bottom: 0;
}
.task-table td:first-child {
  width: 35px;
}
.task-table .task-open {
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  font-size: 13px;
}
.task-table small {
  display: block;
  margin-top: 6px;
  font-size: 10px;
}
dialog {
  border: 1px solid var(--line);
  padding: 0;
  width: min(800px, 94vw);
  max-height: 90vh;
}
dialog.wide {
  width: min(1130px, 94vw);
}

.modal-head {
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 2;
}

.modal-body h3 {
  margin: 18px 0 12px;
}

.close {
  padding: 3px 9px;
  font-size: 22px;
  border: 0;
  background: none;
}
.modal-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.control {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.control-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
}
.criterion {
  display: flex;
  gap: 8px;
  font-size: 11px;
  line-height: 1.7;
  margin: 7px 0;
  color: var(--text-secondary);
}
.criterion .yes {
  color: var(--mint);
}
.criterion .no {
  color: var(--danger);
}
.divider {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 24px 0;
}
.mono {
  font:
    11px/1.6 ui-monospace,
    monospace;
}
.running {
  animation: pulse 1.6s infinite;
}
@keyframes pulse {
  50% {
    opacity: 0.4;
  }
}
#toast {
  position: fixed;
  bottom: 25px;
  right: 28px;
  border: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.6;
  z-index: 999;
  display: none;
}

.loading {
  padding: 60px;
}
.ledger {
  font:
    11px/1.7 ui-monospace,
    monospace;
  color: var(--text-secondary);
  padding: 14px 20px;
  border-bottom: 1px solid var(--line);
}
.ledger strong {
  color: var(--text);
}
.footer-note {
  margin-top: 24px;
  font-size: 11px;
  color: var(--muted);
}
.mobile-brand {
  display: none;
}
.stack {
  display: flex;
  gap: 10px;
  align-items: center;
}
.long {
  overflow-wrap: anywhere;
}
.progress-steps {
  display: flex;
  gap: 6px;
  margin: 11px 0 0;
}
.progress-steps span {
  height: 3px;
  width: 25px;
  border-radius: 4px;
}

.hash {
  color: var(--muted);
  font: 10px ui-monospace;
}
.file-drop {
  border: 1px dashed var(--line);
  padding: 22px;
  margin: 16px 0;
}
.selectbar {
  display: flex;
  align-items: center;
  gap: 14px;
}
.red {
  color: var(--danger);
}
.mint {
  color: var(--mint);
}
@media (min-width: 1500px) {
  .content {
    padding-top: 45px;
  }
}
@media (max-width: 1100px) {
  .sidebar {
    width: 205px;
  }
  .shell {
    grid-template-columns: 205px minmax(0, 1fr);
  }
  .topbar {
    padding: 0 24px;
  }
  .content {
    padding: 28px 24px;
  }
  .grid-two {
    grid-template-columns: 1fr;
  }
  .metrics {
    gap: 10px;
  }
  .metric {
    padding: 15px;
  }
  .titleline {
    display: block;
  }
  .titleline .badge {
    margin-top: 12px;
  }
  .project-header {
    gap: 12px;
  }
  .project-header h1 {
    font-size: 27px;
  }
}
@media (max-width: 760px) {

  .sidebar {
    position: static;
    width: auto;
    padding: 16px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .brand {
    padding: 0 5px 15px;
  }
  .sidebar-bottom,
  .side-label {
    display: none;
  }
  .project-nav {
    flex-direction: row;
    overflow: auto;
  }
  .project-link {
    min-width: 170px;
    max-width: 190px;
  }
  .main {
    display: block;
  }
  .topbar {
    height: 55px;
    padding: 0 18px;
  }
  .topbar-right {
    gap: 8px;
  }

  .project-header {
    display: block;
  }
  .project-header > button {
    margin-top: 20px;
  }
  .metrics {
    grid-template-columns: 1fr 1fr;
  }
  .tabs {
    gap: 22px;
  }

  .task-table th:nth-child(4),
  .task-table td:nth-child(4) {
    display: none;
  }
  .task-table td,
  .task-table th {
    padding: 13px 10px;
  }
  .row {
    padding: 16px;
  }
  .row-actions {
    flex-wrap: wrap;
  }
  .modal-head,
  .modal-body {
    padding: 20px;
  }
  .badge {
    font-size: 9px;
  }
}

.access-card form {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}
.access-card input {
  width: 100%;
  box-sizing: border-box;
}
.access-card button {
  margin-top: 8px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
[hidden] {
  display: none !important;
}
.task-open {
  text-align: left;
  background: transparent;
  border: 0;
  padding: 0;
  font-weight: 600;
}
.filter-bar {
  display: flex;
  gap: 12px;
  margin: 0 0 18px;
}
.filter-bar input {
  flex: 1;
  min-width: 0;
}
.filter-bar select {
  max-width: 210px;
}
.decision-row {
  display: flex;
  gap: 18px;
  padding: 22px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.decision-row:last-child {
  border-bottom: 0;
}
.decision-row > input {
  flex: none;
}
.decision-copy {
  flex: 1;
  min-width: 0;
}
.decision-copy p {
  font-size: 12px;
  color: var(--muted);
  margin-top: 8px;
  max-width: 790px;
}
.decision-copy small {
  display: block;
  margin-top: 5px;
  color: var(--orange);
}
.decision-row > button {
  flex: none;
}
.attention {
  border-color: var(--line);
}
.first-decision {
  display: grid;
  gap: 18px;
  justify-items: start;
  padding: 32px;
}
.first-decision p {
  color: var(--muted);
  font-size: 13px;
}
.selectbar label {
  margin: 0;
}
.selectbar {
  margin-bottom: 18px;
}
.failure-summary {
  font-size: 12px;
  margin: 8px 0;
}
.launch-preview {
  display: grid;
  gap: 9px;
  border: 1px solid var(--line);
  padding: 18px;
  margin-top: 20px;
}
.launch-preview span {
  font-size: 12px;
}
.launch-preview small {
  font-size: 11px;
}
.task-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.task-toolbar small {
  display: block;
  margin-top: 10px;
  max-width: 790px;
}
.task-toolbar > button {
  flex: none;
}
.review-tabs {
  display: flex;
  overflow: auto;
  padding-bottom: 16px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.review-tabs button {
  border: 0;
  background: transparent;
  font-size: 12px;
  padding: 8px 12px;
  white-space: nowrap;
}

.review-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.review-split > * {
  min-width: 0;
}
.review-decisions h3:first-child {
  margin-top: 0;
}
.blocker-list {
  list-style: none;
  padding: 0;
  margin: 12px 0 24px;
}
.blocker-list li {
  font-size: 13px;
  line-height: 1.6;
  padding: 12px 14px;
  border-left: 2px solid var(--orange);
  margin-top: 8px;
}
.blocker-list small {
  display: block;
  margin-top: 6px;
}
.evidence-reader {
  border: 1px solid var(--line);
  padding: 18px;
  position: sticky;
  top: 85px;
}
.evidence-reader .empty {
  padding: 24px 8px;
}
.evidence-title {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: start;
  font-size: 13px;
}
.evidence-title small {
  display: block;
  font-size: 10px;
  line-height: 1.7;
  margin: 7px 0 15px;
  overflow-wrap: anywhere;
}
.evidence-text {
  font-size: 11px;
  max-height: min(58vh, 580px);
}
mark {
  border-radius: 2px;
  padding: 2px 0;
}
.command-line {
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
  margin-bottom: 12px;
  overflow-wrap: anywhere;
}
.exact-excerpt {
  padding: 12px;
  margin: 12px 0;
  border-left: 2px solid var(--mint);
  font-size: 13px;
  white-space: pre-wrap;
}
.evidence-list {
  display: grid;
  gap: 10px;
}
.evidence-link {
  text-align: left;
  background: transparent;
}
.evidence-link strong {
  display: block;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.evidence-link small {
  display: block;
  margin-top: 6px;
  font-size: 10px;
  overflow-wrap: anywhere;
}

.evidence-links {
  flex-wrap: wrap;
  margin-top: 10px;
  gap: 5px;
}
.finding {
  margin-top: 14px;
  padding: 4px 0 6px 14px;
}
.finding p {
  font-size: 12px;
}
.finding .next-action {
  margin: 9px 0;
}
.finding > small {
  display: block;
  font-size: 10px;
  margin-top: 10px;
  overflow-wrap: anywhere;
}
.finding .row-title {
  align-items: flex-start;
}
.finding-closed {
  border-left-color: var(--line);
}
.finding-closed strong {
  color: var(--muted);
}
.finding-action-form {
  margin-top: 10px;
}
.review-obligation,
.review-finding-editor,
.criterion-editor,
.case-editor,
#revise-form > fieldset {
  border: 1px solid var(--line);
  border-radius: 7px;
  margin: 20px 0;
  padding: 14px;
  min-width: 0;
}
.review-obligation legend,
.review-finding-editor legend,
.criterion-editor legend,
.case-editor legend,
#revise-form > fieldset > legend {
  font-size: 12px;
  padding: 0 5px;
}
.review-obligation label {
  font-size: 11px;
  margin-top: 10px;
}
.review-obligation textarea {
  min-height: 70px;
  font-size: 12px;
}
.review-obligation .form-grid {
  gap: 12px;
}
.evidence-reference-list {
  list-style: none;
  padding: 0;
}
.evidence-reference-list li {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
}
.evidence-reference-list code {
  font-size: 10px;
  overflow-wrap: anywhere;
}
.evidence-reference-list span {
  color: var(--muted);
  font-size: 11px;
}
.native-diff,
.patch-preview {
  margin: 14px 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: auto;
}
.diff-line {
  display: flex;
  gap: 12px;
  padding: 3px 12px;
  min-height: 22px;
}
.diff-line > span {
  flex: 0 0 10px;
  user-select: none;
}
.diff-line code {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.6;
}

.patch-preview {
  padding: 10px 0;
  max-height: 520px;
}
.patch-preview > span {
  display: inline-block;
  width: 100%;
  min-height: 18px;
  padding: 0 12px;
}

.attempt {
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.attempt .row-title {
  align-items: flex-start;
  flex-wrap: wrap;
}
.trajectory-step {
  border-left: 2px solid var(--line);
  padding: 8px 12px;
  margin-bottom: 12px;
  font-size: 12px;
}
.trajectory-step strong {
  overflow-wrap: anywhere;
}
.task-record-actions {
  margin-top: 30px;
}
.permission-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.inventory-count {
  font-size: 12px;
  margin: 15px 0;
  color: var(--muted);
}
.inventory-file {
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}
.inventory-file strong {
  font-size: 13px;
  overflow-wrap: anywhere;
}
.inventory-file small {
  display: block;
  font-size: 11px;
  overflow-wrap: anywhere;
  margin-top: 6px;
}
.inventory-file p {
  font-size: 12px;
  color: var(--muted);
}
.inventory-file code {
  overflow-wrap: anywhere;
}
.observed-scenario {
  margin: 16px 0;
}
.observed-state > p {
  color: var(--muted);
  font-size: 12px;
}
.observed-page {
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
}
.observed-page strong {
  font-size: 12px;
  margin-right: 9px;
}
.observed-page small {
  display: block;
  margin-top: 7px;
  font-size: 11px;
}
.output-summary {
  display: grid;
  grid-template-columns: minmax(70px, 1fr) 2fr;
  gap: 9px 18px;
  font-size: 12px;
}
.output-summary dt {
  color: var(--muted);
  text-transform: capitalize;
}
.output-summary dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.comparison-values {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.comparison-values > section {
  flex: 1;
  min-width: 120px;
}
.task-record-actions .stack {
  padding-top: 12px;
  flex-wrap: wrap;
}
.task-prompt {
  white-space: pre-wrap;
}
#review-update {
  margin-bottom: 18px;
}
#review-update small {
  display: block;
  margin-top: 6px;
}
@media (max-width: 900px) {
  .review-split {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .evidence-reader {
    position: static;
  }
  .evidence-text {
    max-height: 420px;
  }
  .review-tabs {
    position: sticky;
    top: 68px;
    background: var(--surface);
    z-index: 1;
    padding-top: 10px;
  }
}
@media (max-width: 600px) {
  .decision-row {
    padding: 16px;
    gap: 12px;
    flex-wrap: wrap;
  }
  .decision-copy {
    flex-basis: calc(100% - 42px);
  }
  .decision-row > button {
    margin-left: auto;
  }
  .decision-row > input {
    align-self: flex-start;
    margin-top: 5px;
  }
  .filter-bar {
    flex-direction: column;
  }
  .filter-bar select {
    max-width: none;
  }
  .section-heading {
    align-items: flex-start;
    gap: 10px;
  }
  .section-heading button {
    max-width: 60%;
  }
  .task-toolbar {
    display: block;
  }
  .task-toolbar > button {
    margin-top: 15px;
  }
  .task-toolbar .badge {
    white-space: normal;
  }
  .modal-head h2 {
    font-size: 17px;
    line-height: 1.5;
  }
  dialog.wide {
    width: 98vw;
    max-height: 96vh;
  }
  .modal-head,
  .modal-body {
    padding: 17px;
  }
  .review-tabs {
    top: 61px;
  }
  .row-title {
    flex-wrap: wrap;
  }
  .stack {
    flex-wrap: wrap;
  }
  .topbar > span {
    display: none;
  }
  .topbar {
    justify-content: flex-end;
  }
  .project-header > .stack {
    margin-top: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Source-to-draft review uses the existing task layout. */
.candidate-list { display: flex; gap: 8px; overflow-x: auto; margin: 18px 0; }
.candidate-list button { flex: 1 0 180px; text-align: left; }
.candidate-list small, #source-investigation-form .check small,
#candidate-source .source-location { display: block; margin-top: 4px; color: var(--muted); }
.candidate-list button.selected { border-color: var(--mint); }
#source-investigation-form fieldset, #native-source-form fieldset,
#candidate-draft-form fieldset { border: 1px solid var(--line); border-radius: 8px; padding: 12px 16px; margin: 16px 0; }
#source-investigation-form .check { align-items: flex-start; }
#candidate-source blockquote { margin: 16px 0; line-height: 1.65; }
#candidate-draft-form select[multiple] { min-height: 90px; }

.native-task { min-width: 0; }
.native-task h3 { margin: 20px 0 8px; }
.native-task p { margin: 8px 0; line-height: 1.55; }
.table-scroll { max-width: 100%; overflow-x: auto; margin-top: 12px; }
.native-metrics { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 13px; }
.native-metrics th, .native-metrics td { padding: 10px 14px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
.native-metrics th { color: var(--muted); font-size: 11px; font-weight: 500; }

.native-input-list { list-style: none; padding: 0; }
.native-input-list li { padding: .7rem 0; border-bottom: 1px solid var(--line); }
.native-input-list small { display: block; }
.native-input-list .source-input-name { overflow-wrap: anywhere; }

.outcome-source-row { margin: 1rem 0; }
.outcome-source summary { overflow-wrap: anywhere; }
.outcome-source-quote { white-space: pre-wrap; overflow-wrap: anywhere; }

.frozen-source-context { margin: 1rem 0; }
.source-gap-target { overflow-wrap: anywhere; }
.frozen-source-context li small { display: block; }

.source-asset-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; }
.source-asset-split > section { min-width: 0; }
.source-asset .source-text { max-height: 32rem; overflow: auto; }
.source-hash { overflow-wrap: anywhere; }
@media (max-width: 700px) { .source-asset-split { grid-template-columns: minmax(0, 1fr); } }

/* One task, three stages. Detail readers stay beside the workflow. */

html {
  scroll-behavior: smooth;
}
body:has(dialog[open]) { overflow: hidden; }

.brand-period { color: var(--mint); }
.workspace-picker {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  align-items: center;
}
.workspace-picker label {
  grid-column: 1 / -1;
  margin: 0;
}
.workspace-picker select, #pipeline-focus {
  min-width: 0;
  text-overflow: ellipsis;
}
.workspace-picker button {
  padding: 5px;
}
.focus-label {
  margin-top: 16px;
}

.pipeline-outline {
  display: flex;
  flex-direction: column;
}
.pipeline-outline a {
  color: var(--text-secondary);
  display: flex;
  align-items: center;
}

.pipeline-outline a[aria-current="step"] {
  border-color: var(--line);
}
.outline-number {
  font-variant-numeric: tabular-nums;
}
.pipeline-outline strong {
  display: block;
}
.pipeline-outline small {
  display: block;
}
.outline-done {
  margin-left: auto;
  font-size: 11px;
}
.workspace-tools {
  border-top: 1px solid var(--line);
  display: grid;
}
.workspace-tools button {
  text-align: left;
  border: 0;
  padding-left: 9px;
}

.pipeline-breadcrumb {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pipeline-breadcrumb > span {
  color: var(--muted);
}
.pipeline-shell .topbar-right {
  flex-shrink: 0;
}

.pipeline-heading { margin: 0 0 30px; }
.pipeline-heading > .eyebrow {
  margin-bottom: 12px;
}
.pipeline-title {
  justify-content: space-between;
}

.pipeline-status {
  flex-shrink: 0;
}
.pipeline-status.attention {
  border-color: var(--line);
}
.pipeline-stage {
  margin: 0 0 22px;
}
.pipeline-stage-head {
  display: flex;
}
.stage-number {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  font-variant-numeric: tabular-nums;
}
.pipeline-stage-head h2 {
  letter-spacing: 0;
}

.stage-state {
  margin-left: auto;
  white-space: nowrap;
}

.task-brief h3 {
  margin-bottom: 8px;
}
.task-brief p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.task-brief .task-constraint {
  margin-top: 12px;
}
.pipeline-source-row {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  border: 1px solid var(--line);
}

.source-row-icon {
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 5px;
}
.pipeline-source-row strong {
  display: block;
}
.pipeline-source-row small {
  display: block;
}
.source-row-arrow {
  margin-left: auto;
}
.pipeline-inline-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.pipeline-inline-actions small {
  margin-left: auto;
}
.pipeline-artifacts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.artifact-preview {
  display: block;
  min-width: 0;
  text-align: left;
  padding: 0;
  border-color: var(--line);
  overflow: hidden;
}
.artifact-image {
  display: block;
  overflow: hidden;
}
.artifact-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.artifact-placeholder {
  display: grid;
  height: 100%;
  place-items: center;
}
.artifact-caption {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--line);
}
.run-observation {
  display: flex;
  gap: 11px;
}
.record-dot {
  width: 6px;
  height: 6px;
  flex-shrink: 0;
  border-radius: 50%;
  margin-top: 6px;
}
.run-observation strong {
  display: block;
  font-weight: 500;
}
.run-observation p {
  margin-top: 4px;
}
.run-observation small {
  display: block;
  margin-top: 3px;
}
.review-outcome {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 20px;
}
.review-outcome.needs-work {
  border-color: var(--line);
}
.outcome-symbol {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  flex-shrink: 0;
}
.needs-work .outcome-symbol {
  border-color: var(--line);
}

.review-outcome p {
  margin-top: 4px;
}
.pipeline-issues { list-style: none; margin: 0 0 23px; padding: 0; }
.pipeline-issues li { display: flex; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.pipeline-issues li > span {
  font-size: 17px;
}
.pipeline-issues strong {
  font-weight: 500;
}
.pipeline-issues p {
  line-height: 1.75;
  margin-top: 5px;
}

.pipeline-grade { margin-top: 22px; font-size: 11px; }

.pipeline-grade p {
  margin: 12px 0;
}
.pipeline-delivery { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }

.pipeline-delivery p {
  margin-top: 5px;
}
.pipeline-delivery small {
  display: block;
  margin-top: 5px;
  line-height: 1.75;
}
.pipeline-empty, .delivery-note {
  margin: 16px 0;
}
.pipeline-footer { display: flex; justify-content: flex-end; gap: 12px; }
.pipeline-footer button {
  border: 0;
}
dialog.inspector, dialog.inspector.wide {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  height: 100dvh;
  max-height: 100dvh;
  max-width: 100vw;
  border-radius: 0;
  border: 0;
}

.inspector .close {
  align-self: flex-start;
}

.inspector .review-split, .inspector .modal-columns { grid-template-columns: minmax(0, 1fr); }
.inspector .evidence-reader { position: static; max-height: none; }

.inspector .review-tabs { display: none; }
.inspector-view-label {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 20px 0;
}
.inspector-view-label select {
  width: 210px;
  margin-left: auto;
  padding: 8px 10px;
}
.qc-result .review-outcome h3 { margin: 0; }
.qc-record-meta {
  margin-bottom: 9px;
  overflow-wrap: anywhere;
}
.qc-section-title {
  margin: 26px 0 13px !important;
}
.qc-check {
  padding: 0;
  margin: 9px 0;
  border: 1px solid var(--line);
  overflow: hidden;
}
.qc-check summary {
  list-style: none;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.qc-check summary::-webkit-details-marker { display: none; }
.qc-check summary strong {
  line-height: 1.6;
  flex: 1;
}
.qc-symbol {
  width: 14px;
  font-size: 14px;
  flex-shrink: 0;
  line-height: 1.4;
}

.qc-state {
  white-space: nowrap;
  margin-top: 3px;
}
.qc-check-content {
  padding: 2px 14px 14px 36px;
}
.qc-check-content p {
  line-height: 1.8;
  margin-bottom: 10px;
}

.qc-check-content .outcome-source { margin-top: 12px; }
.qc-review-check { margin: 18px 0; }

@media (max-width: 1100px) {
  .pipeline-content { padding: 30px; }
  .pipeline-title { display: block; }
  .pipeline-status { display: inline-block; margin-top: 13px; }
  .pipeline-heading h1 { font-size: 24px; }
  .artifact-image { height: 160px; }
  dialog.inspector, dialog.inspector.wide { width: min(720px, 72vw); }
}
@media (max-width: 760px) {

  .pipeline-shell .sidebar {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
}
  .pipeline-shell .brand {
  align-self: center;
}

  #pipeline-focus { grid-column: 1 / -1; }
  .pipeline-outline {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

  .pipeline-breadcrumb span, .pipeline-shell .topbar-right button:first-child { display: none; }

  .stage-number { width: 24px; height: 24px; font-size: 9px; }

  .pipeline-status { margin-top: 12px; }

  dialog.inspector, dialog.inspector.wide {
  border-left: 0;
}

  .qc-check summary { gap: 8px; }
}

/* Environment / axis task development */

.platform-shell .workspace-picker { grid-template-columns: 1fr; }
.axis-label { display:flex; align-items:center; justify-content:space-between; }
.axes-nav {
  display: grid;
}
.axes-nav button {
  text-align: left;
  border: 0;
  background: transparent;
}
.axes-nav button[aria-current] { background:var(--surface); color:var(--text); }
.axes-nav button small { margin-left:auto; }
.axis-icon { color:var(--muted); }

.axis-metrics {
  border-bottom: 1px solid var(--line);
}
.axis-metrics .metric {
  border-radius: 0;
}

.axis-library-head {
  display: flex;
  justify-content: space-between;
}
.axis-library-head h2 {
  margin: 0 0 6px;
}
.axis-library-head p {
  margin: 0;
}
.axis-library-head input { max-width:260px; margin:0; }
.axis-task-header,.axis-task-row { display:grid; grid-template-columns:minmax(220px,1fr) 50px 110px 100px 90px; gap:15px; align-items:center; padding:18px 24px; border-top:1px solid var(--line); font-size:12px; }
.axis-task-header { color:var(--muted); padding-top:10px; padding-bottom:10px; background:var(--surface); font-size:11px; }
.axis-task-row:hover { background:var(--surface); }
.axis-task-row>div>small { display:block; color:var(--muted); line-height:1.7; margin-top:5px; }

.axis-support {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.axis-support p { line-height:1.7; }
.editor-launch {
  border: 1px solid var(--line);
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 22px 0;
}
.editor-launch code {
  display: block;
  width: 100%;
  overflow-wrap: anywhere;
}

a.button {
  border: 1px solid var(--line);
  text-decoration: none;
}
.workbench-section { border-top:1px solid var(--line); margin:26px 0; padding-top:22px; }
.workbench-section>h3 { font-size:16px; margin:0 0 14px; }
.workbench-section>p { font-size:13px; line-height:1.7; color:var(--text-secondary); }
.workspace-file {
  border: 1px solid var(--line);
  border-radius: 4px;
  margin: 8px 0;
}
.workspace-file summary { font-size:12px; font-family:ui-monospace,monospace; cursor:pointer; }
.workspace-file label { padding-top:10px; }
.code-input {
  font-family: ui-monospace,monospace;
  line-height: 1.6;
  tab-size: 4;
  width: 100%;
  resize: vertical;
}
.workspace-lint p {
  font-size: 12px;
  margin: 9px 0;
}
.workspace-lint small {
  display: block;
  padding-left: 15px;
}
.workspace-finding,.workspace-check {
  padding: 16px;
  margin: 12px 0;
  border: 1px solid var(--line);
}
.workspace-finding p { font-size:13px; line-height:1.6; }
.workspace-finding form { display:flex; gap:8px; align-items:center; }
.workspace-finding form input { margin:0; }
.regression-case { padding:14px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 130px; gap:20px; align-items:center; }
.regression-case label { font-size:12px; line-height:1.6; display:flex; gap:10px; margin:0; }
.regression-case input[type=checkbox] { width:auto; margin:4px 0; }
.workspace-check summary,.workspace-revision summary { font-size:13px; line-height:1.7; cursor:pointer; }
.workspace-check summary small,.workspace-revision summary small {
  display: block;
}
.grader-case { border-top:1px solid var(--line); margin-top:16px; padding-top:16px; font-size:12px; }
.grader-case>span { display:block; margin:8px 0; color:var(--text-secondary); }
.grader-comparison {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 20px;
  align-items: center;
  padding: 16px;
  margin: 12px 0;
}
.grader-comparison small,.grader-comparison b,.grader-comparison code { display:block; margin-bottom:8px; }
.workspace-revision { border-bottom:1px solid var(--line); padding:14px 0; }
.back-to-axis { margin-bottom:22px; }
@media(max-width:1100px) { .axis-task-header,.axis-task-row { grid-template-columns:minmax(180px,1fr) 32px 95px 80px; gap:10px; padding:14px; } .axis-task-header>span:last-child {display:none;} .axis-task-row>button {grid-column:1/-1; justify-self:start;} }
@media(max-width:760px) { .platform-shell {display:block;} .platform-shell .sidebar {width:100%;} .axis-metrics {grid-template-columns:1fr 1fr;} .axis-metrics .metric {padding:14px;} .axis-task-header {display:none;} .axis-task-row {grid-template-columns:1fr auto;} .axis-task-row>div {grid-column:1/-1;} .axis-task-row>span:nth-child(2)::before {content:"Runs: ";} .axis-task-row>span:nth-child(4) {grid-column:1/-1;} .axis-library-head {display:block; padding:16px;} .axis-library-head input {max-width:100%;margin-top:16px;} .axis-support {grid-template-columns:1fr;gap:12px;} .regression-case {grid-template-columns:1fr;gap:8px;} .workspace-finding form {display:block;} .workspace-finding form button {margin-top:10px;} }
.regression-metric { grid-column:1/-1; padding:4px 0; }
.regression-metric summary {
  font-size: 11px;
  cursor: pointer;
}
.regression-metric label { display:block; margin-top:12px; }
.platform-shell .pipeline-title h1 { margin-right:auto; }

/* Product layout: paper canvas, compact chrome, document blocks, database rows. */
html { scrollbar-gutter: auto; }
body { font-size: 14px; line-height: 1.5; background: var(--surface); }
::selection { background: #cce6ff; }
.ui-icon { display: inline-block; flex: none; vertical-align: middle; }
button, a.button { border-radius: var(--radius); font-size: 14px; line-height: 20px; min-height: 30px; padding: 4px 10px; color: var(--text); background: var(--surface); border-color: var(--line-strong); font-weight: 400; transition: background 100ms ease, box-shadow 100ms ease; }
button:hover, a.button:hover { background: var(--hover); border-color: var(--line-strong); }
button:active { background: var(--selected); }
button.primary, .pipeline-stage-body > button.primary { color: white; background: var(--accent); border-color: var(--accent); font-size: 14px; padding: 4px 12px; font-weight: 500; }
button.primary:hover, .pipeline-stage-body > button.primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
button.ghost { border-color: transparent; background: transparent; }
button.ghost:hover { background: var(--hover); border-color: transparent; }
button.small { min-height: 28px; font-size: 13px; padding: 3px 8px; }
button:disabled { opacity: .45; }
button:disabled:hover { background: inherit; }
button.primary:disabled:hover { background: var(--accent); }
button:has(> .ui-icon), a.button:has(> .ui-icon) { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
a { color: var(--text); text-decoration-color: var(--line-strong); }
p a, small a, .modal-body a:not(.button) { text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: var(--text); }
a.button { display: inline-flex; align-items: center; }
input, textarea, select { background: var(--subtle); color: var(--text); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 7px 9px; font-size: 14px; line-height: 1.5; }
input::placeholder, textarea::placeholder { color: var(--placeholder); opacity: 1; }
input[type="checkbox"] { accent-color: var(--accent); width: 15px; height: 15px; flex: none; }
input[type="file"] { font-size: 13px; }
input::file-selector-button { font: inherit; background: var(--surface); border: 1px solid var(--line-strong); border-radius: 3px; padding: 3px 8px; margin-right: 10px; color: var(--text); cursor: pointer; }
input:focus, textarea:focus, select:focus { outline: 2px solid #2383e245; outline-offset: 0; border-color: var(--accent); }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
label { color: var(--text-secondary); font-size: 13px; }
label.check { align-items: flex-start; }
label.check input { margin-top: 4px; }
textarea { min-height: 110px; }
h1 { font-size: 40px; line-height: 1.2; letter-spacing: -1.2px; font-weight: 700; color: var(--text); }
h2 { font-size: 20px; line-height: 1.3; font-weight: 600; color: var(--text); }
h3 { font-size: 16px; font-weight: 600; color: var(--text); }
p { line-height: 1.65; }
small { font-size: 12px; }
pre, code { color: var(--text-secondary); font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; }
pre { font-size: 12px; }
p > code, li > code { background: var(--subtle); color: #c4554d; border-radius: 3px; padding: 2px 5px; }
summary { font-size: 14px; color: var(--text); border-radius: 3px; }
summary:hover { background: var(--subtle); }
summary::marker { font-size: 11px; color: var(--text-secondary); }
.eyebrow { color: var(--muted); font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.skip-link { position: fixed; top: -60px; left: 16px; z-index: 1000; padding: 8px 14px; background: var(--surface); border: 1px solid var(--accent); border-radius: 4px; }
.skip-link:focus { top: 10px; }
#main-content:focus { outline: none; }
.shell, .pipeline-shell, .platform-shell { grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
.sidebar, .pipeline-shell .sidebar, .platform-shell .sidebar { width: var(--sidebar-width); background: var(--subtle); border-right: 1px solid var(--line); padding: 9px 8px 10px; overflow-y: auto; overflow-x: hidden; z-index: 20; }
.workspace-brand { display: flex; align-items: center; justify-content: space-between; min-height: 40px; margin-bottom: 15px; }
.pipeline-shell .brand, .brand { display: flex; align-items: center; gap: 8px; color: var(--text); font-size: 15px; letter-spacing: -.2px; font-weight: 600; padding: 4px 8px; }
.workspace-avatar { width: 23px; height: 23px; display: inline-grid; place-items: center; color: var(--text); background: #e4e3df; border: 1px solid #d3d1cb; border-radius: 5px; font-weight: 700; font-size: 16px; font-family: Georgia, serif; line-height: 1; flex: none; }
.sidebar-dismiss { min-width: 28px; min-height: 28px; padding: 3px !important; color: var(--muted); }
.workspace-picker { padding: 0 8px; gap: 5px; }
.workspace-picker label, .focus-label { color: var(--muted); font-size: 11px; font-weight: 500; line-height: 1.5; }
.workspace-picker select, #pipeline-focus { background: transparent; border-color: var(--line-strong); font-size: 13px; line-height: 1.5; padding: 6px 5px; color: var(--text); border-radius: 4px; }
.workspace-picker button { color: var(--muted); }
.focus-label { margin: 20px 8px 6px; }
#pipeline-focus { margin: 0 8px; width: calc(100% - 16px); }
.workspace-navigation { display: grid; gap: 2px; margin: 20px 0 4px; }
.workspace-navigation .nav-item { justify-content: flex-start; display: flex; gap: 10px; border: 0; padding: 6px 10px; font-size: 14px; min-height: 32px; color: var(--text-secondary); background: transparent; text-align: left; }
.workspace-navigation .nav-item:hover { background: var(--hover); }
.workspace-navigation .nav-item.current { color: var(--text); background: var(--selected); font-weight: 500; }
.nav-item > .ui-icon { color: var(--muted); }
.outline-label { display: flex; align-items: center; min-height: 26px; margin: 22px 10px 5px; font-size: 12px; font-weight: 500; color: var(--muted); text-transform: none; letter-spacing: 0; }
.outline-label button { min-height: 22px; padding: 2px; color: var(--muted); }
.axes-nav { gap: 2px; }
.axes-nav button { display: flex; gap: 8px; border-radius: 4px; min-height: 32px; padding: 6px 10px; color: var(--text-secondary); font-size: 13px; line-height: 1.5; align-items: flex-start; }
.axes-nav button > .ui-icon { margin-top: 2px; color: var(--muted); }
.axes-nav button > span { overflow-wrap: anywhere; }
.axes-nav button[aria-current="page"] { background: var(--selected); color: var(--text); font-weight: 500; }
.axes-nav button:hover { background: var(--hover); }
.axes-nav button small { font-size: 11px; line-height: 20px; font-weight: 400; }
.sidebar-task-name { display: flex; align-items: flex-start; gap: 6px; color: var(--text-secondary); font-size: 12px; padding: 0 10px 8px; overflow-wrap: anywhere; }
.sidebar-task-name .ui-icon { margin-top: 2px; }
.sidebar-empty { font-size: 12px; color: var(--muted); padding: 6px 10px; }
.pipeline-outline { gap: 2px; }
.pipeline-outline a { min-height: 35px; padding: 5px 10px; gap: 10px; border: 0; border-radius: 4px; }
.pipeline-outline a:hover { background: var(--hover); }
.pipeline-outline a[aria-current="step"] { color: var(--text); background: var(--selected); border: 0; }
.pipeline-outline strong { font-size: 13px; font-weight: 500; }
.pipeline-outline small { font-size: 11px; color: var(--muted); margin-top: 0; }
.outline-number { color: var(--muted); font-size: 11px; }
.outline-done { color: var(--green); }
.workspace-tools { border: 0; margin-top: auto; padding-top: 32px; padding-bottom: 16px; gap: 2px; }
.workspace-tools button { justify-content: flex-start; gap: 10px; color: var(--text-secondary); font-size: 13px; padding: 6px 10px; }
.pipeline-shell .sidebar-bottom, .sidebar-bottom { display: flex; gap: 9px; align-items: center; margin: 0; border-top: 1px solid var(--line); padding: 12px 10px 0; color: var(--text-secondary); font-size: 12px; }
.sidebar-bottom strong { font-size: 12px; font-weight: 500; }
.pipeline-shell .sidebar-bottom small { display: flex; align-items: center; gap: 4px; font-size: 11px; margin: 1px 0 0; color: var(--muted); }
.operator-avatar { width: 27px; height: 27px; border-radius: 4px; display: grid; place-items: center; font-size: 13px; font-weight: 500; background: #e8e5df; flex: none; color: #6a6259; }
.topbar, .pipeline-shell .topbar { height: 45px; padding: 0 20px 0 12px; border-bottom: 0; background: var(--surface); gap: 12px; position: sticky; top: 0; z-index: 10; }
.topbar-location { display: flex; align-items: center; min-width: 0; gap: 5px; }
.pipeline-breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-secondary); min-width: 0; }
.pipeline-breadcrumb .breadcrumb-slash { margin: 0; color: var(--placeholder); flex: none; }
.pipeline-breadcrumb .breadcrumb-current { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
.pipeline-breadcrumb > span { margin: 0; }
.pipeline-shell .topbar button { font-size: 13px; color: var(--text-secondary); border-color: transparent; padding: 3px 6px; min-height: 28px; }
.pipeline-shell .topbar .breadcrumb-parent { justify-content: flex-start; min-width: 0; flex-shrink: 2; }
.breadcrumb-parent > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pipeline-shell .topbar .sidebar-toggle { padding: 4px; min-width: 28px; color: var(--muted); }
.pipeline-shell .topbar-right { gap: 6px; }
.pipeline-shell .topbar .budget-button { font-size: 12px; color: var(--muted); white-space: nowrap; }
.content, .pipeline-content { max-width: 1136px; padding: 64px 64px 80px; }
.pipeline-heading { margin-bottom: 30px; }
.page-symbol { color: var(--text); margin-bottom: 22px; line-height: 1; }
.page-symbol .ui-icon { stroke-width: 1.25; }
.pipeline-heading > .eyebrow { font-size: 12px; color: var(--muted); letter-spacing: 0; margin: 0 0 6px; }
.pipeline-heading h1 { font-size: 40px; line-height: 1.2; font-weight: 700; letter-spacing: -1.15px; max-width: 820px; overflow-wrap: anywhere; }
.pipeline-heading > p:last-child { margin-top: 12px; color: var(--muted); font-size: 14px; line-height: 1.6; max-width: 760px; }
.pipeline-title { display: flex; align-items: flex-start; gap: 16px; }
.pipeline-title .page-settings { margin: 4px -5px 0 0; color: var(--muted); }
.pipeline-status { font-size: 12px; color: var(--text-secondary); background: var(--hover); border: 0; padding: 3px 8px; border-radius: 4px; margin-top: 9px; }
.pipeline-status.attention { color: var(--orange); background: var(--orange-bg); }
.axis-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 0; border-top: 1px solid var(--line); margin: 0 0 38px; padding-top: 16px; gap: 24px; }
.axis-metrics .metric { padding: 0; border: 0; background: transparent; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 8px; min-width: 0; }
.axis-metrics .eyebrow { font-size: 12px; color: var(--muted); }
.axis-metrics .number { font-size: 18px; font-weight: 500; letter-spacing: 0; font-variant-numeric: tabular-nums; margin: 0; }
.axis-metrics small { grid-column: 1 / -1; font-size: 11px; line-height: 1.5; color: var(--muted); }
.axis-library { background: var(--surface); border: 0; border-radius: 0; overflow: visible; }
.axis-library-head { padding: 0 0 18px; align-items: flex-start; gap: 20px; }
.axis-library-head h2 { font-size: 20px; font-weight: 600; margin-bottom: 4px; }
.axis-library-head p { color: var(--muted); font-size: 13px; }
.axis-library-head > button { flex: none; }
.database-toolbar { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; border-bottom: 1px solid var(--line); }
.database-views { display: flex; gap: 2px; align-self: stretch; }
.database-view { display: flex; align-items: center; gap: 6px; padding: 8px 7px 10px; border: 0; border-radius: 3px 3px 0 0; font-size: 13px; color: var(--muted); background: transparent; white-space: nowrap; position: relative; }
.database-view:hover { border: 0; background: var(--subtle); }
.database-view.active { color: var(--text); font-weight: 500; }
.database-view.active::after { content: ""; height: 2px; background: var(--text); position: absolute; bottom: -1px; left: 7px; right: 7px; }
.view-count { font-size: 11px; color: var(--muted); font-weight: 400; }
.database-controls { display: flex; align-items: center; gap: 4px; padding-bottom: 6px; }
.database-search { display: flex; align-items: center; gap: 5px; margin: 0; color: var(--muted); padding: 0 4px; }
.database-search input { border: 0; background: transparent; padding: 3px 1px; font-size: 12px; width: 120px; min-height: 27px; border-radius: 2px; }
.database-search input:focus { box-shadow: none; outline: 0; }
.database-search:focus-within { outline: 2px solid #2383e245; border-radius: 3px; }
.database-sort { margin: 0; }
.database-sort select { border: 0; background: transparent; color: var(--muted); font-size: 12px; padding: 3px 2px; width: 108px; min-height: 27px; }
.axis-table-scroll { margin-top: 0; position: relative; }
.axis-task-table { border-collapse: collapse; width: 100%; table-layout: auto; font-size: 13px; }
.axis-task-table th { text-align: left; font-weight: 400; color: var(--muted); font-size: 12px; padding: 7px 10px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); white-space: nowrap; }
.axis-task-table th .ui-icon { color: var(--placeholder); margin-right: 4px; }
.axis-task-table th:first-child { padding-left: 8px; width: 48%; }
.axis-task-table th:last-child { border-right: 0; width: 35px; padding: 0; }
.axis-task-table td { padding: 8px 10px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); vertical-align: middle; }
.axis-task-table td:first-child { padding-left: 8px; }
.axis-task-table td:last-child { padding: 6px; border-right: 0; }
.axis-task-table tbody tr:hover { background: #f7f7f580; }
.database-task-name { display: flex; gap: 8px; align-items: flex-start; min-width: 170px; }
.database-task-name > .ui-icon { color: var(--muted); margin-top: 2px; }
.task-title-link { color: var(--text); font-size: 14px; font-weight: 500; padding: 0; min-height: 0; line-height: 1.5; border: 0; border-radius: 2px; background: transparent; text-align: left; }
.task-title-link:hover { background: transparent; text-decoration: underline; text-underline-offset: 3px; border: 0; }
.database-task-name small { display: block; font-size: 11px; color: var(--muted); line-height: 1.5; margin-top: 2px; }
.runs-cell { font-variant-numeric: tabular-nums; color: var(--text-secondary); }
.status-pill { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; line-height: 20px; padding: 0 6px; border-radius: 3px; color: #5a5955; background: #efeeec; white-space: nowrap; }
.pill-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; opacity: .65; }
.status-pill.good { color: var(--green); background: #dbeddb; }
.status-pill.warn { color: var(--orange); background: #fdecc8; }
.status-pill.bad { color: var(--danger); background: #ffe2dd; }
.row-open { color: var(--muted); }
.database-footer { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 6px 0; }
.database-footer button { color: var(--muted); font-size: 13px; justify-content: flex-start; }
.database-footer > span { color: var(--muted); font-size: 11px; padding-right: 6px; }
.database-empty { padding: 36px 24px; border-bottom: 1px solid var(--line); }
.database-empty > .ui-icon { color: var(--placeholder); margin-bottom: 12px; }
.database-empty h3 { font-size: 15px; margin-bottom: 5px; }
.database-empty p { color: var(--muted); font-size: 13px; }
.database-empty button { margin-top: 12px; }
.axis-support { padding: 30px 0 0; gap: 36px; color: var(--muted); font-size: 13px; }
.axis-support > div { border-top: 1px solid var(--line); padding-top: 18px; }
.axis-support h3 { display: flex; align-items: center; gap: 8px; color: var(--text); font-size: 14px; font-weight: 500; }
.axis-support h3 .ui-icon { color: var(--muted); }
.axis-support p { margin: 7px 0 9px; font-size: 13px; }
.axis-support button { padding-left: 0; padding-right: 6px; color: var(--text-secondary); font-size: 13px; }
/* Task pages read as a document, with section rules instead of stacked cards. */
.pipeline-stage { border: 0; border-radius: 0; background: transparent; margin-bottom: 30px; scroll-margin-top: 65px; overflow: visible; }
.pipeline-stage-head { background: transparent; border-bottom: 1px solid var(--line); padding: 0 0 12px; gap: 10px; align-items: flex-start; }
.stage-number { border: 0; color: var(--muted); background: var(--hover); border-radius: 4px; width: 25px; height: 25px; font-size: 11px; margin-top: 1px; }
.pipeline-stage-head h2 { font-size: 20px; font-weight: 600; line-height: 1.3; }
.pipeline-stage-head p { font-size: 13px; margin-top: 3px; color: var(--muted); }
.stage-state { font-size: 12px; color: var(--muted); margin-top: 5px; }
.pipeline-stage-body { padding: 20px 0 0; }
.pipeline-stage-body > p { font-size: 14px; }
.task-brief h3 { color: var(--text); font-size: 14px; font-weight: 600; }
.task-brief p { color: var(--text); font-size: 15px; line-height: 1.7; }
.task-brief .task-constraint { font-size: 13px; color: var(--muted); }
.pipeline-source-row { border-color: var(--line); background: var(--subtle); border-radius: 4px; padding: 12px; gap: 10px; margin-top: 20px; }
.pipeline-source-row:hover { background: var(--hover); border-color: var(--line); }
.source-row-icon { color: var(--muted); background: transparent; width: 26px; }
.pipeline-source-row strong { color: var(--text); font-size: 14px; font-weight: 500; }
.pipeline-source-row small { color: var(--muted); font-size: 12px; margin-top: 1px; }
.source-row-arrow { color: var(--muted); }
.pipeline-inline-actions { gap: 8px; margin-top: 16px; }
.pipeline-inline-actions button { color: var(--text-secondary); border-color: transparent; font-size: 13px; }
.pipeline-inline-actions small { font-size: 12px; color: var(--muted); }
.artifact-preview { background: var(--surface); border: 1px solid var(--line); border-radius: 5px; }
.artifact-preview:hover { border-color: var(--line-strong); }
.artifact-image { background: var(--subtle); height: 220px; }
.artifact-placeholder { color: var(--muted); font-size: 13px; }
.artifact-caption { border-color: var(--line); color: var(--text-secondary); font-size: 12px; padding: 10px 12px; }
.run-observation { margin-top: 20px; }
.record-dot { background: var(--muted); }
.run-observation strong { color: var(--text); font-size: 14px; }
.run-observation p { color: var(--text-secondary); font-size: 13px; }
.run-observation small { color: var(--muted); font-size: 12px; }
.review-outcome { background: var(--subtle); border: 0; border-radius: 4px; padding: 16px; }
.review-outcome.passed { background: var(--green-bg); }
.review-outcome.needs-work { background: #fff1ed; }
.outcome-symbol { border: 0; background: var(--hover); color: var(--muted); border-radius: 4px; font-size: 19px; }
.passed .outcome-symbol { color: var(--green); background: #dbeddb; }
.needs-work .outcome-symbol { border: 0; color: var(--danger); background: #ffe2dd; }
.review-outcome h3 { color: var(--text); font-size: 16px; font-weight: 600; }
.review-outcome p { color: var(--text-secondary); font-size: 13px; }
.pipeline-issues li { border-color: var(--line); }
.pipeline-issues li > span { color: var(--danger); }
.pipeline-issues strong { font-size: 14px; color: var(--text); }
.pipeline-issues p { color: var(--text-secondary); font-size: 13px; }
.pipeline-grade summary { color: var(--text-secondary); font-size: 13px; }
.pipeline-grade p { color: var(--muted); font-size: 13px; }
.pipeline-delivery { border-color: var(--line); }
.pipeline-delivery .eyebrow { font-size: 12px; color: var(--muted); }
.pipeline-delivery p { font-size: 14px; color: var(--text); }
.pipeline-delivery small, .pipeline-empty, .delivery-note { font-size: 13px; color: var(--muted); }
.pipeline-footer { border-top: 1px solid var(--line); padding-top: 10px; }
.pipeline-footer button { font-size: 12px; color: var(--muted); }
.back-to-axis { margin: -28px 0 24px -8px; font-size: 12px; color: var(--muted); }
/* Shared detail readers, authoring, evidence, and access all use the same tokens. */
dialog { background: var(--surface); color: var(--text); border-color: var(--line); border-radius: 8px; box-shadow: 0 12px 48px rgba(15,15,15,.14); }
dialog::backdrop, dialog.inspector::backdrop { background: rgba(15,15,15,.16); backdrop-filter: none; }
dialog.inspector, dialog.inspector.wide { background: var(--surface); width: min(800px, 65vw); border-left: 1px solid var(--line); box-shadow: -8px 0 32px rgba(15,15,15,.08); }
.modal-head, .inspector .modal-head { padding: 16px 30px; background: var(--surface); border-color: var(--line); align-items: flex-start; }
.inspector .modal-head .eyebrow { font-size: 11px; letter-spacing: 0; color: var(--muted); }
.inspector .modal-head h2, .modal-head h2 { font-size: 21px; font-weight: 600; color: var(--text); line-height: 1.4; margin-top: 3px; }
.inspector .close { color: var(--muted); padding: 3px; border: 0; min-width: 28px; min-height: 28px; margin-right: -6px; }
.inspector .modal-body, .modal-body { padding: 28px 36px 60px; }
.modal-body h3 { margin-top: 24px; color: var(--text); }
.modal-body p, .inspector p { font-size: 14px; }
.inspector-view-label { color: var(--muted); font-size: 13px; }
.inspector-view-label select { background: var(--surface); font-size: 13px; }
.panel { border-color: var(--line); border-radius: 5px; background: var(--surface); box-shadow: none; }
.panel-head { padding: 15px 18px; background: var(--surface); }
.panel-head h2 { font-size: 16px; }
.panel-body { padding: 18px; }
.row { padding: 14px 18px; border-color: var(--line); }
.row small, .row p { font-size: 12px; }
.row-title { flex-wrap: wrap; }
.row-title h3 { font-size: 14px; }
.row-actions { flex-wrap: wrap; }
.metrics { gap: 12px; }
.metric { border-radius: 4px; background: var(--surface); padding: 16px; }
.badge { background: var(--hover); color: var(--text-secondary); border: 0; border-radius: 3px; font-size: 11px; font-weight: 400; letter-spacing: 0; padding: 1px 6px; }
.badge.good { color: var(--green); background: #dbeddb; border: 0; }
.badge.warn { color: var(--orange); background: #fdecc8; border: 0; }
.badge.bad { color: var(--danger); background: #ffe2dd; border: 0; }
.note { background: var(--subtle); color: var(--text-secondary); border: 0; border-radius: 4px; font-size: 13px; padding: 14px 16px; }
.note.warn, .blocker-list li { background: var(--orange-bg); color: var(--orange); border-color: #e6c98e; }
.build-notice { margin-bottom: 22px; }
.launch-preview, .editor-launch { background: var(--subtle); border-color: var(--line); border-radius: 4px; }
.editor-launch { padding: 12px; }
.editor-launch code, .editor-launch small { color: var(--muted); font-size: 12px; }
.file-drop { background: var(--subtle); border-color: var(--line-strong); border-radius: 4px; }
.source-card { background: var(--surface); border-color: var(--line); border-radius: 5px; padding: 18px; gap: 12px; }
.source-card p { font-size: 13px; color: var(--muted); }
.source-icon { color: var(--muted); }
.source-text { font-size: 13px; color: var(--text); }
.source-location, .source-hash { color: var(--muted); }
.evidence-reader { border-color: var(--line); background: var(--subtle); border-radius: 4px; }
.evidence-link { border-color: var(--line); padding: 12px; }
.evidence-link.selected { border-color: var(--accent); background: var(--blue-bg); }
mark { background: #fdecc8; color: var(--text); }
.exact-excerpt { border-color: var(--line-strong); }
.finding .next-action { color: var(--text); }
.finding-closed { border-color: var(--line); }
.attention, .failure-summary { color: var(--orange); }
.task-table th { background: var(--subtle); color: var(--muted); font-size: 12px; text-transform: none; letter-spacing: 0; }
.task-table td { border-color: var(--line); }
.task-table .task-open, .task-open { color: var(--text); }
.tab.active { color: var(--text); border-bottom-color: var(--text); }
.review-tabs .active { background: var(--hover); color: var(--text); }
.review-tabs { gap: 4px; }
.step-symbol { color: var(--muted); background: var(--subtle); border-color: var(--line); }
.bar, .progress-steps span { background: var(--hover); }
.bar span, .progress-steps span.done, .status-dot { background: var(--green); }
.chip { color: var(--text-secondary); background: var(--subtle); border-color: var(--line); }
.added { background: #edf3ec; color: #356d4a; }
.removed { background: #fbe4e2; color: #b33a32; }
.patch-header { background: var(--blue-bg); color: #337ea9; }
.qc-record-meta { color: var(--muted); font-size: 12px !important; }
.qc-section-title { color: var(--text); font-size: 14px; }
.qc-check { background: var(--surface); border-color: var(--line); border-radius: 4px; }
.qc-check summary { padding: 12px; }
.qc-check summary strong { font-size: 13px; font-weight: 500; color: var(--text); }
.qc-symbol, .qc-state { color: var(--orange); }
.qc-state { font-size: 11px; }
.qc-check.pass .qc-symbol, .qc-check.pass .qc-state { color: var(--green); }
.qc-check.fail .qc-symbol, .qc-check.fail .qc-state { color: var(--danger); }
.qc-check-content { color: var(--text-secondary); }
.qc-check-content p, .qc-check-content button { font-size: 13px; }
.qc-check-content .missing-evidence { color: var(--orange); }
.qc-review-check h4 { color: var(--text); font-size: 14px; }
.workbench-section { border-color: var(--line); }
.workbench-section > p { color: var(--text-secondary); font-size: 14px; }
.workspace-file { border-color: var(--line); background: var(--surface); padding: 12px; }
.workspace-file summary { color: var(--text-secondary); }
.code-input { background: var(--subtle); font-size: 12px; }
.workspace-lint p { color: var(--text-secondary); }
.workspace-lint small { color: var(--muted); }
.workspace-finding, .workspace-check { background: var(--subtle); border-color: var(--line); border-radius: 4px; }
.workspace-check summary small, .workspace-revision summary small, .regression-metric summary { color: var(--muted); }
.grader-case, .regression-case, .workspace-revision { border-color: var(--line); }
.grader-case > span { color: var(--text-secondary); }
.grader-comparison { background: var(--surface); }
.access-card { max-width: 430px; margin: 15vh auto; padding: 32px; border: 0; border-radius: 0; background: var(--surface); }
.access-brand { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; margin-bottom: 30px; }
.access-card h1 { font-size: 28px; letter-spacing: -.7px; margin-bottom: 10px; }
.access-card > p { color: var(--muted); font-size: 14px; }
#access-status { margin-top: 14px; color: var(--danger); font-size: 13px; }
#toast { background: var(--surface); color: var(--text); border-color: var(--line); box-shadow: 0 4px 24px rgba(15,15,15,.12); border-radius: 6px; padding: 12px 16px; max-width: min(480px, calc(100vw - 32px)); }
#toast.error { background: var(--surface); color: var(--danger); border-color: #f0c1bd; }
.loading { color: var(--muted); font-size: 14px; }
.sidebar-backdrop { display: none; }
@media (min-width: 761px) {
  .shell.sidebar-collapsed { grid-template-columns: 0 minmax(0, 1fr); }
  .shell.sidebar-collapsed .sidebar { display: none; }
}
@media (min-width: 1600px) { .pipeline-content { padding-top: 76px; } }
@media (max-width: 1200px) {
  .content, .pipeline-content { padding-left: 40px; padding-right: 40px; }
  .axis-metrics { gap: 16px; }
  .axis-task-table { min-width: 600px; }
}
@media (max-width: 1000px) {
  .database-toolbar { flex-wrap: wrap; gap: 0; }
  .database-controls { width: 100%; padding: 4px 0 7px; justify-content: flex-end; border-top: 1px solid var(--line); }
  .database-search input { width: 160px; }
  .pipeline-heading h1 { font-size: 34px; }
  .pipeline-title { display: flex; flex-wrap: wrap; }
  .pipeline-title h1 { flex: 1 1 80%; }
  .pipeline-title .pipeline-status { margin-top: 0; }
  .pipeline-title .page-settings { flex: none; }
  .axis-support { gap: 24px; }
  .axis-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
  dialog.inspector, dialog.inspector.wide { width: min(800px, 80vw); }
}
@media (max-width: 760px) {
  .shell, .pipeline-shell, .platform-shell { display: block; }
  .pipeline-shell .sidebar, .platform-shell .sidebar { display: none; position: fixed; inset: 0 auto 0 0; width: 260px; max-width: calc(100vw - 50px); height: 100dvh; padding: 9px 8px 12px; border-right: 1px solid var(--line); z-index: 50; gap: 0; }
  .shell.sidebar-open .sidebar { display: flex; }
  body:has(.shell.sidebar-open) { overflow: hidden; }
  .sidebar-open .sidebar-backdrop { display: block; position: fixed; inset: 0; background: rgba(15,15,15,.22); border: 0; border-radius: 0; z-index: 40; }
  .pipeline-shell .brand { font-size: 15px; padding: 4px 8px; }
  .workspace-picker label, .outline-label, .workspace-tools, .pipeline-shell .sidebar-bottom, .focus-label { display: flex; }
  .workspace-picker label { grid-column: 1 / -1; }
  .workspace-tools { display: grid; }
  .pipeline-outline { display: flex; flex-direction: column; gap: 2px; }
  .pipeline-outline a { padding: 6px 10px; gap: 10px; }
  .pipeline-outline strong { font-size: 13px; }
  .pipeline-outline small { display: block; }
  .outline-done { display: inline; }
  .workspace-navigation, .axes-nav { display: grid; }
  .pipeline-shell .topbar { height: 45px; padding: 0 10px; gap: 5px; justify-content: space-between; }
  .pipeline-breadcrumb { font-size: 12px; gap: 5px; }
  .topbar-location { flex: 1; overflow: hidden; }
  .pipeline-breadcrumb span { display: inline; }
  .pipeline-breadcrumb > .breadcrumb-slash { display: inline; }
  .pipeline-shell .topbar .breadcrumb-parent { font-size: 12px; padding-left: 2px; padding-right: 2px; max-width: 125px; }
  .pipeline-shell .topbar-right .guide-button { display: none; }
  .pipeline-shell .topbar .budget-button { font-size: 11px; padding: 3px; }
  .content, .pipeline-content { padding: 36px 24px 50px; }
  .pipeline-heading h1 { font-size: 32px; line-height: 1.2; letter-spacing: -.8px; }
  .page-symbol { margin-bottom: 18px; }
  .page-symbol > .ui-icon { width: 38px; height: 38px; }
  .pipeline-heading > p:last-child { font-size: 14px; }
  .axis-metrics { gap: 18px 24px; margin-bottom: 30px; }
  .axis-metrics .metric { padding: 0; }
  .axis-metrics .number { font-size: 18px; }
  .axis-library-head { display: flex; padding: 0 0 14px; gap: 14px; }
  .axis-library-head p { font-size: 12px; }
  .axis-library-head h2 { font-size: 19px; }
  .axis-library-head > button { font-size: 13px; padding: 4px 8px; }
  .database-view { font-size: 12px; gap: 5px; padding: 7px 6px 9px; }
  .database-controls { justify-content: space-between; }
  .database-search { flex: 1; min-width: 0; }
  .database-search input { width: 100%; min-width: 0; }
  .axis-task-table { min-width: 590px; }
  .axis-support { grid-template-columns: 1fr; gap: 22px; padding-top: 28px; }
  .axis-support p { font-size: 13px; }
  .pipeline-stage-head { padding: 0 0 12px; gap: 8px; }
  .pipeline-stage-head h2 { font-size: 19px; }
  .pipeline-stage-head p { font-size: 12px; max-width: none; }
  .stage-state { font-size: 11px; white-space: normal; text-align: right; flex: none; max-width: 75px; }
  .pipeline-stage-body { padding: 17px 0 0; }
  .task-brief p { font-size: 14px; }
  .pipeline-artifacts { grid-template-columns: 1fr 1fr; gap: 10px; }
  .artifact-image { height: 150px; }
  .artifact-caption { padding: 8px; font-size: 11px; }
  .pipeline-source-row small { font-size: 11px; }
  .pipeline-inline-actions small { margin-left: 0; }
  .review-outcome { padding: 14px; }
  .pipeline-footer { justify-content: flex-start; flex-wrap: wrap; }
  .back-to-axis { margin: -12px 0 24px -8px; }
  dialog.inspector, dialog.inspector.wide { width: 100vw; max-width: 100vw; border: 0; height: 100dvh; max-height: 100dvh; }
  .inspector .modal-head { padding: 14px 20px; }
  .inspector .modal-head h2 { font-size: 19px; }
  .inspector .modal-body { padding: 24px 22px 50px; }
  .form-actions, .row, .task-toolbar, .section-heading { flex-wrap: wrap; }
  .form-actions { gap: 8px; }
  .form-actions button { max-width: 100%; white-space: normal; }
  .review-split, .modal-columns, .form-grid, .source-asset-split { grid-template-columns: minmax(0, 1fr); }
  .readable-record { grid-template-columns: minmax(75px, 1fr) 2fr; }
  .inspector-view-label { flex-wrap: wrap; gap: 8px; }
  .inspector-view-label select { width: 100%; margin-left: 0; }
  .qc-check summary { flex-wrap: wrap; }
  .qc-check summary strong { min-width: 140px; }
  .workspace-finding form { display: block; }
  .workspace-finding form button { margin-top: 10px; }
  .regression-case { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .access-card { margin: 10vh auto; padding: 24px; }
  #toast { bottom: 16px; right: 16px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Sample matrix and retained live runs. */
.sample-models { margin: 8px 0 16px; }
.sample-model { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(150px, .85fr) 72px; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.sample-model label { display: flex; gap: 8px; align-items: center; margin: 0; font-weight: 400; }
.sample-model input[type=checkbox] { width: auto; margin: 0; }
.sample-model select, .sample-model input[type=number] { margin: 0; padding: 7px 9px; min-width: 0; }
.sample-run { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.sample-run small { display: block; color: var(--muted); margin-top: 3px; }
.control-suite article { padding: 14px 0; border-bottom: 1px solid var(--line); }
.control-suite .row-title strong { font-weight: 500; }
.native-review-field { padding: 14px 0; border-bottom: 1px solid var(--line); }
@media (max-width: 760px) {
  .sample-model { grid-template-columns: minmax(0,1fr) 64px; gap: 8px; }
  .sample-model label { grid-column: 1/-1; }
  .sample-run { align-items: flex-start; flex-wrap: wrap; }
}

/* Quality authoring shares the document rhythm and callout treatment. */
.quality-roadmap { display: grid; gap: 12px; margin: 24px 0; }
.quality-roadmap > section { padding: 18px; border: 1px solid var(--line); border-radius: 4px; }
.quality-roadmap > section > .stage-number { float: left; margin-right: 10px; }
.quality-roadmap h3 { margin: 0 0 8px; font-size: 16px; }
.quality-roadmap p { color: var(--muted); font-size: 13px; }
.quality-roadmap .form-actions { justify-content: flex-start; margin-top: 12px; flex-wrap: wrap; }
.control-suite { display: grid; gap: 12px; margin: 20px 0; }
.control-suite > article { border: 1px solid var(--line); border-radius: 4px; padding: 16px; }
.control-suite h4 { margin: 0; font-size: 14px; font-weight: 600; }
.control-suite p { margin: 8px 0; color: var(--text-secondary); font-size: 13px; }
.control-suite .form-actions { justify-content: flex-start; flex-wrap: wrap; margin-top: 14px; }
.native-review-item { border: 1px solid var(--line); border-radius: 4px; padding: 16px; margin: 18px 0; min-width: 0; }
.native-review-item legend { padding: 0 5px; font-size: 14px; font-weight: 500; }
.modal-body > [data-native-workflow] { margin-bottom: 18px; }
.evidence-title small, .evidence-link small { font-size: 12px; }
.evidence-text { font-size: 12px; }
.finding p { font-size: 14px; }
.finding > small, .task-table small { font-size: 12px; }
.criterion { font-size: 13px; color: var(--text-secondary); }
#access-status { color: var(--muted); }
#access-status.error { color: var(--danger); }
.source-card > .badge { align-self: flex-start; }
.source-card h3 { margin: 0; font-size: 16px; }
.sample-column-head { padding: 0; border: 0; color: var(--muted); font-size: 12px; }
@media (max-width: 760px) { .sample-column-head { display: none; } .sample-model input[type=number] { background-image: none; } }
