/* Flow 4 · From an acceptable offer to an acceptable build (tools/genFlowToBuild.mjs). Classes .ftb-…; tokens only.
   Every screen sits in the 1280 × 800 desktop frame of the shell, so the type and the gaps are kept compact. */

/* ── The hero ── */
.ftb-hero { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); padding: var(--space-5) var(--space-6); margin-bottom: var(--space-6); }
.ftb-hero__i { display: flex; flex-direction: column; gap: var(--space-1); }
.ftb-hero__i p { margin: 0; }
@media (max-width: 900px) { .ftb-hero { grid-template-columns: minmax(0, 1fr); } }

/* ── Two frames (or a frame and a letter) in one step ── */
.ftb-duo { display: flex; flex-direction: column; align-items: center; gap: var(--space-5); }
.ftb-letter { width: 600px; max-width: 100%; box-shadow: var(--shadow-card); border-radius: var(--radius-card); overflow: hidden; }
.ftb-letter .mail { margin: 0; }

/* ── The stage under a dialog, drawer, notification or toast ── */
.ftb-stage { position: relative; height: 100%; }
.ftb-page { gap: var(--space-2); font-size: var(--text-xs); line-height: var(--leading-xs); }
.ap-page.ftb-page:not(:has(> .ss-root)) { padding: var(--space-3) var(--space-6); }
.ftb-page h1, .ftb-page h2, .ftb-page h4, .ftb-page p { margin: 0; }
.ftb-page .card header { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-3); }
.ftb-dim { position: absolute; inset: 0; z-index: 5; display: flex; align-items: flex-start; justify-content: center; padding: var(--space-12) var(--space-6) var(--space-6); background: var(--color-overlay); }
.ftb-dim--end { justify-content: flex-end; align-items: stretch; padding: 0; }
.ftb-dim--left { justify-content: flex-start; padding-left: var(--space-8); }
.ftb-dim .c-modal { max-height: 100%; overflow: hidden; gap: var(--space-3); padding: var(--space-5); }
.ftb-modal .c-modal__items li { align-items: center; padding: 6px 0; }
.ftb-modal--xl { width: 900px; }
.ftb-modal .c-field { gap: var(--space-1); }

/* ── The Contractors tab: the strip of stages, coverage and the two clocks ── */
.ftb-strip { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'pipe clocks' 'cov clocks'; align-items: center; gap: var(--space-2) var(--space-4); padding: var(--space-2) var(--space-4); }
.ftb-strip .ftb-pipe { grid-area: pipe; }
.ftb-strip .ftb-cov { grid-area: cov; }
.ftb-strip .ftb-clocks { grid-area: clocks; }
.ftb-pipe { display: flex; margin: 0; padding: 0; list-style: none; border: 1px solid var(--color-default); border-radius: var(--radius-control); overflow: hidden; }
.ftb-pipe li { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0; padding: var(--space-1) var(--space-1); color: var(--color-subtle); background: var(--color-surface-muted); }
.ftb-pipe li + li { border-left: 1px solid var(--color-default); }
.ftb-pipe li.is-on { color: var(--color-primary-strong); background: var(--color-primary-soft); }
.ftb-pipe__n { font-size: var(--text-xs); white-space: nowrap; }
.ftb-pipe strong { font-size: var(--text-sm); }
.ftb-cov { display: flex; align-items: center; gap: var(--space-3); }
.ftb-cov .badge { flex: none; }
.ftb-tip { display: flex; gap: 4px; color: var(--color-muted); font-size: var(--text-xs); line-height: var(--leading-xs); }
.ftb-tip .icon { flex: none; width: 12px; height: 12px; margin-top: 2px; }
.ftb-clocks { display: flex; gap: var(--space-3); }
.ftb-clock { display: flex; flex-direction: column; gap: 0; width: 200px; padding: var(--space-1) var(--space-3); border-left: 3px solid var(--color-fn-construction); background: var(--color-surface-muted); border-radius: var(--radius-sm); }
.ftb-clock__fig { display: flex; align-items: baseline; gap: var(--space-2); }
.ftb-clock__fig strong { font-size: var(--text-sm); }
.ftb-clock--over { border-left-color: var(--color-danger); background: var(--color-danger-soft); }
.ftb-clock--over .ftb-clock__fig strong { color: var(--color-danger-text); }
.ftb-q { color: var(--color-warning-text); font-size: var(--text-xs); }

