.card-payment-dialog{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #dedce3;border-radius:12px;color:#0d073b;background:#fff;font:15px/1.5 Inter,Arial,sans-serif}
.card-payment-dialog::backdrop{background:rgba(13,7,59,.36)}
.card-payment-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #ebe9ee}
.card-payment-dialog h2{margin:0;font-size:22px;font-weight:500}.card-payment-dialog h3{font-size:16px;font-weight:500;margin:0}
.card-payment-dialog .eyebrow{margin:0 0 4px}.card-payment-body{padding:20px 24px}.card-payment-summary{display:flex;justify-content:space-between;gap:16px;margin:0}.card-payment-summary strong{font-size:24px;font-weight:500}
.card-payment-dialog .primary{background:#ff8a65;border-color:#ff8a65;color:#0d073b}.card-payment-dialog button:focus-visible,.card-payment-dialog a:focus-visible{outline:3px solid #0d073b;outline-offset:3px}
.card-payment-requests{display:grid;gap:16px;margin-top:20px}.card-payment-request{border:1px solid #e4e1e9;border-radius:8px;padding:16px}.card-payment-heading,.card-refund{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-payment-heading>span{font-size:13px;color:#514a65}
.card-payment-actions,[data-checkout-link]{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.card-checkout-link{display:inline-flex;align-items:center;border:1px solid #ff8a65;background:#ff8a65;border-radius:6px;padding:8px 14px;color:#0d073b;text-decoration:none;font-weight:500}
.card-refund{padding-top:12px}.card-payment-request form{margin-top:20px;padding-top:16px;border-top:1px solid #e4e1e9}.card-refund-fields{display:grid;grid-template-columns:140px 1fr;gap:12px}.card-refund-fields label{display:grid;gap:6px}.card-refund-fields input{width:100%;min-width:0;box-sizing:border-box}.card-payment-dialog .muted{font-size:13px;color:#676171}.card-payment-dialog .notice{white-space:normal}
@media(max-width:520px){.card-payment-dialog>header,.card-payment-body{padding:16px}.card-refund-fields{grid-template-columns:1fr}.card-payment-heading{align-items:flex-start}.card-payment-heading>span{text-align:right}.card-payment-dialog h2{font-size:20px}.card-payment-summary strong{font-size:22px}}

/* Carepatron-shaped money dialogs (invoice-payment.mjs, invoice-ui.mjs modal). */
.cp-modal{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:6px;color:#0c0739;background:#fff;font:16px/1.5 Inter,"Helvetica Neue",Arial,sans-serif;box-shadow:0 20px 60px rgba(12,7,57,.25)}
.cp-modal-wide{width:min(720px,calc(100vw - 24px))}
.cp-modal::backdrop{background:rgba(12,7,57,.36)}
.cp-modal form{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}
.cp-modal header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px 8px}
.cp-modal h2{margin:0;font-size:22px;font-weight:500}
.cp-modal header .cp-icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:none;color:#555;cursor:pointer}.cp-modal svg{width:22px;height:22px;fill:currentColor}
.cp-modal-body{padding:10px 26px 20px;overflow:auto}
.cp-modal-lede{margin:0 0 18px;color:#555;font-size:15px}
.cp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.cp-form-grid label{display:grid;gap:6px;font-size:14px;color:#666}
.cp-form-grid input,.cp-form-grid select,.cp-form-grid textarea{width:100%;min-height:42px;padding:8px 12px;border:1px solid #c7cdd4;border-radius:4px;background:#fff;color:#0c0739;font:inherit;font-size:16px}
.cp-form-grid textarea{resize:vertical}
.cp-form-grid label.cp-check{display:flex;align-items:center;gap:10px;min-height:42px;color:#0a0a0a;cursor:pointer}
.cp-form-grid .cp-check input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:#e16e37}
.cp-form-grid input:focus,.cp-form-grid select:focus,.cp-form-grid textarea:focus{outline:2px solid #f0906e;outline-offset:0;border-color:#f0906e}
.cp-span-2{grid-column:1/-1}
.cp-modal .cp-muted{margin:14px 0 0;color:#666;font-size:14px}
.cp-form-error{margin:14px 0 0;padding:10px 12px;border-radius:4px;background:#fbe0dd;color:#8c1d12;font-size:14px}
.cp-modal footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px 22px;border-top:1px solid #ececf0}
.cp-modal .cp-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 22px;border-radius:4px;border:1px solid transparent;font:inherit;font-size:15px;font-weight:500;cursor:pointer}
.cp-modal .cp-button-primary{background:#f0906e;border-color:#f0906e;color:#1f130e}.cp-modal .cp-button-primary:disabled{opacity:.55}
.cp-modal .cp-button-outline{background:#fff;border-color:#b2b2b2;color:#f0906e}
@media (max-width:600px){.cp-modal,.cp-modal-wide{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}.cp-modal form{max-height:100dvh}.cp-form-grid{grid-template-columns:1fr}}

.card-payment-dialog{color:#0a0a0a}.card-payment-dialog .primary,.card-checkout-link{background:#e16e37;border-color:#e16e37;color:#0a0a0a}.card-payment-dialog button:focus-visible,.card-payment-dialog a:focus-visible{outline-color:#0a0a0a}

.card-payment-dialog .primary,.card-checkout-link{background:#635BFF;border-color:#635BFF;color:#fff}

/* A dispute is a vertical review panel, separate from the compact refund-status row. */
.card-dispute{display:grid;gap:12px;padding-top:16px;margin-top:16px;border-top:1px solid #e4e1e9}.card-dispute p{margin:0}
.card-payment-request .card-dispute form{display:grid;gap:12px;margin:0;padding:0;border:0}.card-dispute label{display:grid;gap:6px}
.card-dispute input,.card-dispute select{width:100%;min-width:0;box-sizing:border-box}.card-dispute button{justify-self:start}
