.parent-payments{--pay-blue:#2860d7;--pay-ink:#253346;--pay-muted:#59697a;max-width:1160px;margin:auto;padding:48px 24px 72px;color:var(--pay-ink);font-family:Arial,sans-serif;line-height:1.6}
.parent-payments *{box-sizing:border-box}.payment-eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--pay-muted)}.payment-heading{margin-bottom:36px}.payment-heading h1{font-family:Georgia,serif;font-size:clamp(34px,5vw,56px);font-weight:400;line-height:1.15;margin:18px 0}.payment-heading em{color:var(--pay-blue)}.payment-heading p,.payment-card p{color:var(--pay-muted)}.payment-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}.payment-card{background:#fff;border:1px solid #dbe2eb;border-radius:20px;padding:32px;box-shadow:0 8px 30px #25334606;min-width:0}.payment-card h2{font-size:28px;letter-spacing:-.7px;margin:18px 0 10px}.payment-card p{margin:0 0 22px}.payment-tag{display:inline-block;background:#edf3ff;color:#2459bd;font-size:11px;font-weight:700;letter-spacing:1px;padding:6px 10px;border-radius:6px}.payment-card label{display:block;font-weight:700;font-size:14px;margin-bottom:8px}.payment-card input{width:100%;min-height:52px;border:1px solid #aebdce;border-radius:10px;padding:12px 14px;font:inherit;background:#fff;color:var(--pay-ink)}.payment-card :focus-visible{outline:3px solid #7aa7ff;outline-offset:3px}.payment-card .payment-help{font-size:12px;margin:8px 0 22px}.payment-card button,.payment-secondary{min-height:50px;border-radius:10px;font:inherit;font-weight:700;padding:12px 18px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;text-decoration:none;cursor:pointer}.payment-card button{width:100%;background:var(--pay-blue);color:white;border:1px solid var(--pay-blue)}.payment-card button:hover:not(:disabled){background:#1e4eb4}.payment-card button:disabled{background:#e5eaf2;border-color:#d5deeb;color:#516079;cursor:not-allowed}.payment-secondary{border:1px solid #aebdce;color:var(--pay-ink);background:#fff;justify-content:space-between}.payment-status{padding:12px 14px;border:1px solid;border-radius:10px;margin-top:16px;font-size:14px;overflow-wrap:anywhere}.payment-status[data-tone=warning]{color:#864600;background:#fff6e8;border-color:#edc784}.payment-status[data-tone=info]{color:#204eaa;background:#eef4ff;border-color:#b6cdf8}.payment-status[data-tone=success]{color:#21613e;background:#edf9f1;border-color:#a8d9b8}.payment-status[data-tone=error]{color:#a02626;background:#fff1f1;border-color:#efbaba}.payment-card .payment-privacy{font-size:12px;margin:20px 0}.payment-steps{display:flex;gap:24px;padding:20px 0 0;list-style-position:inside;border-top:1px solid #e5eaf1;font-size:12px;color:var(--pay-muted);flex-wrap:wrap}.payment-portal{background:#f5f7fb}.payment-support{margin-top:36px;padding-top:24px;border-top:1px solid #dbe2eb}.payment-support h3{font-size:16px;margin:0 0 8px}.payment-support a{color:#2459bd}.payment-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pay-spin .8s linear infinite}.payment-spinner[hidden]{display:none}@keyframes pay-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.payment-spinner{animation:none;border-style:dotted}}@media(max-width:700px){.payment-grid{grid-template-columns:1fr}.payment-card{padding:24px}.parent-payments{padding:28px 16px 48px}.payment-steps{gap:10px;flex-direction:column}}

.parent-payments [hidden]{display:none!important}
.payment-invoices{margin-bottom:28px}.payment-invoice{padding:24px 0;border-top:1px solid #dbe2eb}
.payment-invoice h3{margin:0;font-size:20px}.payment-invoice .payment-amount{font-size:30px;font-weight:700;margin:8px 0}
.payment-checkout{display:grid;grid-template-columns:224px minmax(0,1fr);gap:28px;margin:24px 0}
.payment-checkout img{max-width:100%;height:auto;border:1px solid #dbe2eb;border-radius:12px}
.payment-checkout button,.payment-checkout a{margin-bottom:12px}.payment-invoice input{margin-bottom:18px}
.payment-new-link{margin-top:12px!important;background:white!important;color:var(--pay-blue)!important}
@media(max-width:600px){.payment-checkout{grid-template-columns:1fr}.payment-checkout img{margin:auto}.payment-invoice .payment-amount{font-size:26px}}

.parent-payments form{display:block}

/* Parent payment dialogs reuse the existing panel palette and primitives. */
.parent-payments{--pay-sage:#edf3e8;--pay-sage-border:#c4d3bd;--pay-sage-ink:#354b36;--pay-line:#dbe2eb;--pay-white:#fff;--pay-overlay:#25334666}
.payment-dialog{width:min(760px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overscroll-behavior:contain;padding:34px;color:var(--pay-ink);box-shadow:0 24px 80px #25334630}
.payment-dialog::backdrop{background:var(--pay-overlay);backdrop-filter:blur(2px)}
.payment-dialog.payment-confirmation{width:min(490px,calc(100vw - 28px))}
.payment-dialog h2{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.2;margin:12px 30px 14px 0}
.payment-dialog .payment-close{position:absolute;right:12px;top:10px;width:40px;min-height:40px;padding:0;font-size:26px;background:transparent;border:0;color:var(--pay-muted)}
.payment-dialog .payment-text-button{background:transparent;color:var(--pay-blue);border:0;min-height:44px;padding:8px 0;font-size:13px}
.payment-dialog .payment-outline{background:var(--pay-white);border-color:var(--pay-line);color:var(--pay-ink);width:auto;white-space:nowrap}
.payment-dialog .payment-close:hover:not(:disabled),.payment-dialog .payment-text-button:hover:not(:disabled),.payment-dialog .payment-outline:hover:not(:disabled){background:var(--pay-sage);color:var(--pay-ink)}
.payment-dialog .payment-sage{background:var(--pay-sage);border:1px solid var(--pay-sage-border);color:var(--pay-sage-ink);border-radius:12px;padding:18px 20px;margin:20px 0}
.payment-dialog .payment-sage p{color:var(--pay-sage-ink);font-size:13px;margin:6px 0 0}
.payment-summary,.payment-row,.payment-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:20px}
.payment-summary-amount{display:block;font-size:28px;white-space:nowrap}
.payment-invoice .payment-row{margin-bottom:12px}.payment-invoice h3{overflow-wrap:anywhere}
.payment-dialog .payment-pay{width:auto;flex-shrink:0}.payment-dialog .payment-invoice .payment-amount{font-size:28px;margin:4px 0 0}
.payment-badge{border-radius:30px;padding:4px 9px;font-size:11px;background:var(--pay-sage);color:var(--pay-sage-ink);white-space:nowrap}
.payment-badge[data-state=pending]{background:#edf3ff;color:#2459bd}
.payment-dialog .payment-pending-note{font-size:13px;color:var(--pay-sage-ink);margin-bottom:0}
.payment-dialog-footer{border-top:1px solid var(--pay-line);padding-top:20px;margin-top:20px}.payment-dialog-footer .payment-help{margin:0;max-width:370px}
.parent-payments .payment-reopen{background:var(--pay-blue);color:var(--pay-white);border:0;border-radius:10px;padding:14px 22px;font:inherit;font-weight:700;cursor:pointer}
.payment-detail .payment-status{margin-bottom:20px}.payment-detail form h3{margin-bottom:20px}
.payment-confirmation>button:not(.payment-close){margin-top:14px}
@media(max-width:600px){.payment-dialog{padding:28px 20px}.payment-dialog h2{font-size:30px}.payment-summary{align-items:flex-start;gap:12px}.payment-summary-amount{font-size:23px}.payment-row{gap:12px}.payment-dialog .payment-pay{font-size:13px;padding:10px 12px}.payment-dialog-footer{align-items:flex-start;gap:12px}.payment-dialog-footer .payment-help{max-width:190px}.payment-dialog .payment-outline{font-size:12px;padding:10px}.payment-dialog .payment-invoice .payment-amount{font-size:25px}}

.payment-dialog h2[tabindex="-1"]:focus{outline:none}
