.sheet-overlay{z-index:4000;background:#0f172a66;flex-direction:column;justify-content:flex-end;animation:.2s ease-out overlayIn;display:flex;position:absolute;inset:0}.sheet-overlay.sheet-overlay-topdown{justify-content:flex-start;align-items:stretch;padding:12px 14px 0}.filter-sheet{background:var(--surface);max-height:84%;padding:12px 0 calc(4px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;flex-direction:column;animation:.28s cubic-bezier(.22,1,.36,1) sheetUp;display:flex;overflow:hidden;box-shadow:0 -8px 40px #0003}.filter-sheet.sheet-topdown{border:1px solid #e2e8f0f2;border-radius:22px;width:100%;max-height:calc(100% - 12px);padding-top:12px;padding-bottom:4px;animation:.22s cubic-bezier(.22,1,.36,1) sheetDown;box-shadow:0 18px 44px #0f172a2e}.sheet-handle{background:var(--border);border-radius:99px;width:44px;height:4px;margin:0 auto 12px}.sheet-handle-hidden{display:none}.sheet-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:0;padding:0 16px 12px;display:flex}.filter-sheet.sheet-topdown .filter-sheet-header{padding:0 16px 12px}.filter-sheet.sheet-topdown .filter-sheet-body{padding-top:4px}.filter-sheet.sheet-topdown .filter-sheet-actions{padding-top:12px;padding-bottom:12px}.sheet-title{color:var(--text);font-size:17px;font-weight:800;line-height:1.15}.sheet-sub{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.35}.sheet-close{background:var(--surface-2);width:32px;height:32px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sheet-close:active{transform:scale(.92)}.filter-body{padding:0 18px 10px;overflow-y:auto}.filter-section{border-bottom:1px solid var(--border-light);padding:14px 0}.filter-section:last-child{border-bottom:none}.filter-section-title{color:var(--text);margin-bottom:12px;font-size:14px;font-weight:700}.price-range-label{color:var(--primary);align-items:center;gap:8px;margin-bottom:14px;font-size:15px;font-weight:800;display:flex}.price-range-label span:nth-child(2){color:var(--text-light);font-weight:400}.range-slider{height:24px;margin:0 10px;position:relative}.range-track,.range-fill{border-radius:99px;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.range-track{background:var(--surface-2);left:-10px;right:-10px}.range-fill{background:var(--primary)}.range-slider input[type=range]{pointer-events:none;appearance:none;background:0 0;width:calc(100% + 20px);height:24px;margin:0;position:absolute;top:0;left:-10px;right:-10px}.range-slider input[type=range]::-webkit-slider-thumb{appearance:none;pointer-events:auto;border:2.5px solid var(--primary);width:22px;height:22px;box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border-radius:50%}.range-slider input[type=range]::-moz-range-thumb{pointer-events:auto;border:2.5px solid var(--primary);width:22px;height:22px;box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border-radius:50%}.filter-chip-group{flex-wrap:wrap;gap:8px;display:flex}.filter-actions{padding:14px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border-light);background:linear-gradient(180deg, color-mix(in srgb, #fff 92%, var(--primary) 8%), #fff);gap:10px;display:flex}.filter-clear{background:var(--surface-2);height:46px;color:var(--text);cursor:pointer;border-radius:13px;flex-shrink:0;padding:0 18px;font-size:14px;font-weight:700;transition:transform .15s}.filter-clear:active{transform:scale(.97)}.filter-apply{background:linear-gradient(135deg, var(--primary-light), var(--primary));color:#fff;cursor:pointer;height:46px;box-shadow:0 4px 16px color-mix(in srgb, var(--primary) 35%, transparent);border-radius:13px;flex:1;font-size:15px;font-weight:700;transition:transform .15s,opacity .15s}.filter-apply:active{opacity:.92;transform:scale(.98)}.top-filter-overlay{z-index:2147483647;background:#0f172a52;justify-content:stretch;align-items:flex-start;padding:12px 12px 0;animation:.2s ease-out overlayIn;display:flex;position:absolute;inset:0}.top-filter-panel{background:var(--surface);border:1px solid #e2e8f0fa;border-radius:22px;flex-direction:column;width:100%;max-width:420px;max-height:calc(100% - 12px);margin:0 auto;animation:.22s cubic-bezier(.22,1,.36,1) sheetDown;display:flex;overflow:hidden;box-shadow:0 18px 44px #0f172a2e}.top-filter-header{border-bottom:1px solid var(--border-light);background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 5%, #fff), #fff);padding:14px 16px 12px;position:relative}.top-filter-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin-bottom:3px;font-size:11px;font-weight:800}.top-filter-title{color:var(--text);padding-right:44px;font-size:18px;font-weight:800;line-height:1.2}.top-filter-subtitle{color:var(--text-muted);margin-top:3px;padding-right:44px;font-size:12px}.top-filter-close{background:var(--surface-2);width:36px;height:36px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:10px;right:10px}.top-filter-content{flex-direction:column;flex:1;gap:10px;padding:10px 14px 12px;display:flex;overflow-y:auto}.top-filter-section{border:1px solid var(--border-light);background:#fff;border-radius:16px;padding:12px 12px 11px;box-shadow:0 1px #0f172a05}.top-filter-section-title{color:var(--text);margin-bottom:10px;font-size:14px;font-weight:800}.top-filter-range-values{color:var(--primary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:13px;font-weight:800;display:flex}.top-filter-range{margin:0 4px}.top-filter-chip-row{flex-wrap:wrap;gap:8px;display:flex}.top-filter-chip{background:var(--surface-2);min-height:34px;color:var(--text);border:1px solid #0000;border-radius:999px;padding:0 12px;font-size:12px;font-weight:700}.top-filter-chip.active{background:color-mix(in srgb, var(--primary) 12%, #fff);color:var(--primary-dark);border-color:color-mix(in srgb, var(--primary) 18%, #fff)}.top-filter-footer{padding:10px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border-light);background:linear-gradient(180deg, color-mix(in srgb, #fff 92%, var(--primary) 8%), #fff);gap:10px;display:flex}.top-filter-clear{background:var(--surface-2);height:44px;color:var(--text);border-radius:12px;flex-shrink:0;padding:0 16px;font-size:13px;font-weight:700}.top-filter-apply{background:linear-gradient(135deg, var(--primary-light), var(--primary));color:#fff;height:44px;box-shadow:0 10px 20px color-mix(in srgb, var(--primary) 30%, transparent);border-radius:12px;flex:1;font-size:13px;font-weight:800}
