.payment-countdown { display: flex; align-items: baseline; justify-content: space-between; padding: 14px 16px; background: #f5eadc; color: #6c513b; margin: 18px 0; }
.payment-countdown span { font-size: 12px; }
.payment-countdown strong { font: 28px 'DM Mono', monospace; }
.payment-qr-wrap { display: grid; place-items: center; min-height: 212px; margin: 18px 0; }
.payment-qr { width: min(240px, 100%); aspect-ratio: 1; object-fit: contain; display: block; background: #fff; border: 1px solid var(--line); }
.payment-qr-missing { width: min(240px, 100%); aspect-ratio: 1; padding: 28px; display: grid; place-items: center; text-align: center; color: var(--muted); background: #fff; border: 1px dashed var(--line); line-height: 1.7; }
.payment-upload { margin-top: 22px; }
.payment-upload small, .payment-status { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.payment-status { min-height: 20px; color: #5f7255; }
#submitPaymentProof:disabled { opacity: .5; cursor: not-allowed; }
.payment-proof-link { color: #5f7255; text-decoration: underline; text-underline-offset: 2px; }
.admin-payment-qr { width: min(280px, 100%); }
@media (max-width: 800px) { .payment-qr-wrap { min-height: 196px; } .payment-qr, .payment-qr-missing { width: min(224px, 100%); } }
