.payment-page { background: #f0f6f7; padding: 0 20px 50px; }
.payment-header { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:760px; margin:24px auto; }
.payment-header img { object-fit:contain; }
.payment-header nav { display:flex; gap:8px; }
.payment-header button { padding:8px; background:white; border:1px solid #c5d8db; cursor:pointer; }
.payment-header button[aria-pressed="true"] { background:#205573; color:white; }
.payment-card { max-width:680px; margin:auto; padding:clamp(22px,5vw,44px); border:1px solid #ccdedf; background:white; border-radius:16px; box-shadow:0 12px 40px #2055730a; }
.payment-card h1 { font-size:clamp(1.8rem,4vw,2.5rem); line-height:1.2; margin:15px 0; }
.payment-card p { line-height:1.7; }
.payment-card dl { display:grid; gap:8px; margin:24px 0; }
.payment-card dt { color:#566c78; font-size:.78rem; }
.payment-card dd { margin:0 0 12px; overflow-wrap:anywhere; white-space:pre-wrap; }
.payment-amount { font-size:2.5rem; font-weight:700; color:#205573; margin-top:24px; }
.payment-boundary { padding:14px; background:#f1f7f5; font-size:.88rem; }
.payment-card .consent-field { align-items:start; font-size:.88rem; line-height:1.6; margin-bottom:18px; }
.payment-sandbox { padding:10px; background:#fff1c9; color:#694400; }
#paypal-buttons { max-width:420px; margin:18px auto; min-height:44px; }
#payment-message { color:#205573; font-weight:600; }
.payment-card #refresh-payment { margin:18px 0; }
.payment-card h2 { font-size:1.35rem; line-height:1.4; margin-top:24px; }
.payment-card .payment-fee-label { margin-top:4px; color:#566c78; font-size:.85rem; }
.payment-plan-note { padding:14px; border-left:3px solid #5e9f95; background:#f5f9f9; font-size:.88rem; }
.payment-receipt-note { font-size:.88rem; color:#566c78; }
.hosted-note-panel { margin:24px 0; border:1px solid #c9dedc; border-left:4px solid #205573; padding:20px; background:#f8fbfb; }
.hosted-note-panel h3 { margin:0 0 8px; font-size:1.15rem; }
.hosted-note-panel > p { margin-bottom:16px; color:#566c78; font-size:.88rem; }
.payment-note-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.payment-note-grid label { display:flex; min-width:0; flex-direction:column; gap:6px; font-size:.78rem; font-weight:700; color:#2a4650; }
.payment-note-grid input, .payment-note-grid textarea { width:100%; min-width:0; border:1px solid #c5d8db; border-radius:4px; padding:10px 11px; background:#fff; color:#183646; font:inherit; font-size:.9rem; font-weight:400; }
.payment-note-grid input { height:44px; }
.payment-note-grid textarea { resize:vertical; }
.payment-note-grid input:focus, .payment-note-grid textarea:focus { outline:2px solid #5e9f95; outline-offset:1px; border-color:#205573; }
.payment-note-full { grid-column:1 / -1; }
.payment-form-status { min-height:20px; margin:10px 0 0; color:#a83f49; font-size:.78rem; }
.hosted-note-confirmation { margin-top:16px; border-left:3px solid #5e9f95; padding:14px 16px; background:#eaf3f1; color:#183646; }
.hosted-note-confirmation p { margin:6px 0; font-size:.86rem; }
.hosted-note-confirmation .button { margin-top:8px; }
#hosted-continue { width:100%; }
#hosted-continue:disabled { opacity:.5; cursor:not-allowed; transform:none; }
@media(max-width:560px) { .payment-note-grid { grid-template-columns:1fr; } .payment-note-full { grid-column:auto; } }
@media(max-width:400px) { .payment-header { gap:8px; } .payment-header img { width:130px; } .payment-page { padding-inline:12px; } .hosted-note-panel { padding:16px 14px; } }
