.pad-panel .pad-status { margin: 20px 0 8px; font-weight: 650; color: #163a60; }
.pad-panel .pad-consent { display: flex; align-items: flex-start; gap: 12px; margin: 20px 0; line-height: 1.55; max-width: 720px; }
.pad-panel .pad-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 3px 0 0; accent-color: #1769d2; }
.pad-panel .pad-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; }
.pad-panel .pad-error { color: #b42318; margin: 12px 0; }
.pad-panel .pad-error:empty, .pad-panel [hidden] { display: none !important; }
.payment-method-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 24px 0; }
.payment-method-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 28px; border: 1px solid #d8e2ed; border-radius: 16px; background: white; }
.payment-method-card h2, .payment-method-card p { margin: 0; line-height: 1.6; }
.payment-method-card h2 { line-height: 1.25; }
.payment-method-card button { margin-top: auto; min-height: 44px; white-space: normal; }
.payment-method-price { font-size: 24px; font-weight: 700; color: #163a60; }
.payment-method-price small { display: block; font-size: 14px; font-weight: 400; }
.payment-fee-summary { padding: 20px; background: #f0f5ff; border-radius: 12px; line-height: 1.6; }
.funding-wizard .funding-stepper ol { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 760px) { .payment-method-options { grid-template-columns: 1fr; } .funding-wizard .funding-stepper ol { grid-template-columns: 1fr; } }
.pad-dialog { width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 40px); overflow-y: auto; border: 1px solid #d8e2ed; border-radius: 18px; padding: 28px; color: #16324f; box-shadow: 0 24px 80px #11243d33; }
.pad-dialog::backdrop { background: #12233b80; }
.pad-dialog h2 { margin: 0 0 16px; font-size: 24px; }
.pad-dialog p { line-height: 1.6; }
.pad-dialog .pad-actions { justify-content: flex-end; }
.pad-panel button:focus-visible, .pad-dialog button:focus-visible { outline: 3px solid #70a9ed; outline-offset: 3px; }

.pad-payment-dates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 24px 0 12px; padding: 20px; border: 1px solid #d8e2ed; border-radius: 12px; background: #f7f9fc; }
.pad-payment-dates dt { font-size: 14px; color: #526174; margin-bottom: 8px; }
.pad-payment-dates dd { margin: 0; font-size: 16px; font-weight: 650; line-height: 1.5; color: #163a60; }
@media (max-width: 640px) { .pad-payment-dates { grid-template-columns: 1fr; gap: 16px; } }
