/* Payment layout is scoped to this view so account/admin dialogs retain their theme. */
#modal:has(.scan-payment){width:460px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 28px);padding:0;border:1px solid #343434;border-radius:19px;background:#242424;color:#f4f4f4;overflow:auto;box-shadow:0 24px 90px #0008}
#modal:has(.scan-payment)::backdrop{background:rgb(0 0 0 / .78);backdrop-filter:blur(2px)}
#modal:has(.scan-payment)>.close{position:absolute;right:17px;top:14px;z-index:2;color:#aaa;background:none;width:32px;height:32px;font-size:24px;padding:0}
#modal:has(.scan-payment) #modalbody{padding:0;margin:0}
.scan-payment{font-size:14px;line-height:1.6;text-align:center;color:#eee}
.scan-payment [hidden]{display:none!important}
.scan-heading{padding:17px 48px 17px 20px;border-bottom:1px solid #383838;text-align:left}
.scan-heading h1{font-size:18px;line-height:1.5;margin:0;font-weight:700}
.scan-content{padding:16px 20px 14px}
.scan-brand{display:inline-flex;flex-direction:column;background:#fff;color:#16456b;border:2px solid #c6d4df;padding:1px 5px;line-height:1.1;margin-bottom:12px}
.scan-brand span{font-size:6px;letter-spacing:.8px}.scan-brand strong{font:700 14px Arial,sans-serif}
.scan-qr{width:216px;min-height:216px;margin:auto;background:#fff;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:#333;padding:10px;gap:8px}
.scan-qr img{display:block;width:196px;max-width:100%;height:auto}.scan-qr p{font-size:13px;margin:0;overflow-wrap:anywhere}
.scan-qr .outline{color:#333;background:#eee;border:1px solid #ccc;font-size:12px}
.scan-amount{font-size:34px;font-weight:800;letter-spacing:-1px;line-height:1.3;margin:12px 0 2px;font-variant-numeric:tabular-nums}
.scan-product{margin:0 0 12px;color:#bcbcbc;font-size:12px;overflow-wrap:anywhere}
.scan-clock{font-weight:600;font-size:14px}.scan-clock strong{font-size:26px;margin-left:7px;letter-spacing:.3px;font-variant-numeric:tabular-nums}
#checkout-progress{display:block;width:70%;height:3px;appearance:none;border:0;border-radius:3px;margin:8px auto 12px;background:#444}
#checkout-progress::-webkit-progress-bar{background:#444;border-radius:3px}#checkout-progress::-webkit-progress-value{background:#aaa;border-radius:3px}#checkout-progress::-moz-progress-bar{background:#aaa;border-radius:3px}
.scan-deadline,.scan-reference{font-size:10px;color:#aaa;margin:4px 0}.scan-reference span{font-family:monospace;overflow-wrap:anywhere}
.scan-recipient{font-size:12px;color:#c9c9c9;margin:10px 0 8px}.scan-instruction{font-size:13px;color:#aaa;margin:8px 0 14px}
.scan-slip{background:#2d2d2d;border:1px solid #3a3a3a;border-radius:12px;padding:12px;text-align:left}
.scan-slip label{font-size:13px;color:#eee;display:block;margin:0}.scan-slip input[type=file]{display:block;width:100%;background:#222;color:#ccc;border:1px solid #444;border-radius:8px;font-size:12px;padding:8px;margin:7px 0}
.scan-slip input::file-selector-button{background:#444;color:#fff;border:0;border-radius:5px;padding:5px 9px;margin-right:8px}
.scan-slip small{color:#999;font-size:10px}.scan-slip .primary{background:#ff6b0a;color:#fff;width:100%;border:0;border-radius:9px;padding:10px;margin-top:8px;font-weight:700}
.scan-slip .form-error:empty{display:none}.scan-slip .form-error{color:#ffb6c5;font-size:12px}
.scan-dismiss{display:block;width:100%;padding:10px 12px;background:#303030;color:#edb3c4;border-radius:12px;text-align:left;font-size:12px;margin-top:12px}
.scan-footer{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #383838;background:#242424;border-radius:0 0 19px 19px}
.scan-help-button,.scan-save{border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;min-height:42px}
.scan-help-button{border:1px solid #b55920;color:#ffa86c;background:#483121}.scan-save{background:#ff6b0a;color:#fff}.scan-save[aria-disabled=true]{opacity:.45;pointer-events:none}
.scan-help,#checkout-expired{font-size:12px;color:#e4c4ac;margin:12px 0;padding:10px;background:#312a24;border-radius:8px}.scan-help p{margin:6px 0}
.scan-payment :is(button,a,input):focus-visible{outline:2px solid #ffb779;outline-offset:3px}
.scan-code-column,.scan-details-column{display:contents}
@media(min-width:800px){
  #modal:has(.scan-payment){width:740px;max-height:calc(100dvh - 24px)}
  .scan-content{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:20px 24px}
  .scan-code-column,.scan-details-column{display:block;min-width:0}
  .scan-details-column{align-self:center;text-align:left}
  .scan-code-column{border-right:1px solid #383838;padding-right:24px}
  .scan-reference{font-size:10px;line-height:1.8}.scan-reference span{display:block}
  .scan-recipient{margin:12px 0;font-size:13px}.scan-instruction{margin:12px 0}
  .scan-product{margin-bottom:8px}.scan-amount{margin-top:10px}
  .scan-dismiss{font-size:11px}.scan-footer{position:static;padding:12px 24px}
  .scan-help{position:absolute;right:24px;bottom:76px;width:310px;max-width:calc(100% - 48px);box-shadow:0 8px 35px #0008;border:1px solid #765236;z-index:4}
}
@media(min-width:800px) and (max-height:650px){
  .scan-heading{padding-top:12px;padding-bottom:12px}
  .scan-content{padding-top:12px;padding-bottom:12px;gap:20px}
  .scan-qr{width:180px;min-height:180px}.scan-qr img{width:160px}
  .scan-brand{margin-bottom:8px}.scan-amount{font-size:28px;margin-top:6px}
  .scan-clock strong{font-size:23px}.scan-product{margin-bottom:4px}
  .scan-recipient,.scan-instruction{margin:8px 0}.scan-footer{padding-top:10px;padding-bottom:10px}
}
@media(max-width:480px){#modal:has(.scan-payment){max-height:calc(100dvh - 16px);max-width:calc(100vw - 20px)}.scan-content{padding:14px 16px}.scan-footer{padding:12px 16px}.scan-amount{font-size:30px}.scan-qr{width:202px;min-height:202px}.scan-qr img{width:182px}.scan-reference{font-size:9px}}
