/* Port lane W5 (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. */

/* F7: the customer page's identity actions — one Text button (text-button.js,
   port-w1.css already styles .text-control/.reach-reason), one pencil labelled
   "Edit customer", both in a fixed row so neither competes for the page's one
   primary action (money.js's own hero, when there's a bill). */
.identity-actions-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.identity-actions-row {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.identity-edit-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: var(--tap-min);
}
.identity-edit-btn .ts-icon {
  flex: none;
}

/* The account link control shares the same "button, then a reason line under
   it" shape as call.js/text-button.js — a disabled control never sits mute. */
.account-link-control {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.account-link-control .button {
  min-height: var(--tap-min);
}

/* F7: the address pencil — its own row so a wrong unit number is a one-tap
   fix, never a trip through the whole record. */
.identity-address-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}
.identity-address-row p {
  margin: 0;
}
.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--tap-min);
  height: var(--tap-min);
  border: none;
  background: transparent;
  color: var(--action);
  cursor: pointer;
  flex: none;
}

/* Fix sheet's "All details" row — a plain row, not a second button style,
   so it reads as a navigation rather than competing with Save/Cancel. */
.all-details-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: var(--tap-min);
  text-align: left;
}