/* ── The table beside its panel ── */
.ftb-grid { display: grid; grid-template-columns: minmax(0, 1fr) 272px; gap: var(--space-2); align-items: start; min-height: 0; }
.ftb-grid--res { grid-template-columns: minmax(0, 1fr) 260px; }
.ftb-tcard, .ftb-side { padding: var(--space-3); display: flex; flex-direction: column; gap: var(--space-2); }
.ftb-tools { display: inline-flex; gap: var(--space-2); margin-left: auto; }
.ftb-table th, .ftb-table td { padding: 6px var(--space-2); vertical-align: top; font-size: var(--text-xs); line-height: var(--leading-xs); }
.ftb-table .ss-who { display: flex; flex-direction: column; gap: 2px; }
.ftb-table .ss-who .t-caption { font-size: var(--text-xs); }
.ftb-stagecell { display: flex; flex-direction: column; gap: 2px; white-space: nowrap; }
.ftb-table .num .t-caption { display: block; }
.ftb-act .btn { white-space: nowrap; }
.ftb-hl > td { background: var(--color-primary-soft); }
tr[data-flow-target] > td { background: var(--color-primary-soft); }
.ftb-cs { display: inline-flex; align-items: center; gap: var(--space-2); white-space: nowrap; }
.ftb-cs__t { display: flex; flex-direction: column; line-height: var(--leading-xs); }
.ftb-rate { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: var(--radius-sm); font-weight: var(--weight-semibold); font-size: var(--text-xs); }
.ftb-rate--good { background: var(--color-success-soft); color: var(--color-success-text); }
.ftb-rate--warn { background: var(--color-warning-soft); color: var(--color-warning-text); }
.ftb-rate--bad { background: var(--color-danger-soft); color: var(--color-danger-text); }
.ftb-flags { display: flex; flex-wrap: wrap; gap: 4px; }
.ftb-flags .badge { white-space: nowrap; }
.ftb-none { color: var(--color-subtle); }
.ftb-passed { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; padding: 4px var(--space-2); border-radius: var(--radius-sm); background: var(--color-warning-soft); color: var(--color-warning-text); max-width: 220px; }
.ftb-passed .t-caption { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ftb-passed strong { display: inline-flex; align-items: center; gap: 4px; }
.ftb-passed .t-caption { color: var(--color-foreground); }
.ftb-empty { padding: var(--space-4); }
.ftb-empty .ill { width: 120px; }
.ftb-seg { align-self: flex-start; }
.ftb-foot { color: var(--color-muted); }

/* Recommended contractors */
.ftb-recs { display: flex; flex-direction: column; gap: var(--space-2); }
.ftb-rec { display: flex; flex-direction: column; gap: 4px; padding: 6px var(--space-2); border: 1px solid var(--color-default); border-radius: var(--radius-control); }
.ftb-rec__top .t-body-strong { font-size: var(--text-xs); }
.ftb-rec .c-score__chip { font-size: var(--text-xs); }
.ftb-rec__top, .ftb-rec__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.ftb-rec .c-score__reason { margin: 0; font-size: var(--text-xs); }
.ftb-rec .c-score__chips { gap: 4px; }

/* The tender panel */
.ftb-tender { display: flex; flex-direction: column; gap: var(--space-2); }
.ftb-tender__state { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.ftb-tender__state .btn { margin-left: auto; }
.ftb-pack { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: var(--space-2); border: 1px solid var(--color-default); border-radius: var(--radius-control); }
.ftb-pack legend { padding: 0 4px; }
.ftb-pack .c-check__text, .ftb-newer .c-check__text { font-size: var(--text-xs); line-height: var(--leading-xs); }
.ftb-doc { display: flex; align-items: center; gap: 4px; min-width: 0; }
.ftb-doc > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 200px; }
.ftb-pack .c-check { min-height: 0; }
.ftb-doc .icon { width: 12px; height: 12px; color: var(--color-primary); }
.ftb-newer { padding: var(--space-2); border-radius: var(--radius-sm); background: var(--color-info-soft); }
.ftb-tender__foot { display: flex; justify-content: flex-end; gap: var(--space-2); }
.ftb-tenders { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: var(--space-2) 0 0; list-style: none; border-top: 1px solid var(--color-default); }
.ftb-tenders li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--space-2); }
.ftb-opt { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2); border: 1px solid var(--color-default); border-radius: var(--radius-control); }
.ftb-opt > div { display: flex; flex-direction: column; gap: 2px; flex: 1; }

