/* Port lane W1 (docs/SPEC-port-2026-09-23.md). This lane owns this file alone;
   app.css stays untouched while the port runs. Tokens only from app.css/themes.css. */

/* F5: the shared "Text" / "Call" / "Send bill…" controls (text-button.js,
   call.js) — every one of them wraps its button with a status/reason line
   directly under it, so a swapped or disabled control never sits there mute. */
.text-control,
.call-control {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.text-control .button,
.call-control .button {
  min-height: var(--tap-min);
}
.reach-reason,
.call-status,
.link-row-status {
  color: var(--ink-dim);
}

/* F5: STOP -> "Call instead" inside the thread's own composer slot, so a
   texted-out customer never sees a dead grey box where Send used to be. */
.reply-call-only {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: var(--space-3) 0;
  padding: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--card);
}
.reply-call-only .button {
  min-height: var(--tap-min);
}

/* F5: the link row a "Send bill / Send estimate / Send receipt / Send
   account link" button opens the thread with — Copy, Share, Email. Same
   shape as the reply box beside it, sitting above it. */
.link-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: var(--space-3) 0;
  padding: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--card);
}
.link-row-url {
  word-break: break-all;
}
.link-row-actions {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}
.link-row-actions .button {
  min-height: var(--tap-min);
  padding: 0 var(--space-4);
}

/* W8 follow-up: the declined-punch line on My Day's clock strip — its own
   tap straight to Time Clock, styled as a line of text with an obvious
   underline rather than a button, matching native's `MyDayHeldDeclinedLine`. */
.shift-band-fix {
  display: block;
  margin-top: var(--space-1);
  color: var(--bad);
  font-weight: 600;
  text-decoration: underline;
}

/* F5 follow-up: the job screen's CALL fact stopped being a bare `tel:` link
   (dd1f38f7 moved every other call site to the business line) — the number
   is now plain info in the same card, with `call.callButton`'s own control
   underneath as the real way to place the call. */
.job-fact-call {
  align-items: flex-start;
}
.job-fact-call-btn {
  margin-top: var(--space-2);
}
