/* Lightweight compositing without changing the established charcoal skin. */
body[data-page][data-detail]:before{filter:none;background-image:linear-gradient(180deg,#12121226 0,#15151552 38%,#141414c9 100%),url('/img/market-background-neutral-v2.webp')}
body[data-page=chat] .chat-screen:before{filter:none;background-image:linear-gradient(#15151533,#15151599),url('/img/market-background-neutral-v2.webp')}
body[data-page][data-detail] :is(.bottom-nav,.sticky-action,.dialog-backdrop){backdrop-filter:none;-webkit-backdrop-filter:none}
#route-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:250;pointer-events:none;opacity:0;transition:opacity .12s;background:#1bd896;transform:scaleX(.15);transform-origin:left}
body.route-pending #route-progress{opacity:1;animation:route-progress 1.8s ease-out infinite}
@keyframes route-progress{from{transform:scaleX(.15)}to{transform:scaleX(.92)}}
button:active,a.primary:active,a.secondary:active{filter:brightness(.94)}
@media(prefers-reduced-motion:reduce){body.route-pending #route-progress{animation:none;transform:scaleX(.65)}}

body.route-pending #app>.app-shell,body.route-pending #app>.chat-screen{pointer-events:none}

/* Receipt review stays compact on mobile. */
.payment-proof-panel .payment-proof-image{display:block;width:100%;max-height:240px;object-fit:contain;border-radius:12px;margin:14px 0;background:rgba(255,255,255,.04)}
.payment-proof-panel input[type=file]{width:100%;min-width:0;font-size:16px}
.payment-proof-panel input[type=file]::file-selector-button{border:0;border-radius:8px;padding:8px 12px;margin-right:10px;background:#353535;color:#f5f5f5}
.payment-proof-panel .actions{flex-wrap:wrap}
.payment-proof-panel .actions button{flex:1;min-width:130px}
