:root { --forge-action-blue: #17658f; --forge-action-blue-hover: #104d70; }

.button, .file-button, .forge-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 2.35rem;
  padding: .48rem .8rem;
  border: 1px solid var(--forge-action-blue);
  border-radius: .55rem;
  background: var(--forge-action-blue);
  color: #fff;
  font: 700 .84rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}
.button:hover, .file-button:hover, .forge-action:hover { background: var(--forge-action-blue-hover); border-color: var(--forge-action-blue-hover); color: #fff; }
.button:focus-visible, .file-button:focus-visible, .forge-action:focus-visible,
.ar-remittance-file-label input[type="file"]:focus-visible::file-selector-button { outline: 3px solid #8ac8e8; outline-offset: 2px; }
.button:disabled, .forge-action:disabled, .button:disabled:hover, .forge-action:disabled:hover {
  opacity: 1; background: #e3e7ea; border-color: #cbd3d9; color: #65727c; cursor: not-allowed;
}
.forge-action[aria-disabled="true"] { background: #e3e7ea; border-color: #cbd3d9; color: #65727c; pointer-events: none; }
.panel label.file-button { color: #fff; }
.forge-action--small { min-height: 2.1rem; padding: .36rem .62rem; font-size: .78rem; }
.quickbooks-snapshot-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: .6rem 0; }
.quickbooks-snapshot-comparison > div { display: grid; gap: .1rem; padding: .7rem .85rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--paper); }
.quickbooks-snapshot-comparison small { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.quickbooks-snapshot-comparison strong { color: var(--ink); font-size: .91rem; }
.quickbooks-snapshot-comparison b { color: var(--ink); font-size: 1.15rem; }
.quickbooks-operations .section-heading > .forge-action { flex: 0 0 auto; align-self: center; }
.logo-crop.organization-logo { display: grid; place-items: center; }
.logo-crop.organization-logo img { position: static; width: 100%; height: 100%; max-width: 100%; object-fit: contain; }
@media (max-width: 620px) { .quickbooks-snapshot-comparison { grid-template-columns: 1fr; } }

.ar-report-tools { grid-template-columns: minmax(15rem,1.1fr) minmax(13rem,1fr) minmax(10rem,.65fr) auto auto; gap: .7rem; align-items: end; }
.ar-report-tools > label { display: grid; gap: .3rem; margin: 0; align-self: end; font-size: .8rem; }
.ar-report-tools > label :is(input,select) { width: 100%; min-height: 2.25rem; height: 2.25rem; padding: .32rem .65rem; box-sizing: border-box; }
.ar-report-tools > button { min-height: 2.25rem; white-space: nowrap; }

.ar-remittance-intake .section-heading p { max-width: 70rem; line-height: 1.5; }
.panel.ar-remittance-intake { padding: 0; overflow: hidden; }
.ar-remittance-intake > summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .75rem 1rem; cursor: pointer; list-style: none; }
.ar-remittance-intake > summary::-webkit-details-marker { display: none; }
.ar-remittance-intake > summary > span:first-child { display: grid; gap: .1rem; }
.ar-remittance-intake > summary small { color: var(--blue, #09638f); font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.ar-remittance-intake > summary strong { color: #10263b; font: 700 1.25rem Georgia, serif; }
.ar-remittance-intake > summary #ar-remittance-pending-count { margin-left: auto; color: var(--blue, #09638f); font-size: .8rem; font-weight: 800; }
.ar-remittance-intake > summary::after { content: "▸"; color: var(--blue, #09638f); font-size: 1rem; }
.ar-remittance-intake[open] > summary::after { content: "▾"; }
.ar-remittance-body { padding: .15rem 1rem 1rem; border-top: 1px solid var(--line, #d7e1e8); }
.ar-remittance-body > p { margin: .45rem 0; color: #526b7d; font-size: .82rem; line-height: 1.4; }
.ar-remittance-controls { display: grid; grid-template-columns: minmax(17rem,1fr) auto auto; gap: .7rem; align-items: end; }
.ar-remittance-controls label { min-width: 0; margin: 0; color: #526b7d; font-size: .8rem; }
.ar-remittance-controls > button { min-height: 2.25rem; white-space: nowrap; }
.ar-remittance-controls label select, .ar-remittance-manual label :is(input, select) {
  min-height: 2.25rem; height: 2.25rem; padding: .35rem .65rem; border: 1px solid #c9d8e2; border-radius: .45rem;
  background: #fff; color: #10263b; font: inherit;
}
.ar-remittance-file-label { min-width: 0; }
.ar-remittance-file-label input[type="file"] { width: 100%; min-height: 2.25rem; height: 2.25rem; padding: .14rem; border: 1px solid #c9d8e2; border-radius: .45rem; background: #fff; color: #526b7d; font-size: .8rem; }
.ar-remittance-file-label input[type="file"]::file-selector-button {
  min-height: 1.82rem; margin-right: .55rem; padding: .28rem .56rem; border: 1px solid var(--forge-action-blue);
  border-radius: .4rem; background: var(--forge-action-blue); color: #fff; font: 700 .78rem Inter, ui-sans-serif, system-ui, sans-serif; cursor: pointer;
}
.ar-remittance-file-label input[type="file"]::file-selector-button:hover { background: var(--forge-action-blue-hover); }
.ar-remittance-record { gap: .75rem; padding: 1rem 1.15rem; background: #f7fafc; }
.ar-remittance-record { scroll-margin-top: 1rem; }
.ar-remittance-record > p { margin: .15rem 0; line-height: 1.5; }
.ar-remittance-record header { min-height: 0; height: auto; padding: 0 0 .65rem; background: transparent; }
.ar-remittance-suggestions { display: grid; gap: .45rem; }
.ar-remittance-suggestions-heading { display: flex; align-items: center; gap: .7rem; justify-content: space-between; }
.ar-remittance-suggestion { display: grid; grid-template-columns: auto minmax(0,1fr) minmax(8rem,10rem); gap: .8rem; align-items: center; padding: .7rem .8rem; background: #edf5f9; }
.ar-remittance-suggestion > input[type="checkbox"] { width: 1.1rem; height: 1.1rem; margin: 0; accent-color: var(--forge-action-blue); }
.ar-remittance-suggestion.amount-differs { border-left: 3px solid #b44e49; background: #fff3f1; }
.ar-remittance-suggestion.is-linked { border-left: 3px solid #3d7b62; background: #edf7f0; }
.ar-remittance-suggestion.is-linked.amount-differs { border-left-color: #b44e49; background: #fff3f1; }
.ar-remittance-suggestion.is-linked > input[type="checkbox"] { opacity: 1; accent-color: #3d7b62; }
.ar-remittance-suggestion.is-linked small:last-of-type { color: #286446; font-weight: 700; }
.ar-remittance-suggestion small { display: block; margin-top: .15rem; }
.ar-remittance-suggestion.amount-differs small:first-of-type { color: #9b332d; font-weight: 800; }
.ar-remittance-files { gap: .55rem; }
.ar-remittance-manual { display: grid; grid-template-columns: minmax(10rem,13rem) minmax(0,1fr); gap: .55rem .75rem; justify-content: start; align-items: end; }
.ar-remittance-manual-rows { display: grid; gap: .45rem; }
.ar-remittance-manual-row { display: grid; grid-template-columns: minmax(10rem,14rem) minmax(8rem,11rem) auto; gap: .55rem; align-items: end; justify-content: start; }
.ar-remittance-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .5rem; }
.ar-remittance-manual label { min-width: 0; margin: 0; }
.ar-remittance-manual button { min-height: 2.25rem; }
.ar-remittance-suggestion-amount { display: grid; gap: .2rem; margin: 0; color: #526b7d; font-size: .75rem; }
.ar-remittance-suggestion-amount b { color: #10263b; font-size: .9rem; }
.ar-remittance-suggestion input { width: 100%; min-height: 2.1rem; padding: .3rem .55rem; border: 1px solid #c9d8e2; border-radius: .4rem; }
.ar-remittance-suggestion > input[type="checkbox"] { min-height: 0; padding: 0; }
.ar-remittance-intake #ar-remittance-notice { display: block; min-height: 1.3rem; color: #536d7f; line-height: 1.4; }
.ar-remittance-confirm { width: min(32rem,calc(100vw - 2rem)); padding: 1.2rem; border: 1px solid #c9d8e2; border-radius: .8rem; box-shadow: 0 1rem 3rem #10263b3d; color: #10263b; }
.ar-remittance-confirm::backdrop { background: #0c1f31aa; }
.ar-remittance-confirm h2 { margin: 0 0 .7rem; font-size: 1.25rem; }
.ar-remittance-confirm p { margin: .5rem 0; line-height: 1.45; }
.ar-remittance-confirm [data-ar-remittance-confirm-warning] { padding: .65rem; border-left: 3px solid #ad5632; background: #fff3e8; }
.ar-remittance-skip-confirm { display: flex; align-items: center; gap: .5rem; margin: .8rem 0; font-size: .83rem; }
.ar-remittance-skip-confirm input { width: 1rem; height: 1rem; margin: 0; }
.ar-remittance-confirm footer { display: flex; justify-content: flex-end; gap: .5rem; margin-top: .8rem; }

.ar-batch-actions button, .ar-report-tools button, .ar-reconciliation-detail button,
.ar-payment-evidence-actions button:not(.button), .ar-email-review footer button:not(.button) {
  min-height: 2.3rem; padding: .48rem .72rem; border: 1px solid var(--forge-action-blue); border-radius: .55rem;
  background: var(--forge-action-blue); color: #fff; font: 700 .82rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif; cursor: pointer;
}
.ar-batch-actions button:hover, .ar-report-tools button:hover, .ar-reconciliation-detail button:hover,
.ar-payment-evidence-actions button:not(.button):hover, .ar-email-review footer button:not(.button):hover { background: var(--forge-action-blue-hover); }
.ar-payment-evidence details > summary, .ar-aging-breakdown > summary {
  display: inline-flex; align-items: center; min-height: 2.3rem; padding: .45rem .7rem;
  border-radius: .55rem; background: var(--forge-action-blue); color: #fff; text-decoration: none;
}

@media (max-width: 650px) {
  .ar-remittance-intake > summary { flex-wrap: wrap; }
  .ar-remittance-intake > summary #ar-remittance-pending-count { margin-left: 0; }
  .ar-report-tools, .ar-remittance-controls, .ar-remittance-manual { grid-template-columns: 1fr; align-items: stretch; }
  .ar-report-tools > div { grid-column: 1; }
  .ar-remittance-controls button, .ar-remittance-manual button { width: 100%; min-height: 2.5rem; }
  .ar-remittance-suggestion { grid-template-columns: auto minmax(0,1fr); }
  .ar-remittance-suggestion-amount { grid-column: 2; }
  .ar-remittance-manual-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .ar-remittance-manual-row button { grid-column: 1 / -1; }
  .ar-remittance-actions { grid-column: 1; }
}
@media (min-width: 651px) and (max-width: 1120px) {
  .ar-remittance-controls { grid-template-columns: minmax(12rem,1fr) minmax(16rem,1.5fr); }
  .ar-remittance-controls > button { width: 100%; }
  .ar-remittance-manual { grid-template-columns: minmax(12rem,1fr) minmax(0,2fr); }
}
@media (min-width: 651px) {
  .ar-remittance-controls--scan-only { display: flex; }
  .ar-remittance-controls--scan-only > button { width: auto; }
}

/* Organization Primary may be manually overridden; preserve readable button text. */
.button,.file-button,.forge-action,.panel label.file-button,.button:hover,.file-button:hover,.forge-action:hover{color:var(--forge-button-text,#fff)}
