#paymentToUsModal .payment-box { width: 1080px !important; min-width:0 !important; max-width: calc(100vw - 24px) !important; max-height:var(--modal-camera-max-height, calc(100vh - 24px)) !important; overflow-y:auto; text-align: left; }
.payment-heading, .payment-schedule-heading, .payment-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.payment-heading { margin-bottom:18px; }
.payment-heading h3, .payment-schedule-heading h4 { margin:0; }
.payment-muted { color:var(--muted); font-size:12px; }
.payment-top { display:grid; grid-template-columns: minmax(0, 1.7fr) minmax(240px, 1fr); gap:18px; }
.payment-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.modal-box.payment-box label { display:flex; flex-direction:column; gap:6px; margin:0; font-size:12px; color:var(--muted); text-transform:none; letter-spacing:normal; }
.payment-box input, .payment-box select { width:100%; min-width:0; padding:8px 10px; border:1px solid var(--border); border-radius:6px; background:var(--panel2); color:var(--text); font-size:13px; }
.payment-box input:disabled, .payment-box select:disabled { opacity:.85; }
.payment-box input:invalid { border-color:var(--danger); }
.payment-box input[readonly] { background:transparent; }
.payment-wide { grid-column:1 / -1; min-width:0; }
.payment-contact { display:grid; gap:6px; overflow-wrap:anywhere; }
#paymentContactsRetry { justify-self:start; padding:3px 0; font-size:12px; }
.payment-summary { padding:16px; background:var(--panel2); border:1px solid var(--border); border-radius:10px; display:flex; flex-direction:column; gap:14px; }
#paymentTotal { font-size:22px; font-weight:600; }
.payment-metric { display:flex; flex-direction:column; gap:4px; color:var(--muted); font-size:12px; }
.payment-metric strong { color:var(--text); font-size:20px; overflow-wrap:anywhere; }
.payment-status { border-radius:6px; padding:9px 11px; font-weight:600; background:rgba(148,163,184,.14); }
.payment-status[data-status=partial] { color:#fcd34d; background:rgba(245,158,11,.12); }
.payment-status[data-status=paid] { color:#6ee7b7; background:rgba(16,185,129,.12); }
.payment-schedule-heading { margin:22px 0 10px; flex-wrap:wrap; }
.payment-grid-wrap { overflow-x:auto; border:1px solid var(--border); border-radius:8px; }
.payment-grid { width:100%; min-width:720px; border-collapse:collapse; table-layout:fixed; font-size:13px; }
.payment-grid th, .payment-grid td { padding:8px; border-bottom:1px solid var(--border); }
.payment-grid thead th { color:var(--muted); background:var(--panel2); font-size:11px; text-align:left; }
.payment-grid th:nth-child(1) { width:23%; }
.payment-grid th:nth-child(2) { width:17%; }
.payment-grid th:nth-child(3) { width:22%; }
.payment-grid th:nth-child(4) { width:21%; }
.payment-grid th:nth-child(5) { width:11%; }
.payment-grid th:nth-child(6) { width:6%; }
.payment-grid tbody th { font-weight:500; text-align:left; }
.payment-grid .payment-confirmed { background:rgba(16,185,129,.08); }
.payment-empty { padding:24px !important; color:var(--muted); text-align:center; }
.payment-add { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.payment-add button { border:1px solid var(--border); }
.payment-warning { color:#fcd34d; font-size:12px; margin-top:8px; }
.payment-recalc-note { margin:12px 0; }
.payment-footer { padding-top:14px; border-top:1px solid var(--border); flex-wrap:wrap; }
.payment-footer > span { flex:1 1 250px; }
#paymentSave { border:1px solid var(--accent); background:var(--accent); color:white; border-radius:8px; padding:8px 16px; font-weight:600; }
.payment-cell-button { width:100%; text-align:left; white-space:pre-line; font-size:11px; color:var(--accent2); padding:5px; }
@media(max-width:700px) {
  .payment-top { grid-template-columns:minmax(0,1fr); }
  .payment-box { padding:16px !important; }
  .payment-details { grid-template-columns:minmax(0,1fr); }
  .payment-summary { padding:12px; }
}

.modal-box.payment-box .payment-check { flex-direction:row; align-items:center; gap:7px; }
.payment-box .payment-check input { width:18px; height:18px; padding:0; accent-color:var(--accent); }
.payment-date-box { width:400px !important; min-width:0 !important; max-width:calc(100vw - 24px) !important; text-align:left; }
