.payment-section {padding: 32px 0 88px; scroll-margin-top: 100px;}
.public-hero {background:#eef0eb; border-bottom:1px solid #e0e4dc;}
.payment-heading {display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px;}
.payment-heading h2 {font-size:clamp(24px,3vw,32px); letter-spacing:-.05em; margin:8px 0 0;}
.payment-layout {display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start;}
.payment-panel {padding:28px; min-width:0;}
.payment-panel h3 {font-size:20px; margin:0 0 20px;}
.payment-notice {border:1px solid #d7e5a5; background:#f4f9e7; border-radius:14px; padding:20px 24px; margin-bottom:24px;}
.payment-notice p,.payment-help {font-size:14px; line-height:1.7; color:#5c625b; margin:10px 0 18px;}
.payment-notice p {margin-bottom:0;}
.payment-details {margin:0 0 24px;}
.payment-details>div {display:grid; grid-template-columns:90px minmax(0,1fr); gap:16px; padding:13px 0; border-bottom:1px solid #e5e8e2;}
.payment-details dt {color:#697068; font-size:14px;}
.payment-details dd {margin:0; font-weight:600; overflow-wrap:anywhere;}
.payment-details small {font-weight:400; color:#697068;}
.payment-code {font-size:14px;}
.payment-status {display:inline-block; border:1px solid #d6e4a5; background:#f3f8e6; color:#45531f; font-size:13px; padding:5px 9px; border-radius:6px; line-height:1.5;}
.payment-history {margin-top:24px; scroll-margin-top:100px;}
.payment-table-wrap {max-width:100%; overflow-x:auto;}
.payment-table {border-collapse:collapse; width:100%; text-align:left; font-size:14px;}
.payment-table th,.payment-table td {border-bottom:1px solid #e5e8e2; padding:14px 12px; overflow-wrap:anywhere;}
.payment-table th {background:#f8f9f6; color:#697068; font-weight:500;}
.payment-table td a {white-space:nowrap; display:inline-flex; align-items:center; min-height:44px;}
.payment-panel .field input {min-width:0; width:100%;}
@media(max-width:767px){.payment-layout{grid-template-columns:1fr;gap:16px}.payment-heading{align-items:flex-start;flex-direction:column;gap:12px}.payment-panel{padding:20px}.payment-notice{padding:18px}.payment-section{padding-bottom:56px}.payment-table th,.payment-table td{padding:10px 5px;font-size:13px}.payment-table .payment-status{font-size:12px;padding:4px}.payment-details>div{grid-template-columns:75px minmax(0,1fr);gap:12px}}
