#payment-dialog, #supplier-payment-dialog { width:min(920px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; overflow:hidden; color:#17304f; }
.payment-policy { background:#edf2f7; padding:14px 18px; border-left:3px solid #8ca9c7; line-height:1.8; }
.payment-totals { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0; }
.payment-totals > div { background:#f5f8fb; border:1px solid #dce3ec; border-radius:8px; padding:14px; }
.payment-totals span { display:block; color:#62748b; font-size:12px; }.payment-totals strong { display:block; margin-top:8px; font-size:21px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.payment-success { background:#e9f5ee; border-left:3px solid #267a4b; color:#21613e; padding:14px 18px; }
#payment-record-form { margin-top:22px; padding-top:6px; }#payment-record-form[hidden] { display:none; }
.payment-history-heading { margin-top:28px; border-top:1px solid #dce3ec; padding-top:22px; }
.payment-entry { border:1px solid #dce3ec; border-radius:10px; padding:20px; margin:16px 0; background:#fff; }
.payment-entry-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.payment-tag { border-radius:5px; padding:4px 8px; display:inline-block; font-size:12px; background:#eef2f6; color:#52657b; }
.payment-tag.pending { background:#fff1ce; color:#8b5f0c; }.payment-tag.confirmed,.payment-tag.paid { background:#e4f3ea; color:#21613e; }.payment-tag.rejected,.payment-tag.voided { background:#faeae8; color:#96352f; }
.payment-metadata { display:grid; grid-template-columns:130px minmax(0,1fr); gap:8px 16px; font-size:14px; }.payment-metadata dt { color:#62748b; }.payment-metadata dd { margin:0; overflow-wrap:anywhere; }
.payment-entry form { border-top:1px solid #dce3ec; padding-top:14px; }.payment-entry details { padding-top:10px; }.payment-entry summary { cursor:pointer; font-size:13px; color:#62748b; }
.payment-actions,.payment-filters { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }.payment-filters { padding:0 24px 16px; }.payment-filters label { margin:0; }.payment-filters input { min-width:240px; }.payment-filters select { min-width:180px; }
.payment-entry .doc-confirm { flex-direction:row; }
.slip-import { margin:18px 0 24px; padding:18px; background:#f5f8fb; border:1px solid #dce3ec; border-radius:10px; }
.slip-import input[type=file] { background:white; }.slip-import > p { font-size:12px; line-height:1.8; }
.slip-review { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; margin-top:18px; align-items:start; }.slip-review[hidden] { display:none; }
#payment-image { display:block; width:100%; max-height:360px; object-fit:contain; background:#fff; border:1px solid #dce3ec; border-radius:6px; }
#payment-scan-result h4 { margin:0 0 14px; font-size:14px; }#payment-scan-fields { display:grid; grid-template-columns:95px minmax(0,1fr); gap:9px; font-size:13px; }#payment-scan-fields dt { color:#62748b; }#payment-scan-fields dd { margin:0; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
#payment-scan-warnings { padding-left:18px; font-size:12px; line-height:1.8; color:#705221; }#payment-scan-match { font-size:13px; font-weight:600; }#payment-scan-result details { margin-top:16px; font-size:12px; }#payment-scan-text { white-space:pre-wrap; overflow-wrap:anywhere; max-height:220px; overflow:auto; }
@media(max-width:650px){ .slip-review { grid-template-columns:minmax(0,1fr); }.slip-import { padding:14px; } }
@media(max-width:650px){ .payment-totals { grid-template-columns:repeat(2,minmax(0,1fr)); }.payment-totals strong { font-size:18px; }.payment-entry { padding:14px; }.payment-metadata { grid-template-columns:100px minmax(0,1fr); }.payment-actions button,.payment-filters label { flex:1; }.payment-filters input { min-width:0; width:100%; } }
