:root{--forest:#173a2e;--forest2:#245541;--cream:#f5f2e9;--paper:#fff;--ink:#16201b;--muted:#66736c;--line:#ddd8cb;--gold:#b69145;--shadow:0 12px 34px rgba(18,36,28,.18);--safe-b:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--cream);color:var(--ink)}button,input,select,textarea{font:inherit}.app-shell{height:100dvh;display:grid;grid-template-rows:auto auto 1fr}.topbar{padding:max(9px,env(safe-area-inset-top)) 12px 9px;display:flex;align-items:center;background:linear-gradient(135deg,var(--forest),var(--forest2));color:#fff;box-shadow:0 2px 10px #0003;z-index:1001}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand strong{display:block;font-size:17px}.brand small{display:block;font-size:11px;opacity:.75;white-space:nowrap}.turtle{font-size:25px}.top-actions{margin-left:auto;display:flex;gap:7px;align-items:center}.add-top{border:1px solid #ffffff45;border-radius:10px;color:#fff;background:#ffffff12;padding:8px 11px;font-weight:800}.icon-btn{width:40px;height:40px;border:1px solid #ffffff45;border-radius:12px;color:#fff;background:#ffffff12;font-size:21px}.tabs{display:grid;grid-template-columns:repeat(4,1fr);height:45px;background:#fff;border-bottom:1px solid var(--line);z-index:1000}.tab{border:0;background:#fff;color:var(--muted);font-weight:750}.tab.active{color:var(--forest);box-shadow:inset 0 -3px var(--gold)}main{min-height:0;position:relative}.view{display:none;height:100%;min-height:0}.view.active{display:block}#map{height:100%;width:100%;background:#dfe7df}.leaflet-control-attribution{font-size:8px!important}.map-status{position:absolute;z-index:500;left:10px;bottom:calc(10px + var(--safe-b));background:#fffffff2;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:7px 9px;display:flex;align-items:center;gap:10px;font-size:12px}.map-status button,.secondary{border:0;border-radius:8px;background:var(--forest);color:#fff;padding:7px 10px;font-weight:700}.toolbar{padding:10px;display:grid;grid-template-columns:1fr 120px;gap:8px;border-bottom:1px solid var(--line);background:#fff}.toolbar input,.toolbar select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.property-list{height:calc(100% - 61px);overflow:auto;padding:10px;padding-bottom:calc(18px + var(--safe-b));display:grid;gap:9px;align-content:start}.property-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 3px 12px #173a2e15}.card-row{display:flex;gap:10px;align-items:start}.card-main{min-width:0;flex:1}.prop-id{font-size:10px;letter-spacing:.8px;color:var(--gold);font-weight:900}.prop-name{font-size:16px;font-weight:850;margin:2px 0}.prop-address{font-size:11px;color:var(--muted);line-height:1.35}.score{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#edf3ee;border:4px solid #7e9b85;font-weight:900}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.chip{font-size:10px;font-weight:750;padding:4px 7px;border-radius:999px;background:#eef1ec}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px}.open-btn{border:0;background:transparent;color:var(--forest);font-weight:850;padding:5px}.compare-head{padding:16px 14px 8px;display:flex;align-items:center;justify-content:space-between}.compare-head h2{margin:0;font-size:20px}.compare-head p{margin:3px 0;color:var(--muted);font-size:12px}.compare-cards{height:calc(100% - 75px);overflow:auto;padding:8px 10px calc(18px + var(--safe-b));display:grid;gap:10px}.compare-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.score-bars{display:grid;gap:6px;margin-top:10px}.bar-row{display:grid;grid-template-columns:88px 1fr 28px;gap:7px;align-items:center;font-size:11px}.bar{height:7px;border-radius:99px;background:#ebe8df;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--forest2),var(--gold));border-radius:99px}.backdrop{position:fixed;inset:0;background:#0006;z-index:1999;display:none}.backdrop.open{display:block}.drawer{position:fixed;z-index:2000;background:var(--paper);bottom:0;left:0;right:0;max-height:86dvh;border-radius:20px 20px 0 0;box-shadow:0 -15px 40px #0004;transform:translateY(105%);transition:transform .22s ease;overflow:auto;padding-bottom:var(--safe-b)}.drawer.open{transform:translateY(0)}.drawer-grip{width:42px;height:5px;border-radius:99px;background:#ccc;margin:8px auto}.drawer-head{padding:3px 16px 13px;border-bottom:1px solid var(--line)}.drawer-head h2{font-size:20px;margin:3px 0}.drawer-close{float:right;border:0;border-radius:50%;width:34px;height:34px;background:#f0eee8}.drawer-body{padding:14px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.kpi{background:#f2f0e9;border-radius:10px;padding:9px}.kpi b{display:block;font-size:13px}.kpi span{font-size:9px;color:var(--muted)}.section{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.section h3{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--forest2);margin:0 0 8px}.note{font-size:13px;line-height:1.45;background:#f8f4e8;border-left:4px solid var(--gold);padding:10px;border-radius:8px}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.route{border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff;text-align:left}.route b{display:block;font-size:11px}.route span{font-size:9px;color:var(--muted);display:block;margin-top:2px}.estimate-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.estimate{background:#f3f1eb;border-radius:9px;padding:9px}.estimate b{display:block;font-size:12px}.estimate span{font-size:9px;color:var(--muted)}ul{padding-left:18px;margin:6px 0}li{font-size:12px;margin:4px 0}
@media(min-width:900px){.app-shell{grid-template-columns:390px 1fr;grid-template-rows:auto 1fr}.topbar{grid-column:1/-1}.tabs{grid-column:1;grid-row:2;height:auto;display:none}main{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:390px 1fr}.view{display:block!important}.view#listView{grid-column:1;grid-row:1}.view#mapView{grid-column:2;grid-row:1}.view#compareView{display:none!important}.drawer{left:auto;width:430px;top:75px;bottom:14px;right:14px;max-height:none;border-radius:18px;transform:translateX(110%)}.drawer.open{transform:translateX(0)}.backdrop{display:none!important}.toolbar{grid-template-columns:1fr 125px}}
@media(max-width:370px){.brand small{display:none}.toolbar{grid-template-columns:1fr 105px}.route-grid{grid-template-columns:1fr}.prop-name{font-size:15px}}

.form-page{height:100%;overflow:auto;padding:14px 12px calc(24px + var(--safe-b));background:var(--cream)}.form-head h2{margin:0;font-size:21px}.form-head p{margin:4px 0 12px;color:var(--muted);font-size:12px}.form-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;gap:12px}.form-card label{display:grid;gap:5px;font-size:12px;font-weight:750;color:var(--forest)}.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions,.action-row{display:flex;flex-wrap:wrap;gap:8px}.secondary.outline{background:#fff;color:var(--forest);border:1px solid var(--forest)}.pin-readout{font-size:11px;background:#f1f4ef;border:1px solid #d6ddd6;border-radius:9px;padding:9px;color:var(--muted)}.form-message{min-height:18px;font-size:12px;color:var(--forest);font-weight:700}.primary-wide{width:100%;border:0;border-radius:11px;padding:12px;background:var(--forest);color:#fff;font-weight:850}.pin-mode #map{cursor:crosshair}.map-status.pin-instruction{max-width:calc(100% - 20px);flex-wrap:wrap;background:#fff8dd;border-color:var(--gold)}
@media(min-width:900px){#addView{display:none!important;position:fixed;z-index:1800;top:74px;right:14px;bottom:14px;width:430px;height:auto!important;background:var(--cream);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}#addView.active{display:block!important}.form-page{padding:16px}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.form-grid{grid-template-columns:1fr}.add-top{display:none}}

/* v2.4 data-safety controls */
.compare-actions,.data-safety-actions{display:flex;gap:8px;flex-wrap:wrap}.data-safety{margin:0 0 14px;padding:14px;border:1px solid var(--line,#d9ddd7);border-radius:14px;background:rgba(255,255,255,.84)}.data-safety strong{display:block;margin-bottom:3px}.data-safety p{margin:0 0 10px;color:#667168;font-size:.86rem}.danger-outline{border-color:#a5483f!important;color:#8e312a!important;background:transparent!important}@media(max-width:640px){.compare-actions,.data-safety-actions{width:100%}.compare-actions button,.data-safety-actions button{flex:1}}

/* v2.5 smart assisted import */
.import-box{display:grid;gap:10px;padding:12px;border:1px solid #d7c99d;border-radius:12px;background:#fffaf0}.import-box strong{display:block;color:var(--forest)}.import-box p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.import-summary{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.import-summary span{font-size:10px;background:#eef3ed;border-radius:999px;padding:4px 7px}.facts-line{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.facts-line span{font-size:10px;font-weight:750;padding:4px 7px;border-radius:999px;background:#eef1ec}.source-line{font-size:10px;color:var(--muted);margin-top:5px}.import-warning{color:#7c5a14}.import-success{color:var(--forest)}

/* v2.6 reliability, editing, and baseline scores */
.form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.form-close{border:0;background:#eeeae0;border-radius:50%;width:36px;height:36px;font-weight:800;color:var(--forest)}.baseline-box{display:grid;gap:10px;padding:12px;border:1px solid #c9d6cc;border-radius:12px;background:#f6faf6}.baseline-box p{margin:3px 0 0;color:var(--muted);font-size:11px}.score-edit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.save-row{display:grid;grid-template-columns:auto 1fr;gap:8px}.save-row .primary-wide{width:auto}.edit-badge{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:999px;background:#eef3ed;font-size:10px;color:var(--forest);font-weight:800}@media(max-width:500px){.score-edit-grid{grid-template-columns:1fr 1fr}}


/* v2.7 Pathfinder map tools */
.map-tools{position:absolute;z-index:650;top:10px;left:10px;right:10px;display:flex;gap:7px;pointer-events:none}.map-tools>*{pointer-events:auto}.map-search-wrap{display:flex;flex:1;max-width:620px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.map-search-wrap input{min-width:0;flex:1;border:0;padding:11px 12px;font-size:14px;outline:0}.map-search-wrap button,.map-tool-btn{border:0;background:var(--forest);color:#fff;font-weight:800;padding:0 13px}.map-tool-btn{border-radius:12px;box-shadow:var(--shadow);min-height:42px}.map-flyout{position:absolute;z-index:700;top:61px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:10px;max-height:55vh;overflow:auto}.search-results-panel{left:10px;width:min(430px,calc(100% - 20px))}.layers-panel{right:10px;width:220px;display:grid;gap:8px}.layers-panel strong{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--forest);margin-top:3px}.layers-panel label{font-size:12px;display:flex;gap:8px;align-items:center}.search-result{padding:9px;border-bottom:1px solid var(--line);cursor:pointer}.search-result:last-child{border-bottom:0}.search-result b{display:block;font-size:12px}.search-result span{display:block;font-size:10px;color:var(--muted);margin-top:2px;line-height:1.35}.search-empty{font-size:12px;color:var(--muted);padding:8px}.scout-div-icon{background:transparent;border:0}.scout-pin-symbol{width:31px;height:31px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);display:grid;place-items:center;background:#fff;border:2px solid var(--forest);box-shadow:0 2px 7px #0005}.scout-pin-symbol span{transform:rotate(45deg);font-size:15px}.search-pin-symbol{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#2c6fb7;color:#fff;border:2px solid #fff;box-shadow:0 2px 6px #0005;font-size:11px;font-weight:900}.pin-popup h4{margin:0 0 4px;font-size:13px}.pin-popup p{margin:2px 0 8px;font-size:11px}.pin-popup-actions{display:flex;gap:5px;flex-wrap:wrap}.pin-popup-actions button,.pin-popup-actions a{border:0;border-radius:7px;background:var(--forest);color:#fff;padding:6px 8px;font-size:10px;font-weight:750;text-decoration:none}.pin-list{display:grid;gap:7px}.pin-list-item{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px;text-align:left;width:100%}.pin-list-item .pin-emoji{font-size:18px}.pin-list-item b{display:block;font-size:11px}.pin-list-item span{display:block;font-size:9px;color:var(--muted)}.pin-list-item .pin-arrow{font-size:16px;color:var(--forest)}.modal-backdrop{position:fixed;inset:0;background:#0007;z-index:2490}.pin-modal{position:fixed;z-index:2500;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 24px));background:#fff;border-radius:17px;box-shadow:0 20px 60px #0006;overflow:hidden}.pin-modal-head{display:flex;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.pin-modal-head strong{display:block;color:var(--forest)}.pin-modal-head small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.pin-modal-head button{border:0;border-radius:50%;width:34px;height:34px}.pin-modal-body{padding:14px;display:grid;gap:11px}.pin-modal-body label{display:grid;gap:5px;font-size:11px;font-weight:800;color:var(--forest)}.pin-modal-body input,.pin-modal-body select,.pin-modal-body textarea{border:1px solid var(--line);border-radius:9px;padding:10px;font:inherit}.pin-modal-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.map-status.pin-instruction{z-index:900}
@media(max-width:600px){.map-tools{flex-wrap:wrap}.map-search-wrap{order:1;flex-basis:100%;max-width:none}.map-tool-btn{order:2;min-height:38px}.map-flyout{top:105px}.map-search-wrap input{font-size:13px}.map-search-wrap button{padding:0 10px}.map-status{bottom:calc(8px + var(--safe-b));max-width:calc(100% - 20px)}}

.map-search-stack{flex:1;max-width:620px;display:grid;gap:6px}.map-search-stack .map-search-wrap{max-width:none}.quick-search{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.quick-search::-webkit-scrollbar{display:none}.quick-search button{flex:none;border:1px solid #ffffff88;background:#fffffff2;color:var(--forest);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;box-shadow:0 2px 8px #0002}.search-result{display:grid;grid-template-columns:1fr auto;gap:8px}.search-result .distance{font-size:10px;color:var(--forest);font-weight:850;align-self:center;white-space:nowrap}.route-refresh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.route-refresh p{margin:0;font-size:10px;color:var(--muted)}.route-loading{font-size:11px;color:var(--muted);padding:8px 0}.route .route-distance{color:var(--forest);font-weight:750}.route .route-name{font-weight:650;color:var(--ink)}
@media(max-width:600px){.map-search-stack{flex-basis:100%;max-width:none;order:1}.quick-search{max-width:100%}.map-flyout{top:139px}}

/* v2.9 search close, commercial-airport policy, and Smart Import 2.0 */
.search-close{display:none!important;flex:0 0 40px!important;padding:0!important;background:#fff!important;color:var(--forest)!important;border-left:1px solid var(--line)!important;font-size:16px!important}.map-search-wrap.has-search .search-close{display:block!important}.airport-policy{margin-top:6px;padding:8px;border-radius:9px;background:#eef3ed;color:var(--muted);font-size:10px;line-height:1.4}.import-progress{display:flex;align-items:center;gap:8px}.import-progress:before{content:'🐢';animation:otPulse 1s ease-in-out infinite alternate}@keyframes otPulse{to{transform:translateX(4px)}}

/* v3.0 scoring and terrain screen */
.development-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.development-grid label{display:grid;gap:6px}.development-grid select{width:100%}.terrain-readout,.terrain-dossier{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f3f6ef;color:#415045;font-size:.82rem;line-height:1.45}.terrain-dossier{background:#f8faf5}@media(max-width:720px){.development-grid{grid-template-columns:1fr}}