/* Activity */
.ftb-actlist { display: flex; flex-direction: column; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.ftb-act__i { display: flex; gap: var(--space-2); }
.ftb-act__i > div { display: flex; flex-direction: column; gap: 2px; }
.ftb-sys { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: var(--radius-full); background: var(--color-surface-muted); color: var(--color-muted); }

/* ── The notification centre, open under the bell ── */
.ftb-notif { position: absolute; top: 52px; right: var(--space-6); z-index: 6; width: 380px; padding: var(--space-3); border: 1px solid var(--color-default); border-radius: var(--radius-card); background: var(--color-surface); box-shadow: var(--shadow-overlay); }
.ftb-notif header { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2); padding-bottom: var(--space-2); border-bottom: 1px solid var(--color-default); }
.ftb-notif ul { margin: 0; padding: 0; list-style: none; }
.ftb-notif__i { display: flex; gap: var(--space-3); padding: var(--space-3) 0 0; }
.ftb-notif__i > div { display: flex; flex-direction: column; gap: 2px; }
.ftb-notif__ic { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--color-fn-construction-tint); color: var(--color-fn-construction); }
.ftb-notif__i--bad .ftb-notif__ic { background: var(--color-danger-soft); color: var(--color-danger-text); }
.ftb-notif__w { color: var(--color-subtle); font-size: var(--text-xs); }

/* ── The Morning Meeting, Construction tab ── */
.ftb-grp th { padding: var(--space-2) var(--space-3); background: var(--color-surface-muted); text-align: left; font-weight: var(--weight-regular); }
.ftb-grp th strong { margin-right: var(--space-2); }
.ftb-new > td { background: var(--color-primary-soft); }
.ftb-mclock { display: flex; flex-direction: column; gap: 2px; }
.ftb-mclock.is-over strong { color: var(--color-danger-text); }

/* ── Invitations ── */
.ftb-select { width: 100%; }
.ftb-select .c-select__trigger { width: 100%; min-height: 30px; }
.ftb-inv { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: var(--space-4); }
.ftb-invlist { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
.ftb-invlist li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--space-2); padding: var(--space-2); border: 1px solid var(--color-default); border-radius: var(--radius-control); }
.ftb-invlist li.is-current { border-color: var(--color-primary); background: var(--color-primary-soft); }
.ftb-invlist .c-check { flex: 1 1 100%; }
.ftb-dot { color: var(--color-danger-text); display: inline-flex; }
.ftb-invmain { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; font-size: var(--text-xs); line-height: var(--leading-xs); }
.ftb-mailhead { display: flex; flex-direction: column; gap: 4px; padding-bottom: var(--space-2); border-bottom: 1px solid var(--color-default); }
.ftb-mailrow { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); }
.ftb-mailrow > :nth-child(2):last-child { grid-column: span 2; }
.ftb-mailbody { display: flex; flex-direction: column; gap: var(--space-2); }
.ftb-attach { display: inline-flex; align-items: center; gap: 4px; color: var(--color-primary-strong); }
.ftb-reasonbox { display: flex; gap: var(--space-2); padding: var(--space-2); border-radius: var(--radius-sm); background: var(--color-warning-soft); color: var(--color-warning-text); }
.ftb-reasonbox > div { display: flex; flex-direction: column; gap: 2px; }
.ftb-reasonbox .t-caption { color: var(--color-foreground); }

