/* 0.6.4 freight billing (shared/js/freight-billing.js): the profile dialog, the Third Party chooser. The list reuses the
 * recipient component's rows (notify-recipients.css). Colors are tokens only, so dark mode follows the theme. */
dialog.fb-dialog { width: min(720px, calc(100vw - 28px)); }
.fb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.fb-grid .fb-wide { grid-column: 1 / -1; margin: 0; }
.fb-dialog .field input, .fb-picker input:not([type="radio"]), .fb-picker select { width: 100%; min-height: var(--touch-target, 44px); font-size: 16px; }
.fb-picker { display: grid; gap: 10px; min-width: 0; margin: 0; padding: 12px 16px; border: 1px solid var(--border); border-radius: var(--radius-field, 8px); }
.fb-picker[hidden] { display: none; }
.fb-picker legend { padding: 0 6px; font-weight: 700; }
.fb-choice { display: flex; align-items: center; gap: 10px; min-height: var(--touch-target, 44px); font-weight: 650; cursor: pointer; }
.fb-choice input[type="radio"] { flex: 0 0 auto; width: 20px; height: 20px; min-height: 20px; margin: 0; }
.fb-pane { display: grid; gap: 10px; min-width: 0; padding-left: 30px; }
.fb-pane[hidden] { display: none; }
.fb-detail { margin: 0; overflow-wrap: anywhere; }
.fb-picker :focus-visible, .fb-dialog :focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
@media (max-width: 640px) {
  .fb-grid { grid-template-columns: 1fr; }
  .fb-pane { padding-left: 0; }
  dialog.fb-dialog { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; }
  .fb-dialog .dialog-header { padding-top: calc(13px + env(safe-area-inset-top, 0px)); }
  .fb-dialog .dialog-footer { padding-bottom: calc(13px + env(safe-area-inset-bottom, 0px)); flex-direction: column-reverse; }
}

/* Astra freight-billing section (company detail, vendor Company page), Bill To preview card, BOL billing group. */
.fb-section { min-width: 0; }
.fb-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.fb-stack { display: grid; gap: 14px; min-width: 0; }
.fb-stack .field select, .fb-brokers .btn, .fb-save { min-height: var(--touch-target, 44px); width: 100%; }
.fb-save { font-weight: 700; }
.fb-brokers { display: grid; gap: 8px; min-width: 0; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius-card, 12px); background: var(--surface); }
.fb-brokers h4, .fb-brokers p { margin: 0; }
.fb-brokers .btn { justify-self: start; width: auto; }
.fb-preview { display: grid; gap: 2px; padding: 12px 14px; border: 1px solid var(--border); border-left: 4px solid var(--accent, var(--focus)); border-radius: var(--radius-field, 8px); background: var(--surface); min-width: 0; }
.fb-preview[hidden] { display: none; }
.fb-preview small { color: var(--muted); }
.fb-lines p { margin: 0; overflow-wrap: anywhere; }
.fb-facts { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 0; }
.fb-facts dt { color: var(--muted); }
.fb-facts dd { margin: 0; font-weight: 650; }
.fb-dialog .dialog-footer .fb-left { margin-right: auto; }
.fb-bol-billing { display: grid; gap: 10px; min-width: 0; }
.fb-bol-billing .fb-preview { align-self: start; }
@media (max-width: 760px) { .fb-cols { grid-template-columns: 1fr; } }
.fb-preview p { margin: 0; overflow-wrap: anywhere; }
.fb-check { display: flex; align-items: flex-start; gap: 10px; min-height: var(--touch-target, 44px); padding: 8px 0; cursor: pointer; font-weight: 650; }
.fb-check input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; min-height: 20px; margin: 2px 0 0; }
.fb-check span { min-width: 0; }
.fb-check small { display: block; font-weight: 400; color: var(--muted); }
