/* Shared follow-up forms extend the active UI3 palette and both themes. */
.xr-ui2-runtime .xr3-drawer-document-actions { display: flex; margin: 12px 0 16px; }
.xr-ui2-runtime .xr3-drawer-document-actions .xr2-btn { min-height: 44px; }
.xr-ui2-runtime .xr-order-funds-indicators { display: grid; gap: 5px; width: 100%; max-width: 178px; }
.xr-ui2-runtime .xr-order-funds-pill { position: relative; display: flex; align-items: center; gap: 7px; min-width: 0; min-height: 38px; padding: 6px 8px; border: 1px solid var(--xr2-border); border-radius: 9px; color: var(--xr2-muted); background: var(--xr2-surface-soft); transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.xr-ui2-runtime .xr-order-funds-pill.is-paid { color: var(--xr2-success); background: var(--xr2-success-soft); border-color: color-mix(in srgb, var(--xr2-success) 25%, transparent); }
.xr-ui2-runtime .xr-order-funds-pill.is-unpaid { color: var(--xr2-danger); background: var(--xr2-danger-soft); border-color: color-mix(in srgb, var(--xr2-danger) 25%, transparent); }
.xr-ui2-runtime .xr-order-funds-dot { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 12%, transparent); }
.xr-ui2-runtime .xr-order-funds-copy { display: flex; flex-direction: column; gap: 1px; min-width: 0; text-align: left; line-height: 1.25; }
.xr-ui2-runtime .xr-order-funds-copy > span { font-size: 10px; opacity: .85; }
.xr-ui2-runtime .xr-order-funds-copy > strong { font-size: 11px; font-weight: 650; }
.xr-ui2-runtime .xr-order-funds-amount { position: absolute; top: 6px; right: 8px; max-width: calc(100% - 64px); font-size: 10px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: right; }
.xr-ui2-runtime .xr-order-compensation-note { font-size: 10px; color: var(--xr2-warning); text-align: right; }
.xr-ui2-runtime .xr3-drawer-brief > .xr-order-funds-indicators { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; margin: 12px 0; }
@media (max-width: 480px) {
  .xr-ui2-runtime .xr-order-funds-pill { padding: 5px 7px; gap: 6px; }
  .xr-ui2-runtime .xr-order-funds-amount { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .xr-ui2-runtime .xr-order-funds-pill { transition: none; }
}
.xr3-document-archive .xrad-document-client-folder { margin: 0 0 18px; border: 1px solid var(--xr2-border); border-radius: 10px; padding: 8px 16px; }
.xr3-document-archive .xrad-document-order-folder { margin: 8px 0; padding: 0 8px; }
.xr3-document-archive summary { cursor: pointer; min-height: 44px; padding: 12px 0; overflow-wrap: anywhere; }
.xr-document-row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; grid-column: 3; }
.xr-document-delivery { width: min(780px,100vw); min-width: 0; }
.xr-document-delivery .xr2-drawer-body { min-width: 0; overflow-wrap: anywhere; }
.xr-document-delivery input, .xr-document-delivery textarea { color: var(--xr2-text); background: var(--xr2-surface); border: 1px solid var(--xr2-control-border); }
.xr-document-delivery .toolbar { flex-wrap: wrap; }
.xr-document-delivery .xr2-btn { min-height: 44px; white-space: normal; }
@media (max-width: 640px) {
  .xr3-document-archive .xr3-document-row { grid-template-columns: 26px minmax(0,1fr); gap: 12px; }
  .xr3-document-archive .xr-document-row-actions { grid-column: 2; justify-content: flex-start; }
  .xr3-document-archive .xr-document-row-actions .xr2-btn { min-height: 44px; }
  .xr-document-delivery { width: 100vw; max-width: 100vw; height: 100dvh; border-radius: 0; padding-bottom: env(safe-area-inset-bottom); }
  .xr-document-delivery input, .xr-document-delivery textarea { font-size: 16px; }
  .xr-document-delivery .xr3-document-toolbar { padding-top: max(12px,env(safe-area-inset-top)); }
}
.followup-dialog-backdrop { position: fixed; inset: 0; z-index: 1800; background: rgba(15,20,20,.55); display: grid; place-items: center; }
.followup-conflict-list { display: grid; gap: 14px; }
.followup-conflict-row { min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--xr2-border); border-radius: 8px; }
.followup-conflict-row legend { padding: 0 5px; font-weight: 650; font-size: 14px; }
.followup-conflict-values { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.followup-conflict-values p { margin: 0 0 12px; overflow-wrap: anywhere; }
.followup-conflict-values span { display: block; font-size: 12px; color: var(--xr2-muted); margin-bottom: 4px; }
.followup-conflict-values strong { font-size: 13px; line-height: 1.5; font-weight: 500; }
.followup-conflict-row label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.followup-conflict-row select { width: 100%; min-height: 44px; padding: 8px; border: 1px solid var(--xr2-control-border); background: var(--xr2-surface); color: var(--xr2-text); border-radius: 6px; }
.followup-conflict-row small { display: block; font-size: 12px; line-height: 1.5; color: var(--xr2-muted); margin-top: 8px; }
.followup-conflict-facts { margin-top: 16px; font-size: 13px; line-height: 1.5; }
.followup-conflict-actions { display: flex; justify-content: flex-end; gap: 8px; position: sticky; bottom: -24px; padding: 12px 0; background: var(--xr2-surface); }
.followup-conflict-dialog .xr2-btn { min-height: 44px; }
@media (max-width: 640px) {
  .followup-conflict-values { grid-template-columns: 1fr; gap: 0; }
  .followup-conflict-row select { font-size: 16px; }
  .followup-conflict-actions { bottom: -20px; padding-bottom: max(12px,env(safe-area-inset-bottom)); }
  .followup-conflict-actions .xr2-btn { flex: 1; white-space: normal; }
}
.followup-readonly-field { display: flex; flex-direction: column; gap: 4px; color: var(--xr2-text); }
.followup-readonly-field p { margin: 0; font-weight: 600; }
.followup-readonly-field small, .followup-form-help, #ui3DirectExpenseForm small { color: var(--xr2-muted); font-size: 12px; line-height: 1.5; }
#ui3DirectExpenseForm { min-width: 0; }
#ui3DirectExpenseForm input, #ui3DirectExpenseForm select { min-height: 40px; min-width: 0; }
@media (max-width: 640px) {
  #ui3DirectExpenseForm input, #ui3DirectExpenseForm select { min-height: 44px; font-size: 16px; }
  #ui3DirectExpenseForm .toolbar { position: sticky; bottom: 0; background: var(--xr2-surface); padding-bottom: env(safe-area-inset-bottom); }
  #ui3DirectExpenseForm .toolbar button { min-height: 44px; flex: 1; }
}
.followup-message-dialog, .followup-conflict-dialog, .followup-delivery-dialog {
  width: min(720px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  background: var(--xr2-surface);
  color: var(--xr2-text);
  border: 1px solid var(--xr2-border);
  border-radius: 12px;
  padding: 24px;
  overscroll-behavior: contain;
}
.followup-dialog-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 20px; }
.followup-dialog-head h2 { margin: 4px 0 0; font-size: 22px; line-height: 1.25; }
.followup-eyebrow { margin: 0; color: var(--xr2-muted); font-size: 12px; letter-spacing: .02em; }
.followup-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.followup-form-grid label, .followup-message-text, .followup-channel { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--xr2-text); }
.followup-message-dialog input, .followup-message-dialog select, .followup-message-dialog textarea {
  box-sizing: border-box; width: 100%; min-width: 0; min-height: 38px; padding: 9px 11px;
  background: var(--xr2-surface-raised); color: var(--xr2-text); border: 1px solid var(--xr2-control-border); border-radius: 6px; font: inherit;
}
.followup-message-dialog textarea { resize: vertical; line-height: 1.55; }
.followup-source-note { font-size: 12px; line-height: 1.55; color: var(--xr2-muted); margin: 12px 0; overflow-wrap: anywhere; }
.followup-source-note.is-error { color: var(--xr2-danger); }
.followup-change-note { padding: 12px; background: var(--xr2-warning-soft); color: var(--xr2-warning); border-radius: 6px; font-size: 13px; }
.followup-logistics, .followup-contact { border-top: 1px solid var(--xr2-border); padding: 12px 0; margin: 6px 0; font-size: 13px; }
.followup-logistics summary, .followup-contact summary { cursor: pointer; min-height: 28px; color: var(--xr2-text); }
.followup-logistics p, .followup-contact p { color: var(--xr2-muted); line-height: 1.5; }
.followup-logistics .xr2-btn, .followup-contact .xr2-btn { margin-top: 12px; }
.followup-message-actions { display: flex; align-items: flex-end; gap: 8px; flex-wrap: wrap; }
.followup-channel { flex: 1 1 120px; max-width: 150px; }
.followup-message-dialog :focus-visible, .followup-conflict-dialog :focus-visible { outline: 2px solid var(--xr2-brand); outline-offset: 3px; }
.followup-message-dialog [disabled] { opacity: .55; cursor: not-allowed; }
@media (max-width: 640px) {
  .followup-message-dialog, .followup-conflict-dialog, .followup-delivery-dialog {
    width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; border: 0;
    padding: max(16px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));
  }
  .followup-form-grid { grid-template-columns: 1fr; gap: 12px; }
  .followup-message-dialog input, .followup-message-dialog select, .followup-message-dialog textarea { font-size: 16px; min-height: 44px; }
  .followup-message-dialog .xr2-btn { min-height: 44px; }
  .followup-message-actions { padding-bottom: env(safe-area-inset-bottom); }
  .followup-message-actions > button { flex: 1 1 45%; }
  .followup-channel { max-width: none; flex: 1 1 100%; }
  .followup-dialog-head { margin-bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .followup-message-dialog *, .followup-conflict-dialog *, .followup-delivery-dialog * { scroll-behavior: auto; transition: none; animation: none; }
}
