:root{--ink:#172f3d;--muted:#5e6d75;--line:#dce3e4;--paper:#fff;--bg:#f4f6f5;--orange:#e35c23;--green:#16735c;--nav:#123340}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:18px;line-height:1.55;color:var(--ink);background:var(--bg)}a{color:#156e86;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ea8a34;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:36px;line-height:1.2;letter-spacing:-.8px;margin-bottom:12px}h2{font-size:24px;line-height:1.3}h3{font-size:20px}p{margin-bottom:20px}.muted,small{color:var(--muted)}small{font-size:16px}.eyebrow{font-size:14px;font-weight:750;letter-spacing:2px;color:var(--green);margin-bottom:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:274px;background:var(--nav);color:white;display:flex;flex-direction:column;overflow:auto;z-index:10}.brand{display:block;background:white;margin:26px 22px 22px;border-radius:10px;padding:16px}.brand .brand-lockup{max-width:207px;margin-inline:auto}.sidebar-caption{color:#acc2cc;font-size:12px;letter-spacing:1.8px;padding:0 26px 14px}.sidebar nav{padding:0 14px}.sidebar nav a{display:block;color:#e4edf0;text-decoration:none;padding:11px 14px;border-radius:8px;font-size:17px;margin-bottom:3px;min-height:48px}.sidebar nav a:hover,.sidebar nav a.active{background:#285263;color:#fff}.sidebar nav a.active{box-shadow:inset 4px 0 var(--orange)}.sidebar-bottom{padding:24px;margin-top:auto;border-top:1px solid #36535e;font-size:15px}.sidebar-bottom .muted{color:#adc1cb}.sidebar-bottom strong{display:block;overflow-wrap:anywhere;margin:4px 0 14px}.sidebar-bottom .button{background:transparent;color:white;border-color:#6e8993}.workspace{margin-left:274px;padding:42px 4vw 60px;max-width:1800px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 28px}.page-header p:last-child{margin-bottom:0}.button{border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 20px;min-height:48px;text-decoration:none;font-size:18px;font-weight:600;cursor:pointer;line-height:1.4}.primary{background:var(--green);color:white}.primary:hover{background:#105b49}.secondary{background:white;border-color:#b8c8ce;color:var(--ink)}.secondary:hover{background:#edf2f3}.danger{background:#fff1ee;border-color:#e5a79c;color:#9b2c19}button:disabled{opacity:.55;cursor:not-allowed}.full{width:100%}.panel{background:white;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 12px #17334105;margin-bottom:24px}.panel-heading{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.panel-heading h2{margin:0}.form-panel{padding:30px;max-width:1100px}.search-bar{display:flex;gap:12px;align-items:center;margin-bottom:24px}.search-bar input{max-width:580px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;font-weight:600}.field small{font-weight:400}.required{color:#a44824}input,textarea,select{border:1px solid #aebfc6;border-radius:7px;background:white;padding:11px 13px;min-height:48px;max-width:100%;width:100%;color:var(--ink)}textarea{resize:vertical;font-weight:400;line-height:1.55}input[type=checkbox]{width:24px;height:24px;min-height:24px;accent-color:var(--green);flex-shrink:0}input[type=file]{font-size:16px}.checkbox{display:flex;gap:12px;align-items:center;font-weight:500;min-height:48px;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;margin-top:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:15px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:#f8faf9}th,td{padding:18px 22px;border-bottom:1px solid var(--line);vertical-align:top}td .muted{font-size:16px;margin-top:5px}tr:last-child td{border-bottom:0}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-actions a{white-space:nowrap}.row-actions form{margin:0}.badge{display:inline-block;border-radius:30px;background:#edf3f0;color:#38624f;padding:5px 13px;font-size:15px;white-space:nowrap;text-transform:capitalize}.badge.cancelled,.badge.overdue{background:#fff0ec;color:#a13a23}.badge.paid,.badge.signed{background:#e0f4e8;color:#226e43}.empty{text-align:center;padding:60px 20px}.empty p{color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:22px;padding:24px}.notice{padding:18px 22px;background:#edf3fa;border:1px solid #b5cadd;border-radius:9px;margin-bottom:22px}.notice.success{background:#eaf6ee;border-color:#a5d6b5}.notice.error{background:#fff0ec;border-color:#dfad9d}.notice ul{margin:8px 0 0;padding-left:24px}.back-link{display:inline-block;margin-bottom:18px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:50px 20px;background:radial-gradient(ellipse at 10% 5%,#eee5d5 0,transparent 48%),radial-gradient(ellipse at 90% 90%,#dbeae5 0,transparent 45%),#f7f8f5}.login-page>.notice{width:100%;max-width:520px}.login-card{background:white;border:1px solid #e2e4dd;border-radius:20px;padding:38px 44px;box-shadow:0 24px 80px #183b3912;width:100%;max-width:520px}.login-logo{width:270px;max-width:100%;margin:0 auto 28px}.login-card .eyebrow{margin-top:16px}.login-card .button{margin-top:16px}.login-note{font-size:15px;color:var(--muted);text-align:center;margin:22px 0 0}.login-footer{font-size:15px;color:var(--muted);margin:25px 0 0}.code-input{font-size:30px;letter-spacing:10px;text-align:center}.cf-turnstile{margin:16px 0;min-height:65px}.document-paper{max-width:1040px;margin:0 auto 30px;background:white;border:1px solid #d9dedb;border-radius:5px;box-shadow:0 8px 30px #1733410a;padding:40px}.letterhead{display:flex;justify-content:space-between;gap:32px;align-items:center;border-bottom:2px solid #e5e9e7;padding-bottom:25px;margin-bottom:30px}.letterhead .brand-lockup{width:220px;max-width:100%;flex:none}.letterhead .company{font-size:15px;text-align:right;max-width:520px}.letterhead .company strong{color:#236177;font-size:18px}.document-title{text-align:center;font-size:27px;letter-spacing:1px;margin:28px 0}.reference{font-size:20px;font-weight:700}.item-card{border:1px solid #b9c8cc;border-radius:8px;margin-bottom:22px;overflow:hidden}.item-header{background:#edf3f2;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.item-header h3{margin:0}.item-body{padding:22px}.item-numbers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.total-bar{display:flex;justify-content:flex-end;align-items:center;gap:30px;background:#f0f5f2;padding:20px 25px;margin:20px 0;font-size:24px;font-weight:700}.photo-grid{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:18px}.photo-card{border:1px solid var(--line);padding:12px;border-radius:8px;width:210px}.photo-card img{width:100%;height:135px;object-fit:contain}.photo-card .field{margin:8px 0;font-size:15px}.photo-card .button{font-size:15px;padding:7px;min-height:40px}.preserve{white-space:pre-line;overflow-wrap:anywhere}.history{max-width:1040px;margin:0 auto 26px}.history details{padding:16px 22px;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600;min-height:36px}details[open]>summary{margin-bottom:18px}.history-row{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.history-row p{margin:0}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);padding:22px;border-radius:10px}.stat strong{display:block;font-size:29px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;z-index:100;background:white;padding:10px}.mobile-menu{display:none}.text-right{text-align:right}.small-button{font-size:16px;padding:8px 12px;min-height:42px}.inline-form{display:inline} @media(max-width:1100px){.sidebar{width:240px}.workspace{margin-left:240px;padding:30px 24px}.document-paper{padding:25px}.letterhead{flex-direction:column;align-items:flex-start}.letterhead .company{text-align:left}.page-header{align-items:flex-start;flex-direction:column}.item-numbers{grid-template-columns:1fr 1fr}}@media(max-width:960px){.workspace{margin-left:0;padding:20px 14px 40px}.form-grid,.item-numbers,.stat-grid{grid-template-columns:1fr}.document-paper{padding:20px 16px}.page-header h1{font-size:30px}.login-card{padding:30px 24px}.search-bar{flex-wrap:wrap}.history-row{align-items:flex-start;flex-direction:column}.form-panel{padding:23px 18px}.pagination{gap:10px;font-size:16px}.total-bar{font-size:21px}.photo-card{width:100%}}@media print{.sidebar,.mobile-menu,.toolbar,.document-save,.skip{display:none}.workspace{margin:0;padding:0}.document-paper{border:0;box-shadow:none}}
/* Search suggestions and file selection */
.combo-field{position:relative}.combo-input{padding-left:18px;background:#fcfdfc;border:1px solid #9fb8b3;box-shadow:0 2px 5px #183b3905}.combo-input:focus{border-color:var(--green)}.combo-options{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #bed0ca;box-shadow:0 16px 35px #183b3924;border-radius:10px;max-height:340px;overflow:auto;z-index:40;padding:6px}.combo-option{display:block;width:100%;text-align:left;padding:14px 16px;border:0;border-radius:6px;background:white;font-size:18px;cursor:pointer;color:var(--ink);line-height:1.5}.combo-option:hover,.combo-option.selected{background:#e9f3ed;color:#125d47}.combo-empty{padding:20px;color:var(--muted)}.combo-fallback-submit{display:none}.modern-search{background:white;border:1px solid var(--line);padding:12px;border-radius:12px;gap:12px}.search-input-wrap{position:relative;flex:1;min-width:240px}.search-input-wrap input{padding-left:44px;padding-right:46px;border:0;background:#f4f7f6;max-width:none;border-radius:8px;min-height:54px}.search-icon{position:absolute;left:17px;top:17px;width:15px;height:15px;border:2px solid #668078;border-radius:50%;pointer-events:none}.search-icon:after{content:'';position:absolute;width:7px;height:2px;background:#668078;transform:rotate(45deg);left:10px;top:12px}.search-clear{position:absolute;right:8px;top:6px;border:0;background:transparent;color:#5a726a;font-size:26px;width:40px;height:40px;cursor:pointer}.searching .search-icon{border-color:var(--green)}.upload-zone{position:relative;border:2px dashed #b8cbc3;background:#f7fbf8;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:24px 18px;min-height:170px;cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.upload-zone:hover,.upload-zone.drag-over{background:#e8f4ec;border-color:var(--green)}.upload-zone strong{font-size:18px}.upload-zone>span:not(.upload-symbol){font-size:16px;font-weight:400;color:#45665b}.upload-zone small{font-size:14px;font-weight:400}.upload-symbol{width:36px;height:36px;border-radius:9px;background:#dfede4;color:#286b4d;font-size:28px;line-height:32px;margin-bottom:5px}.native-upload{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;opacity:0!important;padding:0!important;pointer-events:none}.upload-previews{display:flex;flex-direction:column;gap:10px;margin-top:12px}.upload-file{display:flex;align-items:center;gap:14px;background:white;border:1px solid #d6e2dc;border-radius:9px;padding:12px}.upload-file img{width:68px;height:58px;object-fit:cover;border-radius:5px}.upload-file>div{min-width:0;flex:1}.upload-file strong{display:block;font-size:16px;overflow-wrap:anywhere}.upload-file small{display:block;font-size:14px;font-weight:400}.upload-file-icon{font-size:13px;border:1px solid #c6d7cc;padding:10px;color:var(--green)}.upload-remove{border:0;background:#f5eee9;color:#944428;border-radius:6px;padding:9px 12px;cursor:pointer;font-size:15px;min-height:44px}.upload-error{color:#a33e29;font-size:16px;margin-top:8px;font-weight:500}[hidden]{display:none!important}
@font-face{font-family:'RB Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/inter.ttf') format('truetype')}body{font-family:'RB Sans',Inter,'Segoe UI',Arial,sans-serif}input,textarea,select,button{font-family:inherit}.field>input,.field>textarea{font-weight:400}

.upload-error:not(:empty){min-height:1.55em;flex-shrink:0}.upload-error:empty{display:none}

.upload-status{font-size:14px;font-weight:400;color:var(--green);margin-top:8px}.upload-status:empty{display:none}

.document-details {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 24px;
  align-items: start;
}
.document-details .field, .document-recipient > p {
  margin-bottom: 0;
}
.document-recipient > p {
  margin-top: 8px;
}
.document-details input:not([type=hidden]), .document-reference {
  min-height: 54px;
}
.document-reference {
  display: flex;
  align-items: center;
  padding: 8px 13px;
  border: 1px solid #d9dedb;
  border-radius: 7px;
  background: #f7f9f8;
  overflow-wrap: anywhere;
}
@media (min-width: 641px) {
  .document-details-with-po .document-address {
    grid-row: span 2;
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }
  .document-details-with-po .document-address .field,
  .document-details-with-po .document-address textarea {
    flex: 1;
  }
}
@media (max-width: 960px) {
  .document-details {
    grid-template-columns: minmax(0, 1fr);
  }
}

.record-table > :is(thead, tbody) > tr > :is(th, td) {
  vertical-align: middle;
  overflow-wrap: anywhere;
}
.record-amount { font-variant-numeric: tabular-nums; }
.document-status { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }

.payment-selection-hint { margin: 0; padding: 16px 22px; }
.payment-selection-total { margin: 0; flex-wrap: wrap; gap: 12px 24px; }

.history details.actions-menu { padding: 0; border: 0; }
.actions-menu { flex: none; width: fit-content; max-width: 100%; text-align: left; }
.actions-menu > summary { list-style: none; margin: 0; }
.actions-menu > summary::-webkit-details-marker { display: none; }
.actions-menu[open] > summary { margin: 0; background: var(--bg); }
.actions-menu-caret {
  width: 7px;
  height: 7px;
  flex: none;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: translateY(-2px) rotate(45deg);
}
.actions-menu[open] .actions-menu-caret { transform: translateY(2px) rotate(225deg); }
.actions-menu-items {
  width: max-content;
  min-width: min(172px, calc(100vw - 16px));
  max-width: min(300px, calc(100vw - 16px));
  padding: 4px;
  margin-top: 6px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.actions-menus-enhanced .actions-menu-items {
  position: fixed;
  inset: 0 auto auto 0;
  z-index: 45;
  margin: 0;
  visibility: hidden;
  overflow: auto;
  overscroll-behavior: contain;
  box-shadow: 0 6px 20px #172f3d24;
}
.actions-menus-enhanced .actions-menu-items[data-positioned] { visibility: visible; }
.actions-menus-enhanced [data-action-reveal-panel]:not([open]) { display: none; }
.actions-menus-enhanced [data-action-reveal-container]:not(:has([data-action-reveal-panel][open])) { display: none; }
.actions-menu-items form { margin: 0; }
.actions-menu-items :is(a, button) {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 40px;
  padding: 7px 10px;
  border: 0;
  border-radius: 5px;
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
.actions-menu-items :is(a, button):is(:hover, :focus-visible) { background: var(--bg); }
.actions-menu-items :is(a, button):focus-visible { outline-offset: -2px; }
.actions-menu-items .danger { color: #9b2c19; }
.actions-menu-items .danger:is(:hover, :focus-visible) { background: #fff1ee; }
.actions-menu-divider { margin: 4px 3px; border: 0; border-top: 1px solid var(--line); }
@media print { .actions-menu { display: none; } }

.record-pagination { flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; padding: 14px 18px; font-size: 15px; }
.pagination-range { color: var(--muted); }
.pagination-pages { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.pagination-pages a, .pagination-pages span { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; min-width: 34px; padding: 4px 9px; border-radius: 6px; }
.pagination-pages a { text-decoration: none; }
.pagination-pages a:hover { background: var(--bg); }
.pagination-pages [aria-current=page] { background: #e6f0ed; color: var(--green); font-weight: 700; }
.pagination-pages [aria-disabled=true] { color: var(--muted); }
.payment-history .panel-heading { padding: 12px 16px; }
.payment-history .search-bar { margin: 12px 16px; }
.payment-history-table { table-layout: fixed; min-width: 42rem; }
.payment-history-table > thead th:nth-child(1) { width: 18%; }
.payment-history-table > thead th:nth-child(3) { width: 16%; }
.payment-history-table > thead th:nth-child(4) { width: 15%; }
.payment-history-table > thead th:nth-child(5) { width: 20%; }
.payment-history th, .payment-history td { padding: 9px 13px; }
.payment-history th { font-size: 13px; }
.payment-history td { font-size: 16px; vertical-align: middle; overflow-wrap: anywhere; }
.payment-history td .muted { margin-top: 0; font-size: 14px; }
.payment-history-amount { white-space: nowrap; }
.receipt-toggle { gap: 8px; min-height: 38px; max-width: 100%; padding: 4px 8px; text-align: left; }
.receipt-toggle[aria-expanded=true] { background: var(--bg); }
.receipt-caret { width: 7px; height: 7px; flex: none; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-2px) rotate(45deg); }
.receipt-toggle[aria-expanded=true] .receipt-caret { transform: translateY(2px) rotate(225deg); }
.payment-history .receipt-detail-row > td { padding: 0; }
.receipt-breakdown { padding: 12px 13px; background: var(--bg); }
.receipt-allocations { background: white; border: 1px solid var(--line); }
.payment-history .receipt-allocations tr:not(:last-child) td { border-bottom: 1px solid var(--line); }
.receipt-meta { display: flex; flex-wrap: wrap; align-items: start; gap: 8px 16px; }
.receipt-allocations + .receipt-meta { margin-top: 10px; }
.receipt-notes { margin: 0; flex: 1 1 16rem; }
.receipt-notes strong { font-size: 14px; }
@media (max-width: 960px) {
  .payment-history-table > thead th:nth-child(1) { width: 22%; }
  .payment-history th, .payment-history td { padding-inline: 10px; }
}

.document-save {
  position: sticky;
  bottom: 0;
  z-index: 5;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 0;
  background: var(--paper);
}
@media (max-width: 480px) {
  .document-save .button { flex: 1 0 auto; }
}

.form-page { max-width: 1100px; margin-inline: auto; }
.page-header .toolbar { margin: 0; }
@media (min-width: 1101px) {
  .page-header .toolbar { flex-shrink: 0; }
}
.document-editor, .document-view { max-width: 1040px; margin-inline: auto; }
.document-view-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 20px; margin-bottom: 18px; }
.document-view-bar .toolbar, .document-view-bar .back-link { margin: 0; }
.stat .preview-period { font-size: 20px; }
.web-document { font-size: 16px; overflow-wrap: anywhere; }
.web-document .letterhead { flex-direction: row; align-items: center; gap: 20px; border-bottom-color: #1c5267; padding-bottom: 16px; margin-bottom: 22px; }
.web-document .letterhead .brand-lockup { width: 186px; }
.web-document .letterhead .company { text-align: right; }
.document-cancelled-mark { margin-top: 6px; color: #9b2c19; font-size: 15px; font-weight: 750; }
.web-document h1 { font-size: 27px; color: #1c5267; text-align: center; letter-spacing: 1px; margin: 22px 0; }
.web-document p { margin-bottom: 12px; }
.web-document .meta td, .web-document .signature td { padding: 0; border: 0; }
.web-document .document-meta > tbody > tr > td:first-child { padding-right: 20px; }
.web-document .document-meta, .web-document .reference-meta { table-layout: fixed; }
.web-document .reference-meta { font-size: 15px; }
.web-document .reference-meta .reference-label { color: var(--muted); padding-right: 12px; text-align: right; }
.web-document .reference-meta td { white-space: normal; }
.web-document .reference-meta .reference-label { white-space: nowrap; }
.web-document .document-attention { margin-top: 14px; }
.web-document .lines { border: 1px solid var(--line); }
.web-document .lines th, .web-document .lines td { padding: 9px 12px; }
.web-document .lines th { font-size: 12px; color: #243d49; background: #edf2f4; white-space: normal; }
.web-document .item-table .price-heading, .web-document .money { text-align: right; }
.web-document .item-table th:nth-child(2), .web-document .quantity { text-align: center; }
.web-document .money { white-space: nowrap; font-variant-numeric: tabular-nums; }
.web-document .statement-meta { font-size: 10pt; line-height: 1.35; }
.web-document .statement-meta td:first-child { padding-right: 4mm; }
.web-document .statement-title { font-size: 16pt; line-height: 1.2; letter-spacing: .5px; margin: 4mm 0 1.5mm; }
.web-document .statement-period { font-size: 10pt; line-height: 1.25; margin: 0 0 2.5mm; }
.web-document .statement { table-layout: fixed; font-size: 9pt; line-height: 1.25; }
.web-document .statement th, .web-document .statement td { padding: .65mm 1.4mm; }
.web-document .statement th { font-size: 8.25pt; letter-spacing: 0; text-transform: none; }
.web-document .statement th.statement-number { width: 5%; white-space: nowrap; }
.web-document .statement-date { width: 12%; }
.web-document .statement-outstanding .statement-date { width: 17%; }
.web-document .statement-reference { width: 24%; }
.web-document .statement-po { width: 20%; }
.web-document .statement-amount { width: 13%; text-align: right; }
.web-document .statement-wide-amounts .statement-amount { width: 16%; }
.web-document .statement-wide-amounts .statement-reference { width: 19%; }
.web-document .statement-wide-amounts .statement-po { width: 16%; }
.web-document .statement .money { white-space: normal; }
.web-document .statement td[nowrap] { white-space: nowrap; }
.web-document .statement-secondary { color: var(--muted); font-size: 8.25pt; }
.web-document .statement-opening td { background: #f6f8f9; }
.web-document .grand-total td { background: #edf2f4; }
.web-document .document-closing { margin-top: 18px; }
.web-document .footer { margin: 18px 0 0; font-size: 14px; color: var(--muted); text-align: center; }
.web-document .signature { margin-top: 30px; }
.web-document .outstanding-heading { font-size: 11pt; line-height: 1.25; margin: 4mm 0 1.5mm; }
.preview-photos { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.preview-photos figure { width: 144px; max-width: 100%; margin: 0; }
.preview-photos img { display: block; width: 100%; height: 112px; object-fit: contain; background: #f8faf9; border: 1px solid var(--line); border-radius: 5px; }
.preview-photos figcaption { margin-top: 4px; font-size: 13px; color: var(--muted); }


.document-pages .web-document {
  display: flex;
  flex-direction: column;
  aspect-ratio: 210 / 297;
  padding: 10mm 14mm;
}
.document-pages[data-paginated] .web-document {
  width: 210mm;
  height: 297mm;
  max-width: none;
}
.document-pages[data-paginated] .document-overflow-page { height: auto; }
.document-page-frame {
  --page-scale: var(--document-page-scale, 1);
  width: calc(210mm * var(--page-scale));
  height: calc(var(--document-page-height, 297mm) * var(--page-scale));
  margin: 0 auto calc(30px * var(--page-scale));
  overflow: clip;
  overflow-clip-margin: 12px;
}
.document-page-frame > .web-document {
  margin: 0;
  transform: scale(var(--page-scale));
  transform-origin: top left;
}
.web-document > * { flex: none; }
.web-document [data-page-content] { display: flow-root; }
.document-page-text { white-space: pre-line; }
.document-ending { margin-top: auto; }
.document-ending:not(:empty) { padding-top: 5mm; }
.web-document .document-ending .signature { margin-top: 0; }
.web-document .invoice-signoff { margin: 0; }
.web-document .confidential { margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.document-page-number {
  margin-top: auto;
  padding-top: 3mm;
  min-height: 7mm;
  font-size: 11px;
  line-height: 4mm;
  color: var(--muted);
  text-align: right;
}
.document-ending:not(:empty) + .document-page-number { margin-top: 0; }
.web-document .item-table { table-layout: fixed; }
.web-document .item-table .money { white-space: normal; }
.web-document .item-continuation td { padding-top: 4px; }
.web-document .item-continued td { border-bottom: 0; padding-bottom: 4px; }
.web-document .preview-photos { margin-top: 0; }

@media print {
  @page document-sheet { size: A4; margin: 0; }
  .document-view { max-width: 210mm; }
  body:has([data-document-pages]) { background: white; }
  .document-view-bar, .document-view > :not(.document-pages) { display: none; }
  .document-page-frame {
    --page-scale: 1;
    height: auto;
    margin: 0;
    overflow: visible;
    page: document-sheet;
    break-after: page;
  }
  .document-page-frame > .web-document { transform: none; }
  .document-page-frame:last-child { break-after: auto; }
}

/* Keep the navigation geometry stable while the document font loads. */
.sidebar, .mobile-nav-bar { font-family: system-ui, "Segoe UI", sans-serif; }
.sidebar { scrollbar-gutter: stable; overscroll-behavior: contain; }
@media (pointer: fine) and (forced-colors: none) {
  .sidebar { scrollbar-color: #7b9ca9 var(--nav); }
  @supports selector(::-webkit-scrollbar) {
    .sidebar { scrollbar-color: auto; }
    .sidebar::-webkit-scrollbar { width: 18px; }
    .sidebar::-webkit-scrollbar-track { background: var(--nav); }
    .sidebar::-webkit-scrollbar-thumb {
      background: #7b9ca9;
      background-clip: padding-box;
      border: 3px solid transparent;
      border-radius: 12px;
    }
    .sidebar::-webkit-scrollbar-thumb:hover { background-color: #a3bec8; }
    .sidebar::-webkit-scrollbar-thumb:active { background-color: #c3d9e0; }
  }
}
@media screen and (min-width: 961px) and (max-width: 1100px) {
  .sidebar nav a { padding-inline: 10px; font-size: 16px; }
}
.mobile-nav-bar, .mobile-nav-shade { display: none; }
.document-status-filter { max-width: 230px; }
.record-label { display: none; }
.document-view-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.document-pages[data-zoomed] { overflow-x: auto; }
@media screen {
  .document-pages[data-zoomed] .document-page-frame { --page-scale: max(1, var(--document-page-scale, 1)); }
}
.invoice-selection-control { display: inline-grid; place-items: center; cursor: pointer; }
.cf-turnstile[data-size=compact] { display: flex; justify-content: center; min-height: 140px; }

@media screen and (max-width: 960px) {
  :root { --mobile-header-height: 60px; }
  html { scroll-padding-top: calc(var(--mobile-header-height) + 12px); }
  body { font-size: 16px; }
  body.mobile-nav-open { overflow: hidden; }
  body.mobile-nav-open .skip { display: none; }
  .mobile-nav-bar {
    position: sticky;
    top: 0;
    z-index: 60;
    display: flex;
    align-items: center;
    gap: 12px;
    height: var(--mobile-header-height);
    padding: 8px 14px;
    background: var(--nav);
    color: white;
  }
  .mobile-nav-bar .mobile-menu {
    display: inline-flex;
    padding: 6px 12px;
    gap: 8px;
    min-height: 44px;
    font-size: 15px;
    background: transparent;
    border-color: #6e8993;
    color: white;
  }
  .mobile-menu::before {
    content: '';
    width: 13px;
    height: 2px;
    background: currentColor;
    box-shadow: 0 -4px currentColor, 0 4px currentColor;
  }
  .mobile-menu[aria-expanded=true] { background: #285263; }
  .mobile-brand { display: inline-flex; align-items: center; min-height: 44px; color: white; text-decoration: none; font-weight: 650; }
  .mobile-nav-shade {
    display: block;
    position: fixed;
    inset: var(--mobile-header-height) 0 0;
    background: #172f3d80;
    z-index: 50;
  }
  .sidebar {
    inset: var(--mobile-header-height) auto 0 0;
    width: min(18rem, calc(100% - 44px));
    visibility: hidden;
    overscroll-behavior: contain;
    z-index: 55;
  }
  .sidebar.open { visibility: visible; }
  .sidebar .brand { margin: 16px; padding: 10px; }
  .sidebar .brand .brand-lockup { max-width: 151px; }
  .sidebar-bottom { padding: 16px; }
  .sidebar nav a { padding: 10px 12px; }
  .workspace, .login-page { overflow-wrap: anywhere; }
  .login-page { min-height: 100svh; padding: 28px 14px; }
  .login-card { padding: 24px 18px; }
  .login-logo { width: 212px; margin-bottom: 16px; }
  .login-card h1 { font-size: 30px; }
  .login-footer { text-align: center; }
  .code-input { letter-spacing: clamp(4px, 2vw, 10px); }
  .page-header { gap: 12px; margin: 4px 0 18px; }
  .back-link { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 10px; }
  summary { min-height: 44px; }
  .panel-heading { flex-wrap: wrap; padding: 14px 16px; gap: 8px 12px; }
  .panel-heading h2 { font-size: 20px; }
  .notice { padding: 12px 14px; }
  .form-panel { padding: 16px; }
  .field, .field > :is(input, textarea, select) { min-width: 0; }
  input, textarea, select, input[type=file] { font-size: 16px; }
  .form-grid, .item-numbers, .stat-grid { grid-template-columns: minmax(0, 1fr); }
  .button { min-height: 44px; padding: 8px 14px; font-size: 16px; text-align: center; }
  .small-button { padding: 7px 10px; font-size: 15px; }
  .row-actions a { white-space: normal; }
  .search-bar { gap: 8px; margin-bottom: 16px; }
  .modern-search { padding: 9px; }
  .search-bar > .search-input-wrap, .search-bar > input:not([type=hidden]) {
    flex: 1 0 100%;
    min-width: 0;
    max-width: none;
  }
  .search-bar > select { flex: 1 1 110px; min-width: 0; width: auto; max-width: 100%; }
  .search-bar > .button { padding-inline: 10px; font-size: 15px; }
  .search-clear { min-width: 44px; min-height: 44px; top: 5px; right: 4px; }
  .combo-options { max-height: min(280px, 40vh); }
  .combo-option { padding: 10px 12px; min-height: 44px; font-size: 16px; }
  .document-paper:not(.web-document) { padding: 16px 12px; }
  .document-paper:not(.web-document) .letterhead { gap: 12px; padding-bottom: 14px; margin-bottom: 16px; }
  .item-header { flex-wrap: wrap; padding: 10px 12px; gap: 8px; }
  .item-body { padding: 12px; }
  .upload-file { gap: 8px; padding: 8px; }
  .upload-file img { width: 48px; height: 48px; }
  .upload-remove { padding-inline: 8px; }
  .item-numbers { gap: 0; }
  .history-row, .history details { padding: 14px 16px; }
  .history-row { gap: 8px; }
  .document-save { gap: 8px; }
  .document-view-bar { gap: 8px; }
  .document-view-bar .toolbar { gap: 8px; }
  .document-view-bar .button { padding: 7px 10px; font-size: 15px; }
  .document-view-bar .back-link { font-size: 15px; }
  .total-bar { gap: 8px 12px; flex-wrap: wrap; justify-content: space-between; padding: 12px 14px; font-size: 18px; }
  .payment-selection-hint { padding: 12px 14px; }
  .payment-selection-total .row-actions { justify-content: flex-end; }
  .payment-selection-total:has([data-payment-count]:not(:empty)) {
    position: sticky;
    bottom: 0;
    z-index: 2;
    border-top: 1px solid #b9d1c7;
    box-shadow: 0 -3px 10px #172f3d12;
  }
  .record-pagination { padding: 12px 14px; gap: 6px; }
  .pagination-pages a, .pagination-pages span { min-width: 44px; min-height: 44px; }
  .actions-menu-items :is(a, button) { min-height: 44px; }

  /* Keep the table headings available to assistive technology when rows stack. */
  .record-table-wrap { overflow: visible; }
  .record-table, .record-table > tbody { display: block; min-width: 0; }
  .record-table > thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .record-table > tbody > tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    align-items: start;
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
  }
  .record-table > tbody > tr:last-child { border-bottom: 0; }
  .record-table > tbody > tr > td {
    display: block;
    padding: 0;
    border: 0;
    min-width: 0;
    white-space: normal;
    text-align: left;
  }
  .record-table > tbody > tr > td.record-empty {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .record-label {
    display: block;
    margin-bottom: 2px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .record-table .record-title, .record-table .record-wide, .record-table .record-actions,
  .record-table td[colspan] { grid-column: 1 / -1; }
  .record-table .record-title { font-size: 17px; }
  .record-table .record-title a { font-weight: 700; }
  .record-table .record-amount { font-weight: 650; }
  .record-table td .muted { margin-top: 2px; font-size: 14px; }
  .record-actions .row-actions > .button { flex: 1 0 auto; }
  .record-table .empty { padding: 20px 0; }
  .invoice-selection-table > tbody > tr {
    grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 10px;
  }
  .invoice-selection-table .record-title { grid-column: 2 / -1; align-self: center; }
  .invoice-selection-table .record-date { grid-column: 1 / 3; }
  .invoice-selection-control { min-width: 44px; min-height: 44px; }
  .invoice-selection-control input { margin: 0; }
  .payment-history-table > tbody > .receipt-detail-row { display: block; padding: 0; }
  .receipt-breakdown { padding: 10px 12px; }
  .receipt-allocations > tbody > tr { padding: 12px; }
  .receipt-meta { gap: 8px; }
}

@media screen and (max-width: 640px) {
  .document-view-nav { flex: 1 0 100%; }
}
@media screen and (min-width: 641px) and (max-width: 960px) {
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .item-numbers, .stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
}

@media (pointer: coarse) {
  .upload-zone .upload-drop-hint { display: none; }
}

@media print {
  .mobile-nav-bar, .mobile-nav-shade, [data-document-zoom] { display: none; }
  .document-pages[data-zoomed] { overflow: visible; }
}

.brand-lockup {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 5%;
  aspect-ratio: 1991 / 790;
}
/* Show the company artwork in the left part of the original combined asset. */
.rb-brand-mark {
  display: block;
  position: relative;
  flex: 0 0 40%;
  align-self: stretch;
  overflow: hidden;
}
.rb-brand-mark img {
  display: block;
  position: absolute;
  inset: 0 auto auto -25%;
  width: 250%;
  height: auto;
}
.brand-lockup .bizsafe-logo {
  display: block;
  width: 38%;
  height: auto;
  margin-bottom: 4%;
}

.saved-item-picker { margin: 12px 0; }
.saved-item-picker > summary { width: fit-content; }
.saved-item-picker > summary::after { content: '▾'; margin-left: 8px; }
.saved-item-picker[open] > summary::after { content: '▴'; }
.saved-item-picker .form-grid { align-items: start; }
.saved-item-picker .field { min-width: 0; }
.saved-item-picker [role=status]:empty { display: none; }

/* Job workspace */
.job-register > tbody > tr > td { overflow-wrap: anywhere; }
.job-workspace { overflow-wrap: anywhere; }
.job-workspace .page-header h1 { font-size: clamp(32px, 4vw, 44px); }
.job-customer-name { margin-bottom: 4px; font-size: 21px; font-weight: 700; }
.job-workspace-columns { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.job-workspace-columns .panel-heading { padding: 16px 20px; }
.job-workspace-columns .panel-heading h2 { font-size: 21px; }
.job-next-action { margin: 0 0 20px; border: 1px solid #badbcf; background: #eaf5ef; border-radius: 13px; }
.job-next-action-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px; }
.job-next-action-header > .button { flex-shrink: 0; }
.job-next-action-header h2 { margin: 0 0 5px; }
.job-next-action-header .eyebrow { margin-bottom: 6px; }
.job-next-action-header p:last-child { margin-bottom: 0; }
summary.job-next-action-header { list-style: none; border-radius: 13px; }
summary.job-next-action-header::-webkit-details-marker { display: none; }
summary.job-next-action-header:hover .button { background: #105b49; }
.job-next-action[open] > summary.job-next-action-header { margin: 0; }
.job-next-action-body { border-top: 1px solid #badbcf; padding: 20px; background: var(--paper); border-radius: 0 0 13px 13px; }
.job-next-action-body > :last-child { margin-bottom: 0; }
.job-document-list, .job-payment-list { list-style: none; padding: 0; margin: 0; }
.job-document-row, .job-payment-entry { padding: 14px 18px; border-bottom: 1px solid var(--line); }
.job-document-row:last-child, .job-payment-entry:last-child { border-bottom: 0; }
.job-document-row, .job-document-copy { display: flex; align-items: center; gap: 12px; min-width: 0; }
.job-document-row { justify-content: space-between; }
.job-document-icon { flex: 0 0 38px; height: 38px; display: grid; place-items: center; background: #edf3f4; color: #2c5966; border-radius: 8px; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.job-document-copy h3 { font-size: 17px; line-height: 1.3; margin: 0; }
.job-document-copy p, .job-payment-entry p { margin: 2px 0 0; font-size: 15px; line-height: 1.4; }
.job-document-actions { flex: 0 0 auto; max-width: 48%; justify-content: flex-end; }
.job-document-actions a { white-space: normal; }
.job-invoice-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; margin: 0; padding: 14px 18px 16px; font-variant-numeric: tabular-nums; }
.job-invoice-summary dt { color: var(--muted); }
.job-invoice-summary dd { margin: 0; text-align: right; }
.job-invoice-summary .job-outstanding { border-top: 1px solid var(--line); padding-top: 7px; font-weight: 700; color: var(--ink); }
.job-empty-note { margin: 0; padding: 14px 18px; font-size: 16px; }
.job-payment-entry-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; }
.job-payment-amount { color: var(--green); font-variant-numeric: tabular-nums; }
.job-payment-reversed { color: #a13a23; }
.job-payment-entry .row-actions { margin-top: 9px; }
#job-payment-history { scroll-margin-top: 78px; }

@media (max-width: 1170px) {
  .job-workspace-columns { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

@media (max-width: 600px) {
  .job-workspace-columns .panel-heading, .job-document-row, .job-payment-entry,
  .job-invoice-summary, .job-empty-note { padding-inline: 14px; }
  .job-next-action-header { align-items: stretch; flex-direction: column; gap: 12px; }
  .job-next-action-header, .job-next-action-body { padding: 16px; }
  .job-next-action-header h2 { font-size: 21px; }
  .job-customer-name { font-size: 19px; }
  .job-document-row, .job-document-copy { gap: 8px; }
  .job-document-icon { flex-basis: 32px; height: 32px; font-size: 12px; }
  .job-document-actions .button { font-size: 14px; padding-inline: 9px; }
  .job-document-copy p, .job-payment-entry p { font-size: 14px; }
}

@media (max-width: 350px) {
  .job-document-row { align-items: flex-start; flex-direction: column; }
  .job-document-actions { max-width: 100%; margin-left: 40px; justify-content: flex-start; }
}
.job-invoice-actions { padding: 0 18px 16px; }
@media (max-width: 600px) {
  .job-invoice-actions { padding-inline: 14px; }
}

.cancellation-records { padding: 0; margin: 0; list-style: none; }
.cancellation-records > li { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 6px 16px; padding: 12px 22px; overflow-wrap: anywhere; }
.cancellation-records > li + li { border-top: 1px solid var(--line); }
.cancellation-records > li p { margin: 2px 0 4px; }
.cancellation-records .badge { margin: 4px 6px 0 0; white-space: normal; }
.cancellation-amount { font-weight: 700; font-variant-numeric: tabular-nums; }
.cancellation-note { padding: 14px 22px; border-top: 1px solid var(--line); }
.cancellation-note > :last-child { margin-bottom: 0; }
@media (max-width: 960px) {
  .cancellation-records > li, .cancellation-note { padding-inline: 14px; }
}

/* Quotation email */
.quotation-mail-page { max-width: 1240px; }
.quotation-mail-card { padding: clamp(16px, 3vw, 30px); }
.quotation-mail-card h1, .quotation-mail-page h1 { overflow-wrap: anywhere; }
.quotation-mail-drawer {
  margin: 0 0 0 auto;
  inset: 0 0 0 auto;
  height: 100%;
  max-height: none;
  width: min(100%, 36rem);
  max-width: none;
  padding: 20px;
  background: var(--bg);
  color: var(--ink);
  border: 0;
  border-left: 1px solid var(--line);
  box-shadow: -14px 0 38px #172f3d30;
  overscroll-behavior: contain;
}
.quotation-mail-drawer::backdrop { background: #172f3d70; }
.quotation-mail-drawer > .panel { margin: 0; }
.quotation-mail-contacts :is(th,td) { padding: 11px 8px; vertical-align: middle; }
.quotation-mail-contacts tbody th { background: transparent; color: var(--ink); text-transform: none; letter-spacing: normal; overflow-wrap: anywhere; }
.quotation-mail-contacts tbody tr:last-child th { border-bottom: 0; }
.quotation-mail-contacts :is(th,td):not(:first-child) { width: 3.5rem; text-align: center; }
.quotation-mail-contacts input[type=checkbox] { margin: 6px 0; vertical-align: middle; }
.quotation-mail-field-error { margin: 10px 0 0; color: #9b2c19; }
.quotation-mail-compose-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.quotation-mail-envelope { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: start; gap: 7px 14px; font-size: 16px; overflow-wrap: anywhere; }
.quotation-mail-envelope dt { color: var(--muted); font-weight: 600; }
.quotation-mail-envelope dd { margin: 0; }
.quotation-mail-recipients { list-style: none; margin: 0; padding: 0; }
.quotation-mail-recipients li + li { margin-top: 5px; }
.quotation-mail-recipients li .muted { display: inline-block; }
.quotation-mail-recipients .badge { margin-left: 4px; }
.quotation-mail-attachment { min-width: 0; }
.quotation-mail-attachment-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.quotation-mail-attachment-header h2, .quotation-mail-attachment-header p { margin: 0; }
.quotation-mail-attachment iframe { width: 100%; min-height: 480px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); }
.quotation-mail-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.quotation-mail-search input { flex: 1; min-width: min(100%, 13rem); }
.quotation-mail-search select { width: auto; }
.quotation-mail-retry { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 18px; }
@media (max-width: 1100px) {
  .quotation-mail-compose-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .quotation-mail-drawer { padding: 12px; }
  .quotation-mail-attachment iframe { min-height: 340px; }
  .quotation-mail-search input, .quotation-mail-search select { width: 100%; }
}

.debtor-email-contacts { margin-top: 24px; }
.debtor-email-contacts-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-bottom: 12px;
}
.debtor-email-contacts-header h2 { margin: 0 0 3px; font-size: 21px; }
.debtor-email-contacts-header p { margin: 0; font-size: 15px; }
.debtor-email-contacts-header .button { gap: 6px; white-space: nowrap; min-height: 44px; }
.debtor-email-contacts [hidden] { display: none; }
.debtor-email-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) auto;
  align-items: start;
  gap: 8px 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf9;
}
.debtor-email-contact + .debtor-email-contact { margin-top: 8px; }
.debtor-email-contact .field { margin: 0; gap: 4px; font-size: 15px; line-height: 20px; }
.debtor-email-contact input { min-height: 44px; padding: 8px 10px; font-size: 16px; font-weight: 400; }
.debtor-email-contact input[aria-invalid="true"] { border-color: #a13a23; }
.debtor-email-contact-remove { margin-top: 24px; min-height: 44px; font-size: 15px; padding: 8px 10px; color: #9b2c19; background: transparent; }
.debtor-email-contact-remove:hover { background: #fff0ec; }
.debtor-email-contact-error { margin: 5px 0 0; font-size: 14px; color: #9b2c19; }
.debtor-email-contacts-empty { margin: 0; padding: 12px; font-size: 15px; border: 1px dashed var(--line); border-radius: 8px; }
@media (max-width: 620px) {
  .debtor-email-contact { grid-template-columns: minmax(0, 1fr) auto; }
  .debtor-email-contact-name { grid-column: 1 / -1; }
}

.payment-credit-notice { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; margin: 16px; }
.payment-credit-fields { padding: 16px 22px 4px; }
.payment-credit-fields > p { margin: 0 0 10px; }
.payment-credit-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(105px, 155px); align-items: center; gap: 8px 16px; padding: 10px 0; border-top: 1px solid var(--line); }
.payment-credit-row .field { margin: 0; }
.payment-credit-row input[aria-invalid="true"] { border-color: #a13a23; }
.payment-credit-totals { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 16px; margin: 12px 0 0; }
@media (max-width: 440px) {
  .payment-credit-fields { padding-inline: 14px; }
  .payment-credit-row .muted { font-size: 14px; }
}
