.accounts-panel {
  --accounts-ink: #153d31;
  --accounts-muted: #61766e;
  --accounts-line: #d8e3de;
  --accounts-soft: #f5f8f6;
  color: var(--accounts-ink);
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
  padding: 18px 20px 28px;
  width: 100%;
}
.accounts-panel *, .accounts-panel *::before, .accounts-panel *::after { box-sizing: border-box; }
.accounts-heading, .accounts-statement > header, .accounts-editor-pane > header { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; }
.accounts-heading h1 { font-size: clamp(1.45rem, 2vw, 1.9rem); line-height: 1.15; margin: 4px 0 6px; }
.accounts-heading p, .accounts-statement p, .accounts-editor-pane p, .accounts-metadata > p { color: var(--accounts-muted); font-size: .81rem; line-height: 1.45; margin: 0; }
.accounts-eyebrow { align-items: center; color: #287257; display: inline-flex; font-size: .72rem; font-weight: 800; gap: 6px; letter-spacing: .07em; text-transform: uppercase; }
.accounts-heading-actions { align-items: center; display: flex; flex: 0 1 auto; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.accounts-button, .accounts-icon { align-items: center; background: #fff; border: 1px solid #bdcec6; border-radius: 7px; color: #276d55; cursor: pointer; display: inline-flex; font: inherit; font-size: .74rem; font-weight: 760; gap: 6px; justify-content: center; min-height: 35px; padding: 6px 10px; }
.accounts-button:hover:not(:disabled), .accounts-icon:hover:not(:disabled) { background: #edf7f2; border-color: #78a592; }
.accounts-button-primary { background: #176f50; border-color: #176f50; color: white; }
.accounts-button-primary:hover:not(:disabled) { background: #105d42; color: white; }
.accounts-icon { height: 33px; min-height: 33px; width: 33px; padding: 4px; flex: 0 0 auto; }
.accounts-panel button:disabled { cursor: default; opacity: .53; }
.accounts-panel button:focus-visible { outline: 2px solid #277a59; outline-offset: 2px; }
.accounts-tabs { align-items: center; display: flex; gap: 5px; min-width: 0; overflow-x: auto; padding: 3px 0 6px; scrollbar-width: thin; }
.accounts-tabs button { background: #fff; border: 1px solid #c8d7d0; border-radius: 7px; color: #46635a; cursor: pointer; flex: 0 0 auto; font: inherit; font-size: .73rem; font-weight: 760; min-height: 34px; padding: 6px 11px; }
.accounts-tabs button.is-active { background: #176f50; border-color: #176f50; color: white; }
.accounts-tabs button:hover:not(:disabled):not(.is-active) { background: #edf6f1; }
.accounts-filters, .accounts-more-filters { align-items: end; background: var(--accounts-soft); border: 1px solid var(--accounts-line); border-radius: 10px; display: grid; gap: 10px; margin: 0; min-width: 0; padding: 11px; }
.accounts-filters { grid-template-columns: minmax(220px, 1.5fr) minmax(140px, .65fr) minmax(480px, 2.5fr) auto; }
.accounts-more-filters { grid-template-columns: repeat(3, minmax(240px, 1fr)); }
.accounts-more-filters > div { display: grid; gap: 7px; min-width: 0; }
.accounts-more-filters > div > strong { font-size: .72rem; }
.accounts-more-filters > label { max-width: 210px; }
.accounts-more-filters > button { width: fit-content; }
.accounts-panel label { display: grid; gap: 4px; min-width: 0; }
.accounts-panel label > span { color: #4f675f; font-size: .68rem; font-weight: 800; }
.accounts-panel input, .accounts-panel select { background: white; border: 1px solid #bdcec6; border-radius: 6px; color: var(--accounts-ink); font: inherit; font-size: .77rem; height: 36px; min-width: 0; max-width: 100%; outline: none; padding: 0 8px; width: 100%; }
.accounts-panel input:focus, .accounts-panel select:focus { border-color: #2d8060; box-shadow: 0 0 0 2px rgba(45, 128, 96, .15); }
.accounts-panel input:disabled, .accounts-panel select:disabled { background: #f1f4f2; opacity: .7; }
.accounts-search > div { align-items: center; background: white; border: 1px solid #bdcec6; border-radius: 6px; display: flex; padding-left: 9px; }
.accounts-search > div svg { color: #658078; flex: 0 0 auto; }
.accounts-search input { border: 0; box-shadow: none !important; }
.accounts-range { align-items: end; display: grid; gap: 7px; grid-template-columns: 1fr .94fr 1fr 1fr; min-width: 0; }
.accounts-more-filters .accounts-range { grid-template-columns: 1fr 1fr; }
.accounts-filter-note, .accounts-page-note, .accounts-sheet-note { color: var(--accounts-muted); font-size: .71rem; line-height: 1.4; margin: 0; }
.accounts-save-state { color: #426f5b; font-size: .72rem; min-height: 16px; }
.accounts-notice { background: #fff5d8; border: 1px solid #e5d49c; border-radius: 7px; color: #795c17; font-size: .77rem; padding: 9px 12px; }
.accounts-error { align-items: center; background: #fff0ed; border: 1px solid #e4bdb5; border-radius: 7px; color: #943d30; display: flex; flex-wrap: wrap; font-size: .77rem; gap: 10px; line-height: 1.4; padding: 9px 12px; }
.accounts-error-text { color: #943d30 !important; }
.accounts-metrics { display: grid; gap: 8px; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.accounts-metric { background: #fff; border: 1px solid var(--accounts-line); border-radius: 9px; display: grid; gap: 4px; min-width: 0; padding: 12px; }
.accounts-metric > span { color: var(--accounts-muted); font-size: .68rem; font-weight: 750; line-height: 1.3; }
.accounts-metric strong { font-size: clamp(.92rem, 1.2vw, 1.13rem); line-height: 1.3; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.accounts-metric small { color: var(--accounts-muted); font-size: .63rem; line-height: 1.35; }
.accounts-totals-note, .accounts-due-summary { align-items: center; background: #fbfcfb; border: 1px solid var(--accounts-line); border-radius: 8px; color: var(--accounts-muted); display: flex; flex-wrap: wrap; font-size: .69rem; gap: 5px 16px; padding: 8px 10px; }
.accounts-totals-note b, .accounts-due-summary b { color: #244c3e; }
.accounts-due-overdue { background: #fff0ed; color: #943d30; }
.accounts-due-today { background: #fff4cf; color: #725512; }
.accounts-archive-label { color: #725512 !important; }
.accounts-table-shell { background: #fff; border: 1px solid var(--accounts-line); border-radius: 9px; max-height: 64vh; min-width: 0; overflow: auto; width: 100%; }
.accounts-table { border-collapse: separate; border-spacing: 0; font-size: .75rem; min-width: 1280px; width: 100%; }
.accounts-table th { background: #edf4f0; border-bottom: 1px solid #ccdcd4; color: #476259; font-size: .65rem; font-weight: 850; padding: 9px 10px; position: sticky; text-align: left; top: 0; white-space: nowrap; z-index: 1; }
.accounts-table td { border-bottom: 1px solid #e1e9e5; color: #284b40; padding: 8px 10px; vertical-align: middle; }
.accounts-table tbody tr:last-child td { border-bottom: 0; }
.accounts-table tbody tr:hover td { background-color: #f6faf8; }
.accounts-table td strong { display: block; font-size: .76rem; line-height: 1.35; }
.accounts-table td small { color: var(--accounts-muted); display: block; font-size: .64rem; line-height: 1.35; margin-top: 4px; max-width: 240px; overflow-wrap: anywhere; }
.accounts-record-id { font-size: .58rem !important; max-width: 155px !important; }
.accounts-sort { background: transparent; border: 0; color: inherit; cursor: pointer; font: inherit; font-weight: inherit; padding: 0; text-align: left; }
.accounts-money { font-variant-numeric: tabular-nums; white-space: nowrap; }
.accounts-link { background: transparent; border: 0; color: #195d45; cursor: pointer; font: inherit; max-width: 260px; padding: 0; text-align: left; }
.accounts-link { display: block; text-decoration: none; }
.accounts-panel a[aria-disabled="true"] { cursor: default; opacity: .53; }
.accounts-panel a:focus-visible { outline: 2px solid #277a59; outline-offset: 2px; }
.accounts-panel a.accounts-button { text-decoration: none; }
.accounts-link:hover:not(:disabled) > strong { text-decoration: underline; }
.accounts-link strong { overflow-wrap: anywhere; }
.accounts-direction { align-items: center; display: inline-flex; font-size: .68rem; font-weight: 780; gap: 3px; white-space: nowrap; }
.accounts-direction-incoming { color: #266c4e; }
.accounts-direction-outgoing { color: #805324; }
.accounts-status { background: #edf2ef; border-radius: 999px; color: #4b675c; display: inline-flex; font-size: .64rem; font-weight: 750; line-height: 1.25; padding: 4px 7px; white-space: nowrap; }
.accounts-status.is-verified { background: #ddf4e5; color: #207349; }
.accounts-status.is-pending { background: #fff0be; color: #7a5609; }
.accounts-status.is-voided { background: #e8e9e8; color: #626b65; }
.accounts-row-voided { opacity: .68; }
.accounts-row-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.accounts-row-actions button, .accounts-inline-error button { align-items: center; background: white; border: 1px solid #c1d4c9; border-radius: 5px; color: #286348; cursor: pointer; display: inline-flex; font: inherit; font-size: .65rem; font-weight: 750; gap: 4px; min-height: 28px; padding: 4px 7px; white-space: nowrap; }
.accounts-row-actions button:hover:not(:disabled) { background: #eaf4ee; }
.accounts-row-navigation { align-items: flex-start; display: flex; flex-direction: column; gap: 4px; margin-top: 7px; }
.accounts-row-navigation a { color: #226c50; font-size: .66rem; font-weight: 760; line-height: 1.35; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.accounts-row-navigation a:hover:not([aria-disabled="true"]) { color: #104c36; }
.accounts-cell { min-width: 125px; }
.accounts-cell-button { background: transparent; border: 1px solid transparent; border-radius: 4px; color: inherit; cursor: text; display: block; font: inherit; min-height: 32px; padding: 5px; text-align: left; width: 100%; }
.accounts-cell-button:hover:not(:disabled) { background: #fff; border-color: #bbd7c8; }
.accounts-cell-active { background: #eaf5ee !important; min-width: 165px; }
.accounts-cell-editor { min-width: 145px; }
.accounts-cell-editor input { min-width: 140px; width: 100%; }
.accounts-inline-error { color: #903e2d; font-size: .69rem; line-height: 1.4; margin-top: 6px; max-width: 240px; white-space: normal; }
.accounts-inline-error > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.accounts-new-row td { background: #eaf5ee !important; vertical-align: top; }
.accounts-new-row input, .accounts-new-row select { margin-bottom: 5px; min-width: 120px; }
.accounts-new-row td:nth-child(2), .accounts-new-row td:nth-child(3) { min-width: 230px; }
.accounts-empty { align-items: center; background: #fff; border: 1px solid var(--accounts-line); border-radius: 9px; color: var(--accounts-muted); display: flex; flex-direction: column; gap: 8px; padding: 35px 16px; text-align: center; }
.accounts-empty h1, .accounts-empty h2 { color: var(--accounts-ink); font-size: 1rem; margin: 0; }
.accounts-empty p { font-size: .79rem; margin: 0; }
.accounts-pagination { align-items: center; color: var(--accounts-muted); display: flex; flex-wrap: wrap; font-size: .73rem; gap: 10px; justify-content: space-between; }
.accounts-pagination > div { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.accounts-pagination label { align-items: center; display: flex; gap: 6px; }
.accounts-pagination select { width: 68px; }
.accounts-editor-pane, .accounts-statement { background: #fff; border: 1px solid #bed6c9; border-radius: 11px; display: grid; gap: 13px; min-width: 0; padding: 16px; }
.accounts-statement { scroll-margin-top: 16px; }
.accounts-statement-tabs { align-items: center; border-bottom: 1px solid var(--accounts-line); display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 8px; }
.accounts-statement-tabs a, .accounts-statement-tabs button { align-items: center; background: #f1f6f3; border: 1px solid #c8d7d0; border-radius: 6px; color: #46635a; cursor: pointer; display: inline-flex; font: inherit; font-size: .76rem; font-weight: 760; gap: 5px; min-height: 35px; padding: 6px 12px; text-decoration: none; }
.accounts-statement-tabs a[aria-current="page"], .accounts-statement-tabs button.is-active { background: #176f50; border-color: #176f50; color: white; }
.accounts-section-heading { font-size: .95rem; margin: 0; }
.accounts-history { display: grid; gap: 12px; min-width: 0; }
.accounts-history-heading { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }
.accounts-history-heading h3 { font-size: 1rem; margin: 0 0 6px; }
.accounts-history-heading p { overflow-wrap: anywhere; }
.accounts-history-payment { background: #f2f8f4; border: 1px solid #cbded2; border-radius: 8px; display: flex; flex-wrap: wrap; gap: 12px 20px; padding: 12px; }
.accounts-history-payment > div { display: grid; gap: 5px; min-width: 0; }
.accounts-history-payment strong { font-size: .79rem; }
.accounts-history-payment span { font-size: .85rem; overflow-wrap: anywhere; }
.accounts-history-payment small { color: var(--accounts-muted); font-size: .69rem; overflow-wrap: anywhere; }
.accounts-history-event { border: 1px solid var(--accounts-line); border-radius: 9px; display: grid; gap: 10px; min-width: 0; padding: 12px; }
.accounts-history-event > header { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }
.accounts-history-event > header > div { display: grid; gap: 5px; }
.accounts-history-event header strong { font-size: .81rem; }
.accounts-history-event header span, .accounts-history-event header small { color: var(--accounts-muted); font-size: .69rem; }
.accounts-history-reason { background: #fff8e7; border-left: 3px solid #d5b675; border-radius: 3px; color: #746025 !important; overflow-wrap: anywhere; padding: 8px; }
.accounts-history-changes { min-width: 540px; table-layout: fixed; }
.accounts-history-changes td { overflow-wrap: anywhere; white-space: pre-wrap; }
.accounts-history-changes td:first-child { width: 25%; }
.accounts-history-event .accounts-row-navigation { flex-direction: row; flex-wrap: wrap; gap: 7px 15px; }
.accounts-editor-pane h2, .accounts-statement h2 { font-size: 1.1rem; margin: 2px 0 5px; }
.accounts-editor-fields { display: grid; gap: 9px; grid-template-columns: repeat(5, minmax(110px, 1fr)); }
.accounts-reason { grid-column: 1 / -1; }
.accounts-editor-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.accounts-metadata { display: grid; gap: 11px; min-width: 0; }
.accounts-metadata h3 { font-size: .95rem; margin: 0; }
.accounts-business-field { max-width: 280px; }
.accounts-statement-meta { color: var(--accounts-muted); display: flex; flex-wrap: wrap; font-size: .74rem; gap: 7px 16px; }
.accounts-table-statement { min-width: 760px; }
.accounts-table-due { min-width: 1020px; }
.accounts-table-exceptions { min-width: 760px; }
.accounts-table-exceptions td:nth-child(3) { max-width: 520px; }
.accounts-schedule-table { min-width: 860px; }
.accounts-schedule-table input, .accounts-schedule-table select { min-width: 110px; }
.accounts-sr-only { clip: rect(0, 0, 0, 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.accounts-spin { animation: accounts-spin .9s linear infinite; }
@keyframes accounts-spin { to { transform: rotate(360deg); } }
@media (max-width: 1300px) {
  .accounts-filters { grid-template-columns: minmax(200px, 1.5fr) minmax(145px, 1fr) auto; }
  .accounts-filters > .accounts-range { grid-column: 1 / -1; grid-row: 2; }
  .accounts-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 950px) {
  .accounts-more-filters { grid-template-columns: 1fr; }
  .accounts-more-filters .accounts-range { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .accounts-heading, .accounts-statement > header { flex-wrap: wrap; }
  .accounts-heading-actions { justify-content: flex-start; }
  .accounts-editor-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .accounts-panel { gap: 10px; padding: 12px 10px 20px; }
  .accounts-heading h1 { font-size: 1.5rem; }
  .accounts-heading p { font-size: .77rem; }
  .accounts-heading-actions { width: 100%; }
  .accounts-heading-actions > .accounts-button { flex: 1 1 auto; min-height: 38px; }
  .accounts-filters { grid-template-columns: 1fr; }
  .accounts-filters > .accounts-range { grid-column: auto; grid-row: auto; }
  .accounts-range, .accounts-more-filters .accounts-range { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .accounts-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .accounts-metric { padding: 9px; }
  .accounts-metric strong { font-size: .97rem; }
  .accounts-table-shell { max-height: 62vh; }
  .accounts-pagination > div { width: 100%; }
  .accounts-pagination label { margin-right: auto; }
  .accounts-statement, .accounts-editor-pane { padding: 11px; }
  .accounts-editor-fields { grid-template-columns: 1fr; }
  .accounts-filter-note, .accounts-page-note, .accounts-sheet-note { font-size: .68rem; }
}
@media (prefers-reduced-motion: reduce) { .accounts-spin { animation: none; } }