/* ── The bid drawer ── */
.ftb-drawer { height: 100%; }
.ftb-drawer .c-drawer__head { padding: var(--space-3) var(--space-5); }
.ftb-drawer .c-drawer__foot { padding: var(--space-3) var(--space-5); }
.ftb-dbody { gap: var(--space-3); padding: var(--space-3) var(--space-5); font-size: var(--text-xs); }
.ftb-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.ftb-row3 { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: var(--space-3); }
.ftb-f { gap: 2px; }
.ftb-f .c-field__hint { margin: 0; }
.ftb-abn { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: var(--space-2); border: 1px solid var(--color-default); border-radius: var(--radius-control); }
.ftb-abn__r { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: var(--space-2); }
.ftb-abn__tot { display: flex; justify-content: space-between; }
.ftb-csa { padding-bottom: 6px; }
.ftb-up { display: flex; align-items: center; gap: var(--space-3); }
.ftb-up .c-upload__list { flex: 1; margin: 0; padding: 0; list-style: none; }

/* ── Reading ── */
.ftb-read { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; white-space: nowrap; }
.ftb-read .spinner { margin-bottom: 2px; }
.ftb-steps li { font-size: var(--text-xs); }
.ftb-flagsum { display: flex; flex-direction: column; gap: 4px; }
.ftb-flagsum .badge { align-self: flex-start; }

/* ── The bid's own pages ── */
.ftb-bidhead { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.ftb-bidhead__t, .ftb-bidhead__r { display: flex; align-items: center; gap: var(--space-3); }
.ftb-bidhead .t-page-title { font-size: var(--text-lg); line-height: var(--leading-lg); }
.ftb-rvgrid { display: grid; grid-template-columns: 196px minmax(0, 1fr); gap: var(--space-2); align-items: start; }
.ftb-src { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); }
.ftb-src header { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.ftb-sheet { margin: 0; padding: 0; list-style: none; border: 1px solid var(--color-default); border-radius: var(--radius-sm); font-family: var(--font-mono); font-size: var(--text-xs); }
.ftb-sheet li { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 4px; padding: 2px 4px; font-size: var(--text-xs); }
.ftb-sheet li > span:nth-child(2) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ftb-sheet li + li { border-top: 1px solid var(--color-default); }
.ftb-sheet li > span:first-child { color: var(--color-subtle); }
.ftb-sheet li.is-on { background: var(--color-warning-soft); }
.ftb-sheet li.is-abn { background: var(--color-surface-muted); }
.ftb-scan { display: flex; flex-direction: column; gap: 6px; padding: var(--space-3); border-radius: var(--radius-sm); background: var(--color-surface-muted); }
.ftb-scan i { height: 6px; border-radius: var(--radius-full); background: var(--color-chart-track); }
.ftb-scan i:nth-child(3n) { width: 60%; }
.ftb-rvcard { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); min-width: 0; }
.ftb-rv th, .ftb-rv td { padding: 4px var(--space-2); font-size: var(--text-xs); line-height: var(--leading-xs); vertical-align: middle; }
.ftb-rv tr.is-flag > td { background: var(--color-warning-soft); }
.ftb-rv td .badge + .badge { margin-left: 4px; }
.ftb-h { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.ftb-diff { display: inline-flex; flex-direction: column; align-items: flex-end; }
.ftb-cell { width: 110px; text-align: right; }
.ftb-corr { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.ftb-corr .t-caption { color: var(--color-warning-text); }
.ftb-sub td { padding-left: var(--space-5); color: var(--color-muted); }
.ftb-sub td .btn { margin-left: var(--space-3); vertical-align: middle; }
.ftb-sub td .icon { width: 12px; height: 12px; margin-right: 4px; vertical-align: -2px; }
.ftb-sub--note td { color: var(--color-warning-text); }
.ftb-rvfoot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); padding-top: var(--space-2); border-top: 1px solid var(--color-default); }
.ftb-rvfoot--dec { align-items: flex-end; }
.ftb-dec { flex: 1; }
.ftb-gap { display: inline-flex; align-items: center; gap: 4px; color: var(--color-success-text); font-weight: var(--weight-medium); }
.ftb-errstate { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border: 1px dashed var(--color-danger); border-radius: var(--radius-control); background: var(--color-danger-soft); }
.ftb-errstate .ill { width: 88px; flex: none; }
.ftb-errstate > div { display: flex; flex-direction: column; gap: 2px; flex: 1; }

