.listing-filter-modal .custom-modal-header { gap: 12px; }
.listing-filter-modal .custom-modal-header > span { flex: 0 0 auto; }
.listing-sort-trigger {
    display: flex; align-items: center; gap: 10px; min-width: 0; max-width: 300px;
    height: 34px; box-sizing: border-box;
    margin-left: auto; padding: 0 10px; border: 1px solid var(--premium-line-strong, #dce5df);
    border-radius: 14px; background: var(--premium-surface-solid, #fff);
    color: var(--dm-text, #233b30); text-align: left; cursor: pointer;
    box-shadow: 0 3px 12px rgba(20, 62, 42, .06); transition: border-color .18s, box-shadow .18s;
}
.listing-sort-trigger:hover, .listing-sort-trigger.has-selection { border-color: #2b9968; }
.listing-sort-trigger:focus-visible { outline: 3px solid #79c9a4; outline-offset: 3px; }
.listing-sort-icon { display: grid; place-items: center; flex-shrink: 0; width: 24px; height: 24px; border-radius: 8px; background: rgba(43, 153, 104, .1); color: #299366; }
.listing-sort-copy { display: flex; align-items: center; min-width: 0; }
.listing-sort-value { font-size: 12px !important; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.listing-sort-chevron { font-size: 10px; opacity: .55; }
html:has(.listing-sort-overlay), body:has(.listing-sort-overlay) { overflow: hidden !important; overscroll-behavior: none; }
.swal2-container.listing-sort-overlay { z-index: 2147483647 !important; overflow: hidden; overscroll-behavior: none; }
.swal2-popup.listing-sort-dialog { display: flex !important; flex-direction: column; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: hidden; box-sizing: border-box; border-radius: 24px; padding: 24px 18px; width: 440px; background: var(--premium-surface-solid, #fff); color: var(--dm-text, #233b30); }
.listing-sort-dialog > :not(.swal2-radio) { flex-shrink: 0; }
.listing-sort-dialog .swal2-close { position: absolute; right: 0; top: 0; }
.listing-sort-dialog .swal2-title { font-size: 23px !important; padding: 0 20px; }
.listing-sort-dialog .swal2-close { width: 30px; height: 30px; font-size: 25px; margin: 8px; border-radius: 8px; }
.listing-sort-dialog .swal2-html-container { font-size: 13px !important; font-weight: 400 !important; line-height: 1.6; opacity: .7; margin: 10px 12px 0; color: inherit !important; }
.listing-sort-dialog .swal2-radio { display: grid !important; grid-template-columns: minmax(0, 1fr); grid-auto-rows: max-content; align-content: start; justify-content: stretch; flex: 0 1 auto; min-height: 0; gap: 7px; margin: 20px 4px 0; background: transparent; color: inherit; max-height: 48vh; overflow-y: auto; overscroll-behavior: none; touch-action: pan-y; -webkit-overflow-scrolling: touch; padding: 3px; }
.listing-sort-dialog .swal2-radio label { display: flex; align-items: center; gap: 12px; margin: 0; padding: 13px 15px; border: 1px solid var(--premium-line-strong, #e1e8e4); border-radius: 13px; font-size: 13px; text-align: left; cursor: pointer; }
.listing-sort-dialog .swal2-radio label:has(input:checked) { border-color: #2b9968; background: rgba(43, 153, 104, .08); font-weight: 700; }
.listing-sort-dialog .swal2-radio label:focus-within { outline: 2px solid #79c9a4; outline-offset: 1px; }
.listing-sort-dialog .swal2-radio input { accent-color: #27875c; flex-shrink: 0; margin: 0; }
.listing-sort-dialog .swal2-actions { width: 100%; gap: 10px; margin-top: 20px; }
.listing-sort-dialog .swal2-styled { border-radius: 12px; padding: 12px 24px !important; font-size: 13px !important; min-height: 44px; flex: 1; margin: 0; }
.listing-sort-dialog .swal2-confirm { background: #27875c !important; color: #fff !important; }
.listing-sort-dialog .swal2-cancel { background: transparent !important; color: inherit !important; border: 1px solid var(--premium-line-strong, #dce5df) !important; }
@media (max-width: 480px) {
    .listing-filter-modal .custom-modal-header { gap: 8px; }
    .listing-sort-trigger { max-width: calc(100% - 95px); padding: 0 9px; gap: 7px; }
    .listing-sort-value { font-size: 11px !important; }
}
