*{box-sizing:border-box}:root{--apx-green:#0b5d42;--apx-green-2:#087a55;--apx-teal:#0ea5a8;--apx-blue:#2563eb;--apx-ink:#102033;--apx-muted:#64748b;--apx-line:#e5e7eb;--apx-soft:#f7faf9;--apx-shadow:0 10px 30px rgba(15,23,42,.14);--apx-top:78px}html,body{margin:0;height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--apx-ink);background:#eef3f1}button,input,select{font:inherit}button{cursor:pointer}.apx-topbar{height:var(--apx-top);display:flex;align-items:center;gap:14px;padding:0 18px;background:linear-gradient(90deg,#07583f,#0b6b4b);color:#fff;position:relative;z-index:2000;box-shadow:0 2px 12px rgba(15,23,42,.16)}.apx-brand{display:flex;align-items:center;gap:10px;min-width:250px;color:#fff;text-decoration:none;font-weight:900;letter-spacing:-.2px}.apx-brandmark{width:36px;height:36px;border-radius:10px;background:#fff;color:var(--apx-green);display:grid;place-items:center;font-size:15px;box-shadow:0 4px 14px rgba(0,0,0,.12)}.apx-brand small{display:block;font-size:11px;font-weight:700;opacity:.78;letter-spacing:.2px}.apx-modebar{display:flex;gap:6px;background:rgba(255,255,255,.12);padding:5px;border-radius:999px}.apx-mode{border:0;background:transparent;color:#e8fff5;border-radius:999px;padding:9px 13px;font-weight:800;white-space:nowrap}.apx-mode.is-active,.apx-mode:hover{background:#fff;color:var(--apx-green)}.apx-search-wrap{flex:1;min-width:220px;max-width:760px;position:relative}.apx-search-wrap input{width:100%;height:48px;border:0;border-radius:18px;padding:0 54px 0 44px;background:#fff;color:#152238;outline:none;box-shadow:0 6px 18px rgba(0,0,0,.10);font-size:16px}.apx-search-wrap:before{content:'⌕';position:absolute;left:16px;top:11px;color:#64748b;font-size:23px;line-height:1}.apx-search-go{position:absolute;right:6px;top:6px;width:36px;height:36px;border:0;border-radius:12px;background:var(--apx-blue);color:#fff;font-weight:900}.apx-top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.apx-top-btn{height:42px;border:1px solid rgba(255,255,255,.3);border-radius:14px;background:rgba(255,255,255,.12);color:#fff;padding:0 13px;font-weight:800;white-space:nowrap}.apx-top-btn:hover{background:rgba(255,255,255,.2)}.apx-shell{display:grid;grid-template-columns:390px 1fr;height:calc(100vh - var(--apx-top));min-height:0}.apx-left{background:#fff;border-right:1px solid var(--apx-line);display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:width .22s ease,transform .22s ease}.apx-left-head{padding:14px 16px 10px;border-bottom:1px solid var(--apx-line);background:#fff}.apx-left-head h1{margin:0;font-size:18px;line-height:1.25;color:#0c4d3b;font-weight:900}.apx-left-head p{margin:5px 0 0;font-size:12px;color:var(--apx-muted)}.apx-filters{padding:12px 14px;border-bottom:1px solid var(--apx-line);background:#fbfdfc}.apx-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.apx-field{min-width:0}.apx-field.full{grid-column:1/-1}.apx-field label{display:block;font-size:11px;color:#64748b;font-weight:800;margin:0 0 4px}.apx-input,.apx-select{width:100%;height:40px;border:1px solid #d6dce2;border-radius:10px;background:#fff;padding:0 10px;color:#172235;outline:none}.apx-input:focus,.apx-select:focus{border-color:#0ea5a8;box-shadow:0 0 0 3px rgba(14,165,168,.12)}.apx-budget-row{display:flex;align-items:center;gap:10px}.apx-slider{flex:1}.apx-slider-value{font-size:12px;font-weight:900;color:#334155;min-width:60px;text-align:right}.apx-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.apx-btn{height:40px;border-radius:10px;border:1px solid #d6dce2;background:#fff;color:#172235;font-weight:900}.apx-btn-primary{background:var(--apx-green-2);border-color:var(--apx-green-2);color:#fff}.apx-results{flex:1;overflow:auto;background:#fff}.apx-results-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-bottom:1px solid #eef2f7;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}.apx-results-count{font-size:13px;font-weight:900}.apx-results-sub{font-size:11px;color:#64748b;text-align:right}.apx-card{display:grid;grid-template-columns:96px 1fr;gap:11px;padding:12px 14px;border-bottom:1px solid #edf1f5;background:#fff;cursor:pointer;transition:.15s ease}.apx-card:hover,.apx-card.is-active{background:#eefaf6}.apx-card img{width:96px;height:78px;border-radius:11px;object-fit:cover;background:#e5e7eb}.apx-card-body{min-width:0}.apx-price{font-size:16px;font-weight:950;color:#0b5d42;line-height:1.1}.apx-title{margin-top:3px;font-size:13px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apx-meta{margin-top:2px;font-size:11.5px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apx-tags{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}.apx-tag{font-size:10px;font-weight:800;padding:3px 6px;border-radius:999px;background:#eff6ff;color:#1d4ed8}.apx-tag.featured{background:#fff7ed;color:#c2410c}.apx-empty,.apx-error{padding:20px 14px;font-size:13px}.apx-empty{color:#64748b}.apx-error{color:#b91c1c;font-weight:800}.apx-map-area{position:relative;min-width:0;overflow:hidden;background:#dfe8e5}#map{width:100%;height:100%}.apx-map-toolbar{position:absolute;top:14px;left:14px;right:14px;z-index:1000;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.apx-tool-group{display:flex;gap:8px;flex-wrap:wrap;pointer-events:auto}.apx-map-pill{height:40px;border:1px solid rgba(15,23,42,.12);border-radius:13px;background:#fff;color:#172235;padding:0 12px;font-weight:850;box-shadow:0 6px 20px rgba(15,23,42,.12)}.apx-map-pill.is-on{background:#e7f8f1;border-color:#78c8a9;color:#07583f}.apx-map-pill:hover{border-color:#0ea5a8}.apx-layer-menu{position:absolute;top:48px;right:0;width:215px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:10px;box-shadow:var(--apx-shadow);display:none}.apx-layer-menu.is-open{display:block}.apx-layer-menu label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:9px;font-size:13px;font-weight:750}.apx-layer-menu label:hover{background:#f8fafc}.apx-map-actions{position:absolute;right:14px;bottom:24px;z-index:1000;display:flex;flex-direction:column;gap:8px}.apx-fab{width:44px;height:44px;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#fff;color:#172235;box-shadow:0 6px 20px rgba(15,23,42,.14);font-weight:900;font-size:18px}.apx-fab:hover{border-color:#0ea5a8;color:#07583f}.apx-measure-box{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:1000;background:#0f172a;color:#fff;border-radius:14px;padding:10px 14px;box-shadow:var(--apx-shadow);display:none;min-width:220px;text-align:center}.apx-measure-box.is-open{display:block}.apx-measure-box strong{font-size:14px}.apx-measure-box div{font-size:11px;opacity:.82;margin-top:2px}.apx-price-chip{display:inline-flex;align-items:center;justify-content:center;min-width:58px;max-width:104px;padding:6px 9px;border-radius:999px;background:#fff;color:#0f172a;border:1px solid rgba(15,23,42,.14);box-shadow:0 5px 14px rgba(15,23,42,.18);font-size:11px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apx-price-chip.is-premium{background:#ef4444;color:#fff;border-color:#dc2626}.apx-price-chip.is-selected{background:#0b8f67;color:#fff;border-color:#067854;transform:scale(1.08)}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:transparent}.marker-cluster div{width:42px!important;height:42px!important;margin:0!important;border-radius:999px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:900!important;color:#fff!important;border:3px solid rgba(255,255,255,.95);box-shadow:0 7px 18px rgba(37,99,235,.28);background:linear-gradient(135deg,#2563eb,#1d4ed8)!important}.marker-cluster span{line-height:1!important}.apx-popup-title{font-weight:900;font-size:14px;color:#0f172a;margin-bottom:3px}.apx-popup-meta{font-size:12px;color:#64748b;margin-bottom:4px}.apx-popup-price{font-weight:900;color:#07583f;margin-bottom:4px}.leaflet-control-attribution{font-size:10px}.leaflet-top.leaflet-left .leaflet-draw{display:none}.apx-mobile-list{display:none}body.apx-panel-collapsed .apx-shell{grid-template-columns:0 1fr}body.apx-panel-collapsed .apx-left{transform:translateX(-100%)}@media(max-width:1050px){.apx-brand{min-width:auto}.apx-brand-text{display:none}.apx-modebar{display:none}.apx-topbar{gap:10px}.apx-search-wrap{max-width:none}}@media(max-width:760px){:root{--apx-top:64px}html,body{width:100%;max-width:100%;overflow:hidden}.apx-topbar{display:grid;grid-template-columns:46px minmax(0,1fr) 42px;align-items:center;gap:7px;padding:0 8px;width:100%;min-width:0}.apx-brand{min-width:0;width:46px;overflow:hidden}.apx-brandmark{width:42px;height:42px;border-radius:11px;font-size:15px}.apx-brand-text,.apx-modebar{display:none}.apx-search-wrap{min-width:0;width:100%;max-width:none}.apx-search-wrap input{min-width:0;width:100%;height:44px;border-radius:14px;font-size:14px;padding:0 40px 0 37px;text-overflow:ellipsis}.apx-search-wrap:before{left:12px;top:10px;font-size:21px}.apx-search-go{width:32px;height:32px;top:6px;right:5px;border-radius:10px}.apx-top-actions{margin:0;min-width:0;display:block}.apx-top-actions .apx-top-btn{display:none!important}#filterTopBtn{display:block!important;width:42px;height:42px;padding:0;border-radius:12px;font-size:0;position:relative}#filterTopBtn:after{content:'☰';font-size:19px;line-height:1}.apx-shell{display:block;width:100%;height:calc(100dvh - var(--apx-top));min-height:0;overflow:hidden}.apx-map-area{height:100%;width:100%;min-width:0}#map{width:100%;height:100%}.apx-left{position:fixed;left:8px;right:8px;bottom:8px;width:auto;height:min(48dvh,430px);border:0;border-radius:18px;z-index:1900;box-shadow:0 -8px 34px rgba(15,23,42,.24);transform:translateY(calc(100% - 58px));transition:transform .22s ease,height .22s ease;overflow:hidden;background:#fff}.apx-left.is-mobile-open{transform:translateY(0)}.apx-left-head{padding:9px 12px;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.apx-left-head h1{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apx-left-head p{display:none}.apx-filters{display:none}.apx-left.is-filter-open{height:min(78dvh,650px)}.apx-left.is-filter-open .apx-filters{display:block;overflow:auto;max-height:calc(78dvh - 58px)}.apx-filter-grid{grid-template-columns:1fr 1fr;gap:8px}.apx-field.full{grid-column:1/-1}.apx-input,.apx-select{height:42px;font-size:13px;padding:0 10px}.apx-results{min-height:0;overflow:auto}.apx-results-head{padding:8px 12px}.apx-card{grid-template-columns:78px minmax(0,1fr);padding:9px 10px;gap:9px}.apx-card img{width:78px;height:64px}.apx-title{font-size:12px}.apx-price{font-size:14px}.apx-meta{font-size:11px}.apx-map-toolbar{top:10px;left:auto;right:8px;width:auto}.apx-tool-group.left{display:none}.apx-map-pill{height:38px;padding:0 11px;font-size:12px}.apx-layer-menu{right:0;left:auto;min-width:180px;max-width:calc(100vw - 16px)}.apx-map-actions{right:8px;bottom:74px;gap:7px}.apx-fab{width:40px;height:40px;border-radius:12px}.apx-measure-box{bottom:74px;max-width:72%;min-width:0}.apx-mobile-list{display:inline-flex;align-items:center;gap:5px;border:0;background:#e9f8f2;color:#07583f;border-radius:999px;padding:7px 9px;font-size:11px;font-weight:900;white-space:nowrap}.apx-results-sub{display:none}.leaflet-control-attribution{font-size:8px}}@media(max-width:380px){.apx-topbar{grid-template-columns:42px minmax(0,1fr) 38px;gap:5px;padding:0 6px}.apx-brand{width:42px}.apx-brandmark{width:38px;height:38px;font-size:14px}#filterTopBtn{width:38px;height:38px}.apx-search-wrap input{font-size:13px;padding-left:34px;padding-right:36px}.apx-search-wrap:before{left:10px}.apx-search-go{width:30px;height:30px;top:7px;right:4px}.apx-left{left:6px;right:6px;bottom:6px}.apx-left-head h1{font-size:13px}.apx-map-toolbar{right:6px}.apx-map-actions{right:6px}}.apx-lm-icon{position:relative;display:flex;align-items:center;gap:6px;white-space:nowrap;filter:drop-shadow(0 4px 7px rgba(15,23,42,.18))}.apx-lm-dot{width:31px;height:31px;border:3px solid #fff;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#fff;background:#64748b}.apx-lm-label{display:none;max-width:150px;overflow:hidden;text-overflow:ellipsis;background:#fff;border:1px solid #dbe3ea;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:900;color:#334155;box-shadow:0 3px 9px rgba(15,23,42,.12)}.apx-show-lm-labels .apx-lm-label{display:inline-block}.apx-lm-government .apx-lm-dot{background:#2563eb}.apx-lm-education .apx-lm-dot{background:#7c3aed}.apx-lm-health .apx-lm-dot{background:#e11d48}.apx-lm-commercial .apx-lm-dot{background:#ea580c}.apx-lm-sports .apx-lm-dot{background:#0891b2}.apx-lm-innovation .apx-lm-dot{background:#4f46e5}.apx-lm-spiritual .apx-lm-dot{background:#d97706}.apx-lm-finance .apx-lm-dot{background:#059669}.apx-lm-landmark .apx-lm-dot{background:#64748b}.apx-lm-popup{min-width:230px}.apx-lm-popup h3{margin:0 0 5px;font-size:15px;color:#0f172a}.apx-lm-popup .meta{font-size:12px;color:#64748b;margin:3px 0}.apx-lm-status{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:10px;font-weight:900;text-transform:capitalize}.apx-lm-actions{display:flex;gap:7px;margin-top:10px}.apx-lm-actions a,.apx-lm-actions button{border:0;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:900;text-decoration:none;cursor:pointer}.apx-lm-actions a{background:#0b7a55;color:#fff}.apx-lm-actions button{background:#e9f8f2;color:#07583f}@media(max-width:760px){.apx-lm-label{max-width:108px;font-size:9px;padding:4px 6px}.apx-lm-dot{width:28px;height:28px;font-size:13px}}.apx-apcrda-card{margin:12px;border:1px solid #a7f3d0;border-radius:16px;background:#f0fdf4;box-shadow:0 8px 22px rgba(5,150,105,.10);overflow:hidden}.apx-apcrda-card-head{padding:12px 13px 8px}.apx-apcrda-kicker{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#047857}.apx-apcrda-code{font-size:17px;font-weight:950;color:#0b3b3f;margin-top:3px;word-break:break-word}.apx-apcrda-meta{font-size:12px;color:#475569;line-height:1.45;margin-top:4px}.apx-apcrda-note{margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:11px;font-weight:800}.apx-apcrda-actions{display:flex;gap:7px;flex-wrap:wrap;padding:0 13px 12px}.apx-apcrda-actions a,.apx-apcrda-actions button{border:0;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:900;text-decoration:none;cursor:pointer}.apx-apcrda-actions a{background:#0b7a55;color:#fff}.apx-apcrda-actions button{background:#e2e8f0;color:#0f172a}.apx-apcrda-nearby{padding:0 13px 12px}.apx-apcrda-nearby-title{font-size:11px;font-weight:900;color:#334155;margin-bottom:6px}.apx-apcrda-nearby-list{display:flex;flex-wrap:wrap;gap:5px}.apx-apcrda-nearby-list span{background:#fff;border:1px solid #dbeafe;border-radius:999px;padding:5px 7px;font-size:10px;font-weight:800;color:#334155}.apx-apcrda-pin{background:#064e3b;color:#fff;border:3px solid #fff;border-radius:999px;box-shadow:0 4px 14px rgba(6,78,59,.38);padding:7px 10px;font-size:11px;font-weight:950;white-space:nowrap}.apx-api-context-icon{display:flex;align-items:center;gap:5px}.apx-api-context-dot{width:29px;height:29px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:#0f172a;border:3px solid #0b7a55;box-shadow:0 3px 10px rgba(15,23,42,.22);font-size:13px;font-weight:900}.apx-api-context-label{display:none;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:5px 7px;box-shadow:0 3px 9px rgba(15,23,42,.14);font-size:10px;font-weight:900;color:#1e293b}.apx-api-context-icon.show-label .apx-api-context-label{display:block}@media(max-width:760px){.apx-apcrda-card{margin:8px}.apx-apcrda-code{font-size:14px}.apx-api-context-label{max-width:105px;font-size:9px}}

.apx-layer-section{margin:5px 6px 2px;padding-top:7px;border-top:1px solid #edf2f7;color:#0b5d42;font-size:10px;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.apx-layer-section:first-child{border-top:0;padding-top:2px}.apx-layer-opacity{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:8px;font-size:10px;font-weight:850;color:#475569}.apx-layer-opacity input{min-width:0;width:100%}.apx-layer-opacity b{font-size:10px;color:#0b5d42}.apx-layer-source{margin:1px 8px 5px;font-size:9px;color:#94a3b8}.leaflet-pane .leaflet-tile-container img.leaflet-tile{image-rendering:auto}

/* APE Map Traffic Phase 1 */
.apx-map-intro{max-width:340px;line-height:1.4}.apx-gis-benefits{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.apx-gis-benefits span{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#eefaf6;color:#07583f;font-size:9px;font-weight:850;white-space:nowrap}.apx-gis-benefits span:before{content:'✓';margin-right:4px}.apx-seo-context{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:760px){.apx-left-head .apx-map-intro,.apx-left-head .apx-gis-benefits{display:none}}

/* APE Map Traffic Phase 1 — final mobile collapsed-panel refinement */
@media(max-width:760px){
  .apx-left-head{min-width:0;}
  .apx-left-head h1{
    min-width:0;
    flex:1 1 auto;
    font-size:14px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .apx-left-head .apx-map-intro,
  .apx-left-head .apx-gis-benefits{display:none!important;}
}
@media(max-width:380px){
  .apx-left-head h1{font-size:12.5px;}
}
