.search-toolbar{position:relative}
.presence-wrap{position:relative;flex:none}
.presence-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:19;min-width:160px;padding:5px 0;background:#fff;border-radius:3px;box-shadow:0 4px 16px #302a5d40}
.presence-menu button{display:block;width:100%;min-height:49px;padding:12px 17px;border:0;background:white;text-align:left;color:var(--brand-muted);font-size:14px;font-weight:700}
.presence-menu button.selected{color:var(--brand);background:var(--brand-faint)}
.tile-distance{position:absolute;right:3px;top:3px;display:flex;align-items:center;gap:2px;padding:2px 3px;background:#0006;color:#fff;font-size:10px;line-height:1.1;font-weight:700}
.tile-distance svg{width:11px;height:11px;fill:currentColor;stroke:none}
.tile-count{display:flex;gap:2px;align-items:center;padding:2px 3px;background:#0005;line-height:1.1}
.tile-count svg{width:12px;height:11px;stroke-width:2}
.layout-backdrop{position:fixed;inset:0;z-index:25;display:grid;place-items:center;padding:25px;background:#302a5d66}
.layout-dialog{position:relative;width:100%;max-width:365px;max-height:90dvh;overflow:auto;padding:23px 20px 24px;border-radius:8px;background:#fff;color:var(--brand-muted);text-align:center}
.layout-dialog h2{margin:0 17px 14px;font-size:18px;color:var(--brand-muted);font-weight:700}
.layout-dialog>p{margin:12px 0;font-size:13px;line-height:1.65;font-weight:700}
.layout-close{position:absolute;right:4px;top:3px;display:grid;place-items:center;width:37px;height:37px;padding:0;border:0;background:none;color:var(--brand-subtle);font:28px/1 Arial}
.layout-options{display:flex;gap:15px;align-items:stretch;margin:19px 0 12px}
.layout-choice{flex:1;min-width:0;padding:0;border:0;background:none;color:var(--brand-muted);font-size:13px;font-weight:700}
.layout-preview{display:grid;gap:3px;height:153px;margin:0 auto 14px;padding:4px;border:2px solid transparent;border-radius:15px;background:var(--brand-faint)}
.layout-preview.cols-2{grid-template-columns:repeat(2,1fr)}.layout-preview.cols-3{grid-template-columns:repeat(3,1fr)}
.layout-preview i{min-height:24px;border-radius:3px;background:var(--brand-line)}
.layout-choice[aria-pressed="true"] .layout-preview{border-color:var(--brand)}.layout-choice[aria-pressed="true"] .layout-preview i{background:var(--brand)}
.layout-choice strong{display:block;margin-bottom:5px;font-size:15px;font-weight:700}
.layout-choice small{display:block;font-size:11px;line-height:1.55;font-weight:700}
.layout-pinch{width:34px;height:34px;margin:18px auto 0;color:var(--brand-subtle)}
body.filters-page .reference-top,body.filters-page .bottom{display:none}
body.filters-page #app{padding:0;max-width:700px;min-height:100dvh}
.search-filter-screen{min-height:100dvh;background:white;padding-bottom:calc(96px + max(var(--android-safe-bottom,0px),env(safe-area-inset-bottom,0px)))}
.filter-top{position:sticky;top:0;z-index:19;padding:calc(8px + var(--android-safe-top,0px)) 11px 10px;background:var(--brand);color:white}
.filter-top-row{position:relative;display:flex;align-items:center;min-height:52px}
.filter-top-row>button{display:grid;place-items:center;width:36px;height:44px;padding:0;border:0;background:none;color:white;font:29px/1 Arial}
.filter-top-row select{display:block;width:calc(100% - 80px);margin:0 auto 0 5px;appearance:none;text-align:center;padding:7px 0;border:0;outline:none;background:transparent;color:white;font-size:17px;font-weight:700}
.filter-top-row option{color:var(--brand-ink);background:white}
.filter-location-tabs{display:flex;overflow:hidden;border:1px solid var(--brand-tint);border-radius:22px}
.filter-location-tabs button{flex:1;min-height:35px;border:0;background:none;color:white;font-size:13px;font-weight:700}
.filter-location-tabs button.selected{background:white;color:var(--brand)}
.filter-body{padding:17px 16px 10px}
.filter-section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 9px}
.filter-section-title h2{margin:0;color:var(--brand-muted);font-size:19px;font-weight:700}
.filter-section-title button{padding:8px 0;border:0;background:none;color:var(--brand);font-size:12px;font-weight:700}
.filter-item{padding:20px 0;border-bottom:1px solid var(--brand-line);color:var(--brand-muted);font-size:14px;font-weight:700}
.filter-item>label,.filter-range-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.filter-item select{width:100%;height:40px;margin-top:10px;padding:6px 10px;border:1px solid var(--brand-line);border-radius:5px;background:#fff;color:var(--brand-muted);font-size:14px;font-weight:700}
.filter-range-heading>span:last-child{display:flex;align-items:center;gap:2px;white-space:nowrap}
.filter-range-heading input[type="number"]{width:37px;min-height:28px;padding:2px 0;border:0;background:none;color:var(--brand-muted);font:700 13px Arial;text-align:center;appearance:textfield}
.filter-range-heading input::-webkit-inner-spin-button{appearance:none}
.dual-range{position:relative;height:34px;margin-top:16px;--range-start:0%;--range-end:100%}
.dual-range::before{content:"";position:absolute;left:0;right:0;top:15px;height:3px;border-radius:3px;background:linear-gradient(to right,var(--brand-line) 0 var(--range-start),var(--brand) var(--range-start) var(--range-end),var(--brand-line) var(--range-end) 100%)}
.dual-range input{position:absolute;inset:0;width:100%;margin:0;appearance:none;background:transparent;pointer-events:none}
.dual-range input::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border:2px solid var(--brand);border-radius:50%;background:white;pointer-events:auto}
.filter-radius{appearance:none;width:100%;height:3px;margin-top:26px;background:var(--brand-tint);border-radius:3px;accent-color:var(--brand)}
.filter-radius::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border:2px solid var(--brand);border-radius:50%;background:white}
.filter-switch-row{display:flex;align-items:center;justify-content:space-between}
.filter-switch-row>span{display:flex;align-items:center;gap:10px}
.filter-switch-row svg{width:23px;height:23px;color:var(--brand-subtle)}
.search-toggle{position:relative;display:block;flex:none;width:42px;height:25px}
.search-toggle input{appearance:none;display:block;width:42px;height:25px;margin:0;border:0;border-radius:15px;background:var(--brand-line);cursor:pointer}
.search-toggle input:checked{background:var(--brand)}
.search-toggle input::after{content:"";position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .15s}
.search-toggle input:checked::after{transform:translateX(17px)}
.filter-goals{margin:0}.filter-goals summary{display:flex;gap:10px;align-items:center;cursor:pointer;list-style:none}
.filter-goals summary svg{flex:none;color:var(--brand)}.filter-goals summary small{display:block;margin-top:4px;color:var(--brand);font-size:12px;font-weight:700}
.filter-goals .goal-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.goal-options label{display:flex;gap:6px;align-items:center;font-size:12px}.goal-options input{accent-color:var(--brand)}
.advanced-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0}
.advanced-heading h2{margin:0;color:var(--brand-muted);font-size:19px;font-weight:700}
.advanced-heading button{min-height:35px;padding:7px 15px;border:0;border-radius:22px;background:var(--brand);color:#fff;font-size:13px;font-weight:700}
.advanced-body{min-width:0;margin:0;padding:0;border:0}.advanced-body[disabled]{opacity:.4}.advanced-body legend{padding:0;color:var(--brand-muted);font-size:16px;font-weight:700}
.filter-apply-bar{position:fixed;bottom:0;left:0;right:0;z-index:20;max-width:700px;margin:auto;padding:10px 16px 14px;background:linear-gradient(#ffffffe8,#fff)}
.filter-apply-bar button{display:block;width:100%;min-height:45px;border:0;border-radius:25px;background:var(--brand);color:white;font-size:16px;font-weight:700}
.filter-demo-note{font-size:10px;color:var(--brand-subtle);font-weight:700;line-height:1.5;margin:14px 0 0}
.filters-page #filters-form.live-form{padding:10px 18px 20px}
.filters-page #filters-form.live-form label{margin:8px 0}
.filters-page #filters-form.live-form input:not([type=checkbox]),.filters-page #filters-form.live-form select{height:46px;margin-top:5px;padding:8px 10px}
.filters-page #filters-form.live-form h2{margin:17px 0 10px;font-size:20px}
.filters-page #filters-form .live-filter-actions{position:sticky;bottom:0;margin:14px -18px 0;padding:10px 18px calc(12px + max(var(--android-safe-bottom,0px),env(safe-area-inset-bottom,0px)));background:linear-gradient(#fffa,#fff 35%);z-index:20}
.auth-page .search-filter-screen,.auth-page .layout-backdrop{display:none}
.advanced-group-title{margin:27px 0 3px;color:var(--brand-muted);font-size:18px;font-weight:700}
.advanced-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:73px;padding:16px 0;border-bottom:1px solid var(--brand-line);color:var(--brand-muted);font-size:14px;font-weight:700}
.advanced-choice>svg{flex:none;width:25px;height:25px;color:var(--brand-subtle);stroke-width:1.5}
.advanced-choice>span:first-of-type{flex:1;min-width:0}.advanced-choice small{display:block;margin-top:4px;font-size:11px;font-weight:700;color:var(--brand-subtle)}
.advanced-choice .choice-arrow{flex:none;color:var(--brand-subtle);font-size:25px}
.advanced-choice>select{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.advanced-choice:focus-within{outline:2px solid var(--brand);outline-offset:-2px}
