/* Agent search (agent-search.php). Computer and iPad: filters left, map on top, results table underneath.
   Black-and-white like the rest of the search; coral only for the drawn areas. Listing cards (popups) keep the locked
   search card look from search.css: nothing here restyles .sb-card. */
.as-page main{position:relative}
.as-app{--ink:#111;--mut:#6b6b6b;--line:#e3e3e3;--soft:#f4f4f4;--as-rail:330px;flex:1;min-height:0;display:grid;grid-template-columns:var(--as-rail) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);background:#fff;color:var(--ink);font-size:14px;position:relative}
.as-app[hidden]{display:none}
.as-app.rail-closed{--as-rail:0px}
.as-app button{font:inherit;color:inherit;cursor:pointer}
.as-app input,.as-app select,.as-app textarea{font:inherit;color:inherit}
.as-app .sr,.as-lock .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* top bar */
.as-top{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);min-width:0}
.as-railbtn{display:flex;align-items:center;gap:6px;border:1px solid #cfcfcf;background:#fff;border-radius:999px;padding:7px 12px;font-weight:700!important;white-space:nowrap}
.as-railbtn b{background:#111;color:#fff;border-radius:999px;padding:0 7px;font-size:11.5px;line-height:18px}
.as-railbtn b:empty{display:none}
.as-q{flex:1;min-width:140px;max-width:460px;display:flex;align-items:center;gap:8px;border:1px solid #cfcfcf;border-radius:999px;padding:0 12px;color:var(--mut)}
.as-q input{border:0;outline:0;background:none;padding:8px 0;flex:1;min-width:0;color:var(--ink)}
.as-seg{display:flex;border:1px solid #cfcfcf;border-radius:999px;overflow:hidden;flex:none}
.as-seg button{border:0;background:#fff;padding:7px 12px;font-weight:700!important;white-space:nowrap}
.as-seg button[aria-pressed=true]{background:#111;color:#fff}
.as-period select,.as-sort select{border:1px solid #cfcfcf;border-radius:999px;padding:6px 10px;background:#fff;font-weight:600}
.as-top-gap{flex:1}
.as-btn{border:1px solid #cfcfcf;border-radius:999px;background:#fff;padding:7px 13px;font-weight:700!important;white-space:nowrap;line-height:1.2}
.as-btn:disabled{opacity:.45;cursor:default}
.as-btn-inv{background:#111;color:#fff!important;border-color:#111}
.as-btn-line{background:transparent}
.as-btn-ghost{border-color:transparent}

/* filters */
.as-rail{grid-row:2;overflow:auto;border-right:1px solid var(--line);padding:4px 14px 30px;overscroll-behavior:contain;min-width:0}
.as-app.rail-closed .as-rail{display:none}
.as-g{border-bottom:1px solid var(--line);padding:10px 0 12px}
.as-g h3{margin:0 0 4px;font-size:11.5px;font-weight:800;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:8px}
.as-g h3 em{font-style:normal;text-decoration:none;background:none;font-weight:600;letter-spacing:0;text-transform:none;color:var(--mut)}
.as-g h3 button{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;width:100%}
.as-g h3 button::after{content:'▾';margin-left:auto;font-size:12px;color:var(--mut);transition:transform .15s}
.as-g.is-folded h3 button::after{transform:rotate(-90deg)}
.as-g h3 button b{background:#111;color:#fff;border-radius:999px;padding:0 7px;font-size:10.5px;letter-spacing:0;line-height:17px}
.as-g h3 button b:empty{display:none}
.as-g.is-folded .as-fold{display:none}
.as-lab{margin:10px 0 5px;font-weight:700;font-size:12.5px;color:#333;display:flex;justify-content:space-between;gap:6px}
.as-lab span{font-weight:500;color:var(--mut)}
.as-hint{margin:6px 0;font-size:12.5px;color:var(--mut)}
.as-muted{color:var(--mut)}
.as-row2,.as-row3{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.as-row3{grid-template-columns:2fr 1fr .8fr}
.as-rail input:not([type=checkbox]):not([type=radio]),.as-rail select{width:100%;min-width:0;border:1px solid #cfcfcf;border-radius:8px;padding:7px 9px;background:#fff;font-size:13px}
.as-sel{display:block}
.as-sel .as-lab{margin-bottom:5px}
.as-chips{display:flex;flex-wrap:wrap;gap:5px}
.as-chip{border:1px solid #cfcfcf;border-radius:999px;background:#fff;padding:5px 10px;font-weight:600!important;font-size:12.5px!important;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.as-chip small{font-size:10.5px;font-weight:600;color:var(--mut)}
.as-chip.on{background:#111;color:#fff;border-color:#111}
.as-chip.on small{color:#cfcfcf}
.as-chip.no{color:#9a9a9a;border-style:dashed;border-color:#b5b5b5;text-decoration:line-through}
.as-chip[aria-pressed=true]{background:#111;color:#fff;border-color:#111}
.as-chip:disabled{opacity:.4;cursor:default}
.as-tools{margin:8px 0}
.as-tools .as-chip[aria-pressed=true]{background:#111;color:#fff}
.as-hood{display:block;margin:4px 0 2px}
.as-kwadd{display:flex;gap:6px;margin-top:6px}
.as-kwadd input{flex:1}
.as-clearall{margin:14px 0 0;border:0;background:none;text-decoration:underline;color:var(--mut)}
.as-app.is-past .as-only-active{display:none}

/* areas list */
.as-areas{display:flex;flex-direction:column;gap:5px;margin:6px 0}
.as-area{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:4px 6px}
.as-area input{border:0!important;padding:4px 2px!important;font-weight:700;flex:1}
.as-area small{color:var(--mut);font-size:11.5px;white-space:nowrap}
.as-area.off{opacity:.55}
.as-area-on{border:0;background:none;padding:0}
.as-ai{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#111;color:#fff;font-size:11.5px;font-weight:700;line-height:1}
.as-area.off .as-ai{background:#fff;color:#111;border:1.5px dashed #111}
.as-x{border:0;background:none;font-size:18px;line-height:1;color:var(--mut);padding:2px 6px}

/* map + list */
.as-main{grid-row:2;grid-column:2;min-width:0;min-height:0;display:flex;flex-direction:column;--as-map-h:60%}
.as-mapwrap{position:relative;height:var(--as-map-h);flex:none;min-height:160px}
.as-map{position:absolute;inset:0}
.as-app[data-view=map] .as-mapwrap{flex:1;height:auto}
.as-app[data-view=map] .as-grip,.as-app[data-view=map] .as-list{display:none}
.as-app[data-view=list] .as-mapwrap,.as-app[data-view=list] .as-grip{display:none}
.as-grip{height:14px;flex:none;background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:row-resize;touch-action:none}
.as-grip i{width:46px;height:4px;border-radius:9px;background:#b9b9b9}
.as-app.is-resizing{user-select:none}
.as-view{position:absolute;right:10px;bottom:28px;display:flex;background:#fff;border-radius:999px;box-shadow:0 1px 5px rgba(0,0,0,.25);overflow:hidden;z-index:2}
.as-view button{border:0;background:#fff;padding:7px 12px;font-weight:700!important;font-size:12.5px!important}
.as-view button[aria-pressed=true]{background:#111;color:#fff}
.as-app[data-view=map] .as-view{bottom:64px}
.as-mapbar{position:absolute;left:0;right:0;bottom:0;background:#111;color:#fff;display:flex;gap:10px;align-items:center;padding:8px 14px;font-weight:700;z-index:2}
.as-mapbar span{margin-right:auto}
.as-mapbar .as-btn{border-color:#fff}
.as-mapbar .as-btn-inv{background:#fff;color:#111!important}
.as-drawhint{position:absolute;left:50%;top:12px;transform:translateX(-50%);background:#111;color:#fff;border-radius:999px;padding:8px 14px;font-weight:600;font-size:13px;z-index:3;max-width:90%;text-align:center}
.as-app.is-drawing .as-map canvas{cursor:crosshair}
.as-pin{border:0;background:#fff;color:#111;border-radius:7px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1.2;box-shadow:0 1px 4px rgba(0,0,0,.35);white-space:nowrap}
.as-pin.is-past{background:#f1f1f1;color:#555}
.as-pin.is-picked{background:#111;color:#fff}
.as-pop{width:340px;margin:-4px -4px 0}
.as-pop .sb-card{margin:0}
.as-pop-pick{display:flex;gap:8px;align-items:center;font-weight:700;padding:8px 4px 0}
.maplibregl-popup-content{border-radius:12px;padding:12px}

.as-list{flex:1;min-height:0;display:flex;flex-direction:column}
.as-set{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);font-size:12.5px}
.as-set b{margin-right:2px}
.as-setchip{border:0;background:var(--soft);border-radius:999px;padding:4px 9px;font-weight:600!important;font-size:12px!important}
.as-setchip span{color:var(--mut);margin-left:2px}
.as-setchip.no{background:#fff;border:1px dashed #b5b5b5;color:#888;text-decoration:line-through}
.as-setclear{border:0;background:none;text-decoration:underline;color:var(--mut);font-size:12px!important}
.as-selbar{display:flex;align-items:center;gap:8px;padding:7px 12px;background:#111;color:#fff;flex-wrap:wrap}
.as-selbar .as-btn{border-color:#fff;color:#fff}
.as-selbar .as-btn-inv{background:#fff;color:#111!important}
.as-selbar select{background:#111;color:#fff;border-color:#777}
.as-seln{font-weight:600}
.as-showmap{display:none}
.as-app[data-view=list] .as-showmap{display:inline-block}
.as-app[data-view=list] .as-hidelist{display:none}
.as-count{font-weight:600;opacity:.85;white-space:nowrap}
.as-colsw{position:relative}
.as-cols{position:absolute;right:0;top:calc(100% + 6px);background:#fff;color:#111;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.2);padding:8px 12px;z-index:5;display:grid;gap:4px;min-width:220px}
.as-cols label{display:flex;gap:8px;align-items:center;font-weight:600;white-space:nowrap}
.as-cols label.is-fixed{color:var(--mut)}
.as-tablewrap{flex:1;min-height:0;overflow:auto}
.as-table{border-collapse:collapse;width:100%;font-size:13px}
.as-table th{position:sticky;top:0;background:#fff;text-align:left;font-size:11.5px;font-weight:700;color:var(--mut);padding:8px;border-bottom:1px solid var(--line);white-space:nowrap;z-index:1}
.as-table td{padding:8px;border-bottom:1px solid #f0f0f0;vertical-align:top;white-space:nowrap}
.as-table td small{display:block;color:var(--mut);font-size:11.5px}
.as-table td[data-col=addr]{white-space:normal;min-width:200px;max-width:320px}
.as-table td small.as-brk{color:#777;font-size:11.5px}
.as-cut{color:#111!important;font-weight:700}
.as-table tbody tr{cursor:pointer}
.as-table tbody tr:hover td{background:#fafafa}
.as-table tr.is-picked td{background:#fff4f1}
.as-table tr.is-hl td{box-shadow:inset 0 1px 0 #111,inset 0 -1px 0 #111}
.as-ck{width:34px}
.as-ck input{width:17px;height:17px;accent-color:#111}
.as-empty{padding:24px 14px;color:var(--mut);margin:0}
.as-pager{display:flex;gap:10px;align-items:center;justify-content:center;padding:12px;flex-wrap:wrap}
.as-pager:empty{display:none}
.as-legalline{font-size:11.5px;color:var(--mut);padding:6px 12px 14px;margin:0}
.as-legalline button{border:0;background:none;text-decoration:underline;color:inherit;font-size:inherit!important;padding:0}
.as-app.is-loading .as-tablewrap{opacity:.55;transition:opacity .2s}

/* home beside the table */
.as-drawer{position:absolute;top:0;right:0;bottom:0;width:min(560px,92%);background:#fff;box-shadow:-8px 0 30px rgba(0,0,0,.18);z-index:8;display:flex;flex-direction:column}
.as-drawer[hidden]{display:none}
.as-drawer-top{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line)}
.as-drawer-top a{font-weight:700;color:#111}
.as-drawer-top button{border:0;background:none;font-size:24px;line-height:1}
.as-drawer iframe{flex:1;border:0;width:100%}

/* dialogs */
.as-modal{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:50;display:grid;place-items:center;padding:20px}
.as-modal[hidden]{display:none}
.as-dialog{background:#fff;border-radius:16px;width:min(560px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.as-mh{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.as-mh h2{margin:0;font-size:19px}
.as-mb{padding:6px 18px 12px;overflow:auto}
.as-mb h4{margin:14px 0 6px;font-size:13.5px}
.as-mb h4 span{font-weight:500;color:var(--mut)}
.as-mb input:not([type=radio]),.as-mb select,.as-mb textarea{width:100%;border:1px solid #cfcfcf;border-radius:10px;padding:9px 11px;background:#fff;font-size:14px}
.as-mb [hidden]{display:none!important}
.as-radio{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 8px}
.as-radio label{display:flex;gap:6px;align-items:center;font-weight:600}
.as-radio input{accent-color:#111}
.as-mf{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--line)}
.as-err{color:#111;background:#fff4f1;border:1px solid #f3c8bf;border-radius:10px;padding:8px 10px;margin:8px 0 0}
.as-people,.as-sugg{display:grid;gap:6px;margin-bottom:6px}
.as-person{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;text-align:left;width:100%}
.as-person small{color:var(--mut)}
.as-person .as-x{margin-left:auto}
.as-sug{border-style:dashed;background:#fffaf8}
.as-plus{font-weight:800}
.as-find{position:relative}
.as-found{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.2);z-index:3;max-height:260px;overflow:auto;padding:4px}
.as-found button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:8px}
.as-found button:hover{background:var(--soft)}
.as-found small{display:block;color:var(--mut)}

.as-lock{padding:60px 20px;text-align:center}
.as-legal{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:60;display:grid;place-items:center;padding:20px}
.as-legal[hidden]{display:none}
.as-legal>div{background:#fff;border-radius:14px;max-width:640px;padding:18px 20px;max-height:80vh;overflow:auto}

body.as-page .sb-tabbar{display:none}
@media (max-width:1300px){
  .as-table td[data-col=type],.as-table th[data-col=type]{display:none}
}
/* iPad and smaller computers: the filters slide over the map instead of taking a column */
@media (max-width:1100px){
  .as-app{grid-template-columns:minmax(0,1fr)}
  .as-app .as-rail{grid-column:1;grid-row:2;justify-self:start;width:min(360px,88vw);background:#fff;z-index:9;box-shadow:8px 0 30px rgba(0,0,0,.2)}
  .as-main{grid-column:1}
  .as-q{max-width:none}
  .as-top{flex-wrap:wrap}
  .as-table td[data-col=style],.as-table th[data-col=style],.as-table td[data-col=bsmt],.as-table th[data-col=bsmt],.as-table td[data-col=type],.as-table th[data-col=type]{display:none}
}
@media (max-width:820px){
  .as-top .as-btn-ghost{display:none}
  .as-seg button{padding:7px 9px}
  .as-view{bottom:24px}
}
/* phones: dialogs as bottom sheets (docs/mobile-rules.md) */
@media (max-width:600px){
  .as-modal{place-items:end stretch;padding:0}
  .as-dialog{width:100%;border-radius:16px 16px 0 0;max-height:92vh}
}
