/* Keep reviewed reminder actions and delivery results visible without scrolling the desktop dialog. */
.ar-send-all-toolbar {
  display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
  margin: -.15rem 0 1rem; padding: .7rem .9rem;
  border: 1px solid var(--line, #d7e1e8); border-radius: .7rem; background: #f7fafb;
}
.ar-send-all-toolbar [data-ar-selected-count] { font-weight: 800; }
.ar-send-all-toolbar [data-ar-bulk-toolbar-status] { color: #285d78; font-size: .83rem; }
.ar-send-all-toolbar .button { margin-left: auto; }
.ar-send-all-toolbar .button:disabled { background: #dce3e8; color: #657785; cursor: not-allowed; opacity: 1; }

.ar-email-review, .ar-bulk-review {
  width: min(860px, calc(100vw - 24px)); max-height: calc(100dvh - 24px);
  border: 0; border-radius: 14px; padding: 0; box-shadow: 0 24px 80px #0d233644;
}
.ar-email-review::backdrop, .ar-bulk-review::backdrop { background: #10243899; }
.ar-email-review form {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "heading heading" "recipient cc" "subject greeting" "message message" "summary summary" "notice notice" "actions actions";
  grid-template-rows: auto auto auto minmax(0, 1fr) auto auto auto;
  gap: 8px 12px; height: min(740px, calc(100dvh - 24px)); min-height: 0;
  overflow: hidden; padding: 16px 20px;
}
.ar-email-review header, .ar-bulk-review header {
  height: auto; min-height: 0; padding: 0 0 8px; border-bottom: 1px solid var(--line, #d7e1e8);
  background: transparent;
}
.ar-email-review header { grid-area: heading; }
.ar-email-review header h2, .ar-bulk-review header h2 { font: 700 1.35rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif; }
.ar-email-review header button, .ar-bulk-review header button {
  flex: none; width: 32px; height: 32px; padding: 0; border: 1px solid #d4dfe6;
  border-radius: 50%; background: #f3f7f9; color: #183348; cursor: pointer;
}
.ar-email-review form > label { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-weight: 750; }
.ar-email-review form > label small { color: #607386; font-size: .73rem; font-weight: 500; }
.ar-email-review form > label:has([name="recipient"]) { grid-area: recipient; }
.ar-email-review form > label:has([name="cc"]) { grid-area: cc; }
.ar-email-review form > label:has([name="subject"]) { grid-area: subject; }
.ar-email-review form > label:has([name="recipientName"]) { grid-area: greeting; }
.ar-email-review [data-ar-greeting-notice][hidden] { display: none; }
.ar-email-review form > label:has([name="body"]) { grid-area: message; min-height: 0; }
.ar-email-review input { width: 100%; min-height: 38px; padding: 7px 10px; font-size: .9rem; }
.ar-email-review textarea[name="body"] {
  flex: 1; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 10px 12px;
  resize: none; overflow: auto; font-size: .85rem; line-height: 1.45;
}
.ar-message-review { grid-area: message; display: flex; flex-direction: column; gap: 5px; min-height: 0; min-width: 0; }
.ar-message-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ar-message-toolbar > strong { color: #607386; font-size: .9rem; }
.ar-message-toolbar [role="tablist"] { display: flex; gap: 3px; }
.ar-message-toolbar [role="tab"] { min-height: 30px; padding: 4px 10px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #526b7d; font: 650 .78rem/1.3 Inter, ui-sans-serif, system-ui, sans-serif; cursor: pointer; }
.ar-message-toolbar [role="tab"][aria-selected="true"] { border-color: #bed2e0; background: #edf5fa; color: #17648d; }
.ar-message-review > small { color: #607386; font-size: .72rem; line-height: 1.3; }
.ar-message-review [role="tabpanel"] { display: flex; flex: 1; min-height: 0; min-width: 0; }
.ar-message-review [role="tabpanel"][hidden] { display: none; }
.ar-message-review iframe { display: block; flex: 1; width: 100%; height: 100%; min-height: 0; border: 1px solid #d7e1e8; border-radius: 8px; background: #f1f4f8; }
.ar-message-review #ar-message-editor > label { display: flex; flex-direction: column; flex: 1; min-height: 0; gap: 3px; color: #607386; font-size: .8rem; }
.ar-email-review .ar-review-summary { grid-area: summary; padding: 7px 10px; font-size: .9rem; }
.ar-email-review [data-ar-send-notice] { grid-area: notice; margin: 0; padding: 0; line-height: 1.35; }
.ar-email-review [data-ar-send-notice]:not(:empty) { padding: 8px 10px; max-height: 72px; overflow: auto; }
.ar-email-review footer { grid-area: actions; padding-top: 3px; }
.ar-email-review footer button { white-space: nowrap; }

.ar-bulk-review form {
  display: grid; grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
  gap: 10px; height: min(720px, calc(100dvh - 24px)); min-height: 0;
  padding: 16px 20px; overflow: hidden;
}
.ar-bulk-review p { margin: 0; }
.ar-bulk-review [data-ar-bulk-summary] { font-weight: 800; }
.ar-bulk-review [data-ar-bulk-warning] { color: #53697a; font-size: .84rem; }
.ar-bulk-review [data-ar-bulk-warning].is-warning { padding: 8px 10px; border-left: 3px solid #a84c26; background: #fff2e9; color: #853917; }
.ar-bulk-list { min-height: 0; overflow: auto; border: 1px solid #dce5ea; border-radius: 8px; }
.ar-bulk-list details + details { border-top: 1px solid #dce5ea; }
.ar-bulk-list summary { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; cursor: pointer; }
.ar-bulk-list summary span { display: grid; gap: 2px; min-width: 0; }
.ar-bulk-list summary small { color: #607386; overflow-wrap: anywhere; }
.ar-bulk-list summary em { color: #276b83; font-size: .75rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.ar-bulk-list details > div { padding: 0 12px 12px; }
.ar-bulk-list pre { max-height: 190px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: .8rem/1.45 ui-monospace, monospace; }
.ar-bulk-list iframe { display: block; width: 100%; height: 360px; margin-top: 8px; border: 1px solid #d7e1e8; border-radius: 8px; background: #f1f4f8; }
.ar-bulk-review [data-ar-bulk-notice]:not(:empty) { padding: 8px 10px; border-radius: 6px; line-height: 1.35; }
.ar-bulk-review [data-ar-bulk-notice].success { background: #e4f5ee; color: #126148; }
.ar-bulk-review [data-ar-bulk-notice].error { background: #fff1e9; color: #873715; }
.ar-bulk-review footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.ar-bulk-review footer button:not(.button) { min-height: 36px; padding: 7px 12px; border: 1px solid #b9cbd6; border-radius: 6px; background: #f3f7f9; color: #193a4e; cursor: pointer; }

/* Remittance intake proposes exact current matches and keeps exceptions close to the action. */
.ar-remittance-record .ar-remittance-content { display: grid; gap: .55rem; }
.ar-remittance-record .ar-remittance-files { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.ar-remittance-record .ar-remittance-suggestions { gap: .3rem; }
.ar-remittance-record .ar-remittance-suggestion { padding: .55rem .7rem; border-radius: .45rem; }
.ar-remittance-suggestion.is-proposed { border-left: 3px solid #2e718d; }
.ar-remittance-suggestion.is-needs-review { border-left: 3px solid #ad6738; background: #fff6ed; }
.ar-remittance-suggestion.is-not-open { border-left: 3px solid #a84c3f; background: #fff4f1; }
.ar-remittance-suggestion.is-paid { border-left: 3px solid #388062; background: #edf7f1; }
.ar-remittance-suggestion.is-proposed .ar-remittance-match-status { color: #13637a; font-weight: 800; }
.ar-remittance-suggestion.is-needs-review .ar-remittance-match-status,
.ar-remittance-suggestion.is-not-open .ar-remittance-match-status { color: #913d26; font-weight: 800; }
.ar-remittance-suggestion.is-paid .ar-remittance-match-status { color: #246849; font-weight: 800; }
.ar-remittance-paid-mark { display: grid; place-items: center; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: #388062; color: #fff; font-size: .78rem; font-weight: 900; }
.ar-remittance-unavailable { display: grid; place-items: center; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: #ac4a3c; color: #fff; font-size: .78rem; font-weight: 900; }
.ar-remittance-inline-status { display: block; color: #425f70; font-size: .8rem; line-height: 1.35; }
.ar-remittance-inline-status.is-error { padding: .4rem .55rem; border-left: 3px solid #ae4b3e; background: #fff2ef; color: #923b2e; }
.ar-remittance-review-actions { display: flex; flex-wrap: wrap; align-items: end; gap: .45rem; }
.ar-remittance-review-actions label { display: grid; gap: .2rem; min-width: 11rem; margin: 0; color: #526b7d; font-size: .76rem; }
.ar-remittance-review-actions select { min-height: 2.25rem; padding: .35rem .5rem; border: 1px solid #c9d8e2; border-radius: .4rem; background: #fff; color: #10263b; }
.ar-remittance-review-actions [data-ar-remittance-save]:disabled { border-color: #c8d3da; background: #dce3e8; color: #627481; cursor: not-allowed; opacity: 1; }
.ar-remittance-manual-details, .ar-remittance-email-details { border-top: 1px solid #d7e1e8; padding-top: .35rem; }
.ar-remittance-manual-details > summary, .ar-remittance-email-details > summary { width: fit-content; cursor: pointer; color: var(--blue, #09638f); font-size: .8rem; font-weight: 800; }
.ar-remittance-manual-details .ar-remittance-manual { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem; padding-top: .55rem; }
.ar-remittance-manual-details .ar-remittance-manual-rows { width: auto; }
.ar-remittance-email-details p { margin: .4rem 0 0; color: #526b7d; line-height: 1.4; }

@media (max-width: 700px) {
  .ar-send-all-toolbar .button { width: 100%; margin-left: 0; }
  .ar-email-review form { grid-template-columns: 1fr; grid-template-areas: "heading" "recipient" "cc" "subject" "greeting" "message" "summary" "notice" "actions"; grid-template-rows: auto auto auto auto auto minmax(6rem, 1fr) auto auto auto; height: calc(100dvh - 24px); gap: 7px; padding: 12px; }
  .ar-email-review header h2, .ar-bulk-review header h2 { font-size: 1.15rem; }
  .ar-email-review footer { flex-wrap: wrap; }
  .ar-email-review footer button { flex: 1 1 auto; }
  .ar-bulk-review form { padding: 12px; }
  .ar-remittance-suggestion { grid-template-columns: auto minmax(0, 1fr); }
  .ar-remittance-suggestion-amount { grid-column: 2; }
  .ar-remittance-review-actions label, .ar-remittance-review-actions button { flex: 1 1 auto; }
  .ar-remittance-manual-row { grid-template-columns: minmax(0, 1fr); }
}
