.ci-report { overflow-wrap: anywhere; }
.ci-report .ci-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:1rem 0; }
.ci-report .ci-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.ci-report .ci-stats .card { display:flex; flex-direction:column; gap:.5rem; }
.ci-report .ci-stats strong { font-size:1.35rem; }
.ci-report .ci-columns { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:1.25rem; }
.ci-report .ci-filters { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; margin-bottom:1rem; }
.ci-report .ci-filters > div { flex:1 1 150px; min-width:0; }
.ci-report label { display:block; }
.ci-report input,.ci-report select { max-width:100%; min-height:44px; }
.ci-report input[type=checkbox] { min-height:24px; }
.ci-report button,.ci-report .button { min-height:44px; }
.ci-report .ci-stage { display:flex; align-items:start; justify-content:space-between; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--border); }
.ci-report .ci-stage h3 { margin:0; }
.ci-report .ci-status { display:inline-block; padding:.25rem .5rem; border-radius:4px; background:var(--surface-subtle); white-space:normal; }
.ci-report .ci-passed { color:#197a4b; }
.ci-report .ci-failed,.ci-report .ci-error { color:#b42318; }
.ci-report .ci-blocked,.ci-report .ci-skipped { color:#805600; }
.ci-report .ci-entry { border-bottom:1px solid var(--border); padding:1rem 0; }
.ci-report summary { cursor:pointer; min-height:44px; }
.ci-report summary small { display:block; color:var(--muted); }
.ci-report pre { white-space:pre-wrap; overflow-wrap:anywhere; padding:1rem; background:var(--surface-subtle); }
.ci-report .ci-original { margin:1rem 0; padding:1rem; border:1px solid var(--border); border-radius:8px; }
.ci-report .ci-pagination { position:static; width:auto; display:flex; flex-direction:row; flex-wrap:wrap; padding:1rem 0; gap:1rem; border:0; background:transparent; }
.ci-report summary:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
@media(max-width:1100px) { .ci-report .ci-columns { grid-template-columns:minmax(0,1fr); } }
@media(max-width:760px) { .ci-report .ci-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .ci-report .ci-heading { align-items:start; flex-direction:column; } }
:root {
  --canvas: #f7f9fc;
  --surface: #fff;
  --surface-subtle: #eef2f7;
  --text: #172033;
  --muted: #5d687a;
  --border: #d8dee8;
  --border-strong: #98a2b3;
  --action: #176b87;
  --action-hover: #12566d;
  --focus: #2563eb;
  --success: #197a4b;
  --danger: #b42318;
  --warning: #9a6700;
  --info: #175cd3;
  --neutral: #475467;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--text); font: 16px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: var(--action); }
a:hover { color: var(--action-hover); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
header { height: 72px; background: var(--surface); border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; padding: 0 2rem; }
.brand { display: inline-flex; color: var(--text); }
.brand img { display: block; height: 34px; width: auto; }
nav { position: fixed; top: 72px; bottom: 0; width: 240px; background: var(--surface); border-right: 1px solid var(--border); padding: 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
nav a { text-decoration: none; padding: .6rem; border-radius: 6px; }
nav a:hover, nav a:focus { background: #e8f2f5; }
.project-switch { display: flex; flex-direction: column; border: 1px solid var(--border); }
.project-switch span { color: var(--muted); font-size: .75rem; }
main { max-width: 1600px; margin-left: 240px; padding: 2rem; }
.auth-layout main, .hub-layout main { margin-left: 0; }
.auth-layout main { min-height: calc(100vh - 72px); padding-bottom: 0; }
.auth-layout .auth { margin-bottom: 0; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 1rem; top: 1rem; background: var(--surface); padding: .5rem; z-index: 10; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; margin-bottom: 1rem; }
.grid, .metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; }
.project { text-decoration: none; color: inherit; }
.metrics .card { display: flex; flex-direction: column; }
.metrics b { font-size: 2rem; }
.metrics span, .lede, .help, .auth-footnote { color: var(--muted); }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: .8rem; border-bottom: 1px solid var(--border); }
button, .button-link { display: inline-flex; align-items: center; justify-content: center; background: var(--action); border: 0; border-radius: 6px; color: #fff; min-height: 44px; padding: .6rem 1rem; font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; }
button:hover, .button-link:hover { background: var(--action-hover); color: #fff; }
button:disabled { opacity: .5; cursor: not-allowed; }
button.quiet, .button-link.quiet { background: var(--surface); color: var(--action); border: 1px solid var(--border); }
button.quiet.danger-text { color: var(--danger); }
button.danger { background: var(--danger); }
button.danger:hover { background: #8f1b13; }
input, select, textarea { display: block; width: 100%; max-width: 760px; min-height: 44px; padding: .65rem .75rem; border: 1px solid var(--border-strong); border-radius: 6px; color: var(--text); background: var(--surface); font: inherit; }
textarea { min-height: 80px; }
label { display: block; font-weight: 600; margin: .75rem 0 .35rem; }
.field.invalid input, .field.invalid select, .field.invalid textarea, .step-card.invalid { border-color: var(--danger); }
.field-error { color: var(--danger); font-size: .875rem; margin-top: .35rem; }
.alert { padding: 1rem; border-radius: 6px; margin-bottom: 1rem; background: #e8f2f5; }
.alert h2 { font-size: 1rem; margin: 0 0 .25rem; }
.alert p:last-child { margin-bottom: 0; }
.alert.error { background: #fff1f0; color: var(--danger); border-left: 4px solid var(--danger); }
.alert.success { background: #edf8f2; color: var(--success); border-left: 4px solid var(--success); }
.alert.warning { background: #fff8e6; color: var(--warning); border-left: 4px solid var(--warning); }
.badge { display: inline-block; border-radius: 1rem; background: var(--surface-subtle); padding: .2rem .65rem; font-size: .85rem; }
.row { display: flex; justify-content: space-between; padding: .75rem 0; border-top: 1px solid var(--border); }
summary { font-weight: 700; cursor: pointer; }
.auth { max-width: 488px; margin: 3.75rem auto 2rem; padding: 3rem; border-radius: 12px; }
.auth h1 { margin: 0 0 .5rem; font-size: 1.75rem; line-height: 1.25; }
.auth .lede { margin: 0 0 2rem; }
.auth-submit { width: 100%; margin-top: 1.5rem; }
.reset-link { display: inline-block; margin-top: 1.25rem; }
.back-link { display: inline-block; margin-top: 1.5rem; }
.auth-footnote { border-top: 1px solid var(--border); margin: 2.5rem 0 0; padding-top: 1.5rem; text-align: center; font-size: .875rem; }
.status-symbol { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 1rem; border-radius: 50%; color: var(--success); background: #edf8f2; font-weight: 700; }
.filter { display: flex; gap: .5rem; align-items: end; margin-bottom: 1rem; }
.filter label { flex: 1; }
.page-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1.5rem; }
.page-head h1 { margin: 0; }
.project-filter { max-width: 760px; margin-bottom: .5rem; }
.filter-row { display: flex; align-items: center; gap: .5rem; }
.filter-row input { flex: 1; }
.result-count { color: var(--muted); margin: 1rem 0; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 1rem; }
.project-card { min-height: 206px; margin: 0; }
.project-card h2 { margin: 0 0 .5rem; }
.project-card h2 a { color: var(--text); text-decoration: none; }
.project-card h2 a:hover { color: var(--action); }
.project-card.archived { border-color: #e9b949; }
.deletion-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 320px); gap: 2rem; align-items: center; border-color: #e9b949; background: #fffaf0; }
.deletion-card h2 { margin: .4rem 0; }
.deletion-card.purge-failed, .deletion-status.purge-failed { border-color: var(--danger); background: #fff8f7; }
.restore-project { border-left: 1px solid #e9b949; padding-left: 1.5rem; }
.restore-project summary { min-height: 44px; display: flex; align-items: center; color: var(--warning); }
.deletion-status { max-width: 980px; border-color: #e9b949; background: #fffaf0; }
.deletion-status .project-facts { margin: 1.5rem 0; }
.deletion-request form { margin-top: 1rem; }
.project-meta { color: var(--muted); }
.card-action { display: inline-block; margin-top: 1rem; font-weight: 600; }
.empty-state { grid-column: 1 / -1; }
.create-project { margin-top: 2rem; }
.create-project summary { min-height: 44px; display: flex; align-items: center; }
.status-active { color: var(--success); background: #eaf6ef; }
.status-archived { color: var(--warning); background: #fff4e5; }
.status-pending_deletion { color: var(--danger); background: #fff1f0; }
.status-pending { color: var(--info); background: #eef4ff; }
.status-accepted { color: var(--success); background: #eaf6ef; }
.status-expired, .status-revoked { color: var(--neutral); background: var(--surface-subtle); }
.archived-notice form { margin-top: .75rem; }
.table-wrap { overflow-x: auto; }
.project-settings form { max-width: 760px; }
.project-facts { display: grid; grid-template-columns: repeat(3, minmax(140px, 1fr)); gap: 1rem; }
.project-facts div { padding: 1rem; background: var(--surface-subtle); border-radius: 6px; }
.project-facts dt { color: var(--muted); font-size: .875rem; }
.project-facts dd { margin: .25rem 0 0; font-weight: 600; }
.danger-zone { border-top: 1px solid var(--border); margin-top: 2rem; padding-top: 1.25rem; }
.danger-zone summary { color: var(--danger); min-height: 44px; display: flex; align-items: center; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.member-cards { display: none; }
.invitation-list { display: grid; gap: 0; }
.invitation-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--border); }
.invitation-row:first-child { border-top: 0; }
.invitation-row h3, .invitation-row p { margin: 0 0 .35rem; }
.row-actions { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.row-actions form { margin: 0; }
.role-form { display: flex; align-items: center; gap: .5rem; min-width: 310px; }
.role-form select { min-width: 150px; }
.role-form button { white-space: nowrap; }
.delivery-error { color: var(--warning); }
.empty-state.compact { padding: 1rem 0 0; }
.empty-state.compact h3 { margin-bottom: .25rem; }
.invite-dialog { width: min(610px, calc(100% - 2rem)); max-height: calc(100vh - 2rem); border: 1px solid var(--border-strong); border-radius: 12px; padding: 2rem; color: var(--text); background: var(--surface); box-shadow: 0 4px 12px rgb(23 32 51 / 10%); }
.invite-dialog::backdrop { background: rgb(23 32 51 / 45%); }
.dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.dialog-head h2 { margin: 0; }
.icon-button { width: 44px; padding: 0; font-size: 1.5rem; }
.dialog-actions { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 1.5rem; }
.warning-symbol { color: var(--warning); background: #fff8e6; }
.api-page-head { position: relative; }
.create-credential { min-width: 210px; }
.create-credential > summary { list-style: none; }
.create-credential > summary::-webkit-details-marker { display: none; }
.create-credential[open] > summary { background: var(--action-hover); }
.create-credential-panel { position: absolute; z-index: 4; top: 3.5rem; right: 0; width: min(680px, calc(100vw - 280px)); max-height: calc(100vh - 120px); overflow: auto; box-shadow: 0 8px 24px rgb(23 32 51 / 18%); }
.create-credential-panel h2, .create-credential-panel p { margin: 0 0 .35rem; }
.scope-checklist { padding: 0; margin: 1rem 0; border: 0; }
.scope-checklist legend, .field-label { display: block; margin: .75rem 0 .35rem; font-weight: 600; }
.scope-checklist > div:first-of-type { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: .5rem 0; }
.scope-checklist label, .confirm-check label { display: flex; align-items: flex-start; gap: .5rem; margin: 0; font-weight: 500; }
.scope-checklist input, .confirm-check input { flex: 0 0 auto; width: 20px; height: 20px; min-height: 20px; margin: .15rem 0 0; padding: 0; }
.scope-checklist > div:first-of-type > div { min-width: 0; padding: .65rem; border: 1px solid var(--border); border-radius: 6px; background: var(--surface-subtle); }
.credential-list .panel-head { align-items: center; margin-bottom: 1rem; }
.credential-list .panel-head h2, .credential-list .panel-head p, .credential-list .result-count { margin: 0; }
.credential-table td { vertical-align: top; }
.credential-table td > strong, .credential-table td > small { display: block; }
.credential-table td > small { margin-top: .25rem; color: var(--muted); }
.scope-chips { display: flex; gap: .35rem; flex-wrap: wrap; padding: 0; margin: 0; list-style: none; }
.scope-chips li { padding: .15rem .45rem; border: 1px solid var(--border); border-radius: 1rem; background: var(--surface-subtle); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .75rem; overflow-wrap: anywhere; }
.credential-actions { display: grid; gap: .5rem; min-width: 175px; }
.credential-action { border: 1px solid var(--border); border-radius: 6px; }
.credential-action summary { display: flex; align-items: center; min-height: 40px; padding: .45rem .65rem; color: var(--action); font-weight: 600; }
.credential-action form { display: grid; gap: .75rem; padding: .75rem; border-top: 1px solid var(--border); }
.credential-action form p { margin: 0; font-size: .875rem; }
.danger-zone-inline summary { color: var(--danger); }
.confirm-check { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: .5rem; align-items: start; }
.one-time-secret-dialog { width: min(680px, calc(100% - 2rem)); }
.one-time-secret-dialog .alert { margin-top: 1.25rem; }
.secret-copy-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; align-items: stretch; }
.secret-copy-row code { display: block; min-width: 0; padding: .75rem; border: 1px solid var(--border-strong); border-radius: 6px; background: var(--canvas); font-size: .85rem; overflow-wrap: anywhere; user-select: all; }
.copy-status { min-height: 1.5rem; margin: .35rem 0 1rem; }
.copy-status.copy-success { color: var(--success); }
.secret-confirm { margin-top: 1.5rem; }
.invitation-accept { max-width: 560px; }
.page-actions { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.repository-breadcrumb { margin: -.5rem 0 1.25rem; color: var(--muted); }
.repository-breadcrumb ol { display: flex; align-items: center; gap: .5rem; padding: 0; margin: 0; list-style: none; flex-wrap: wrap; }
.repository-breadcrumb a { color: var(--muted); }
.repository-breadcrumb [aria-current="page"] { color: var(--text); font-weight: 600; }
.repository-layout { display: grid; grid-template-columns: minmax(260px, 292px) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.repository-tree-panel, .repository-content { min-height: 620px; }
.panel-head, .selected-folder-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.panel-head h2, .panel-head p, .selected-folder-head h2, .selected-folder-head p { margin: 0; }
.folder-tree { display: grid; gap: .25rem; margin-top: 1rem; }
.folder-tree-item { display: flex; align-items: center; gap: .5rem; min-height: 44px; margin-left: calc(var(--tree-depth) * .9rem); padding: .55rem .65rem; border-radius: 6px; color: var(--text); text-decoration: none; }
.folder-tree-item:hover, .folder-tree-item:focus-visible { color: var(--action); background: #f0f6f8; }
.folder-tree-item.selected { color: var(--action); background: #e8f2f5; font-weight: 700; }
.folder-tree-item.archived { color: var(--muted); }
.folder-tree-item .badge { margin-left: auto; white-space: nowrap; font-size: .72rem; }
.tree-symbol { flex: 0 0 1rem; color: var(--muted); }
.tree-label { min-width: 0; overflow-wrap: anywhere; }
.eyebrow { color: var(--muted); font-size: .75rem; font-weight: 700; letter-spacing: .06em; }
.selected-folder-head { padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.selected-folder-head h2 { margin: .15rem 0 .25rem; }
.repository-filter { display: block; margin-top: 1.25rem; padding: 1rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-subtle); }
.filter-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.filter-heading h3, .filter-heading p { margin: 0; }
.repository-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
.repository-filter-grid .field { margin: 0; }
.repository-filter-grid .field:first-child { grid-column: span 2; }
.repository-filter-grid select { width: 100%; }
.repository-filter input[type="hidden"] { display: none; }
.filter-summary { margin: 1rem 0; }
.filter-summary .result-count { margin-bottom: .5rem; }
.filter-chips { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.filter-chips li { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .45rem .35rem .65rem; border: 1px solid var(--border-strong); border-radius: 2rem; background: var(--surface); font-size: .85rem; }
.filter-chips a { display: grid; place-items: center; min-width: 28px; min-height: 28px; border-radius: 50%; text-decoration: none; }
.label-chip { display: inline-block; margin: .1rem .2rem .1rem 0; padding: .15rem .45rem; border: 1px solid var(--border); border-radius: 1rem; background: var(--surface-subtle); font-size: .78rem; white-space: nowrap; }
.repository-table { margin-top: 1rem; }
.repository-table:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.pagination p { margin: 0; color: var(--muted); }
.pagination div { display: flex; gap: .5rem; }
.repository-content .empty-state { padding: 3rem 1rem; text-align: center; border: 1px dashed var(--border-strong); border-radius: 8px; }
.repository-content .empty-state h3 { margin: 0 0 .35rem; }
.repository-actions { margin-top: 2rem; }
.folder-action-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; align-items: start; }
.folder-action { margin: 0; }
.folder-action summary { min-height: 44px; display: flex; align-items: center; }
.folder-action.danger-zone { margin-top: 0; padding-top: 1.5rem; border: 1px solid var(--border); }
.folder-action .alert { margin-top: 1rem; }
.folder-action .errorlist { margin: .5rem 0 0; padding-left: 1.25rem; }
.checkbox-field { display: grid; grid-template-columns: auto 1fr; align-items: start; column-gap: .65rem; margin: 1rem 0; }
.checkbox-field input { width: 20px; min-height: 20px; margin-top: .95rem; }
.checkbox-field label { font-weight: 500; }
.checkbox-field .field-error { grid-column: 2; }
.readonly-explanation h3 { margin-top: 0; }
.create-testcase { margin-top: 1rem; }
.status-draft { color: var(--info); background: #eef4ff; }
.status-released { color: var(--success); background: #eaf6ef; }
.status-superseded { color: var(--neutral); background: var(--surface-subtle); }
.editor-breadcrumb { margin: -.5rem 0 1.25rem; color: var(--muted); }
.editor-breadcrumb ol { display: flex; align-items: center; gap: .5rem; padding: 0; margin: 0; list-style: none; flex-wrap: wrap; }
.editor-breadcrumb a { color: var(--muted); }
.editor-breadcrumb [aria-current="page"] { color: var(--text); font-weight: 600; }
.testcase-editor-head h1 { max-width: 900px; overflow-wrap: anywhere; }
.editor-head-actions { display: flex; align-items: center; gap: .75rem; }
.validation-summary { max-width: 980px; }
.validation-summary ul { margin-bottom: 0; }
.testcase-editor-layout { display: grid; grid-template-columns: minmax(280px, 350px) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.testcase-metadata, .testcase-steps { margin: 0; }
.testcase-metadata h2, .testcase-steps h2 { margin-top: 0; }
.testcase-metadata textarea { min-height: 112px; }
.checkbox-group { padding: 0; margin: .75rem 0; border: 0; }
.checkbox-group legend { font-weight: 600; margin-bottom: .35rem; }
.checkbox-group > div { display: grid; gap: .35rem; }
.checkbox-group label { display: flex; align-items: center; gap: .5rem; min-height: 32px; margin: 0; font-weight: 500; }
.checkbox-group input { width: 20px; min-height: 20px; }
.field-error:empty { display: none; }
.step-list { display: grid; gap: 1rem; margin: 1rem 0; }
.step-card { min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.step-card-head { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.step-card-head h3 { margin: 0; font-size: 1rem; }
.step-number { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; color: var(--action); background: #e8f2f5; font-weight: 700; }
.step-actions { display: flex; align-items: center; gap: .4rem; margin-left: auto; }
.step-actions button { min-height: 40px; }
.step-move { width: 40px; padding: 0; font-size: 1.1rem; }
.step-card textarea { max-width: none; resize: vertical; }
.step-card .field { min-width: 0; }
.add-step { margin-top: .25rem; }
.editor-save-state { margin: 1rem 0; color: var(--muted); text-align: right; }
.mobile-editor-actions { display: none; }
.editor-facts, .readonly-step { margin: 0; }
.editor-facts div, .readonly-step div { padding: .75rem 0; border-top: 1px solid var(--border); }
.editor-facts div:first-child, .readonly-step div:first-child { border-top: 0; }
.editor-facts dt, .readonly-step dt { color: var(--muted); font-size: .875rem; font-weight: 600; }
.editor-facts dd, .readonly-step dd { margin: .25rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.version-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.5rem; padding: 1rem 1.25rem; }
.version-actions h2, .version-actions p { margin: 0; }
.version-actions .page-actions, .version-actions form { margin: 0; }
.version-history, .version-compare { margin-top: 1.5rem; }
.version-history h2, .version-compare h2 { margin: 0; }
.version-timeline { position: relative; display: grid; gap: 0; padding: 0 0 0 1.5rem; margin: 1.25rem 0 0; list-style: none; }
.version-timeline::before { position: absolute; top: .5rem; bottom: .5rem; left: .4rem; width: 2px; content: ""; background: var(--border-strong); }
.version-timeline > li { position: relative; padding: 0 0 1.5rem 1rem; }
.version-timeline > li:last-child { padding-bottom: 0; }
.version-timeline > li::before { position: absolute; top: .35rem; left: -1.55rem; width: 12px; height: 12px; border: 2px solid var(--surface); border-radius: 50%; content: ""; background: var(--neutral); box-shadow: 0 0 0 1px var(--border-strong); }
.version-timeline > li.current::before { background: var(--action); }
.version-timeline-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.version-timeline h3, .version-timeline p { margin: 0 0 .35rem; }
.change-list { display: flex; gap: .4rem; flex-wrap: wrap; padding: 0; margin: .5rem 0; list-style: none; }
.change-list li { padding: .2rem .5rem; border-radius: 999px; color: var(--muted); background: var(--surface-subtle); font-size: .8rem; }
.version-hash code { overflow-wrap: anywhere; }
.compare-picker { display: flex; align-items: end; gap: .75rem; max-width: 760px; margin: 1rem 0 1.5rem; }
.compare-picker .field { flex: 1; margin: 0; }
.comparison-table td { max-width: 420px; white-space: pre-wrap; overflow-wrap: anywhere; }
.comparison-table tr.changed { background: #fffaf0; }
.step-comparison { display: grid; gap: 1rem; margin-top: 1rem; }
.step-compare-row { padding: 1rem; border: 1px solid var(--border); border-radius: 8px; }
.step-compare-row.changed { border-color: #e9b949; background: #fffdf7; }
.step-compare-row h4, .step-compare-row h5 { margin-top: 0; }
.step-compare-row > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.step-compare-row section { min-width: 0; padding: .75rem; border-radius: 6px; background: var(--surface-subtle); }

.cycle-list-head .lede, .cycle-detail-head .lede { max-width: 820px; }
.planner-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 920px; margin: 0 0 1.5rem; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.planner-steps > div { position: relative; display: flex; align-items: center; gap: .55rem; min-height: 58px; padding: .75rem 1rem; color: var(--muted); border-right: 1px solid var(--border); }
.planner-steps > div:last-child { border-right: 0; }
.planner-steps > div > span:first-child { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid var(--border-strong); border-radius: 50%; font-weight: 700; }
.planner-steps > div.current { color: var(--text); background: #e8f2f5; }
.planner-steps > div.current > span:first-child { color: #fff; border-color: var(--action); background: var(--action); }
.planner-steps > div.complete { color: var(--success); }
.planner-steps > div.complete > span:first-child { color: #fff; border-color: var(--success); background: var(--success); }
.cycle-context { max-width: 1120px; }
.cycle-context-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1rem; margin-top: 1rem; }
.cycle-context-form .field { min-width: 0; }
.cycle-context-form input, .cycle-context-form textarea { max-width: none; }
.cycle-objective, .cycle-timezone, .cycle-form-actions { grid-column: 1 / -1; }
.cycle-form-actions { display: flex; justify-content: flex-end; margin-top: .75rem; }
.cycle-section-head { margin: 2rem 0 1rem; }
.cycle-section-head .result-count { margin: 0; }
.cycle-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.cycle-card { display: flex; flex-direction: column; min-height: 270px; margin: 0; }
.cycle-card h3 { margin: 1rem 0 .35rem; overflow-wrap: anywhere; }
.cycle-card h3 a { color: var(--text); text-decoration: none; }
.cycle-card h3 a:hover { color: var(--action); }
.cycle-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.cycle-card .card-action { margin-top: auto; padding-top: 1rem; }
.cycle-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: 1rem 0; }
.cycle-facts div { min-width: 0; padding: .65rem; border-radius: 6px; background: var(--surface-subtle); }
.cycle-facts dt { color: var(--muted); font-size: .75rem; }
.cycle-facts dd { margin: .15rem 0 0; overflow-wrap: anywhere; font-weight: 700; }
.status-completed, .status-passed { color: var(--success); background: #eaf6ef; }
.status-aborted, .status-failed { color: var(--danger); background: #fff1f0; }
.status-not_started { color: var(--neutral); background: var(--surface-subtle); }
.status-in_progress { color: var(--info); background: #eef4ff; }
.status-paused, .status-blocked, .status-incomplete, .status-warning { color: var(--warning); background: #fff4e5; }
.cycle-type-retest { color: #6941c6; background: #f4f3ff; }
.cycle-type-regular { color: var(--neutral); background: var(--surface-subtle); }
.cycle-status-stack { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; }
.cycle-context-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.cycle-context-facts div { min-width: 0; }
.cycle-context-facts dt { color: var(--muted); font-size: .8rem; font-weight: 600; }
.cycle-context-facts dd { margin: .25rem 0 0; overflow-wrap: anywhere; font-weight: 700; }
.cycle-retest-notice p { margin: .25rem 0 0; }
.cycle-planning-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 350px); gap: 1.5rem; align-items: start; }
.cycle-catalog, .cycle-selection-summary, .cycle-review { margin: 0; }
.cycle-catalog .result-count { margin: 0; }
.cycle-filter { margin: 1rem 0; padding: 1rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-subtle); }
.cycle-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: .75rem 0 1rem; }
.cycle-filter-grid .field { min-width: 0; }
.cycle-filter-grid label { font-size: .9rem; }
.cycle-filter-grid input, .cycle-filter-grid select { max-width: none; }
.cycle-filter-grid select[multiple] { min-height: 92px; }
.cycle-selection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0 .5rem; }
.checkbox-field.compact { margin: 0; }
.checkbox-field.compact input { margin-top: .7rem; }
.cycle-selection-toolbar p { margin: 0; text-align: right; }
.cycle-version-table table { min-width: 680px; }
.cycle-version-table th:first-child, .cycle-version-table td:first-child { width: 80px; }
.cycle-version-table th:nth-child(3), .cycle-version-table td:nth-child(3) { width: 85px; }
.cycle-version-table th:last-child, .cycle-version-table td:last-child { width: 170px; }
.cycle-version-table input[type="checkbox"] { width: 22px; min-height: 22px; }
.cycle-version-table tr.is-selected { background: #f0f9f4; }
.selection-state { color: var(--success); white-space: nowrap; font-weight: 700; }
.cycle-selection-submit { display: flex; justify-content: flex-end; margin-top: 1rem; }
.cycle-catalog-empty { padding: 2rem 1rem; text-align: center; border: 1px dashed var(--border-strong); border-radius: 8px; }
.cycle-selection-summary { position: sticky; top: 1rem; }
.cycle-selection-summary .panel-head h2 { font-size: 1.2rem; }
.cycle-selected-list { max-height: 520px; padding: 0; margin: 1rem 0; overflow-y: auto; list-style: none; }
.cycle-selected-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; padding: .85rem 0; border-top: 1px solid var(--border); }
.cycle-selected-list li:first-child { border-top: 0; }
.cycle-selected-list li > div { display: grid; min-width: 0; }
.cycle-selected-list span { overflow-wrap: anywhere; }
.cycle-selected-list form { margin: 0; }
.cycle-selected-list button { min-height: 38px; padding: .4rem .6rem; }
.cycle-review-link { width: 100%; }
.cycle-review { max-width: 1180px; }
.cycle-review-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.25rem 0; }
.cycle-review-metrics div { padding: 1rem; border-radius: 8px; background: var(--surface-subtle); }
.cycle-review-metrics dt { color: var(--muted); font-size: .82rem; }
.cycle-review-metrics dd { margin: .15rem 0 0; font-size: 1.55rem; font-weight: 700; }
.cycle-review-list { display: grid; gap: .75rem; margin: 1.25rem 0; }
.cycle-run-row { display: grid; grid-template-columns: minmax(260px, 1fr) auto minmax(220px, 300px) auto; gap: 1rem; align-items: center; padding: 1rem; border: 1px solid var(--border); border-radius: 8px; }
.cycle-run-row.blocking { border-color: #e9b949; background: #fffdf7; }
.cycle-run-main { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.cycle-run-main h3, .cycle-run-main p { margin: 0; overflow-wrap: anywhere; }
.cycle-run-main p { color: var(--muted); font-size: .88rem; }
.cycle-position { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; color: var(--action); background: #e8f2f5; font-weight: 700; }
.cycle-run-assignment form { display: grid; grid-template-columns: minmax(150px, 1fr) auto; gap: .4rem; align-items: end; }
.cycle-run-assignment label { grid-column: 1 / -1; margin: 0; font-size: .82rem; }
.cycle-run-assignment button { min-height: 44px; padding-inline: .65rem; }
.cycle-run-assignment dl { margin: 0; }
.cycle-run-assignment dt { color: var(--muted); font-size: .8rem; }
.cycle-run-assignment dd { margin: .2rem 0 0; font-weight: 600; }
.cycle-command-bar { display: flex; justify-content: flex-end; gap: .75rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.cycle-command-bar form { margin: 0; }
.cycle-review-empty { padding: 2.5rem 1rem; text-align: center; border: 1px dashed var(--border-strong); border-radius: 8px; }
.cycle-abort { margin-top: 1.5rem; }
.cycle-abort form { max-width: 760px; }

.run-list-head .lede, .run-detail-head .lede { max-width: 900px; }
.run-scope-tabs { display: flex; gap: .35rem; margin: 0 0 1.25rem; border-bottom: 1px solid var(--border); }
.run-scope-tabs a { min-height: 44px; padding: .65rem 1rem; color: var(--muted); text-decoration: none; font-weight: 650; border-bottom: 3px solid transparent; }
.run-scope-tabs a:hover { color: var(--action); }
.run-scope-tabs a[aria-current="page"] { color: var(--action); border-color: var(--action); }
.run-card-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 1rem; }
.run-list-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: start; margin: 0; }
.run-list-card-main h2 { margin: .2rem 0 .35rem; font-size: 1.15rem; overflow-wrap: anywhere; }
.run-list-card-main h2 a { color: var(--text); text-decoration: none; }
.run-list-card-main h2 a:hover { color: var(--action); }
.run-list-card-main p { margin: 0; }
.run-list-facts { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0; }
.run-list-facts div { padding: .65rem; border-radius: 6px; background: var(--surface-subtle); }
.run-list-facts dt { color: var(--muted); font-size: .78rem; }
.run-list-facts dd { margin: .15rem 0 0; overflow-wrap: anywhere; font-weight: 650; }
.run-list-card > .button-link { grid-column: 1 / -1; }
.run-detail-head h1 { overflow-wrap: anywhere; }
.run-status { flex: 0 0 auto; font-size: .92rem; }
.run-start-panel { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-color: #9bc5d2; }
.run-start-panel h2, .run-start-panel p { margin: 0; }
.run-start-panel p { margin-top: .35rem; color: var(--muted); }
.run-start-panel form { flex: 0 0 auto; margin: 0; }
.paused-panel { border-color: #e9b949; }
.run-execution-layout { display: grid; grid-template-columns: minmax(260px, 310px) minmax(0, 1fr); gap: 1rem; align-items: start; }
.run-execution-layout.no-steps { grid-template-columns: 1fr; }
.run-navigator { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); padding: 1rem; overflow-y: auto; }
.run-navigator h2 { margin: 0 0 .65rem; font-size: 1.1rem; }
.run-progress-track { height: 9px; overflow: hidden; border-radius: 999px; background: var(--surface-subtle); }
.run-progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--success); }
.run-navigator > .help { margin: .65rem 0 1rem; font-size: .8rem; }
.run-step-nav { display: grid; gap: .3rem; padding: 0; margin: 0; list-style: none; }
.run-step-nav a { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: .55rem; align-items: center; min-height: 48px; padding: .45rem .55rem; color: var(--text); border: 1px solid transparent; border-radius: 6px; text-decoration: none; }
.run-step-nav a:hover { background: var(--surface-subtle); }
.run-step-nav a[aria-current="step"] { border-color: var(--action); background: #e8f2f5; }
.run-step-nav a > span:first-child { text-align: center; font-weight: 800; }
.run-step-nav a > span:last-child { display: grid; min-width: 0; }
.run-step-nav small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.step-status-passed > span:first-child { color: var(--success); }
.step-status-failed > span:first-child { color: var(--danger); }
.step-status-blocked > span:first-child, .step-status-skipped > span:first-child { color: var(--warning); }
.status-skipped { color: var(--warning); background: #fff4e5; }
.run-step-workspace { min-width: 0; padding: 0; overflow: hidden; }
.run-step-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--border); }
.run-step-heading h2, .run-step-heading p { margin: 0; overflow-wrap: anywhere; }
.run-instructions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.run-instructions section { min-width: 0; padding: 1.25rem 1.5rem; }
.run-instructions section + section { border-left: 1px solid var(--border); background: var(--surface-subtle); }
.run-instructions h3 { margin: 0 0 .5rem; font-size: .9rem; text-transform: uppercase; letter-spacing: .035em; }
.run-instructions p { overflow-wrap: anywhere; }
.run-instructions .test-data { padding: .75rem; border-radius: 6px; background: var(--surface-subtle); }
.evidence-panel { padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--border); background: #fbfcfd; }
.evidence-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.evidence-heading h3, .evidence-heading p { margin: 0; }
.evidence-heading p { margin-top: .3rem; color: var(--muted); font-size: .85rem; }
.evidence-upload-form { display: grid; gap: .85rem; margin-top: 1rem; }
.evidence-dropzone { display: grid; place-items: center; min-height: 132px; padding: 1rem; text-align: center; border: 2px dashed var(--border-strong); border-radius: 8px; background: var(--surface); transition: border-color .15s ease, background .15s ease; }
.evidence-dropzone.dragging { border-color: var(--action); background: #e8f2f5; }
.evidence-dropzone:focus-within { outline: 3px solid var(--focus); outline-offset: 2px; }
.evidence-dropzone label { max-width: 100%; margin: 0; color: var(--action); font-weight: 700; overflow-wrap: anywhere; cursor: pointer; }
.evidence-dropzone input { width: min(100%, 400px); min-width: 0; max-width: 100%; min-height: 44px; margin-top: .45rem; }
.evidence-dropzone p { margin: .45rem 0 0; color: var(--muted); font-size: .82rem; }
.evidence-scope { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: 0; border: 0; }
.evidence-scope legend { width: 100%; margin-bottom: .25rem; font-weight: 700; }
.evidence-scope label { display: flex; align-items: center; gap: .4rem; min-height: 32px; margin: 0; font-weight: 500; }
.evidence-scope input { width: 20px; min-height: 20px; margin: 0; }
.evidence-upload-form > button { justify-self: start; }
.evidence-live { min-height: 1.35rem; margin: 0; color: var(--success); font-size: .88rem; font-weight: 650; }
.evidence-live.error { color: var(--danger); }
.evidence-upload-queue, .evidence-list ul { display: grid; gap: .55rem; padding: 0; margin: 0; list-style: none; }
.evidence-upload-row { padding: .75rem; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }
.evidence-upload-row > div { display: flex; justify-content: space-between; gap: .75rem; min-width: 0; }
.evidence-upload-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.evidence-upload-row progress { display: block; width: 100%; height: 8px; margin-top: .55rem; accent-color: var(--action); }
.evidence-upload-row.success { border-color: #91cbaa; }
.evidence-upload-row.failed { border-color: #e4a6a2; }
.evidence-upload-row .field-error { margin: .4rem 0 0; }
.evidence-upload-row .evidence-upload-retry { margin-top: .55rem; }
.evidence-upload-row .evidence-upload-retry[hidden] { display: none; }
.evidence-list { margin-top: 1rem; }
.evidence-empty, .evidence-readonly-note { margin: 1rem 0 0; }
.evidence-item { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(130px, auto); gap: .75rem; align-items: center; min-height: 58px; padding: .65rem .75rem; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }
.evidence-file { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.evidence-file > span:first-child { color: var(--muted); font-size: 1.25rem; }
.evidence-file > span:last-child { display: grid; min-width: 0; }
.evidence-file strong, .evidence-file small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.evidence-file small { color: var(--muted); }
.evidence-status { justify-self: start; }
.evidence-actions { display: flex; justify-content: flex-end; }
.evidence-actions:empty { min-width: 0; }
.run-step-form { padding: 1.25rem 1.5rem; }
.run-step-form textarea { max-width: none; }
.conflict-server-state { padding: 1rem; border: 1px solid #e9b949; border-radius: 6px; background: #fffdf7; }
.conflict-server-state dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-bottom: 0; }
.conflict-server-state dl div { min-width: 0; }
.conflict-server-state dt { color: var(--muted); font-size: .78rem; }
.conflict-server-state dd { margin: .15rem 0 0; overflow-wrap: anywhere; }
.step-result-choices, .completion-choices { padding: 0; margin: 1.25rem 0; border: 0; }
.step-result-choices legend, .completion-choices legend { margin-bottom: .5rem; font-weight: 700; }
.step-result-choices > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.step-result-choices label, .completion-choices label { display: flex; align-items: center; gap: .45rem; min-height: 48px; padding: .6rem .7rem; margin: 0; border: 1px solid var(--border-strong); border-radius: 6px; cursor: pointer; }
.step-result-choices label:has(input:checked), .completion-choices label:has(input:checked) { outline: 2px solid var(--focus); outline-offset: 1px; background: #eef4ff; }
.step-result-choices input, .completion-choices input { flex: 0 0 20px; width: 20px; min-height: 20px; margin: 0; }
.step-result-choices.invalid label, .completion-choices.invalid label { border-color: var(--danger); }
.result-passed span { color: var(--success); }
.result-failed span { color: var(--danger); }
.result-blocked span, .result-skipped span { color: var(--warning); }
.conditional-reason[hidden], .recommendation-warning[hidden] { display: none; }
.run-result-readonly { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding: 1.25rem 1.5rem; margin: 0; }
.run-result-readonly div { min-width: 0; padding: .85rem; border-radius: 6px; background: var(--surface-subtle); }
.run-result-readonly dt { color: var(--muted); font-size: .8rem; font-weight: 600; }
.run-result-readonly dd { margin: .25rem 0 0; overflow-wrap: anywhere; }
.mobile-step-navigation { display: none; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1.5rem; border-top: 1px solid var(--border); }
.button-link.disabled { color: var(--muted); pointer-events: none; opacity: .55; }
.run-action-bar { position: sticky; z-index: 4; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0; padding: .75rem 1rem; border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 -6px 22px rgb(23 32 51 / 10%); background: rgb(255 255 255 / 97%); }
.run-action-bar p { margin: 0; color: var(--muted); font-size: .85rem; }
.run-action-bar > div { display: flex; gap: .5rem; }
.run-action-bar form { margin: 0; }
.run-completion { margin-top: 1.5rem; border-color: #9bc5d2; }
.run-completion .panel-head, .completion-proof .panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.run-completion h2, .run-completion .eyebrow, .completion-proof h2, .completion-proof .eyebrow { margin: 0; }
.completion-choices > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.completion-choices label { flex-direction: column; justify-content: center; text-align: center; }
.completion-proof { border-color: #91cbaa; }
.completion-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-bottom: 0; }
.completion-facts div { padding: .75rem; border-radius: 6px; background: var(--surface-subtle); }
.completion-facts .wide { grid-column: 1 / -1; }
.completion-facts dt { color: var(--muted); font-size: .78rem; }
.completion-facts dd { margin: .2rem 0 0; overflow-wrap: anywhere; font-weight: 650; }
.run-abort form { max-width: 760px; }
.run-history ol { padding: 0; margin: 0; list-style: none; }
.run-history li { display: grid; grid-template-columns: minmax(145px, auto) minmax(180px, 1fr) minmax(120px, auto) auto; gap: .75rem; align-items: center; padding: .7rem 0; border-top: 1px solid var(--border); }
.run-history time, .run-history span { color: var(--muted); font-size: .85rem; }
.run-empty-state { text-align: center; }

.dashboard-kpis .card { margin-bottom: 0; }
.dashboard-kpis small { min-height: 1.5rem; margin-top: .35rem; color: var(--muted); }
.dashboard-status-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; padding: 0; margin: 1rem 0 0; list-style: none; }
.dashboard-status-list li { display: grid; grid-template-columns: 1fr auto; gap: .35rem .75rem; min-width: 0; padding: .75rem; border: 1px solid var(--border); border-radius: 6px; }
.dashboard-status-list .badge { grid-column: 1 / -1; justify-self: start; }
.dashboard-status-list strong { font-size: 1.35rem; }
.dashboard-status-list .help { align-self: end; text-align: right; }
.report-head .lede { margin-bottom: 0; }
.report-filter { padding: 1.25rem; }
.report-filter .filter-heading h2, .report-filter .filter-heading p { margin: 0; }
.report-filter-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.report-filter-grid .field { min-width: 0; }
.report-filter-grid label { min-height: 3rem; margin-top: 0; }
.report-filter-grid select, .report-filter-grid input { max-width: none; }
.report-filter input[type="hidden"] { display: none; }
.report-filter-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; }
.report-filter-actions .help { margin: 0; }
.alert.compact p { margin: .25rem 0 0; }
.report-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.25rem 0; color: var(--muted); }
.report-meta p { margin: 0; }
.report-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.report-kpi { min-width: 0; margin-bottom: 0; }
.report-kpi small { min-height: 3rem; margin-top: .35rem; color: var(--muted); }
.report-kpi progress { width: 100%; height: .65rem; margin-top: .75rem; accent-color: var(--success); }
.report-kpi.primary { border-color: #8fc5a9; background: #f5fbf8; }
.report-status-panel, .report-trend-panel, .report-drilldown { margin-top: 1.5rem; }
.report-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.report-status-card { display: grid; grid-template-columns: 1fr auto; gap: .3rem .75rem; min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: 8px; color: var(--text); text-decoration: none; }
.report-status-card:hover { border-color: var(--action); color: var(--text); background: #f7fbfc; }
.report-status-card:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.report-status-card.selected { border-color: var(--action); box-shadow: inset 0 0 0 1px var(--action); }
.report-status-card .badge { grid-column: 1 / -1; justify-self: start; white-space: nowrap; }
.report-status-card strong { font-size: 1.8rem; line-height: 1.2; }
.report-status-card > span:not(.badge) { align-self: end; color: var(--muted); }
.report-status-card small { grid-column: 1 / -1; color: var(--action); }
.trend-chart { display: grid; gap: .65rem; margin: 1.25rem 0; }
.trend-bar { display: grid; grid-template-columns: 5rem minmax(120px, 1fr) 8rem; align-items: center; gap: .75rem; }
.trend-bar time { color: var(--muted); font-size: .875rem; }
.trend-bar progress { width: 100%; height: 1rem; accent-color: var(--action); }
.trend-bar span { text-align: right; font-variant-numeric: tabular-nums; }
.trend-table { max-height: 360px; border: 1px solid var(--border); border-radius: 6px; }
.trend-table th, .trend-table td { white-space: nowrap; }
.report-run-table { margin-top: 1rem; }
.report-run-table table { min-width: 960px; }
.report-run-table td { vertical-align: top; }
.recommendation { display: inline-block; margin-top: .4rem; color: var(--muted); font-size: .82rem; }
.recommendation.overridden { color: var(--warning); font-weight: 700; }
.report-run-cards { display: none; }
.report-stale a { color: inherit; font-weight: 700; }
.filtered-empty { border-style: dashed; }
.run-defect-action { display: flex; justify-content: flex-end; margin: -.5rem 0 1rem; }
.defect-link-panel { padding: 1rem 1.25rem; border-top: 1px solid var(--border); background: #fbfcfe; }
.defect-link-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.defect-link-heading h3, .defect-link-heading p { margin: 0; }
.defect-link-heading p { margin-top: .25rem; color: var(--muted); }
.defect-link-list { display: grid; gap: .5rem; padding: 0; margin: 1rem 0 0; list-style: none; }
.defect-link-list a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; min-height: 48px; padding: .65rem .75rem; border: 1px solid var(--border); border-radius: 6px; color: var(--text); text-decoration: none; }
.defect-link-list a:hover { border-color: var(--action); background: var(--surface); }
.defect-link-list a:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.defect-link-list span:not(.badge) { min-width: 0; overflow-wrap: anywhere; }
.defect-create-layout, .defect-detail-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 1.25rem; align-items: start; }
.defect-detail-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); }
.defect-detail-layout > div { min-width: 0; }
.defect-create-layout > .defect-origin-card { position: sticky; top: 1.5rem; }
.defect-origin-card dl, .defect-facts dl { margin: 1rem 0 0; }
.defect-origin-card dl > div, .defect-facts dl > div { padding: .75rem 0; border-top: 1px solid var(--border); }
.defect-origin-card dt, .defect-facts dt { color: var(--muted); font-size: .82rem; }
.defect-origin-card dd, .defect-facts dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.defect-create-form form { margin-top: 1rem; }
.defect-risk-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.defect-description { margin-bottom: 1.25rem; }
.defect-description p { overflow-wrap: anywhere; }
.defect-filter { padding: 1.25rem; }
.defect-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .25rem 1rem; }
.defect-filter-grid .field:first-child { grid-column: span 2; }
.defect-filter .filter-actions { display: flex; justify-content: flex-end; }
.defect-list-card table { min-width: 1180px; }
.defect-list-card .pagination { padding-top: 1rem; border-top: 1px solid var(--border); }
.defect-card-list { display: none; }
.defect-state-summary { display: flex; align-items: flex-end; flex-direction: column; gap: .5rem; text-align: right; }
.defect-side-panel { display: grid; gap: 1rem; min-width: 0; }
.defect-side-panel .card { margin: 0; }
.defect-transition form { margin-top: 1rem; }
.defect-transition button { width: 100%; }
.defect-retests, .defect-evidence, .defect-timeline { margin-top: 1.25rem; }
.defect-retests > p, .retest-run-context > p { color: var(--muted); }
.retest-attempt-list { display: grid; gap: .75rem; padding: 0; margin: 1rem 0 0; list-style: none; }
.retest-attempt-list > li { padding: 1rem; border: 1px solid var(--border); border-left: 4px solid var(--action); border-radius: 7px; background: #fbfcfe; }
.retest-attempt-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.retest-attempt-head > div { display: grid; gap: .2rem; min-width: 0; }
.retest-attempt-head span:not(.badge) { color: var(--muted); font-size: .82rem; }
.retest-attempt-list dl, .retest-run-context dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1rem; margin: 1rem 0 0; }
.retest-attempt-list dl > div, .retest-run-context dl > div { min-width: 0; padding-top: .65rem; border-top: 1px solid var(--border); }
.retest-attempt-list dt, .retest-run-context dt { color: var(--muted); font-size: .78rem; }
.retest-attempt-list dd, .retest-run-context dd { margin: .15rem 0 0; overflow-wrap: anywhere; }
.retest-run-context { border-top: 4px solid #6941c6; }
.defect-retest-action { border-top: 3px solid #6941c6; }
.defect-evidence ul { display: grid; gap: .65rem; padding: 0; margin: 1rem 0 0; list-style: none; }
.defect-evidence li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .75rem; padding: .75rem; border: 1px solid var(--border); border-radius: 6px; }
.defect-evidence li > div { display: grid; min-width: 0; }
.defect-evidence li strong { overflow-wrap: anywhere; }
.defect-evidence li small { color: var(--muted); }
.defect-timeline ol { position: relative; display: grid; gap: 1rem; padding: 0 0 0 1.5rem; margin: 1rem 0 0; list-style: none; }
.defect-timeline ol::before { position: absolute; top: .25rem; bottom: .25rem; left: .36rem; width: 2px; background: var(--border); content: ""; }
.defect-timeline li { position: relative; }
.defect-timeline li::before { position: absolute; top: .25rem; left: -1.45rem; width: .75rem; height: .75rem; border: 2px solid var(--action); border-radius: 50%; background: var(--surface); content: ""; }
.defect-timeline li.timeline-fix::before { border-color: var(--success); background: #eaf7f0; }
.defect-timeline li.timeline-comment::before { border-color: var(--warning); background: #fff7e6; }
.defect-timeline li > div { display: grid; gap: .2rem; padding: .75rem; border: 1px solid var(--border); border-radius: 6px; }
.defect-timeline li span { color: var(--muted); font-size: .82rem; }
.defect-timeline li p { margin: .2rem 0 0; overflow-wrap: anywhere; }
.defect-timeline .timeline-comment-body { padding: .65rem; border-left: 3px solid var(--warning); background: #fffaf0; color: var(--text); }
.defect-timeline .untrusted-reference { color: var(--text); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .85rem; overflow-wrap: anywhere; }
.defect-fix-action { border-top: 3px solid var(--action); }
.defect-comment-form textarea { min-height: 7rem; }

@media (max-width: 1050px) {
  .repository-layout { grid-template-columns: 1fr; }
  .repository-tree-panel, .repository-content { min-height: 0; }
  .repository-tree-panel { max-height: 420px; overflow: auto; }
  .repository-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .testcase-editor-layout { grid-template-columns: 1fr; }
  .cycle-planning-layout { grid-template-columns: 1fr; }
  .cycle-selection-summary { position: static; }
  .cycle-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cycle-run-row { grid-template-columns: minmax(240px, 1fr) auto; }
  .cycle-run-assignment { grid-column: 1 / -1; }
  .run-execution-layout { grid-template-columns: 1fr; }
  .run-navigator { position: static; max-height: 360px; }
  .mobile-step-navigation { display: flex; }
  .report-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .report-kpis, .report-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-status-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .defect-create-layout, .defect-detail-layout { grid-template-columns: 1fr; }
  .defect-create-layout > .defect-origin-card { position: static; }
  .defect-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .member-table { display: none; }
  .member-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .member-card { border: 1px solid var(--border); border-radius: 8px; padding: 1rem; }
  .member-card h3, .member-card p { margin: 0 0 .35rem; }
  .member-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
  .member-card dt { color: var(--muted); font-size: .875rem; }
  .member-card dd { margin: .2rem 0 0; }
  .role-form.stacked { display: grid; min-width: 0; margin-top: 1rem; }
  .role-form.stacked label { margin-top: 0; }
  .role-form.stacked button { width: 100%; }
  .member-actions { margin-top: .75rem; }
}

@media (max-width: 767px) {
  header { height: 64px; padding: 0 1rem; }
  .brand img { height: 28px; }
  nav { position: static; width: auto; overflow: auto; flex-direction: row; padding: .75rem; }
  main { margin: 0; padding: 1rem; }
  .auth-layout main { min-height: calc(100vh - 64px); }
  .card { padding: 1rem; overflow: auto; }
  .auth { margin: 1rem auto; padding: 1.5rem; }
  .filter { display: block; }
  .page-head { display: block; }
  .page-head .button-link { margin-top: 1rem; }
  .page-actions { align-items: stretch; flex-direction: column; }
  .page-actions .button-link { width: 100%; margin-top: .5rem; }
  .repository-layout { gap: .75rem; }
  .repository-tree-panel { max-height: 360px; }
  .panel-head, .selected-folder-head { align-items: stretch; flex-direction: column; }
  .filter-heading, .pagination { align-items: stretch; flex-direction: column; }
  .repository-filter-grid { grid-template-columns: 1fr; }
  .repository-filter-grid .field:first-child { grid-column: auto; }
  .folder-tree-item { margin-left: calc(var(--tree-depth) * .65rem); }
  .folder-tree-item .badge { display: none; }
  .repository-table table { min-width: 900px; }
  .pagination div, .pagination a { width: 100%; }
  .folder-action-grid { grid-template-columns: 1fr; }
  .filter-row { align-items: stretch; flex-direction: column; }
  .project-grid { grid-template-columns: 1fr; }
  .deletion-card { grid-template-columns: 1fr; gap: 1rem; }
  .restore-project { border-top: 1px solid #e9b949; border-left: 0; padding-top: 1rem; padding-left: 0; }
  .project-facts { grid-template-columns: 1fr; }
  table { min-width: 650px; }
  .member-table { display: none; }
  .member-cards { display: grid; gap: .75rem; }
  .member-card { border-top: 1px solid var(--border); padding-top: 1rem; }
  .member-card:first-child { border-top: 0; padding-top: 0; }
  .member-card h3, .member-card p { margin: 0 0 .35rem; }
  .member-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-bottom: 0; }
  .member-card dt { color: var(--muted); font-size: .875rem; }
  .member-card dd { margin: .2rem 0 0; }
  .role-form.stacked { display: grid; min-width: 0; margin-top: 1rem; }
  .role-form.stacked label { margin-top: 0; }
  .role-form.stacked button { width: 100%; }
  .member-actions { margin-top: .75rem; }
  .invitation-row { align-items: stretch; flex-direction: column; }
  .row-actions, .row-actions form, .row-actions button { width: 100%; }
  .invite-dialog { width: 100%; max-width: none; max-height: none; height: 100%; margin: 0; border: 0; border-radius: 0; padding: 1rem; }
  .dialog-actions { align-items: stretch; flex-direction: column-reverse; }
  .dialog-actions button { width: 100%; }
  .api-page-head { display: grid; }
  .create-credential { width: 100%; margin-top: 1rem; }
  .create-credential > summary { width: 100%; }
  .create-credential-panel { position: static; width: 100%; max-height: none; margin-top: .75rem; box-shadow: none; }
  .scope-checklist > div:first-of-type { grid-template-columns: 1fr; }
  .credential-list { overflow: visible; }
  .credential-list .panel-head { align-items: flex-start; flex-direction: column; }
  .credential-list .table-wrap { overflow: visible; }
  .credential-table, .credential-table tbody, .credential-table tr, .credential-table td { display: block; width: 100%; min-width: 0; }
  .credential-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .credential-table tr { padding: 1rem 0; border-top: 1px solid var(--border); }
  .credential-table tr:first-child { padding-top: 0; border-top: 0; }
  .credential-table td { display: grid; grid-template-columns: minmax(78px, .35fr) minmax(0, 1fr); gap: .75rem; padding: .55rem 0; border: 0; }
  .credential-table td::before { color: var(--muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; content: attr(data-label); }
  .credential-actions { min-width: 0; }
  .one-time-secret-dialog { width: 100%; }
  .secret-copy-row { grid-template-columns: 1fr; }
  .testcase-editor-head { display: block; }
  .testcase-editor-head .editor-head-actions button { display: none; }
  .editor-head-actions { align-items: flex-start; margin-top: .75rem; }
  .testcase-editor-layout { gap: .75rem; margin-bottom: 5.5rem; }
  .testcase-metadata, .testcase-steps { overflow: visible; }
  .step-card { padding: .85rem; }
  .step-card-head { align-items: flex-start; flex-wrap: wrap; }
  .step-actions { width: 100%; margin-left: 0; }
  .step-actions .danger-text { flex: 1; }
  .add-step { width: 100%; }
  .editor-save-state { margin-bottom: 6rem; text-align: left; }
  .mobile-editor-actions { position: fixed; z-index: 5; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: minmax(110px, .7fr) minmax(180px, 1.3fr); gap: .75rem; padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--border); background: var(--surface); }
  .mobile-editor-actions a, .mobile-editor-actions button { width: 100%; }
  .version-actions { align-items: stretch; flex-direction: column; }
  .version-actions .page-actions, .version-actions form, .version-actions button, .version-actions a { width: 100%; }
  .version-timeline-head { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .compare-picker { align-items: stretch; flex-direction: column; }
  .compare-picker button { width: 100%; }
  .comparison-table { min-width: 760px; }
  .step-compare-row > div { grid-template-columns: 1fr; }
  .planner-steps { grid-template-columns: 1fr; }
  .planner-steps > div { min-height: 48px; border-right: 0; border-bottom: 1px solid var(--border); }
  .planner-steps > div:last-child { border-bottom: 0; }
  .cycle-context-form { grid-template-columns: 1fr; }
  .cycle-objective, .cycle-timezone, .cycle-form-actions { grid-column: auto; }
  .cycle-form-actions button { width: 100%; }
  .cycle-context-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cycle-filter-grid { grid-template-columns: 1fr; }
  .cycle-selection-toolbar { align-items: flex-start; flex-direction: column; }
  .cycle-selection-toolbar p { text-align: left; }
  .cycle-selection-submit button, .cycle-review-link { width: 100%; }
  .cycle-review-metrics { gap: .5rem; }
  .cycle-review-metrics div { padding: .75rem; }
  .cycle-review-metrics dd { font-size: 1.25rem; }
  .cycle-run-row { grid-template-columns: 1fr; align-items: start; }
  .cycle-run-assignment { grid-column: auto; }
  .cycle-run-assignment form { grid-template-columns: 1fr; }
  .cycle-run-assignment label { grid-column: auto; }
  .cycle-run-row > .button-link { width: 100%; }
  .cycle-command-bar { align-items: stretch; flex-direction: column-reverse; }
  .cycle-command-bar a, .cycle-command-bar form, .cycle-command-bar button { width: 100%; }
  .run-card-list { grid-template-columns: 1fr; }
  .run-list-card { grid-template-columns: 1fr; }
  .run-list-card > .badge, .run-list-facts, .run-list-card > .button-link { grid-column: auto; }
  .run-scope-tabs { overflow-x: auto; }
  .run-scope-tabs a { flex: 0 0 auto; }
  .run-start-panel, .run-step-heading, .run-completion .panel-head, .completion-proof .panel-head { align-items: stretch; flex-direction: column; }
  .run-start-panel form, .run-start-panel button { width: 100%; }
  .run-instructions { grid-template-columns: 1fr; }
  .run-instructions section + section { border-top: 1px solid var(--border); border-left: 0; }
  .run-step-heading, .run-instructions section, .evidence-panel, .run-step-form, .run-result-readonly { padding: 1rem; }
  .evidence-heading { align-items: stretch; flex-direction: column; }
  .evidence-upload-form > button { width: 100%; }
  .evidence-item { grid-template-columns: 1fr; align-items: start; }
  .evidence-actions { justify-content: stretch; }
  .evidence-actions button { width: 100%; }
  .step-result-choices > div, .completion-choices > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .run-result-readonly, .completion-facts { grid-template-columns: 1fr; }
  .conflict-server-state dl { grid-template-columns: 1fr; }
  .completion-facts .wide { grid-column: auto; }
  .run-action-bar { position: fixed; right: 0; bottom: 0; left: 0; margin: 0; padding: .65rem 1rem calc(.65rem + env(safe-area-inset-bottom)); border-width: 1px 0 0; border-radius: 0; }
  .run-action-bar p { display: none; }
  .run-action-bar > div { width: 100%; }
  .run-action-bar form { flex: .8; }
  .run-action-bar button { width: 100%; }
  .run-action-bar > div > button { flex: 1; }
  .run-action-bar > div > button.quiet:not(.pause-button) { display: none; }
  body:has(.run-action-bar) main { padding-bottom: 6rem; }
  .run-history li { grid-template-columns: 1fr auto; gap: .25rem .75rem; }
  .run-history li strong, .run-history li span { grid-column: 1; }
  .run-history li a { grid-column: 2; grid-row: 1 / 4; }
  .report-head, .report-filter .filter-heading, .report-meta, .report-filter-actions, .report-status-panel .panel-head, .report-trend-panel .panel-head, .report-drilldown .panel-head { align-items: stretch; flex-direction: column; }
  .report-head .button-link, .report-filter-actions button { width: 100%; }
  .report-filter-grid, .report-kpis, .report-status-grid { grid-template-columns: 1fr; }
  .dashboard-status-list { grid-template-columns: 1fr; }
  .report-filter-grid label { min-height: 0; }
  .report-meta { gap: .25rem; }
  .report-kpi small { min-height: 0; }
  .trend-bar { grid-template-columns: 3.5rem minmax(90px, 1fr); gap: .5rem; }
  .trend-bar span { grid-column: 2; text-align: left; font-size: .82rem; }
  .report-run-table { display: none; }
  .report-run-cards { display: grid; gap: .75rem; margin-top: 1rem; }
  .report-run-cards article { min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: 8px; }
  .report-run-cards h3, .report-run-cards p { margin: 0 0 .35rem; overflow-wrap: anywhere; }
  .report-run-cards dl { margin: 1rem 0; }
  .report-run-cards dl div { padding: .5rem 0; border-top: 1px solid var(--border); }
  .report-run-cards dt { color: var(--muted); font-size: .78rem; }
  .report-run-cards dd { margin: .15rem 0 0; overflow-wrap: anywhere; }
  .report-run-cards .button-link { width: 100%; }
  .report-drilldown .pagination { align-items: stretch; flex-direction: column; }
  .report-drilldown .pagination div, .report-drilldown .pagination a { width: 100%; }
  .run-defect-action { justify-content: stretch; margin-top: 0; }
  .run-defect-action a, .defect-link-heading .button-link { width: 100%; }
  .defect-link-panel { padding: 1rem; }
  .defect-link-heading { align-items: stretch; flex-direction: column; }
  .defect-link-list a { grid-template-columns: 1fr; }
  .defect-link-list .badge { justify-self: start; }
  .defect-create-layout, .defect-detail-layout { gap: .75rem; }
  .retest-attempt-head, .retest-run-context .panel-head { align-items: stretch; flex-direction: column; }
  .retest-attempt-head .badge, .retest-run-context .badge { align-self: flex-start; }
  .retest-attempt-list dl, .retest-run-context dl { grid-template-columns: 1fr; }
  .defect-risk-fields { grid-template-columns: 1fr; gap: 0; }
  .defect-create-form .form-actions { align-items: stretch; flex-direction: column-reverse; }
  .defect-create-form .form-actions a, .defect-create-form .form-actions button { width: 100%; }
  .defect-filter-grid { grid-template-columns: 1fr; }
  .defect-filter-grid .field:first-child { grid-column: auto; }
  .defect-filter .filter-actions, .defect-filter .filter-actions button { width: 100%; }
  .defect-table { display: none; }
  .defect-card-list { display: grid; gap: .75rem; padding: 0; margin: 0; list-style: none; }
  .defect-card-list > li { padding: 1rem; border: 1px solid var(--border); border-radius: 8px; }
  .defect-card-heading { display: grid; gap: .75rem; }
  .defect-card-heading > a { display: grid; gap: .2rem; color: var(--text); text-decoration: none; }
  .defect-card-heading > a:hover { color: var(--action); }
  .defect-card-heading .badge { justify-self: start; }
  .defect-card-list dl { margin: .75rem 0 0; }
  .defect-card-list dl div { padding: .5rem 0; border-top: 1px solid var(--border); }
  .defect-card-list dt { color: var(--muted); font-size: .78rem; }
  .defect-card-list dd { margin: .15rem 0 0; overflow-wrap: anywhere; }
  .defect-state-summary { align-items: flex-start; text-align: left; }
  .defect-evidence li { grid-template-columns: 1fr; }
  .defect-evidence li .badge { justify-self: start; }
  .defect-evidence li .button-link { width: 100%; }
}

.protected-parameters { margin: 1rem 0; }
.protected-parameters > p { color: var(--muted); }
.protected-parameters ul { display: grid; gap: .75rem; padding: 0; margin: 1rem 0 0; list-style: none; }
.protected-parameters li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 1rem; align-items: center; padding: 1rem; border: 1px solid var(--border); border-radius: 8px; }
.protected-parameters li div { display: grid; gap: .25rem; }
.protected-parameters small { color: var(--muted); overflow-wrap: anywhere; }
.protected-parameters output { grid-column: 1 / -1; min-height: 1.5rem; color: var(--muted); overflow-wrap: anywhere; }
.protected-parameters output[data-revealed] { padding: .75rem; border: 1px solid var(--warning); border-radius: 6px; color: var(--text); font-family: ui-monospace, monospace; }
.quality-filter { display: flex; gap: 1rem; align-items: end; margin-bottom: 1rem; }
.quality-filter label { font-weight: 700; }
.quality-filter select { min-width: min(32rem, 60vw); }
.quality-gate-banner { padding: 1.5rem; margin-bottom: 1rem; border: 1px solid var(--border); border-radius: 8px; }
.quality-gate-banner h2, .quality-gate-banner p { margin: .25rem 0; }
.quality-gate-banner.gate-passed { background: #ecfdf3; border-color: var(--success); }
.quality-gate-banner.gate-failed { background: #fff2f0; border-color: var(--danger); }
.quality-gate-banner.gate-blocked { background: #fff7e6; border-color: var(--warning); }
.quality-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.quality-total { display: block; margin: 1rem 0; font-size: clamp(2rem, 5vw, 3rem); }
.quality-sources dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.quality-sources dl div { padding: .75rem; background: var(--surface-subtle); border-radius: 6px; }
.quality-sources dt { color: var(--muted); font-size: .8rem; }
.quality-sources dd { margin: .25rem 0 0; font-weight: 700; }
.quality-blockers { margin-top: 1rem; }
.quality-blockers ol { display: grid; gap: .75rem; padding: 0; list-style: none; }
.quality-blockers li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; align-items: start; padding: .75rem 0; border-top: 1px solid var(--border); }
.quality-blockers li div { display: grid; gap: .25rem; }
.quality-blockers small { color: var(--muted); }

@media (max-width: 540px) {
  .protected-parameters li { grid-template-columns: 1fr; }
  .protected-parameters button { width: 100%; min-height: 44px; }
  .protected-parameters output { grid-column: 1; }
  .quality-filter, .quality-sources { display: grid; grid-template-columns: 1fr; }
  .quality-filter select, .quality-filter button { width: 100%; min-width: 0; }
  .quality-sources dl { grid-template-columns: 1fr; }
}

.testcase-overview-filter { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; align-items: end; }
.testcase-overview-filter > button, .testcase-overview-filter > a { align-self: center; }
.dialog-backdrop { position: fixed; inset: 0; z-index: 20; display: grid; place-items: center; padding: 1rem; background: rgb(23 32 51 / 55%); }
.testcase-create-dialog { width: min(38rem, 100%); max-height: calc(100vh - 2rem); overflow: auto; }
.dialog-actions { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 1rem; }
.authoring-step { margin-bottom: 1rem; }
.authoring-step-head { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.authoring-step-head div { display: flex; flex-wrap: wrap; gap: .35rem; }
.authoring-step[draggable="true"] { cursor: grab; }
.authoring-actions { position: sticky; bottom: 0; z-index: 4; display: flex; gap: 1rem; align-items: center; justify-content: flex-end; padding: 1rem; margin-top: 1rem; background: var(--surface); border-top: 1px solid var(--border); }
.authoring-actions output { margin-right: auto; font-weight: 700; }

@media (max-width: 760px) {
  .testcase-overview-filter { grid-template-columns: 1fr; }
  .testcase-overview-table table, .testcase-overview-table tbody, .testcase-overview-table tr, .testcase-overview-table td { display: block; }
  .testcase-overview-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .testcase-overview-table tr { padding: 1rem 0; border-bottom: 1px solid var(--border); }
  .testcase-overview-table td { padding: .25rem 1rem; border: 0; }
  .dialog-backdrop { padding: 0; place-items: stretch; }
  .testcase-create-dialog { width: 100%; max-height: 100vh; border-radius: 0; }
  .dialog-actions, .authoring-actions { display: grid; grid-template-columns: 1fr; }
  .dialog-actions > *, .authoring-actions > * { width: 100%; }
  .authoring-actions output { margin: 0; }
  .authoring-step-head { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

.eyebrow { margin: 0 0 .35rem; color: var(--muted); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.steering-head { align-items: flex-start; }
.steering-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.steering-kpis article { display: grid; gap: .3rem; }
.steering-kpis strong { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.steering-kpis small, .steering-item-card small, .steering-criteria small { color: var(--muted); }
.steering-attention ul, .steering-criteria { display: grid; gap: .75rem; padding: 0; list-style: none; }
.steering-attention li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; padding-top: .75rem; border-top: 1px solid var(--border); }
.steering-attention li div { display: grid; gap: .2rem; }
.steering-filter { margin: 1rem 0; }
.steering-filter-grid { display: grid; grid-template-columns: 2fr repeat(3, minmax(0, 1fr)); gap: .75rem; }
.steering-filter-grid label { display: grid; gap: .35rem; font-weight: 700; }
.steering-board { margin-top: 1.5rem; }
.steering-card-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.steering-item-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.steering-item-heading h3 { margin: 0; }
.steering-item-card dl, .steering-facts, .steering-settings-grid dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.steering-item-card dl div, .steering-facts div, .steering-settings-grid dl div { padding: .65rem; background: var(--surface-subtle); border-radius: 6px; }
.steering-item-card dt, .steering-facts dt, .steering-settings-grid dt { color: var(--muted); font-size: .78rem; }
.steering-item-card dd, .steering-facts dd, .steering-settings-grid dd { margin: .2rem 0 0; font-weight: 700; overflow-wrap: anywhere; }
.steering-primary-blocker { padding: .75rem; border-left: 4px solid var(--danger); background: #fff2f0; }
.steering-settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.steering-status-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-bottom: 1rem; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: var(--border); }
.steering-status-strip > div { display: grid; gap: .3rem; padding: 1rem; background: var(--surface); }
.steering-status-strip span, .steering-status-strip small { color: var(--muted); }
.steering-detail-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); gap: 1rem; align-items: start; }
.steering-detail-main, .steering-detail-aside { display: grid; gap: 1rem; }
.steering-criteria li, .steering-decision + .steering-decision { padding-top: 1rem; border-top: 1px solid var(--border); }
.steering-criteria li > div { display: flex; gap: .75rem; align-items: center; }
.steering-decision form { margin-top: 1rem; }
.gate-failed, .status-urgent { background: #fee2e2; color: #991b1b; }
.gate-blocked, .gate-incomplete, .status-decision { background: #fff7e6; color: #854d0e; }
.gate-passed { background: #ecfdf3; color: #166534; }
.gate-accepted_with_exception, .status-information { background: #eff6ff; color: #1e40af; }

@media (max-width: 760px) {
  .steering-kpis, .steering-card-list, .steering-settings-grid, .steering-status-strip, .steering-detail-grid, .steering-filter-grid { grid-template-columns: 1fr; }
  .steering-item-heading { flex-direction: column; }
  .steering-item-card dl, .steering-facts, .steering-settings-grid dl { grid-template-columns: 1fr; }
  .steering-filter .form-actions, .steering-filter .form-actions > * { width: 100%; }
  .steering-criteria li > div { align-items: flex-start; flex-direction: column; }
}
