/* @region feature-ci-failure-history — CI failures page (queue, pane, phone pages), the strip, case and executor history, widget */
.ft-ci-failure-history-page { display: grid; gap: 12px; min-width: 0; }
.ft-ci-failure-history-sub { margin: 0; color: var(--muted); font-size: 13px; }
.ft-ci-failure-history-pagemeta { color: var(--muted); font-size: 13px; white-space: nowrap; }
.ft-ci-failure-history-muted { margin: 0; color: var(--muted); font-size: 13px; }

.ft-ci-failure-history-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.ft-ci-failure-history-chips { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.ft-ci-failure-history-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 10px; border: 1px solid var(--border); border-radius: 16px; background: var(--panel); color: var(--text); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.ft-ci-failure-history-chip:hover { border-color: var(--accent-mid); }
.ft-ci-failure-history-chip.active { background: var(--accent-soft); border-color: var(--accent-mid); color: var(--accent); }
.ft-ci-failure-history-chip:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; }
.ft-ci-failure-history-n { height: 18px; padding: 0 6px; }
.ft-ci-failure-history-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.ft-ci-failure-history-branch { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.ft-ci-failure-history-branchlabel { font-size: 12px; color: var(--muted); }
.ft-ci-failure-history-branch .input { min-width: 140px; max-width: 220px; height: 34px; }
.ft-ci-failure-history-search { position: relative; display: inline-flex; align-items: center; min-width: 0; }
.ft-ci-failure-history-search .tf-icon { position: absolute; left: 10px; color: var(--subtle); pointer-events: none; }
.ft-ci-failure-history-search .input { height: 34px; width: 220px; max-width: 100%; padding-left: 32px; }

.ft-ci-failure-history-split { display: flex; gap: 16px; align-items: flex-start; min-width: 0; }
.ft-ci-failure-history-main { flex: 1 1 auto; min-width: 0; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); overflow: hidden; }
.ft-ci-failure-history-pane { flex: 0 0 420px; max-width: 46%; min-width: 0; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); padding: 14px 16px; position: sticky; top: 12px; max-height: calc(100vh - 140px); overflow: auto; }

