/* Contribution documents share the green, gold and ivory financial workspace identity. */
.erp .drawer .modal.invoice-drawer { width: min(860px, 100%); }
.erp .invoice-drawer .modal-body { background: var(--surface-2); padding: 25px; }
.erp .invoice-drawer .modal-foot { gap: 9px; }
.erp .invoice-drawer .modal-foot .left { flex-basis: 100%; overflow-wrap: anywhere; }
.erp .invoice-document { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: var(--shadow); }
.erp .invoice-document-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; padding: 30px; color: #fff; background: #124d38; border-top: 4px solid #d0b16b; }
.erp .invoice-eyebrow { display: block; color: #e4d39f; font-size: 11px; line-height: 1.5; font-weight: 650; text-transform: uppercase; letter-spacing: 1.5px; }
.erp .invoice-document-head h3 { color: #fff; font-size: 23px; letter-spacing: -.45px; font-weight: 650; line-height: 1.35; margin: 11px 0 9px; }
.erp .invoice-number { color: #e0eade; font-size: 15px; font-weight: 550; line-height: 1.6; overflow-wrap: anywhere; }
.erp .invoice-document-state { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; min-width: 140px; padding-top: 1px; }
.erp .invoice-document-state > span:not(.pill) { color: #d3e0d4; font-size: 11px; line-height: 1.4; }
.erp .invoice-document-state > span:not(.pill):not(:first-child) { margin-top: 7px; }
.erp .invoice-document-state .pill { font-size: 12px; border: 1px solid transparent; }
.erp .invoice-document-state .pill-ok { color: #145a22; background: #e4f3e6; }
.erp .invoice-document-state .pill-warn { color: #6b4809; background: #f4edcf; }
.erp .invoice-document-state .pill-bad { color: #8a231d; background: #fbe5e3; }
.erp .invoice-document-state .pill-neutral { color: #244b35; background: #eaf0e5; }
.erp .invoice-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; padding: 26px 30px; border-bottom: 1px solid var(--line); }
.erp .invoice-document h4 { color: var(--muted); font-size: 12px; letter-spacing: .15px; line-height: 1.5; font-weight: 600; text-transform: none; margin: 0 0 9px; }
.erp .invoice-parties p { font-size: 17px; font-weight: 650; line-height: 1.5; margin: 0 0 8px; overflow-wrap: anywhere; }
.erp .invoice-parties section > span { display: block; font-size: 13px; line-height: 1.65; color: var(--muted); overflow-wrap: anywhere; }
.erp .invoice-parties section > span + span { margin-top: 4px; }
.erp .invoice-dates { display: grid; grid-template-columns: 1fr 1fr .6fr .5fr; gap: 18px; margin: 0; padding: 21px 30px; background: var(--surface-2); border-bottom: 1px solid var(--line); }
.erp .invoice-dates dt { font-size: 12px; line-height: 1.5; font-weight: 500; color: var(--muted); }
.erp .invoice-dates dd { font-size: 14px; line-height: 1.5; font-weight: 650; margin: 6px 0 0; color: var(--ink); font-variant-numeric: tabular-nums; }
.erp .invoice-lines { padding: 24px 0 0; }
.erp .invoice-lines > h4 { margin: 0 30px 15px; color: var(--ink); font-size: 15px; }
.erp .invoice-lines .grid { min-width: 530px; font-size: 14px; }
.erp .invoice-lines .grid th { font-size: 12px; height: auto; }
.erp .invoice-lines .grid :is(th, td) { padding: 13px 17px; }
.erp .invoice-lines .grid :is(th, td):first-child { padding-left: 30px; }
.erp .invoice-lines .grid :is(th, td):last-child { padding-right: 30px; }
.erp .invoice-lines .grid td:first-child { white-space: normal; min-width: 210px; max-width: 360px; overflow-wrap: anywhere; }
.erp .invoice-lines .grid :is(th, td).num { text-align: right; }
.erp .invoice-lines .grid td:last-child { font-weight: 650; color: var(--ink); }
.erp .invoice-totals { display: grid; gap: 0; padding: 22px 30px; margin: 0; }
.erp .invoice-totals > div { display: flex; justify-content: space-between; align-items: baseline; gap: 22px; padding: 10px 0; }
.erp .invoice-totals dt { font-size: 14px; font-weight: 500; color: var(--muted); }
.erp .invoice-totals dd { margin: 0; text-align: right; white-space: nowrap; color: var(--ink); font-size: 20px; font-weight: 650; line-height: 1.4; font-variant-numeric: tabular-nums; }
.erp .invoice-totals dd small { font-size: 11px; font-weight: 550; letter-spacing: .4px; color: var(--muted); }
.erp .invoice-totals .invoice-balance { border-top: 1px solid var(--line-strong); margin-top: 9px; padding-top: 17px; }
.erp .invoice-balance dt { color: var(--ink); font-weight: 650; }
.erp .invoice-balance dd { color: var(--brand-ink); font-size: 28px; }
.erp .invoice-document-note { padding: 0 30px 25px; }
.erp .invoice-document-note p { font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre-wrap; overflow-wrap: anywhere; }
.erp .invoice-credit-section { padding: 22px 30px; border-top: 1px solid var(--line); background: var(--surface-2); }
.erp .invoice-credit-section > h4 { color: var(--ink); font-size: 15px; }
.erp .invoice-credit-section > h4 span { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 20px; background: var(--gold-soft); color: var(--ink-2); font-size: 12px; }
.erp .invoice-credit { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.erp .invoice-credit:last-child { border-bottom: 0; padding-bottom: 0; }
.erp .invoice-credit strong { color: var(--ink); font-size: 14px; font-weight: 650; overflow-wrap: anywhere; }
.erp .invoice-credit div > span { display: block; margin-top: 4px; font-size: 12px; line-height: 1.6; color: var(--muted); }
.erp .invoice-credit p { margin-top: 7px; font-size: 14px; color: var(--ink-2); line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.erp .invoice-credit > b { color: var(--brand-ink); font-size: 17px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.erp .invoice-credit > b small { font-size: 11px; font-weight: 550; }
.erp .invoice-document-foot { padding: 21px 30px; background: var(--surface-2); border-top: 1px solid var(--line); }
.erp .invoice-preparer { color: var(--muted); font-size: 12px; line-height: 1.6; }
.erp .invoice-preparer strong { font-weight: 600; color: var(--ink-2); }
.erp .invoice-basis { margin-top: 18px; }
.erp .invoice-basis summary { color: var(--ink-2); font-size: 13px; font-weight: 600; cursor: pointer; }
.erp .invoice-basis p { font-size: 12px; line-height: 1.75; color: var(--muted); margin-top: 10px; }
.erp .invoice-void-note { display: flex; align-items: flex-start; gap: 12px; margin: 21px 30px 0; padding: 15px; background: var(--bad-soft); color: var(--bad); border: 1px solid color-mix(in srgb, var(--bad) 25%, transparent); border-radius: 8px; }
.erp .invoice-void-note .ic { flex: none; margin-top: 2px; }
.erp .invoice-void-note strong { font-size: 14px; font-weight: 650; }
.erp .invoice-void-note p { font-size: 13px; line-height: 1.6; margin-top: 5px; overflow-wrap: anywhere; }
.erp .finance-register-detail > .kv { margin: 0; }
.erp .finance-register-detail > .kv > div { padding: 14px 0; }
.erp .finance-register-detail > .kv dt { font-size: 13px; line-height: 1.6; }
.erp .finance-register-detail > .kv dd { font-size: 15px; line-height: 1.6; }
@media (max-width: 600px) {
  .erp .invoice-drawer .modal-body { padding: 13px; }
  .erp .invoice-document-head { padding: 22px 20px; flex-direction: column; gap: 18px; }
  .erp .invoice-document-head h3 { font-size: 22px; }
  .erp .invoice-document-state { display: grid; grid-template-columns: auto auto; align-items: center; gap: 8px 18px; }
  .erp .invoice-document-state > span:not(.pill):not(:first-child) { margin: 0; }
  .erp .invoice-document-state .pill { justify-self: start; }
  .erp .invoice-parties { grid-template-columns: 1fr; padding: 22px 20px; gap: 20px; }
  .erp .invoice-dates { grid-template-columns: 1fr 1fr; padding: 19px 20px; gap: 17px; }
  .erp .invoice-lines > h4 { margin-left: 20px; margin-right: 20px; }
  .erp .invoice-lines .grid :is(th, td):first-child { padding-left: 20px; }
  .erp .invoice-lines .grid :is(th, td):last-child { padding-right: 20px; }
  .erp .invoice-totals { padding: 19px 20px; }
  .erp .invoice-totals > div { gap: 13px; }
  .erp .invoice-totals dt { font-size: 12px; }
  .erp .invoice-totals dd { font-size: 18px; }
  .erp .invoice-balance dd { font-size: 23px; }
  .erp .invoice-document-note { padding: 0 20px 22px; }
  .erp .invoice-credit-section, .erp .invoice-document-foot { padding: 20px; }
  .erp .invoice-credit { flex-wrap: wrap; gap: 10px; }
  .erp .invoice-void-note { margin-left: 20px; margin-right: 20px; }
  .erp .invoice-drawer .modal-foot .btn { flex: 1 1 auto; }
}