/* Grade and the Tender Pro Forma */
.ftb-bidgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-2); align-items: start; }
.ftb-col { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.ftb-fig, .ftb-grade, .ftb-pf, .ftb-pos { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); }
.ftb-pairs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2) var(--space-3); margin: 0; }
.ftb-pairs--pf { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ftb-pos .ftb-pairs, .ftb-modal .ftb-pairs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ftb-pair { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ftb-pair dd { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; }
.ftb-pair dd .ftb-cs { white-space: normal; }
.ftb-auto { font-size: var(--text-xs); }
.ftb-sugg { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.ftb-grade .c-field { display: grid; grid-template-columns: 60px 160px auto; align-items: center; gap: var(--space-2); }
.ftb-bands { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.ftb-bands li { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 4px var(--space-2); border: 1px solid var(--color-default); border-radius: var(--radius-sm); }
.ftb-bands li.is-on { border-color: var(--color-primary); }
.ftb-pf .c-input--area { min-height: 0; font-size: var(--text-xs); }
.ftb-pf .c-field { gap: 2px; }
.ftb-strike { text-decoration: line-through; color: var(--color-muted); }

/* Bids side by side */
.ftb-cmpgrid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); align-items: start; }
.ftb-cmpgrid > .card { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); min-width: 0; }
.ftb-cmp th, .ftb-cmp td { padding: 4px 6px; font-size: var(--text-xs); line-height: var(--leading-xs); }
.ftb-cmp tbody th { text-align: left; font-weight: var(--weight-medium); white-space: nowrap; }
.ftb-cmp td .t-caption { display: block; }
.ftb-cmp .c-compare__rank { margin-left: 4px; }
.ftb-strong td, .ftb-strong th { font-weight: var(--weight-semibold); }
.ftb-abnrow th { padding-left: var(--space-4); color: var(--color-muted); }
.ftb-cmp--nrm tbody th { white-space: normal; }
.ftb-cmp td.is-high { background: var(--color-warning-soft); color: var(--color-warning-text); }
.ftb-cmp td.is-missing { background: var(--color-danger-soft); color: var(--color-danger-text); }

/* The preferred contractor */
.ftb-cost { display: flex; flex-direction: column; gap: 2px; padding: var(--space-3); border-radius: var(--radius-control); background: var(--color-surface-muted); }
.ftb-cost .t-caption { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.ftb-toast { position: absolute; right: var(--space-6); bottom: var(--space-6); z-index: 6; width: 340px; }
.ftb-newreq { background: var(--color-primary-soft); }
.ftb-page .ss-life { padding: var(--space-2) var(--space-4); }

.ftb-src .t-body-strong { font-size: var(--text-xs); overflow-wrap: anywhere; }
.ftb-pf { gap: var(--space-2); }

.ftb-risk { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.ftb-side > header .t-card-title { font-size: var(--text-sm); }
.ftb-pack { gap: 2px; padding: 4px var(--space-2); }
.ftb-newer { padding: 4px var(--space-2); }
.ftb-tender--prep { gap: 6px; }
.ftb-tender .c-field__control .c-input { height: 28px; }

.ftb-table { table-layout: fixed; width: 100%; }
.ftb-table th:nth-child(1) { width: 23%; }
.ftb-table th:nth-child(2) { width: 16%; }
.ftb-table th:nth-child(3) { width: 28%; }
.ftb-table th:nth-child(4) { width: 20%; }
.ftb-table th:nth-child(5) { width: 13%; }
.ftb-table td { overflow-wrap: anywhere; }
.ftb-bidc { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.ftb-bidc .ftb-read { align-items: flex-end; white-space: normal; text-align: right; }
.ftb-inline { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-2); }
.ftb-tender__state { flex-wrap: nowrap; }
.ftb-tender__state .btn { white-space: nowrap; }
.ftb-steps li { padding: 4px 0; }
.ftb-h { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 2px var(--space-2); }
.ftb-rv td:last-child { white-space: nowrap; }
.ftb-rv td:last-child .badge { display: inline-flex; }
.ftb-cmpgrid { gap: 6px; }
.ftb-cmpgrid > .card { gap: 4px; padding: var(--space-2) var(--space-3); }
.ftb-cmp th, .ftb-cmp td { padding: 2px 6px; }
.ftb-cmp td .t-caption { display: inline; margin-left: 4px; }
.ftb-cmpgrid .ftb-foot { margin-top: 0; }
.ftb-rec .c-score__chips { display: flex; flex-direction: row; flex-wrap: wrap; gap: 4px; }
.ftb-rec .c-score__chip { min-height: 0; padding: 0 6px; }
.ftb-rec__foot { justify-content: flex-start; }
.ftb-rec__foot .ftb-none { white-space: nowrap; margin-left: auto; }
.ftb-recs { gap: 6px; }
.ftb-side > header .t-caption { font-size: var(--text-xs); }
.ftb-table td { overflow-wrap: normal; }
.ftb-table td:first-child { overflow-wrap: anywhere; }
.ftb-table .c-compare__grade { white-space: nowrap; font-size: var(--text-xs); padding: 0 6px; }
.ftb-opt { flex-direction: column; align-items: stretch; gap: 4px; padding: 6px var(--space-2); }
.ftb-opt .btn { align-self: flex-end; }
.ftb-bidgrid--v { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.ftb-passed { padding: 2px 6px; }
.ftb-passed .t-caption { -webkit-line-clamp: 2; }
.ftb-table th, .ftb-table td { padding: 4px var(--space-2); }
.ftb-opt { display: grid; grid-template-columns: minmax(0, 1fr); }
.ftb-opt .btn { justify-self: start; align-self: auto; }
.ftb-rec__foot--inline .ftb-cs__t { flex-direction: row; gap: 4px; }
.ftb-rec__foot--inline .ftb-cs__t .tnum::after { content: '·'; margin-left: 4px; color: var(--color-subtle); }
.ftb-rec .ftb-rate { width: 18px; height: 18px; }
.ftb-bidgrid--v { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
.ftb-side .ftb-foot { display: none; }
.ftb-rec .c-score__chips { flex-wrap: nowrap; overflow: hidden; }
.ftb-rec .c-score__chip { padding: 0 4px; gap: 2px; white-space: nowrap; }
.ftb-rec .c-score__chip .icon { width: 10px; height: 10px; }
.ftb-side .ftb-seg + header { padding-top: 0; }
.ftb-clock__fig { flex-wrap: wrap; column-gap: var(--space-2); row-gap: 0; }

/* Review fixes: nothing cut in the frames */
.ftb-rec .c-score__chips { flex-wrap: wrap; overflow: visible; }
.ftb-rec__foot { flex-wrap: wrap; row-gap: 2px; }
.ftb-pf[data-flow-target] { overflow: visible; }
.ftb-tcard .ss-who .btn { align-self: flex-start; margin-top: 4px; }
.ftb-duo--mail { flex-direction: row; align-items: flex-start; justify-content: center; gap: var(--space-4); width: 100%; }
.ftb-duo--mail .ap-frame .device--desktop { zoom: 0.54; }
.ftb-duo--mail .ftb-letter { flex: none; zoom: 0.6; }
.ftb-rv th, .ftb-rv td { white-space: normal; }
.ftb-rv td.num { white-space: nowrap; }
.ftb-rv { table-layout: fixed; width: 100%; }
.ftb-rv thead th:nth-child(1) { width: 29%; }
.ftb-rv thead th:nth-child(2) { width: 17%; }
.ftb-rv thead th:nth-child(3) { width: 9%; }
.ftb-rv thead th:nth-child(4), .ftb-rv thead th:nth-child(5) { width: 12%; }
.ftb-rv .ftb-cell { width: 100%; max-width: 110px; }
.ftb-rv td:last-child .badge { margin: 1px 4px 1px 0; }
.ftb-rv td .badge + .badge { margin-left: 0; }
.ftb-rvfoot--dec .ftb-dec { flex: 1 1 300px; }

/* Alt 9: the bid versions table wraps, so the State column is never cut */
.ftb-cmp--v th, .ftb-cmp--v td { white-space: normal; }
.ftb-cmp--v .ftb-block { display: block; }
