:root{--ink:#17372f;--muted:#66756f;--sand:#f4f0e5;--paper:#fffdf7;--line:#ddd5c5;--green:#2f7b55;--blue:#3678a5;--gold:#b27a22;--coral:#c5523d;--danger:#a6382d}*{box-sizing:border-box}body{margin:0;background:var(--sand);color:var(--ink);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.masthead{min-height:98px;padding:19px clamp(18px,4vw,54px);display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--paper);border-bottom:1px solid var(--line)}.masthead-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.eyebrow{margin:0 0 3px;color:#9a671a;font-size:10px;letter-spacing:.14em;font-weight:900}.masthead h1,.dialog-header h2{margin:0;font:700 clamp(25px,3vw,35px)/1.05 Georgia,serif}.subtitle,.muted{margin:6px 0 0;color:var(--muted)}.outline-button,.primary-button,.text-button{font:700 12px/1 Inter,ui-sans-serif,system-ui;text-decoration:none;cursor:pointer}.outline-button{display:inline-block;background:transparent;border:1px solid var(--ink);border-radius:999px;color:var(--ink);padding:9px 14px}.outline-button:hover{background:var(--ink);color:#fff}.research-note{padding:8px clamp(16px,4vw,54px);background:#f0e3c4;border-bottom:1px solid #ddc992;color:#5d4a24;font-size:12px}.research-note strong{font-weight:900}main{height:calc(100vh - 139px);display:grid;grid-template-columns:minmax(330px,410px) 1fr}.sidebar{min-width:0;overflow:auto;border-right:1px solid var(--line);background:var(--paper)}.filters{padding:17px 19px 14px;border-bottom:1px solid var(--line)}.filter-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.filter-heading h2{margin:0;font:700 21px Georgia,serif}.filter-heading>span{font-size:12px;color:var(--muted)}.number-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.number-filters>label,.filter-actions>label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.input-unit{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #bfc5be;border-radius:8px;padding:0 8px;color:var(--muted)}.input-unit input,.number-filters select,.filter-actions select{width:100%;min-width:0;height:36px;border:0;background:#fff;color:var(--ink);font:12px Inter,ui-sans-serif,system-ui;padding:0 5px}.number-filters select,.filter-actions select{border:1px solid #bfc5be;border-radius:8px}fieldset{display:flex;gap:6px;flex-wrap:wrap;border:0;margin:13px 0 0;padding:0}legend{width:100%;margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}fieldset label{padding:5px 8px;background:#eeeae1;border-radius:999px;font-size:11px;white-space:nowrap;cursor:pointer}input{accent-color:var(--green)}.risk-toggle{display:flex;align-items:flex-start;gap:8px;margin-top:13px;padding:9px 10px;border:1px solid #dbc99f;border-radius:9px;background:#faf3e2;font-size:11px;cursor:pointer}.risk-toggle input{margin-top:3px}.risk-toggle strong,.risk-toggle small{display:block}.risk-toggle small{margin-top:2px;color:var(--muted)}.filter-actions{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:11px}.filter-actions label{flex:1}.text-button{border:0;background:transparent;color:#08736b;padding:8px 4px}.text-button:hover{text-decoration:underline}.property-list{padding:11px}.property-card{position:relative;margin:0 0 10px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:.15s border-color,.15s box-shadow}.property-card:hover,.property-card.active{border-color:var(--green);box-shadow:0 4px 14px #17372f1b}.property-card.exception-card{border-left:4px solid var(--coral)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.rank,.region{margin:0;color:var(--muted);font-size:11px}.tenure-badge{padding:3px 6px;border-radius:5px;background:#e6f3eb;color:#246d4a;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.tenure-badge.cpr_lce{background:#e5f0f7;color:#276789}.tenure-badge.leasehold{background:#faefd8;color:#8d5e13}.property-card h3{margin:6px 0 1px;font:700 17px/1.18 Georgia,serif}.price{margin:8px 0 7px;font-size:18px;font-weight:900}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0}.facts div{display:flex;flex-direction:column}.facts dt{font-size:10px;font-weight:900}.facts dd{margin:0;color:var(--muted);font-size:10px}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.tag{border:1px solid var(--line);border-radius:5px;padding:2px 5px;color:#53665e;font-size:9px}.tag.warning{border-color:#dfaa9f;background:#fff1ed;color:#9c3e2c}.card-note{margin:9px 0 0;color:var(--muted);font-size:11px}.card-actions,.popup-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:11px}.listing-link,.popup-link{color:#08736b;font-size:12px;font-weight:800;text-decoration:none}.reject-property{margin-left:auto;color:var(--danger)}.empty-state{padding:28px 10px;text-align:center;color:var(--muted)}.map-wrap{position:relative;min-width:0}#map{width:100%;height:100%}.map-key{position:absolute;z-index:500;left:16px;bottom:22px;display:flex;gap:9px;flex-wrap:wrap;max-width:630px;padding:8px 10px;border-radius:8px;background:#fffffff2;box-shadow:0 2px 12px #0002;font-size:10px}.map-key span{display:flex;align-items:center;gap:4px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%}.dot.fee-simple{background:var(--green)}.dot.cpr{background:var(--blue)}.dot.leasehold{background:var(--gold)}.dot.exception{background:#fff;border:3px solid var(--coral);width:12px;height:12px}.dot.airport{background:var(--coral)}.map-marker{width:18px!important;height:18px!important;border:3px solid #fff;border-radius:50%;box-shadow:0 1px 6px #17372f80;background:var(--green)}.map-marker.cpr_lce{background:var(--blue)}.map-marker.leasehold{background:var(--gold)}.map-marker.exception{outline:3px solid var(--coral)}.airport-marker{width:18px!important;height:18px!important;border:3px solid #fff;border-radius:50%;box-shadow:0 1px 6px #17372f80;background:var(--coral)}.leaflet-popup-content{min-width:260px;max-width:330px}.popup-title{margin:0 0 2px;font:700 17px Georgia,serif}.popup-region{margin:0 0 8px;color:var(--muted);font-size:11px}.popup-price{margin:0 0 8px;font-size:17px;font-weight:900}.popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;margin:0 0 8px;font-size:11px}.popup-grid div{min-width:0}.popup-grid b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.popup-copy{margin:7px 0;color:var(--muted);font-size:11px}.leaflet-tooltip.property-tooltip{max-width:340px;padding:10px 12px;border:0;border-radius:8px;background:#173c34;color:#fff;box-shadow:0 5px 16px #0004}.leaflet-tooltip.property-tooltip:before{border-top-color:#173c34}.tooltip-title{margin-bottom:5px;font:700 14px Georgia,serif}.tooltip-grid{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;font-size:11px}.tooltip-grid b{color:#c8ded5}.tooltip-warning{margin-top:5px;color:#ffd5ca;font-size:10px;font-weight:800}.dialog{width:min(620px,calc(100vw - 28px));max-height:min(90vh,850px);padding:0;border:0;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #09251d66}.dialog::backdrop{background:#09251d99;backdrop-filter:blur(2px)}.wide-dialog{width:min(980px,calc(100vw - 28px))}.dialog-shell{padding:clamp(18px,3vw,29px)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:29px}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:25px;line-height:1;cursor:pointer}.dialog-field{display:flex;flex-direction:column;gap:6px;margin-top:17px;font-size:12px;font-weight:800}.dialog-field select,.dialog-field textarea,.deactivated-tools input,.deactivated-tools select{width:100%;padding:9px 10px;border:1px solid #b9c2bb;border-radius:8px;background:#fff;color:var(--ink);font:inherit}.dialog-field textarea{min-height:110px;resize:vertical}.dialog-field small{align-self:flex-end;color:var(--muted);font-weight:400}.status{min-height:26px;color:var(--muted);font-size:12px}.status.error{padding:8px;border-radius:7px;background:#f9e9e5;color:var(--danger)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:14px;border-top:1px solid var(--line)}.primary-button{border:0;border-radius:999px;background:var(--ink);color:#fff;padding:10px 15px}.primary-button:disabled{opacity:.5;cursor:not-allowed}.danger-button{background:var(--danger)}.deactivated-tools{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:17px 0}.deactivated-tools label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.deactivated-list{display:grid;gap:11px;max-height:58vh;overflow:auto;padding-right:4px}.deactivated-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.deactivated-card h3{margin:2px 0;font:700 18px Georgia,serif}.deactivated-card .summary{margin:5px 0 11px;color:var(--muted)}.deactivated-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0}.deactivated-card dt{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.deactivated-card dd{margin:2px 0;font-size:11px}.rejection-comment{padding:8px 10px;border-left:3px solid var(--danger);background:#faeeeb;white-space:pre-wrap}.deactivated-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:11px}.deactivated-actions a{color:#08736b;font-size:11px;font-weight:800;text-decoration:none}.deactivated-actions .primary-button{margin-left:auto}
@media(max-width:800px){.masthead{min-height:0;padding:13px 15px;align-items:flex-start}.masthead-actions{max-width:190px}.masthead h1{font-size:25px}.subtitle{font-size:11px}.outline-button{padding:7px 10px;font-size:11px}.research-note{padding:7px 15px}main{height:auto;display:flex;flex-direction:column}.map-wrap{height:52vh;order:-1}.sidebar{border:0}.filters{padding:13px 15px}.property-list{padding:9px 11px}.map-key{left:9px;bottom:12px;max-width:310px}.deactivated-tools{grid-template-columns:1fr}.deactivated-card dl{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.number-filters{grid-template-columns:1fr}.masthead-actions{max-width:155px}.masthead-actions .outline-button{width:100%;text-align:center}.research-note{font-size:10px}.facts{font-size:9px}}
.card-details{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;margin:10px 0 0;padding-top:9px;border-top:1px solid #eee9df}.card-details div{min-width:0}.card-details dt{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.card-details dd{margin:1px 0;font-size:10px;overflow-wrap:anywhere}
.leaflet-control-layers-toggle{width:auto!important;min-width:58px;height:34px!important;padding:0 10px;display:flex;align-items:center;justify-content:center;background-image:none!important;color:var(--ink);font:800 11px/1 Inter,ui-sans-serif,system-ui;text-decoration:none}.leaflet-control-layers-toggle::after{content:"Layers"}
.curation-reasons{display:block;margin:17px 0 0;padding:13px;border:1px solid var(--line);border-radius:10px}.curation-reasons legend{width:auto;padding:0 5px}.curation-reason-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.curation-reason-options label{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid #e1dad0;border-radius:8px;background:#fff;font-size:11px;font-weight:700;white-space:normal}.curation-reason-options input{flex:0 0 auto;margin-top:3px}.rejection-reason-list{margin:0;padding-left:17px}.rejection-reason-list li+li{margin-top:3px}@media(max-width:620px){.curation-reason-options{grid-template-columns:1fr}}
.dot.rejected{width:12px;height:12px;background:#fff;border:3px solid var(--danger)}.map-marker.rejected{width:23px!important;height:23px!important;background:#fff;border:4px solid var(--danger);border-radius:50%;outline:0;box-shadow:0 1px 7px #6c1d1799}.map-marker.rejected::after{content:"×";position:absolute;inset:-7px 0 0;text-align:center;color:var(--danger);font:900 20px/23px Inter,sans-serif}.property-card.previously-rejected{border:2px solid var(--danger);background:#fff9f7}.property-card.previously-rejected .rank,.rejected-status,.tooltip-rejected{color:var(--danger);font-weight:900}.property-card.previously-rejected .tenure-badge.rejected{background:#f7ded8;color:var(--danger)}.tooltip-rejected{margin-top:5px;color:#ffd5ca;font-size:10px}