.ft-ci-failure-history-table { width: 100%; min-width: 0; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.ft-ci-failure-history-table th { text-align: left; font-size: 12px; font-weight: 600; color: var(--muted); padding: 9px 10px; border-bottom: 1px solid var(--border); background: var(--table-head-bg); white-space: nowrap; }
.ft-ci-failure-history-table th:nth-child(2) { width: 64px; }
.ft-ci-failure-history-table th:nth-child(3) { width: 72px; }
.ft-ci-failure-history-table th:nth-child(4) { width: 54px; }
.ft-ci-failure-history-table th:nth-child(5) { width: 170px; }
.ft-ci-failure-history-table th:nth-child(6) { width: 120px; }
.ft-ci-failure-history-table th:nth-child(7) { width: 44px; }
.ft-ci-failure-history-table td { padding: 9px 10px; border-bottom: 1px solid var(--border-soft); vertical-align: top; min-width: 0; color: var(--text); }
.ft-ci-failure-history-row { cursor: pointer; }
.ft-ci-failure-history-row:hover { background: var(--table-row-hover); }
.ft-ci-failure-history-row.is-selected { background: var(--table-row-active); }
.ft-ci-failure-history-row:focus-visible { outline: 2px solid var(--border-focus); outline-offset: -2px; }
.ft-ci-failure-history-row:last-child td { border-bottom: 0; }
.ft-ci-failure-history-testcell { overflow: hidden; }
.ft-ci-failure-history-testname { display: flex; align-items: center; gap: 8px; font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.ft-ci-failure-history-testmeta { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; font-size: 12px; color: var(--muted); min-width: 0; }
.ft-ci-failure-history-msg { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.ft-ci-failure-history-trunc { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ft-ci-failure-history-menucell { text-align: right; padding-top: 4px; padding-bottom: 4px; }
.ft-ci-failure-history-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--st-passed); }
.ft-ci-failure-history-dot.is-fail { background: var(--st-failed); }
.ft-ci-failure-history-state { white-space: nowrap; gap: 4px; }
.ft-ci-failure-history-q { display: inline-flex; }
.ft-ci-failure-history-bugkey { margin-left: 6px; }
.ft-ci-failure-history-retest { display: block; margin-top: 4px; font-size: 12px; color: var(--muted); }

.ft-ci-failure-history-strip { display: block; max-width: 100%; overflow: visible; }
.ft-ci-failure-history-strip .is-pass rect { fill: var(--st-passed); }
.ft-ci-failure-history-strip .is-fail rect { fill: var(--st-failed); }
.ft-ci-failure-history-strip text { fill: var(--panel); font-size: 11px; font-weight: 700; }
.ft-ci-failure-history-stripwrap { min-width: 0; overflow-x: auto; }
.ft-ci-failure-history-striptext { font-size: 13px; color: var(--muted); }

.ft-ci-failure-history-detail { display: grid; gap: 14px; min-width: 0; }
.ft-ci-failure-history-dhead { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
.ft-ci-failure-history-dtitles { flex: 1 1 auto; min-width: 0; }
.ft-ci-failure-history-dtitle { margin: 0; font-size: 16px; line-height: 1.35; overflow-wrap: anywhere; color: var(--text); }
.ft-ci-failure-history-dmeta { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; font-size: 12px; color: var(--muted); min-width: 0; }
.ft-ci-failure-history-dactions { flex: none; display: flex; gap: 4px; }
.ft-ci-failure-history-form { display: grid; gap: 10px; min-width: 0; }
.ft-ci-failure-history-formrow { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; min-width: 0; }
.ft-ci-failure-history-form .input { width: 100%; }
.ft-ci-failure-history-form textarea.input { resize: vertical; min-height: 64px; }
.ft-ci-failure-history-formfoot { display: flex; justify-content: flex-end; }
.ft-ci-failure-history-bugrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.ft-ci-failure-history-bugchip { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.ft-ci-failure-history-bugtitle { min-width: 0; overflow-wrap: anywhere; color: var(--text); }
.ft-ci-failure-history-bugbtns { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.ft-ci-failure-history-subhead { margin: 4px 0 0; font-size: 13px; font-weight: 650; color: var(--text); }
.ft-ci-failure-history-execs { list-style: none; margin: 0; padding: 0; display: grid; min-width: 0; }
.ft-ci-failure-history-exec { display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border-soft); min-width: 0; }
.ft-ci-failure-history-exec:last-child { border-bottom: 0; }
.ft-ci-failure-history-execmain { flex: 1 1 auto; min-width: 0; display: grid; gap: 3px; }
.ft-ci-failure-history-execmeta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 12px; color: var(--muted); min-width: 0; }
.ft-ci-failure-history-execmsg { font-size: 12px; color: var(--text); overflow-wrap: anywhere; }
.ft-ci-failure-history-exectrail { flex: none; }
.ft-ci-failure-history-execs code { font-size: 11px; color: var(--muted); }

.ft-ci-failure-history-buglist { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 4px; max-height: 320px; overflow: auto; }
.ft-ci-failure-history-bugpick { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.ft-ci-failure-history-bugpick:hover { border-color: var(--accent-mid); background: var(--panel-alt); }
.ft-ci-failure-history-bugpick:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 1px; }
.ft-ci-failure-history-bugpick .ft-ci-failure-history-bugtitle { flex: 1 1 auto; }

.ft-ci-failure-history-caselist { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ft-ci-failure-history-casetest { display: grid; gap: 6px; min-width: 0; padding-bottom: 12px; border-bottom: 1px solid var(--border-soft); }
.ft-ci-failure-history-casetest:last-child { border-bottom: 0; padding-bottom: 0; }
.ft-ci-failure-history-casehead { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.ft-ci-failure-history-execlines { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13px; }
.ft-ci-failure-history-execlines .ft-ci-failure-history-testname { display: inline; }
.ft-ci-failure-history-widget { display: grid; gap: 10px; justify-items: start; }
.ft-ci-failure-history-widgetline { margin: 0; font-size: 15px; font-weight: 600; color: var(--text); }

/* With the pane open the queue keeps test, case, streak, triage and the menu. */
.ft-ci-failure-history-page.has-pane .ft-ci-failure-history-table th:nth-child(4),
.ft-ci-failure-history-page.has-pane .ft-ci-failure-history-table td:nth-child(4),
.ft-ci-failure-history-page.has-pane .ft-ci-failure-history-table th:nth-child(6),
.ft-ci-failure-history-page.has-pane .ft-ci-failure-history-table td:nth-child(6) { display: none; }
.ft-ci-failure-history-page.has-pane .ft-ci-failure-history-table th:nth-child(5) { width: 140px; }
@media (max-width: 1240px) {
  .ft-ci-failure-history-pane { flex-basis: 380px; }
}
@media (max-width: 1100px) {
  .ft-ci-failure-history-table th:nth-child(6), .ft-ci-failure-history-table td:nth-child(6) { display: none; }
}

@media (max-width: 900px) {
  .ft-ci-failure-history-page { gap: 0; }
  .ft-ci-failure-history-mtools { display: grid; gap: 10px; }
  .ft-ci-failure-history-mhead { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
  .ft-ci-failure-history-mhead .ft-ci-failure-history-sub { flex: 1 1 auto; min-width: 0; }
  .ft-ci-failure-history-mhead .ft-ci-failure-history-branch .input { min-width: 0; max-width: 176px; height: 40px; font-size: 15px; }
  .ft-ci-failure-history-mtools .tf-m-search { margin: 0; }
  .ft-ci-failure-history-main { border: 0; border-radius: 0; background: transparent; overflow: visible; }
  .ft-ci-failure-history-mlist.tf-m-list { list-style: none; padding: 0; }
  .ft-ci-failure-history-mrow { min-height: 64px; }
  .ft-ci-failure-history-mrow .tf-m-row-title { overflow-wrap: anywhere; }
  .ft-ci-failure-history-detail.is-phone { gap: 16px; }
  .ft-ci-failure-history-formrow { grid-template-columns: 1fr; }
  .ft-ci-failure-history-form .input { min-height: 44px; font-size: 16px; }
  .ft-ci-failure-history-bugbtns .btn { min-height: 44px; }
  .ft-ci-failure-history-exec { min-height: 56px; align-items: flex-start; cursor: default; padding: 10px 16px; }
  .ft-ci-failure-history-exec .ft-ci-failure-history-execmsg { font-size: 13px; }
  .ft-ci-failure-history-dtitle { font-size: 18px; }
}
/* @endregion feature-ci-failure-history */
