/* t-request — T2/T3 the request card. Tokens only; strokes are inset shadows. M7: flat hero, flat status line, flat sections. */
.t-request { padding-bottom: var(--space-40); }
.t-request.body--with-bar { padding-bottom: var(--space-32); }

/* K-15 "The home card, opened": the flush strip (components: .request-card__strip--page) sits under the nav, then the t-home card's header
   row (components: requestHead) over a hairline, then an optional note (K16-2-01: under the hairline, as t-job's one quote under .page-head);
   the K-14 tile rows follow. */
.t-request__note { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-20); }
.t-request__note p { margin: 0; text-wrap: pretty; }
.t-request__head { padding-bottom: var(--space-16); box-shadow: inset 0 -1px 0 var(--neutral-200); }
.t-request__head .request-card__top { align-items: center; flex-wrap: wrap; row-gap: var(--space-8); }
.t-request__head .request-card__who { flex: 1 1 auto; min-width: min-content; width: auto; padding-bottom: 0; }   /* width / padding: the v4 .request-card__who rule in components.css */   /* at 200% zoom the payout drops under the name instead of over it */
.t-request__head .request-card__top > .request-card__payside { margin-left: auto; }
.t-request__head .request-card__name { margin: 0; }
.t-request__head--muted .request-card__amount { color: var(--text-footnote); font-weight: 400; }   /* pending / did not happen: the payout greys */
.t-request .t-request__visit { margin-top: var(--rhythm-group); }

/* the visit */

/* the decline sheet */
.t-request-sheet { display: flex; flex-direction: column; gap: var(--space-16); width: 100%; }
.t-request-sheet p { margin: 0; }
.t-request-sheet__actions { display: flex; flex-direction: column; gap: var(--space-8); margin-top: var(--space-8); }

.t-request-sheet__intro { text-wrap: pretty; }

/* S-12 (pre-MVP A1): the offline error sits directly above the action bar */
.t-request__error { margin-top: var(--rhythm-block); }
