/* Scoped checkout: readable fields, an intact QR code, and a printable invoice. */
#payment-dialog{width:min(880px,calc(100vw - 32px));max-width:880px;max-height:90dvh;margin:auto;padding:0;border:1px solid #dde2d4;border-radius:18px;background:#fcfcf8;color:#30382b;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;box-shadow:0 24px 80px #141b1940;}
#payment-dialog .dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:22px 26px;border-bottom:1px solid #e2e6dc;background:#fffefa;}
#payment-dialog .payment-eyebrow{margin:0 0 7px;font-size:10px;letter-spacing:1.5px;color:#8c753a;}
#payment-dialog h2{font-size:23px;line-height:1.4;letter-spacing:-.5px;margin:0;}
#payment-dialog .close{display:grid;place-items:center;flex:none;width:36px;height:36px;margin:0;padding:0;}
#payment-dialog h3{font-size:15px;line-height:1.6;margin:0 0 10px;}
#payment-dialog .payment-steps{display:flex;gap:8px;margin:0;padding:18px 26px;list-style:none;border-bottom:1px solid #e8eadd;}
#payment-dialog .payment-steps li{flex:1;padding:10px 12px;border-radius:7px;background:#f0f2e9;color:#7b8470;font-size:12px;line-height:1.5;}
#payment-dialog .payment-steps .current{background:#fcf0c5;color:#785710;font-weight:700;}
#payment-body{padding:24px 26px;}
#payment-dialog .payment-summary{border:1px solid #dfe4d6;border-radius:12px;background:#fff;overflow:hidden;margin-bottom:24px;}
#payment-dialog .payment-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:16px 18px;font-size:13px;line-height:1.6;}
#payment-dialog .payment-line+.payment-line{border-top:1px solid #edf0e8;}
#payment-dialog .payment-line p{margin:4px 0 0;font-size:12px;line-height:1.7;color:#7a836f;overflow-wrap:anywhere;}
#payment-dialog .payment-line strong{font-size:13px;white-space:nowrap;}
#payment-dialog .payment-total{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:16px 18px;border-top:1px solid #e2e7d9;background:#f6f8ef;font-size:13px;}
#payment-dialog .payment-total strong{font-size:24px;line-height:1.4;letter-spacing:-.5px;}
#payment-dialog form{display:grid;gap:16px;margin:0;}
#payment-dialog label{display:grid;gap:7px;margin:0;font-size:12px;font-weight:600;line-height:1.6;color:#435037;}
#payment-dialog input,#payment-dialog textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d8dfcd;border-radius:8px;background:#fff;padding:12px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;color:#30382b;}
#payment-dialog textarea{min-height:92px;resize:vertical;}
#payment-dialog input:focus,#payment-dialog textarea:focus{outline:2px solid #d6b45b;outline-offset:2px;}
#payment-dialog .payment-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
#payment-dialog .payment-full{grid-column:1/-1;}
#payment-dialog .payment-optional{font-weight:400;color:#818a75;}
#payment-dialog .payment-hint,#payment-dialog .payment-qr p,#payment-dialog .payment-next p{font-size:12px;line-height:1.8;color:#748168;margin:0;}
#payment-dialog .payment-order-ref{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 18px;font-size:11px;line-height:1.6;overflow-wrap:anywhere;}
#payment-dialog .payment-order-ref b{color:#98701c;}
#payment-dialog .payment-pay-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:26px;align-items:start;}
#payment-dialog .payment-qr{padding:20px;border:1px solid #e4dfc5;border-radius:12px;background:#fffdf3;text-align:center;}
#payment-dialog .payment-qr img{display:block;width:100%;max-width:280px;height:auto;margin:18px auto 14px;border:1px solid #ebeae1;border-radius:6px;background:#fff;}
#payment-dialog .payment-qr .payment-merchant{font-size:11px;margin-bottom:16px;}
#payment-dialog .payment-pay-grid .payment-fields{grid-template-columns:1fr;}
#payment-dialog .payment-upload{padding:14px;border:1px dashed #b8c3a7;border-radius:10px;background:#f6f8f1;}
#payment-dialog .payment-upload input{padding:8px;font-size:12px;background:#fff;}
#payment-dialog .payment-upload span{font-size:11px;font-weight:400;color:#7b866e;}
#payment-proof-preview img{display:block;width:auto;max-width:100%;height:auto;max-height:220px;margin:auto;border-radius:8px;}
#payment-proof-preview p{font-size:12px;line-height:1.7;}
#payment-dialog .payment-notice{margin:0 0 18px;padding:14px;border:1px solid #ead9a9;border-radius:8px;background:#fff6da;color:#7c5d1e;font-size:13px;line-height:1.7;}
#payment-result{margin:0;padding:0 26px 22px;white-space:pre-wrap;font-size:13px;line-height:1.8;color:#8b571d;}
#payment-result:empty{display:none;}
#payment-dialog .button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.5;text-align:center;white-space:normal;}
#payment-dialog .payment-invoice{padding:24px;border:1px solid #dfe4d5;border-radius:12px;background:#fff;}
#payment-dialog .payment-invoice-head{display:flex;justify-content:space-between;align-items:start;gap:16px;padding-bottom:22px;border-bottom:1px solid #e4e8dc;}
#payment-dialog .payment-invoice-head b{display:block;font-size:20px;letter-spacing:.5px;}
#payment-dialog .payment-invoice-head div>span{display:block;margin-top:6px;font-size:10px;letter-spacing:1.3px;color:#929b86;}
#payment-dialog .payment-status{display:inline-block;max-width:220px;padding:7px 10px;border-radius:6px;background:#fff4cf;color:#8a6413;font-size:11px;line-height:1.5;}
#payment-dialog .payment-status.is-paid{background:#eef5e7;color:#44672b;}
#payment-dialog .payment-invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:22px 0;}
#payment-dialog .payment-invoice-meta div{min-width:0;}
#payment-dialog dt{font-size:11px;color:#7f8b71;margin-bottom:5px;}
#payment-dialog dd{margin:0;font-size:12px;line-height:1.7;overflow-wrap:anywhere;}
#payment-dialog .payment-invoice .payment-summary{margin-bottom:20px;}
#payment-dialog .payment-invoice-detail{font-size:12px;line-height:1.8;overflow-wrap:anywhere;}
#payment-dialog .payment-invoice-detail p{white-space:pre-wrap;margin:5px 0 16px;color:#647255;}
#payment-dialog .payment-invoice-detail p:last-child{margin-bottom:0;}
#payment-dialog .payment-next{padding:24px 0 0;}
#payment-dialog .payment-next ol{padding-left:20px;margin:12px 0;font-size:13px;line-height:1.8;}
#payment-dialog .payment-next li+li{margin-top:6px;}
#payment-dialog .payment-invoice-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
#payment-dialog .payment-proof-link{display:inline-block;margin-top:16px;font-size:12px;color:#7d682a;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:640px){
 #payment-dialog{width:calc(100vw - 20px);max-height:94dvh;border-radius:14px;}
 #payment-dialog .dialog-head{padding:18px;}
 #payment-dialog h2{font-size:21px;}
 #payment-dialog .payment-steps{padding:14px 18px;gap:5px;}
 #payment-dialog .payment-steps li{padding:8px 5px;text-align:center;font-size:11px;}
 #payment-body{padding:18px;}
 #payment-dialog .payment-pay-grid,#payment-dialog .payment-fields{grid-template-columns:1fr;}
 #payment-dialog .payment-pay-grid{gap:22px;}
 #payment-dialog .payment-qr img{max-width:260px;}
 #payment-dialog .payment-line{grid-template-columns:1fr;gap:8px;padding:14px;}
 #payment-dialog .payment-total{padding:14px;}
 #payment-dialog .payment-total strong{font-size:22px;}
 #payment-dialog .payment-invoice{padding:18px;}
 #payment-dialog .payment-invoice-head{flex-direction:column;gap:12px;}
 #payment-dialog .payment-invoice-meta{grid-template-columns:1fr;gap:14px;}
 #payment-dialog .payment-invoice-actions{flex-direction:column;}
 #payment-result{padding:0 18px 18px;}
}
@media print{
 body.printing-invoice> :not(#payment-dialog){display:none!important;}
 body.printing-invoice{margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important;}
 body.printing-invoice #payment-dialog{position:static!important;inset:auto!important;display:block!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;overflow:visible!important;border:0!important;box-shadow:none!important;margin:0!important;}
 body.printing-invoice #payment-dialog::backdrop{display:none;}
 body.printing-invoice #payment-dialog>.dialog-head,body.printing-invoice #payment-dialog>.payment-steps,body.printing-invoice #payment-result,body.printing-invoice .payment-next{display:none!important;}
 body.printing-invoice #payment-body{padding:0;}
 body.printing-invoice #payment-invoice{border:0;padding:15mm;color:#000;}
 body.printing-invoice .payment-line,body.printing-invoice .payment-invoice-meta>div{break-inside:avoid;}
}
