*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:#203330;font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;background:white;border:1px solid #dbe3df;border-radius:7px;padding:9px 14px;color:#264c41}button:hover{background:#edf5ef}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a3c9ad;outline-offset:2px}a{color:#285d4b;text-decoration:none}a:hover{text-decoration:underline}.rail{width:204px;background:#123b32;color:#dce9df;position:fixed;inset:0 auto 0 0;padding:30px 20px}.brand{font-size:28px;letter-spacing:-3px;color:white;border:1px solid #72917d;border-radius:12px;width:52px;height:52px;text-align:center;line-height:50px}.brand span{color:#bad2a6}.rail-label{font-size:9px;letter-spacing:1.7px;margin:20px 0 42px}.nav{background:transparent;border:0;color:#b9d0c3;width:100%;text-align:left;margin:5px 0;padding:13px 10px;font-size:15px}.nav span{font-size:13px;margin-left:7px}.nav.active{background:#2c5448;color:#fff}.rail-bottom{position:absolute;bottom:28px;font-size:9px;letter-spacing:1px;line-height:2}.rail-bottom strong{font-size:12px;letter-spacing:0}.rail-bottom p{opacity:.6}main{margin-left:204px;padding:0 34px 25px;max-width:1900px}header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e7e4;font-size:11px}.eyebrow{font-size:10px;letter-spacing:1.5px}.eyebrow span{margin:0 10px;color:#9aa79f}.heading{display:flex;justify-content:space-between;align-items:center;padding:29px 0 25px}h1{font-size:32px;font-weight:550;letter-spacing:-1.1px;margin:0 0 7px}.heading p{margin:0;color:#6d7d76}.heading button{background:#214c3f;color:white}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dde5df;border-radius:10px;background:white;margin-bottom:22px}.metrics>div{padding:18px 22px;border-right:1px solid #e6ebe7}.metrics>div:last-child{border:0}.metrics span{font-size:9px;letter-spacing:1.3px;color:#75837b;display:block}.metrics strong{display:block;font-size:30px;font-weight:500;margin:4px 0}.metrics small{font-size:10px;color:#7b8880}.notice{display:flex;align-items:flex-start;gap:10px;background:#edf2e9;border:1px solid #dde6d7;border-radius:7px;padding:12px 15px;font-size:11px;margin-bottom:22px}.notice b{display:block;font-weight:600}.notice span:not(.dot){color:#6b7765}.swipe-help{display:none;margin-top:3px;font-size:10px}.dot{width:6px;height:6px;flex-shrink:0;background:#6d8e57;border-radius:50%;margin-top:6px}.toolbar{display:flex;gap:9px;flex-wrap:wrap}.toolbar select,.results-head select{background:white;border:1px solid #dce3df;padding:9px;border-radius:6px;font-size:12px;color:#465c50}.search{display:flex;align-items:center;background:white;border:1px solid #dce3df;border-radius:6px;flex:1;min-width:210px}.search span{font-size:24px;margin:0 10px}.search input{border:0;width:100%;padding:9px;background:none;outline:none;font-size:12px}.results-head{display:flex;justify-content:space-between;align-items:center;margin:17px 0 12px;font-size:11px;color:#738276}.results-head select{border:0;background:transparent;padding:3px;font-size:11px}.workspace{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1.1fr);gap:18px;align-items:start}.cards{display:grid;gap:11px;max-height:670px;overflow:auto;padding:0 3px 3px 0}.card{background:white;border:1px solid #e0e7e1;border-radius:9px;padding:18px;transition:border-color .2s,transform .14s ease,box-shadow .14s ease;position:relative;overflow:hidden;touch-action:pan-y}.card:hover{border-color:#8cac95}.card.is-shortlisted{border-color:#9dbb9f;box-shadow:inset 3px 0 0 #6e946f}.card.is-dismissed{opacity:.68}.card.swiping{transition:none;z-index:2}.card.swiping::before,.card.swiping::after{position:absolute;top:14px;font-size:10px;font-weight:700;letter-spacing:1px;padding:6px 9px;border-radius:5px;pointer-events:none;z-index:4}.card.swipe-right::before{content:'SHORTLIST';left:13px;background:#e3f0e2;color:#35633c}.card.swipe-left::after{content:'DISMISS';right:13px;background:#f2e9e6;color:#8a5147}.card-top{display:flex;justify-content:space-between;gap:10px}.city{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:#7c897d}.card h2{font-size:17px;font-weight:600;margin:5px 0 4px;line-height:1.35}.card-title{padding:0;border:0;background:none;text-align:left;color:#233d31}.card-title:hover{background:none;text-decoration:underline}.save{border:0;padding:0;width:27px;height:27px;font-size:23px}.address{font-size:11px;color:#7d877e;margin:0 0 14px}.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{font-size:9px;padding:3px 7px;border-radius:4px;background:#edf3ed;color:#54704e}.tag.amber{color:#8c6e3b;background:#f8f1e4}.tag.gray{color:#7b7d7c;background:#f1f2f2}.tag.personal{background:#e4efe5;color:#3d6540;font-weight:600}.card-bottom{margin-top:15px;border-top:1px solid #edf0ed;padding-top:12px;display:flex;justify-content:space-between;color:#697b6b;font-size:11px}.card-bottom b{color:#344e3b;font-weight:500}.map-panel{position:sticky;top:15px;border:1px solid #dce3dc;background:white;border-radius:9px;overflow:hidden}.map-title{padding:12px 15px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.map-title button{font-size:10px;padding:4px 8px}#map{height:554px;background:#e8ede4}.map-note{font-size:10px;padding:13px;color:#7a8375}.map-fallback{padding:25px}.leaflet-container{font-family:inherit}.empty{padding:45px;text-align:center;color:#6b7d6d;border:1px dashed #c7d3c8;border-radius:8px}footer{font-size:10px;color:#849080;margin-top:24px;max-width:920px}footer span{display:block;margin-top:6px}dialog{border:0;border-radius:14px;padding:25px;width:min(650px,95vw);color:#264032;box-shadow:0 24px 90px #123b3244;max-height:90vh}dialog::backdrop{background:#163c3266;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.3px;color:#8b998a}.dialog-top button{border:0}dialog h2{font-size:26px;font-weight:550;line-height:1.3;margin:15px 0 5px}dialog h3{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin:24px 0 6px}dialog p{font-size:13px;color:#657760}dialog .facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f4f6f2;border-radius:8px;padding:15px;margin:20px 0}.facts small{display:block;color:#83917a;font-size:10px}.facts b{font-size:13px;font-weight:500}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.actions a{border:1px solid #dae3d7;border-radius:7px;padding:8px 12px;font-size:12px}.secondary-action{background:#fafafa;color:#6c625e}textarea{width:100%;height:95px;border:1px solid #d9e3d5;border-radius:7px;padding:12px;resize:vertical}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#204b39;color:white;padding:12px 20px;border-radius:7px;display:none;z-index:2000}.list-only{grid-template-columns:1fr}.list-only .map-panel{display:none}.list-only .cards{grid-template-columns:repeat(2,1fr);max-height:none}.badge-count{font-size:11px;margin:6px;color:#879c7c}@media(min-width:1600px){.workspace{grid-template-columns:1.15fr 1fr}.cards{grid-template-columns:1fr 1fr}.card{min-height:195px}}@media(max-width:1100px){.rail{width:165px;padding:24px 14px}main{margin-left:165px;padding:0 22px 20px}.metrics>div{padding:16px 13px}.heading h1{font-size:27px}.workspace{grid-template-columns:1fr 1fr}.metrics small{font-size:9px}.map-panel #map{height:510px}}@media(max-width:780px){.rail{position:static;width:auto;padding:12px 18px;display:flex;align-items:center;gap:12px}.brand{height:36px;width:36px;font-size:22px;line-height:34px;flex-shrink:0}.rail-label,.rail-bottom{display:none}.nav{width:auto;margin:0;font-size:12px;padding:8px}.nav span{font-size:11px}main{margin:0;padding:0 17px 20px}header{height:54px}.eyebrow{font-size:8px;letter-spacing:1px}header a{font-size:9px}.heading{padding:24px 0;gap:12px}.heading h1{font-size:25px}.heading p{font-size:11px}.heading button{font-size:10px;white-space:nowrap;padding:8px}.metrics{grid-template-columns:1fr 1fr}.metrics>div{border-bottom:1px solid #e6ebe7}.metrics span{font-size:8px}.metrics strong{font-size:24px}.workspace{display:flex;flex-direction:column-reverse}.map-panel{position:static;width:100%}.map-panel #map{height:300px}.cards{max-height:none;width:100%;overflow-x:hidden}.card{will-change:transform}.swipe-help{display:block}.list-only .cards{grid-template-columns:1fr}.toolbar select{flex:1;font-size:11px}.search{flex-basis:100%}.list-only{display:block}}
