:root{--z-map-controls:400;--z-popup:1000;--z-sidebar:2000;--z-panel:3000;--z-modal:4000;--z-overlay:5000;--z-auth:6000;--z-toast:7000;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--font-xs:9px;--font-sm:10px;--font-md:11px;--font-base:12px;--font-lg:13px;--font-xl:14px;--font-2xl:16px;--font-3xl:18px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 2px 8px #00000026;--shadow-lg:0 4px 16px #0003;--shadow-xl:0 8px 32px #00000059;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease-in-out;--r1:#2563eb;--r2:#16a34a;--r3:#ea580c;--r4:#9333ea;--mu:#ec4899;--land:#b45309;--listing:#f43f5e;--bg:#0f1117;--surface:#1a1d27;--surface2:#252833;--border:#2e3140;--text:#e4e6ed;--text-dim:#8b8fa3;--accent:#60a5fa;--green:#22c55e;--red:#ef4444;--yellow:#facc15;--orange:#f97316;--card:var(--surface)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);flex-direction:column;height:100vh;font-family:DM Sans,sans-serif;display:flex;overflow:hidden}body.light-mode{--bg:#f5f5f5;--surface:#fff;--surface2:#e8e8e8;--border:#d0d0d0;--text:#1a1a2e;--text-dim:#666;--accent:#2563eb}.mono{font-family:JetBrains Mono,monospace}.app-row{flex:1;display:flex;overflow:hidden}.modal-overlay{z-index:9500;opacity:0;pointer-events:none;background:#00000080;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-panel{background:var(--card);border-radius:12px;width:100%;animation:.15s ease-out modalIn;overflow:hidden;box-shadow:0 8px 32px #00000059}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:16px 20px 12px;display:flex}.modal-header h3{margin:0;font-size:15px;font-weight:700}.modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 0 0 12px;font-size:22px;line-height:1}.modal-close:hover{color:var(--text)}.modal-body label{color:var(--text-dim);margin-bottom:3px;font-size:11px;display:block}.modal-body input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:14px}@keyframes modalIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.planner-overlay{z-index:9600;background:#00000080;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.planner-overlay.active{display:flex}.planner-wrap{color:#111827;background:#fff;border-radius:12px;flex-direction:column;width:85%;height:85%;font-family:Inter,sans-serif;display:flex;overflow:hidden;box-shadow:0 12px 48px #0000004d}.planner-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex}.planner-header-left{align-items:center;gap:10px;display:flex}.planner-header-dot{color:#2563eb;font-size:16px}.planner-header-title{font-size:14px;font-weight:600}.planner-header-addr{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:400px;font-size:12px;overflow:hidden}.planner-header-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0 0 0 12px;font-size:22px;line-height:1}.planner-header-close:hover{color:#111827}.planner-body{flex:1;display:flex;overflow:hidden}.planner-sidebar{background:#f8f9fb;border-right:1px solid #e5e7eb;flex-shrink:0;width:280px;padding:16px 14px 28px;overflow-y:auto}.planner-canvas{background:#eef0f3;flex:1;position:relative}.planner-canvas svg{cursor:default;width:100%;height:100%;display:block}.ps-label{color:#9ca3af;letter-spacing:.08em;text-transform:uppercase;margin-top:16px;margin-bottom:8px;font-size:10px;font-weight:600}.ps-label:first-child{margin-top:0}.ps-field{margin-bottom:10px}.ps-field label{color:#6b7280;margin-bottom:3px;font-size:11px;display:block}.ps-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ps-suffix{position:relative}.ps-suffix .sfx{color:#9ca3af;pointer-events:none;font-size:10px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.ps-input{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:5px;width:100%;height:30px;padding:0 24px 0 8px;font-family:Inter,sans-serif;font-size:11px}.ps-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1f}.ps-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ps-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ps-input{-moz-appearance:textfield}.ps-seg{margin-top:4px;display:flex}.ps-seg button{cursor:pointer;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;flex:1;height:28px;font-family:Inter,sans-serif;font-size:10px;transition:background .15s}.ps-seg button:first-child{border-radius:5px 0 0 5px}.ps-seg button:last-child{border-radius:0 5px 5px 0}.ps-seg button:not(:first-child):not(:last-child){border-left:none;border-right:none;border-radius:0}.ps-seg button.active{color:#fff;background:#1e3a5f;border-color:#1e3a5f}.ps-stats{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:12px}.ps-stat{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.ps-stat-label{color:#6b7280;font-size:10px}.ps-stat-val{color:#111827;font-size:11px;font-weight:600}.ps-share{color:#2563eb;cursor:pointer;background:0 0;border:none;margin-top:12px;padding:0;font-family:Inter,sans-serif;font-size:10px}.onboard-overlay{z-index:9000;display:none;position:fixed;inset:0}.onboard-overlay.active{display:block}.onboard-backdrop{background:#0000008c;position:absolute;inset:0}.onboard-card{background:#fff;border-radius:12px;width:420px;max-width:calc(100vw - 32px);padding:24px 24px 16px;font-size:13px;line-height:1.6;animation:.3s ease-out slideIn;position:absolute;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0000004d}.onboard-step{display:none}.onboard-step.active{display:block}.onboard-title{margin-bottom:8px;font-size:15px;font-weight:700}.onboard-body{color:#475569;margin-bottom:16px}.onboard-body .key{border-radius:4px;padding:1px 6px;font-size:12px;font-weight:600;display:inline-block}.onboard-footer{justify-content:space-between;align-items:center;display:flex}.onboard-dots{gap:6px;display:flex}.onboard-dots span{background:#cbd5e1;border-radius:50%;width:8px;height:8px}.onboard-dots span.active{background:var(--green)}.onboard-btns{gap:8px;display:flex}.onboard-btns button{cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-size:12px;font-weight:600}.onboard-skip{color:#94a3b8;background:0 0}.onboard-skip:hover{color:#475569}.onboard-next{background:var(--green);color:#fff}.onboard-next:hover{opacity:.9}@keyframes slideIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:1000;flex-direction:column;width:360px;min-width:360px;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);padding:20px 20px 14px}.sidebar-header h1{letter-spacing:-.02em;margin-bottom:2px;font-size:17px;font-weight:700}.sidebar-header h1 span{color:var(--green)}.sidebar-header p{color:var(--text-dim);font-size:11px;line-height:1.5}.sidebar-header .law-ref{color:var(--accent);opacity:.7;margin-top:4px;font-size:10px}.stat-pills{gap:8px;margin-top:6px;display:flex}.pill{text-align:center;background:var(--surface2,#f1f5f9);border-radius:6px;flex:1;padding:6px 0}.pill-val{color:var(--text,#1e293b);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;display:block}.pill-label{color:var(--text-dim,#94a3b8);margin-top:1px;font-size:9px;display:block}.header-actions{gap:8px;margin-top:8px;display:flex}.header-actions .analytics-btn,.header-actions .refresh-btn{text-align:center;flex:1;padding:3px 8px;font-size:9px}.sidebar-scroll{flex:1;padding-bottom:80px;overflow-y:auto}.accordion-header{cursor:pointer;background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.accordion-header .label{letter-spacing:.08em;color:#475569;text-transform:uppercase;font-size:11px;font-weight:700}.accordion-header .acc-right{align-items:center;gap:8px;display:flex}.accordion-header .acc-dim{color:#94a3b8;text-transform:none;letter-spacing:0;font-size:10px;font-weight:400}.accordion-header .acc-reset{color:#3b82f6;cursor:pointer;text-transform:none;letter-spacing:0;font-size:10px;font-weight:500}.accordion-header .acc-reset:hover{text-decoration:underline}.accordion-header .chevron{color:#94a3b8;font-size:10px;transition:transform .2s}.accordion-section.collapsed .accordion-header .chevron{transform:rotate(-90deg)}.accordion-section.collapsed .accordion-body{display:none}.accordion-body{padding:8px 10px}.layer-row{cursor:pointer;width:100%;color:var(--text);background:0 0;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s;display:flex}.layer-row:hover{border-color:#94a3b8}.layer-row .ldot{background:#cbd5e1;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .15s}.layer-row .lname{text-align:left;flex:1}.layer-row .lcount{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:10px}.layer-grid{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px;display:grid}.layer-cell{cursor:pointer;color:var(--text);background:0 0;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:7px 8px;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s;display:flex}.layer-cell:hover{border-color:#94a3b8}.layer-cell .ldot{background:#cbd5e1;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .15s}.layer-cell .lname{flex:1}.layer-cell .lcount{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:10px}.overlay-chips{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.chip-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:10px;padding:3px 8px;font-family:inherit;font-size:10px;transition:all .15s}.chip-btn:hover{border-color:#94a3b8}.chip-btn.active{color:#3b82f6;background:#60a5fa1a;border-color:#3b82f6}.chip-btn.active[data-layer=historicZones]{color:#000!important;background:#8b5cf6!important;border-color:#8b5cf6!important}.zoning-bar{background:#f8fafc;border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:6px 8px;display:flex}.zoning-bar .zone-sw{background:#3b82f6;border-radius:3px;flex-shrink:0;width:12px;height:12px}.zoning-bar .zone-name{font-size:11px;font-weight:500}.zoning-bar .zone-psf{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:10px}.zoning-bar .zone-expand{color:#64748b;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-family:inherit;font-size:10px}.zoning-bar .zone-expand:hover{color:#3b82f6}.sidebar-bottom{background:#fff;border-top:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;gap:6px;padding:10px 14px;display:flex}.sidebar-bottom .bottom-row{gap:6px;display:flex}.bottom-btn{cursor:pointer;color:var(--text);background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s;display:flex}.bottom-btn:hover{border-color:#94a3b8}.bottom-btn.active{background:#facc1514;border-color:#facc15}#unqualToggle.active{background:#ef444414;border-color:#ef4444}#unqualToggle:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.bottom-btn.gear{flex:none;padding:8px 10px;font-size:16px}.basemap-row{justify-content:center;gap:12px;margin-top:8px;display:flex}.basemap-link{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:0;font-family:inherit;font-size:10px;transition:color .15s}.basemap-link:hover{color:#3b82f6}.basemap-link.active{color:#3b82f6;font-weight:600}.basemap-dot{color:#94a3b8;font-size:8px}.kf-header{align-items:center;margin-bottom:6px;display:flex}.kf-label{color:var(--text);font-size:11px;font-weight:600}.kf-chips{gap:4px;margin-left:auto;display:flex}.kf-chip{cursor:pointer;border:none;border-radius:8px;padding:2px 6px;font-family:inherit;font-size:9px;font-weight:600;transition:all .15s}.kf-chip.active{color:#16a34a;background:#dcfce7}.kf-chip:not(.active){color:#94a3b8;background:#e2e8f0}.kf-chip:hover:not(.active){color:#64748b;background:#e2e8f0}.kf-block{margin-bottom:14px}.sf-list{border-top:1px solid #e2e8f0;margin-top:10px;padding-top:8px}.sf-row{color:#64748b;cursor:pointer;justify-content:space-between;align-items:center;padding:6px 0;font-size:11px;display:flex}.sf-row:hover{color:var(--text)}.sf-row .sf-chevron{color:#cbd5e1;font-size:10px;transition:transform .2s}.sf-row.expanded .sf-chevron{transform:rotate(90deg)}.sf-body{padding:4px 0 8px;display:none}.sf-row.expanded+.sf-body{display:block}.section{border-bottom:1px solid var(--border);padding:14px 20px}.section-title{text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);align-items:center;gap:6px;margin-bottom:10px;font-size:10px;font-weight:700;display:flex}.section-title .badge{background:var(--green);color:#000;letter-spacing:.03em;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700}.stats-grid{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.stats-grid.two-col{grid-template-columns:1fr 1fr}.stat-card{background:var(--surface2);border-radius:8px;padding:10px 12px}.stat-card .stat-value{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600}.stat-card .stat-value.green{color:var(--green)}.stat-card .stat-value.yellow{color:var(--yellow)}.stat-card .stat-value.red{color:var(--red)}.stat-card .stat-label{color:var(--text-dim);margin-top:2px;font-size:10px}.mode-toggle{cursor:pointer;border:1px solid var(--border);width:100%;color:var(--text);background:0 0;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:13px;transition:all .2s;display:flex}.mode-toggle:hover{border-color:var(--green);background:#22c55e0a}.mode-toggle.active{border-color:var(--green);background:#22c55e14}.mode-toggle .toggle-track{background:var(--surface2);border:1px solid var(--border);border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:all .2s;position:relative}.mode-toggle.active .toggle-track{background:var(--green);border-color:var(--green)}.mode-toggle .toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:1px;left:1px}.mode-toggle.active .toggle-thumb{left:17px}.mode-toggle .toggle-label{flex:1}.mode-toggle .toggle-count{color:var(--green);font-family:JetBrains Mono,monospace;font-size:10px}.zone-toggle{cursor:pointer;border-radius:6px;flex-wrap:nowrap;align-items:center;gap:6px;margin-bottom:1px;padding:4px 10px;transition:background .15s;display:flex}.zone-toggle:hover{background:var(--surface2)}.zone-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.zone-toggle input[type=checkbox]{display:none}.zone-toggle .check-box{border:1.5px solid var(--border);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;transition:all .15s;display:flex}.zone-toggle input:checked+.check-box{border-color:var(--accent);background:var(--accent)}.zone-toggle input:checked+.check-box:after{content:"✓";color:#fff;font-size:9px;font-weight:700}.zone-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;overflow:hidden}.zone-label small{color:var(--text-dim);font-size:9px}.zone-stat{color:var(--text-dim);white-space:nowrap;text-align:right;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px}.zone-stat small{font-size:8px}.data-count{color:var(--accent);background:#60a5fa1a;border-radius:3px;margin-left:2px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:8px}.basemap-group{gap:4px;display:flex}.basemap-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;flex:1;padding:6px 0;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s}.basemap-btn:hover{border-color:var(--accent)}.basemap-btn.active{border-color:var(--accent);color:var(--accent);background:#60a5fa26}.range-filter{margin-top:2px}.range-inputs{align-items:center;gap:6px;margin-bottom:8px;display:flex}.range-inputs input[type=number]{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;outline:none;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:12px;transition:border .15s}.range-inputs input[type=number]:focus{border-color:var(--accent)}.range-inputs .separator{color:var(--text-dim);flex-shrink:0;font-size:12px}.range-inputs .input-group{flex:1}.range-inputs .input-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-size:9px}.range-slider-track{background:#e2e8f0;border-radius:2px;height:4px;margin:0 4px 10px;position:relative}.range-slider-fill{background:var(--accent);opacity:.4;border-radius:2px;height:100%;position:absolute}.range-slider-track input[type=range]{appearance:none;pointer-events:none;background:0 0;width:100%;height:16px;margin:0;position:absolute;top:50%;transform:translateY(-50%)}.range-slider-track input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;pointer-events:auto;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0003}.range-slider-track input[type=range]::-moz-range-thumb{cursor:pointer;pointer-events:auto;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0003}input[type=range].standalone-slider{appearance:none;background:linear-gradient(#e2e8f0,#e2e8f0) 50%/100% 4px no-repeat;border-radius:2px;outline:none;width:100%;height:16px;margin:0}input[type=range].standalone-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0003}input[type=range].standalone-slider::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0003}.kf-range-labels{color:#94a3b8;justify-content:space-between;margin-bottom:6px;font-size:10px;display:flex}.kf-val-group{align-items:center;gap:2px;display:inline-flex}.kf-arrow-btn{color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f3f4f6;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;padding:0;font-size:13px;line-height:1;display:inline-flex}.kf-arrow-btn:hover{background:#e5e7eb}.filter-count{color:var(--accent);text-align:center;background:#60a5fa0f;border-radius:6px;padding:6px 0;font-family:JetBrains Mono,monospace;font-size:11px}.reset-btn{border:1px solid var(--border);width:100%;color:var(--text-dim);cursor:pointer;text-align:center;background:0 0;border-radius:6px;margin-top:6px;padding:6px;font-family:inherit;font-size:11px;transition:all .15s;display:block}.reset-btn:hover{border-color:var(--accent);color:var(--accent)}.proforma-inputs{grid-template-columns:1fr 1fr;gap:6px;display:grid}.proforma-group{flex-direction:column;gap:2px;display:flex}.proforma-group label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:9px}.proforma-group input{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;width:100%;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:11px}.proforma-group input:focus{border-color:var(--accent)}.preset-row{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.preset-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:10px;transition:all .15s}.preset-btn:hover{border-color:var(--green);color:var(--green)}.preset-btn.active{border-color:var(--green);color:var(--green);background:#22c55e1a}.pin-legend{border:1px solid var(--border);z-index:850;background:#1a1d27eb;border-radius:8px;padding:8px 10px;font-size:10px;position:absolute;bottom:10px;left:10px;box-shadow:0 2px 12px #0006}body.light-mode .pin-legend{background:#ffffffeb}.pin-legend-item{align-items:center;gap:6px;margin-bottom:2px;line-height:1.4;display:flex}.pin-legend-item:last-child{margin-bottom:0}.pin-legend-marker{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pin-legend-marker.diamond{background:#f59e0bd9;border:1.5px dashed #d97706;border-radius:0;transform:rotate(45deg)}.pin-legend-marker.circle{background:0 0;border:2px solid #666}.pin-legend-section{border-top:1px solid var(--border);margin:4px 0;padding-top:4px}.pin-legend-gradient{border-radius:4px;height:8px;margin:3px 0}.pin-legend-gradient-labels{color:var(--text-dim);justify-content:space-between;font-size:9px;display:flex}.c2-zoom-group{z-index:400;background:#fff;border:1px solid #0000001f;border-radius:6px;flex-direction:column;display:flex;position:absolute;top:10px;left:10px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.c2-zoom-btn{cursor:pointer;color:#333;background:#fff;border:none;justify-content:center;align-items:center;width:28px;height:26px;padding:0;font-size:16px;font-weight:400;line-height:1;transition:background .15s,color .15s;display:flex}.c2-zoom-btn:hover{color:#2563eb;background:#f0f4ff}.c2-zoom-btn+.c2-zoom-btn{border-top:1px solid #0000001f}.c2-draw-pencil-btn{z-index:400;cursor:pointer;color:#333;background:#fff;border:1px solid #0000001f;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex;position:absolute;top:74px;left:10px;box-shadow:0 1px 3px #0000001a}.c2-draw-pencil-btn:hover{color:#2563eb;background:#f0f4ff}.c2-draw-pencil-btn--active{color:#2563eb!important;background:#dbeafe!important;border-color:#2563eb!important}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.loading-banner{border-bottom:1px solid var(--border);color:var(--accent);text-align:center;background:#60a5fa1a;padding:10px 20px;font-size:12px;display:none}.loading-banner.active{display:block}.listings-panel{background:var(--surface);border-top:1px solid var(--border);z-index:900;height:0;min-height:0;transition:height .3s,min-height .3s;position:relative;overflow:hidden}.listings-panel.open{height:360px;min-height:200px}.listings-panel-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:2;align-items:center;gap:10px;padding:8px 20px;display:flex;position:sticky;top:0}.listings-panel-header h2{letter-spacing:-.01em;font-size:13px;font-weight:700}.listings-panel-header h2 span{color:var(--green)}.listings-panel-count{color:var(--accent);background:#60a5fa1a;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:10px}.listings-panel-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:4px 8px;font-size:18px;transition:all .15s}.listings-panel-close:hover{color:var(--text);background:var(--surface2)}.listings-panel-tab{background:var(--surface);border:1px solid var(--border);cursor:pointer;z-index:901;color:var(--text-dim);border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:8px;padding:5px 18px;font-size:11px;font-weight:600;transition:all .15s;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.listings-panel-tab:hover{color:var(--text);background:var(--surface2)}.listings-panel-tab .tab-arrow{font-size:9px}.listings-panel-tab .tab-count{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:10px}.listings-panel-resize{cursor:ns-resize;z-index:3;height:5px;position:absolute;top:0;left:0;right:0}.listings-panel-resize:hover{background:var(--accent);opacity:.3}.listings-table-wrap{height:calc(100% - 41px);overflow:auto}.listings-table-wrap::-webkit-scrollbar{width:6px;height:6px}.listings-table-wrap::-webkit-scrollbar-track{background:0 0}.listings-table-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.listings-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1300px;font-size:11px}.listings-table thead{z-index:1;position:sticky;top:0}.listings-table th{background:var(--surface2);text-align:left;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;padding:7px 10px;font-size:9px;font-weight:700;transition:color .15s;position:relative}.listings-table th:hover,.listings-table th.sorted{color:var(--accent)}.listings-table th .sort-arrow{opacity:0;margin-left:3px;font-size:8px;transition:opacity .15s;display:inline-block}.listings-table th.sorted .sort-arrow{opacity:1}.listings-table th:hover .sort-arrow{opacity:.5}.listings-table td{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;padding:6px 10px;overflow:hidden}.listings-table tr{transition:background .1s}.listings-table tbody tr:hover{background:var(--surface2);cursor:pointer}.listings-table .col-addr{width:230px}.listings-table .col-zone{width:50px}.listings-table .col-lottype{text-align:center;width:36px}.listings-table .col-price{width:95px}.listings-table .col-lot{width:75px}.listings-table .col-lotw{text-align:right;width:50px}.listings-table .col-units{width:55px}.listings-table .col-hood{width:80px}.listings-table .col-sale,.listings-table .col-ppu,.listings-table .col-profit{width:90px}.listings-table .col-margin{width:65px}.listings-table .col-slope{width:60px}.listings-table .col-dom{width:45px}.listings-table .col-new{text-align:center;width:40px}.listings-table .col-link{width:45px}.listings-table .zone-pill{letter-spacing:.03em;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.listings-table .redfin-link{color:var(--accent);font-size:10px;text-decoration:none}.listings-table .redfin-link:hover{text-decoration:underline}.listings-table .profit-pos{color:var(--green)}.listings-table .profit-neg{color:var(--red)}.new-badge{letter-spacing:.04em;color:#fff;vertical-align:middle;background:#22c55e;border-radius:9px;margin-left:4px;padding:1px 6px;font-size:9px;font-weight:700;line-height:1.4;display:inline-block}.new-badge.week{background:#0ea5e9}.pulse-ring{pointer-events:none;animation:2s ease-out infinite pulse-ring}@keyframes pulse-ring{0%{stroke-width:2px;stroke-opacity:.7}70%{stroke-width:14px;stroke-opacity:0}to{stroke-width:14px;stroke-opacity:0}}@keyframes dc-pulse{0%,to{opacity:1}50%{opacity:.3}}.marker-highlight{filter:drop-shadow(0 0 6px #3b82f6)drop-shadow(0 0 12px #3b82f6);z-index:9999!important}.beacon-ring{pointer-events:none;animation:1s ease-out infinite beaconPulse}@keyframes beaconPulse{0%{stroke-width:3px;stroke-opacity:.8;r:18}70%{stroke-width:1px;stroke-opacity:0;r:40}to{stroke-width:1px;stroke-opacity:0;r:40}}.panel-toggle{border:1px solid var(--green);width:100%;color:var(--text);cursor:pointer;background:#22c55e0f;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:flex}.panel-toggle:hover{background:#22c55e1f}.panel-toggle .toggle-count{color:var(--green);font-family:JetBrains Mono,monospace;font-size:10px}.section.collapsed .section-content{display:none}.section-title{cursor:pointer}.section-title .chevron{color:var(--text-dim);margin-left:auto;font-size:10px;transition:transform .2s}.section.collapsed .section-title .chevron{transform:rotate(-90deg)}.refresh-btn{border:1px solid var(--green);color:var(--green);cursor:pointer;white-space:nowrap;background:#22c55e1a;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:10px;transition:all .15s}.refresh-btn:hover{background:#22c55e33}.analytics-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;white-space:nowrap;background:#60a5fa1a;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:10px;text-decoration:none;transition:all .15s}.analytics-btn:hover{background:#60a5fa33}.listings-table .col-fav{text-align:center;cursor:pointer;width:32px}.fav-star{cursor:pointer;opacity:.3;-webkit-user-select:none;user-select:none;font-size:14px;transition:all .15s}.fav-star:hover{opacity:.7;transform:scale(1.2)}.fav-star.active{opacity:1;color:#facc15}.fav-toggle{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:11px;transition:all .15s;display:flex}.fav-toggle:hover:not(:disabled){border-color:var(--accent)}.fav-toggle:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;border-color:#0000}.fav-toggle.active{background:#facc1514;border-color:#facc15}.fav-toggle .fav-count{color:#facc15;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10px}.popup-fav-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;font-family:inherit;font-size:11px;transition:all .15s;display:inline-flex}.popup-fav-btn:hover{border-color:#facc15}.popup-fav-btn.active{color:#facc15;background:#facc151a;border-color:#facc15}.comp-psf-label{color:#e2e8f0;text-shadow:0 0 3px #000000e6,0 0 6px #000000b3;white-space:nowrap;text-align:center;pointer-events:none;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}@keyframes btr-pulse{0%{transform:rotate(45deg)scale(1);box-shadow:0 0 #f59e0b80}50%{transform:rotate(45deg)scale(1.15);box-shadow:0 0 12px 4px #f59e0b40}to{transform:rotate(45deg)scale(1);box-shadow:0 0 #f59e0b00}}.btr-marker-container{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.btr-pin{cursor:pointer;background:#f59e0bd9;border:1.5px dashed #d97706;width:12px;height:12px;transition:all .2s;animation:2.5s ease-in-out infinite btr-pulse;transform:rotate(45deg)}.btr-pin:hover{background:#f59e0b;animation:none;transform:rotate(45deg)scale(1.4);box-shadow:0 0 16px 6px #f59e0b66}.btr-tooltip{color:#e4e6ed!important;background:#1a1d27!important;border:1px solid #f59e0b!important;border-radius:8px!important;max-width:280px!important;padding:10px 14px!important;font-family:DM Sans,sans-serif!important;font-size:12px!important;box-shadow:0 4px 20px #0006!important}.btr-tooltip .leaflet-tooltip-top:before{border-top-color:#f59e0b!important}.btr-tooltip .tooltip-header{color:#f59e0b;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.btr-tooltip .tooltip-addr{margin-bottom:8px;font-weight:500}.btr-tooltip .tooltip-row{justify-content:space-between;padding:2px 0;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.btr-tooltip .tooltip-row .label{color:#8b8fa3}.btr-tooltip .gap-negative{color:#f87171}.draw-control{z-index:1000;flex-direction:column;gap:4px;display:flex;position:absolute;top:90px;right:10px}.draw-btn,.draw-clear-btn{cursor:pointer;color:#333;background:#fff;border:2px solid #0003;border-radius:4px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:all .15s;display:flex;box-shadow:0 1px 5px #00000026}.draw-btn:hover,.draw-clear-btn:hover{background:#f4f4f4}.draw-btn.active{color:#2563eb;background:#eff6ff;border-color:#2563eb}.draw-clear-btn{color:#ef4444;font-size:12px;font-weight:700;display:none}.draw-clear-btn.visible{display:flex}.leaflet-container.draw-mode,.leaflet-container.draw-mode .leaflet-marker-icon,.leaflet-container.draw-mode .leaflet-interactive{cursor:crosshair!important}.leaflet-editing-icon{cursor:grab;background:#2563eb;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0000004d;width:10px!important;height:10px!important;margin-top:-5px!important;margin-left:-5px!important}.leaflet-editing-icon:hover{background:#1d4ed8;transform:scale(1.3)}.leaflet-editing-icon:active{cursor:grabbing}.leaflet-edit-resize,.leaflet-marker-icon.leaflet-editing-icon[style*=opacity]{opacity:.5!important;width:8px!important;height:8px!important;margin-top:-4px!important;margin-left:-4px!important}.ghost-tooltip .leaflet-tooltip-content{color:#94a3b8;font-family:DM Mono,monospace;font-size:11px}.search-bar-container{z-index:900;width:380px;max-width:calc(100% - 270px);position:absolute;top:12px;left:12px;display:none!important}.search-icon{color:#999;flex-shrink:0;justify-content:center;align-items:center;width:24px;display:flex}.search-icon svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.search-input{color:#333;background:0 0;border:none;outline:none;width:100%;padding:10px;font-family:IBM Plex Sans,sans-serif;font-size:14px}.search-input::placeholder{color:#b0b0b0;font-weight:400}.search-clear{cursor:pointer;color:#999;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;display:none}.search-clear:hover{color:#666;background:#f0f0f0}.search-wrap.has-value .search-clear{display:flex}.search-spinner{border:2px solid #e0e0e0;border-top-color:#2563eb;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite sspin;display:none}.search-wrap.loading .search-spinner{display:block}@keyframes sspin{to{transform:rotate(360deg)}}.search-results{background:#fff;border-radius:10px;max-height:320px;display:none;position:absolute;top:50px;left:0;right:0;overflow-y:auto;box-shadow:0 4px 20px #0000002e}.search-results.visible{display:block}.search-result{cursor:pointer;color:#333;border-bottom:1px solid #f0f0f0;padding:11px 14px;font-family:IBM Plex Sans,sans-serif;font-size:13px}.search-result:last-child{border-bottom:none}.search-result:hover{background:#f7f7f7}.search-result-main{margin-bottom:2px;font-weight:500}.search-result-sub{color:#999;font-size:11px}.search-result-match{color:#2563eb;margin-top:2px;font-size:10px;font-weight:600}.off-market-marker{background:#2563eb;border:3px solid #fff;border-radius:50%;width:28px;height:28px;position:relative;box-shadow:0 2px 8px #0000004d}.off-market-marker:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pipeline-panel{z-index:900;background:#fffffff2;border:1px solid #ddd;border-radius:8px;min-width:180px;font-family:DM Sans,sans-serif;position:absolute;top:10px;right:60px;box-shadow:0 2px 12px #0000001a}.pipeline-header{text-transform:uppercase;letter-spacing:.12em;color:#94a3b8;cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;font-size:9px;font-weight:700;display:flex}.pipeline-header:hover{color:#475569}.pipeline-body-wrap{padding:0 12px 8px;display:none}.pipeline-panel.open .pipeline-body-wrap{display:block}.pipeline-total{color:#94a3b8;text-align:center;border-top:1px solid #eee;padding:4px 12px 8px;font-family:JetBrains Mono,monospace;font-size:10px;display:none}.pipeline-panel.open .pipeline-total{display:block}.pipeline-pill{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;margin-bottom:3px;padding:5px 8px;transition:all .15s;display:flex}.pipeline-pill:hover{background:#f8fafc}.pipeline-pill.active{background:#2563eb0f;border-color:#3b82f6}.pipeline-pill.muted{opacity:.4}.pipeline-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pipeline-label{color:#334155;flex:1;font-size:11px;font-weight:500}.pipeline-pill.muted .pipeline-label{color:#94a3b8}.pipeline-count{color:#94a3b8;text-align:center;background:#f1f5f9;border-radius:9px;min-width:20px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:10px}.key-toggle-btn{z-index:1100;writing-mode:vertical-lr;text-orientation:mixed;letter-spacing:.08em;text-transform:uppercase;color:#475569;cursor:pointer;background:#fff;border:1px solid #d0d0d0;border-right:none;border-radius:8px 0 0 8px;padding:14px 7px;font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:600;transition:right .3s,background .15s;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:-2px 0 8px #00000014}.key-toggle-btn:hover{color:#1e293b;background:#f8fafc}.key-toggle-btn.shifted{right:720px}.key-panel{z-index:1090;background:#fff;border-left:1px solid #d0d0d0;flex-direction:column;width:720px;height:calc(100vh - 71px);font-family:IBM Plex Sans,sans-serif;transition:right .3s;display:flex;position:fixed;top:71px;right:-720px;box-shadow:-4px 0 24px #00000014}.key-panel.open{right:0}.key-panel-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.key-panel-title{color:#1a1f26;letter-spacing:-.01em;font-size:15px;font-weight:700}.key-panel-close{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:all .15s;display:flex}.key-panel-close:hover{color:#1a1f26;border-color:#94a3b8}.key-tabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid #e2e8f0;flex-shrink:0;gap:0;padding:12px 20px 0;display:flex;overflow-x:auto}.key-tabs::-webkit-scrollbar{height:0}.key-tab{color:#94a3b8;cursor:pointer;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 10px 10px;font-family:IBM Plex Sans,sans-serif;font-size:10.5px;font-weight:600;transition:all .15s}.key-tab:hover{color:#475569}.key-tab.active{color:#1e293b;border-bottom-color:#2563eb}.key-tab-assumptions{border-radius:4px 4px 0 0;color:#fff!important;background:#e8682a!important;font-weight:700!important}.key-tab-assumptions:hover{opacity:.9}.key-tab-assumptions.active{border-bottom-color:#e8682a}.key-body{color:#334155;flex:1;padding:20px;font-size:13px;line-height:1.65;overflow-y:auto}.key-body::-webkit-scrollbar{width:5px}.key-body::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}.key-body::-webkit-scrollbar-track{background:0 0}.key-body h3{color:#1e293b;letter-spacing:-.01em;margin:0 0 8px;font-size:13px;font-weight:700}.key-body h3:not(:first-child){margin-top:20px}.key-body p{margin:0 0 12px}.key-body .key-note{color:#64748b;border-top:1px solid #f1f5f9;margin-top:16px;padding-top:12px;font-size:11px;font-style:italic}.key-stack{margin:8px 0 12px;font-family:JetBrains Mono,monospace;font-size:12px}.key-stack div{color:#475569;padding:3px 0}.key-stack .key-stack-total{color:#1e293b;border-top:1px solid #e2e8f0;margin-top:4px;padding-top:6px;font-weight:700}.key-tier{border:1px solid #e2e8f0;border-radius:6px;margin:8px 0 12px;padding:10px 12px}.key-tier-label{text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:11px;font-weight:700}.key-tier-t1 .key-tier-label{color:#14b8a6}.key-tier-t2 .key-tier-label{color:#64748b}.key-tier p{color:#475569;margin:0;font-size:12px;line-height:1.5}.da-panel{z-index:1090;background:#fff;border-left:1px solid #d0d0d0;flex-direction:column;width:320px;height:calc(100vh - 71px);font-family:IBM Plex Sans,sans-serif;transition:right .3s;display:flex;position:fixed;top:71px;right:-320px;box-shadow:-4px 0 24px #00000014}.da-panel.open{right:0}.da-panel-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px 0;display:flex}.da-panel-title{color:#1a1f26;font-size:14px;font-weight:500}.da-panel-close{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:all .15s;display:flex}.da-panel-close:hover{color:#1a1f26;border-color:#94a3b8}.da-body{color:#334155;flex:1;padding:14px 16px;font-size:13px;line-height:1.65;overflow-y:auto}.da-body::-webkit-scrollbar{width:5px}.da-body::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}.da-body::-webkit-scrollbar-track{background:0 0}.ka-section-header{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin:14px 0 8px;font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:500}.ka-section-header:first-child{margin-top:0}.key-slider-group{margin-bottom:12px}.key-slider-label{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.key-slider-label b{color:#64748b;font-size:11px;font-weight:400}.key-slider-val{color:#1e293b;text-align:right;min-width:50px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.key-stepper-row{align-items:center;gap:6px;display:flex}.key-stepper-btn{text-align:center;color:#64748b;cursor:pointer;background:#f8fafc;border:.5px solid #e2e8f0;border-radius:4px;flex-shrink:0;width:18px;height:18px;padding:0;font-family:IBM Plex Sans,sans-serif;font-size:11px;line-height:16px;transition:all .1s}.key-stepper-btn:hover{color:#1e293b;background:#f1f5f9;border-color:#94a3b8}.key-stepper-btn:active{background:#e2e8f0}.key-slider-input{appearance:none;cursor:pointer;background:#e2e8f0;border-radius:3px;outline:none;flex:1;width:100%;min-width:0;height:6px}.key-slider-input::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#2563eb;border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0000002e}.key-slider-input::-moz-range-thumb{cursor:pointer;background:#2563eb;border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0000002e}.key-slider-input:hover::-webkit-slider-thumb{background:#1d4ed8}.key-reset-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;width:100%;margin-top:16px;padding:8px;font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:600;transition:all .15s;display:block}.key-reset-btn:hover{color:#2563eb;background:#eff6ff;border-color:#2563eb}.auth-overlay{z-index:99999;visibility:visible;background:#1b3a6b;justify-content:center;align-items:center;font-family:IBM Plex Sans,DM Sans,sans-serif;display:flex;position:fixed;inset:0}.auth-card{background:#fff;border-radius:12px;width:400px;max-width:calc(100vw - 32px);overflow:hidden;box-shadow:0 8px 40px #00000040}.auth-card-header{text-align:center;padding:28px 28px 0}.auth-card-header h2{color:#1a1f26;margin:0 0 4px;font-size:20px;font-weight:700}.auth-card-header p{color:#94a3b8;margin:0;font-size:12px}.auth-form{padding:20px 28px 28px}.auth-field{margin-bottom:14px}.auth-field label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.auth-field input{color:#1a1f26;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border .15s}.auth-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.auth-btn{color:#fff;cursor:pointer;background:#1b3a6b;border:none;border-radius:8px;width:100%;margin-top:4px;padding:11px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s}.auth-btn:hover{background:#253d6b}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#dc2626;min-height:18px;margin-top:8px;font-size:12px}.auth-forgot{color:#3b82f6;cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-family:inherit;font-size:11px;display:inline-block}.auth-forgot:hover{text-decoration:underline}#authLogoutBtn{color:#94a3b8;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:3px 10px;font-family:inherit;font-size:10px;transition:all .15s}#authLogoutBtn:hover{color:#dc2626;border-color:#dc2626}.dc4{color:#1a1a1a;background:#fff;border:.5px solid #d1d5db;border-radius:12px;font-family:IBM Plex Sans,sans-serif;font-size:12px;line-height:1.35;overflow:hidden;box-shadow:0 1px 8px #00000012,0 4px 20px #0000000d}.dc4-edit-banner{color:#1e40af;background:#eff6ff;border-bottom:1px solid #bfdbfe;align-items:center;gap:10px;padding:6px 16px;font-size:10px;display:none}.dc4-editing .dc4-edit-banner{display:flex}.dc4-header{border-bottom:.5px solid #e5e5e3;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:9px 16px 8px;display:flex}.dc4-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.dc4-addr{color:#111;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:400;overflow:hidden}.dc4-header-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.dc4-tag-row{display:contents}.dc4-tag{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:2px;padding:3px 8px;font-size:9px;font-weight:600}.dc4-tag-land{color:#92400e;background:#fef3c7;border-color:#fde68a}.dc4-tag-bts{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.dc4-tag-btr{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.dc4-tag-lottype{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}.dc4-tag-powerline{color:#b45309;background:#fffbeb;border-color:#fde68a}.dc4-tag-tenant{color:#888;letter-spacing:normal;text-transform:none;background:0 0;border:none;border-radius:0;padding:0;font-size:11px;font-weight:400}.dc4-tag-tenant-active{color:#111;font-weight:500}.dc4-zone-pill{color:#1e40af;vertical-align:middle;background:#eff6ff;border:.5px solid #93c5fd;border-radius:20px;align-items:center;margin:0 2px;padding:3px 8px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.dc4-market-badge{white-space:nowrap;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:600}.dc4-market-badge-on{color:#22c55e;background:#22c55e26}.dc4-market-badge-off{color:#f59e0b;background:#f59e0b26}.dc4-addr-sep{color:#d1d5db;margin:0 3px}.dc4-dom{color:#9ca3af;font-size:13px}.dc4-seg{border:.5px solid #e5e5e3;border-radius:7px;display:inline-flex;overflow:hidden}.dc4-seg-btn{color:#888;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:400}.dc4-seg-btn:not(:last-child){border-right:.5px solid #e5e5e3}.dc4-seg-active{color:#111;background:#f3f4f6;font-weight:500}.dc4-edit-btn{cursor:pointer;color:#b45309;white-space:nowrap;background:#fffbeb;border:1px solid #f59e0b;border-radius:5px;padding:3px 10px;font-family:inherit;font-size:9px;font-weight:600}.dc4-edit-btn:hover{background:#fef3c7}.dc4-editing .dc4-edit-btn{color:#fff;background:#c2410c;border-color:#c2410c}.dc4-edited-badge{color:#92400e;background:#fef3c7;border-radius:4px;padding:3px 8px;font-size:9px;font-weight:600}.dc4-status-select{letter-spacing:.06em;text-transform:uppercase;cursor:pointer;appearance:auto;border:1px solid #e8e8e8;border-radius:4px;outline:none;padding:3px 8px;font-family:IBM Plex Sans,sans-serif;font-size:10px;font-weight:600}.dc4-pipeline{background:#fafaf8;border-bottom:.5px solid #e5e5e3;align-items:center;padding:8px 16px;display:flex}.dc4-pipeline-inner{align-items:center;width:100%;display:flex}.dc4-pl-stage{cursor:pointer;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.dc4-pl-stage:not(:last-child):after{content:"";z-index:0;background:#d1d5db;height:1.5px;position:absolute;top:5px;left:calc(50% + 6px);right:calc(6px - 50%)}.dc4-pl-stage.done:after{background:#22c55e}.dc4-pl-dot{z-index:1;background:#d1d5db;border-radius:50%;width:10px;height:10px;transition:background .15s;position:relative}.dc4-pl-stage.done .dc4-pl-dot{background:#22c55e}.dc4-pl-stage.active .dc4-pl-dot{background:#f59e0b;box-shadow:0 0 0 2px #fef3c7}.dc4-pl-lbl{color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;text-align:center;white-space:nowrap;margin-top:4px;font-size:8.5px;font-weight:500}.dc4-pl-stage.done .dc4-pl-lbl{color:#15803d}.dc4-pl-stage.active .dc4-pl-lbl{color:#b45309;font-weight:600}.dc4-hero{background:#fff;border-bottom:.5px solid #e5e5e3;display:flex}.dc4-hero-exit{background:#f0fdf4;border-right:1.5px solid #bbf7d0;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:96px;padding:10px 16px;display:flex}.dc4-hero-exit .dc4-hlbl{color:#15803d}.dc4-hero-exit .dc4-hval{color:#15803d;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.dc4-hero-metrics{flex:1;display:flex;overflow-x:auto}.dc4-hcell{border-right:.5px solid #e5e5e3;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;padding:8px 10px;display:flex}.dc4-hcell:last-child{border-right:none}.dc4-hcell-units .dc4-edit-input{width:48px;min-width:48px;max-width:60px}.dc4-hlbl{color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;text-align:center;white-space:nowrap;margin-bottom:2px;font-size:8.5px;font-weight:600}.dc4-hval{color:#1a1a1a;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;font-size:13px;font-weight:600}.dc4-hval-green{color:#15803d}.dc4-hval-amber{color:#b45309}.dc4-spread-pill{color:#15803d;background:#f0fdf4;border-radius:9px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.dc4-spread-pill.neg{color:#b91c1c;background:#fef2f2}.dc4-hero-exit-sub{color:#d97706;text-align:center;margin-top:2px;font-size:8.5px}.dc4-hero-exit .dc4-edit-input{font-variant-numeric:tabular-nums;text-align:center;color:#15803d;width:90px;font-size:13px;font-weight:600}.dc4-hcell .dc4-edit-input{font-variant-numeric:tabular-nums;text-align:center;width:110px;min-width:110px;font-size:13px;font-weight:600}.dc4-editing .dc4-hero-exit{background:#fffbf5}.dc4-editing .dc4-hero-exit .dc4-edit-input{color:#c2410c;border:1px solid #fdba74;border-radius:5px}.dc4-editing .dc4-hcell .dc4-edit-input{color:#c2410c;background:#fffbf5;border:1px solid #fdba74;border-radius:5px}.dc4-body{border-bottom:.5px solid #e5e5e3;grid-template-columns:1fr 1fr 1.1fr 1fr;display:grid}.dc4-col{border-right:.5px solid #e5e5e3;min-width:0;padding:12px 14px}.dc4-col:last-child{border-right:none}.dc4-col-title{text-transform:uppercase;letter-spacing:.12em;color:#999;align-items:center;margin-bottom:8px;font-size:10px;font-weight:500;display:flex}.dc4-col-title:after{content:"";background:#e5e5e3;flex:1;height:.5px;margin-left:8px}.dc4-col-section{margin-bottom:10px}.dc4-col-section:last-child{margin-bottom:0}.dc4-col-section-lbl{text-transform:uppercase;letter-spacing:.1em;color:#c0bdb8;margin-bottom:5px;font-size:9px;font-weight:600}.dc4-kv{border-bottom:.5px solid #f0f0ee;justify-content:space-between;align-items:baseline;gap:8px;padding:2px 0;display:flex}.dc4-kv:last-child{border-bottom:none}.dc4-kv-sep{border-top:1px solid #e5e5e3;margin:5px 0}.dc4-k{color:#777;white-space:nowrap;font-size:11px}.dc4-v{color:#1a1a1a;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:11px;font-weight:600}.dc4-v-green{color:#15803d}.dc4-v-red{color:#b91c1c}.dc4-v-amber{color:#b45309}.dc4-v-bold{font-weight:700}.dc4-sub{color:#c0bdb8;margin-left:3px;font-size:9px;font-weight:400}.dc4-computed{color:#c0bdb8;margin-left:3px;font-size:9px;font-style:italic;font-weight:400}.dc4-kpi-row{gap:6px;margin-bottom:10px;display:flex}.dc4-kpi{text-align:center;background:#fafaf8;border:.5px solid #e5e5e3;border-radius:6px;flex:1;padding:7px 8px}.dc4-kpi-lbl{text-transform:uppercase;letter-spacing:.1em;color:#9ca3af;margin-bottom:3px;font-size:8.5px;font-weight:600}.dc4-kpi-val{color:#1a1a1a;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600}.dc4-comp-table{border-collapse:collapse;width:100%;font-size:11px}.dc4-comp-table th{text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;text-align:left;border-bottom:.5px solid #e5e5e3;padding:2px 6px 2px 0;font-size:8.5px;font-weight:600}.dc4-comp-table td{font-variant-numeric:tabular-nums;color:#1a1a1a;border-bottom:.5px solid #f0f0ee;padding:4px 6px 4px 0}.dc4-comp-table tbody tr:nth-child(2n) td{background:#fafaf8}.dc4-t1-badge{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:700;display:inline-block}.dc4-t2-badge{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:700;display:inline-block}.dc4-comp-footer{color:#9ca3af;margin-top:6px;font-size:9.5px;font-style:italic}.dc4-comp-filter-bar{gap:4px;margin-bottom:6px;display:flex}.dc4-comp-filter-btn{color:#9ca3af;cursor:pointer;letter-spacing:.04em;background:#f8f8f7;border:1px solid #e5e5e3;border-radius:3px;padding:2px 7px;font-family:inherit;font-size:9px;font-weight:600}.dc4-comp-filter-btn:hover{color:#555;background:#efefed}.dc4-comp-filter-btn.on{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.dc4-waterfall{border-collapse:collapse;width:100%;font-family:JetBrains Mono,IBM Plex Sans,monospace;font-size:10.5px}.dc4-waterfall th{text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;text-align:right;padding:2px 4px;font-size:8.5px;font-weight:600}.dc4-waterfall th:first-child{text-align:left}.dc4-waterfall td{text-align:right;font-variant-numeric:tabular-nums;border-bottom:.5px solid #f5f5f3;padding:2px 4px}.dc4-waterfall td:first-child{text-align:left;color:#777;font-family:IBM Plex Sans,sans-serif;font-size:10.5px}.dc4-waterfall .wf-noi td{border-top:1px solid #e5e5e3;border-bottom:1px solid #e5e5e3;font-weight:700}.dc4-waterfall .wf-dscr td{font-weight:600}.dc4-waterfall .wf-yoc td{border-top:1px solid #e5e5e3;font-weight:700}.dc4-waterfall .wf-sub td{color:#c0bdb8;font-size:10px}.dc4-actions{background:#f5f5f5;align-items:stretch;display:flex}.dc4-actions button,.dc4-actions a{color:#888;cursor:pointer;white-space:nowrap;background:#f5f5f5;border:none;border-right:1px solid #e8e8e8;flex:1;justify-content:center;align-items:center;padding:9px 8px;font-family:IBM Plex Sans,sans-serif;font-size:10px;font-weight:500;text-decoration:none;display:flex}.dc4-actions button:last-child,.dc4-actions a:last-child{border-right:none}.dc4-actions button:hover,.dc4-actions a:hover{color:#1a1f26;background:#eee}.dc4-actions .dc4-saved-active{color:#a07810;font-weight:600}.dc4-actions .dc4-saved-active:hover{background:#eee}.dc4-actions .dc4-unqual-btn{color:#6b7280}.dc4-actions .dc4-unqual-active{color:#dc2626;background:#fef2f2;font-weight:600}.dc4-actions .dc4-unqual-active:hover{background:#fee2e2}.dc4-actions .dc4-btn-comp{color:#2a6fb5;background:#edf4fb;font-weight:600}.dc4-actions .dc4-btn-comp:hover{color:#1d4ed8;background:#dbeafe}.dc4-bottom-dd{color:#7a7870;background:#fff;border-bottom:.5px solid #e5e5e3;flex-wrap:wrap;align-items:center;gap:14px;padding:5px 16px;font-size:11px;display:flex}.dc4-bottom-dd .dc4-warn{color:#b45309;font-weight:600}.dc4-edit-input{text-align:right;background:#f0f4ff;border:1px solid #93c5fd;border-radius:4px;outline:none;width:90px;padding:2px 6px;font-family:inherit;font-size:11px;font-weight:600;transition:border-color .15s}.dc4-edit-input:hover{border-color:#60a5fa}.dc4-edit-input:focus{border:2px solid #3b82f6;padding:1px 5px}.dc4-editing .dc4-kv .dc4-edit-input{color:#c2410c;background:#fffbf5;border:1px solid #fdba74;border-radius:5px}.dc4-waterfall .dc4-edit-input{font-size:inherit;text-align:right;width:80px;font-family:inherit;font-weight:600}.dc4-editing .dc4-waterfall .dc4-edit-input{color:#c2410c;background:#fffbf5;border:1px solid #fdba74;border-radius:5px}.hdr-wrap{z-index:var(--z-sidebar);background:#fff;border-bottom:1px solid #e2e2de;flex-shrink:0;position:relative}.hdr-nav{border-bottom:1px solid #f0f0ec;align-items:center;gap:7px;height:38px;padding:0 11px;display:flex}.hdr-dot{background:#2563eb;border-radius:50%;flex-shrink:0;width:7px;height:7px}.hdr-logo{color:#111;letter-spacing:-.02em;white-space:nowrap;font-size:12px;font-weight:700}.hdr-sep{background:#e2e2de;flex-shrink:0;width:1px;height:16px}.hdr-search{flex-shrink:0;width:260px;position:relative}.hdr-search input{color:#111;background:#f7f7f5;border:1px solid #e2e2de;border-radius:6px;outline:none;width:100%;padding:5px 10px 5px 28px;font-family:inherit;font-size:11px;transition:all .15s}.hdr-search input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.hdr-search input::placeholder{color:#aaa}.hdr-si{color:#aaa;pointer-events:none;font-size:12px;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.hdr-search .search-results{z-index:1100;border-radius:8px;width:340px;box-shadow:0 6px 20px #0000001f;position:absolute!important;top:calc(100% + 5px)!important;left:0!important;right:auto!important;transform:none!important}.hdr-mkt{background:#f3f4f6;border-radius:6px;gap:1px;padding:2px;display:flex}.mkt-btn{color:#888;letter-spacing:.01em;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 8px;font-family:inherit;font-size:10px;font-weight:600;transition:all .12s}.mkt-btn.active{color:#111;background:#fff;box-shadow:0 1px 2px #00000014}.hdr-status-wrap{position:relative}.hdr-status-sel{color:#444;appearance:none;cursor:pointer;background:#fff;border:1px solid #e2e2de;border-radius:5px;outline:none;min-width:88px;padding:4px 22px 4px 8px;font-family:inherit;font-size:10px;font-weight:500}.hdr-status-sel:hover{color:#2563eb;border-color:#2563eb}.hdr-status-chev{color:#aaa;pointer-events:none;font-size:9px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.hdr-fresh{color:#aaa;white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:flex}.fresh-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.hdr-btn{color:#555;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #e2e2de;border-radius:5px;align-items:center;padding:4px 9px;font-family:inherit;font-size:10px;font-weight:500;transition:all .12s;display:inline-flex}.hdr-btn:hover{color:#2563eb;background:#f0f4ff;border-color:#2563eb}.hdr-btn-key{color:#555;letter-spacing:.06em;cursor:pointer;background:#fff;border:1px solid #e2e2de;border-radius:5px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;transition:all .12s}.hdr-btn-key:hover{color:#2563eb;background:#f0f4ff;border-color:#2563eb}.hdr-filters{background:#fafaf8;align-items:center;gap:5px;height:32px;padding:0 11px;display:flex;overflow:hidden}.hdr-count{color:#111;white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.hdr-count-dot{background:#16a34a;border-radius:50%;flex-shrink:0;width:6px;height:6px}.hdr-count-total{color:#bbb;white-space:nowrap;flex-shrink:0;font-size:10px}.hdr-pipe{color:#ddd;flex-shrink:0;font-size:12px}.hdr-chips-inner{flex:1;align-items:center;gap:5px;display:flex;overflow:hidden}.hfc{color:#6b7280;white-space:nowrap;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;flex-shrink:0;padding:3px 9px;font-family:inherit;font-size:10px;transition:all .12s}.hfc:hover{color:#2563eb;border-color:#93c5fd}.hfc-reset{color:#2563eb;cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0;font-family:inherit;font-size:10px;font-weight:500}.hfc-reset:hover{text-decoration:underline}.c2-body-row{flex:1;min-height:0;display:flex;overflow:hidden}.c2-sidebar{width:360px;min-width:360px;height:100%;z-index:var(--z-sidebar);background:#fff;border-right:1px solid #e8e8e4;flex-direction:column;flex-shrink:0;transition:width .22s,min-width .22s,border-right-color .22s;display:flex;overflow:hidden}.c2-sidebar.collapsed{border-right-color:#0000;width:0;min-width:0}.sb-close-row{background:#fff;flex-shrink:0;justify-content:flex-end;align-items:center;padding:6px 10px;display:flex}.sb-x-btn{color:#888;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e2de;border-radius:5px;align-items:center;gap:5px;padding:4px 8px;font-family:inherit;font-size:10px;font-weight:500;line-height:1;transition:all .12s;display:flex}.sb-x-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.map-menu-btn{z-index:1200;color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:7px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .12s;display:none;position:fixed;top:80px;left:12px;box-shadow:0 2px 10px #2563eb59}.map-menu-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 3px 14px #2563eb73}.map-menu-btn svg path{stroke:#fff}.c2-chip-bar{background:#fafaf8;border-bottom:1px solid #f0f0ec;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;min-height:32px;padding:5px 10px;display:flex}.c2-chip{color:#1e40af;white-space:nowrap;background:#dbeafe;border:1px solid #bfdbfe;border-radius:20px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;display:inline-flex}.c2-chip-x{cursor:pointer;opacity:.7;color:inherit;background:0 0;border:none;flex-shrink:0;padding:0;font-family:inherit;font-size:11px;line-height:1}.c2-chip-x:hover{opacity:1}.c2-chip-empty{color:#ccc;font-size:10px}.c2-chip-reset{color:#2563eb;cursor:pointer;white-space:nowrap;background:0 0;border:none;margin-left:auto;padding:0;font-family:inherit;font-size:10px;font-weight:500}.c2-chip-reset:hover{text-decoration:underline}.c2-count-strip{background:#f5f8ff;border-bottom:1px solid #e8e8e4;flex-shrink:0;justify-content:space-between;align-items:center;padding:5px 10px 5px 11px;display:flex}.c2-count-left{align-items:center;gap:5px;display:flex}.c2-count-dot{background:#16a34a;border-radius:50%;flex-shrink:0;width:6px;height:6px}.c2-count-num{color:#111;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.c2-count-label{color:#888;font-size:10px}.c2-count-total{color:#ccc;font-size:10px}.c2-accordion-body{flex:1;min-height:0;overflow-y:auto}.c2-accordion-body::-webkit-scrollbar{width:3px}.c2-accordion-body::-webkit-scrollbar-track{background:0 0}.c2-accordion-body::-webkit-scrollbar-thumb{background:#e0e0dc;border-radius:2px}.c2-acc-section:first-child .c2-acc-header{border-top:none}.c2-acc-header{cursor:pointer;z-index:2;background:#fff;border-top:1px solid #f0f0ec;border-bottom:none;justify-content:space-between;align-items:center;padding:9px 10px 9px 11px;transition:background .12s;display:flex;position:sticky;top:0}.c2-acc-header:hover{background:#fafaf8}.c2-acc-section.open .c2-acc-header{border-left:2.5px solid #2563eb;padding-left:8.5px}.c2-acc-header-left{align-items:center;gap:7px;display:flex}.c2-acc-icon{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:flex}.c2-acc-title{color:#111;font-size:12px;font-weight:600;line-height:1.2}.c2-acc-header-right{align-items:center;gap:5px;display:flex}.c2-acc-badge{color:#888;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600}.c2-acc-chevron{color:#aaa;align-items:center;font-size:9px;line-height:1;transition:transform .18s;display:flex}.c2-acc-section.open .c2-acc-chevron{color:#2563eb;transform:rotate(90deg)}.c2-acc-body{border-bottom:1px solid #e8e8e4;display:none}.c2-acc-section.open .c2-acc-body{display:block}.c2-freshness-row{flex-wrap:wrap;align-items:center;gap:10px;padding:6px 11px 4px;display:flex}.c2-fresh-item2{color:#888;align-items:center;gap:4px;font-size:10px;display:flex}.c2-fresh-dot2{border-radius:50%;flex-shrink:0;width:7px;height:7px}.c2-stat-grid{grid-template-columns:1fr 1fr;gap:6px;padding:6px 9px 10px;display:grid}.c2-stat-card{background:#fafaf8;border:1px solid #e8e8e4;border-radius:7px;padding:8px 10px}.c2-stat-label{color:#999;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:9px;font-weight:600}.c2-stat-value{color:#111;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;line-height:1.2}.c2-stat-sub{color:#bbb;margin-left:2px;font-size:9px}.c2-layers-body{padding:0}.c2-layer{align-items:center;gap:7px;padding:6px 11px;display:flex}.c2-layer:hover{background:#fafaf8}.c2-layer .ldot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.c2-layer .lname{color:#222;flex:1;font-size:11px}.c2-layer .lct{color:#aaa;text-align:right;min-width:34px;font-family:JetBrains Mono,monospace;font-size:10px}.c2-tog{cursor:pointer;border-radius:8px;flex-shrink:0;width:30px;height:16px;transition:background .15s;position:relative}.c2-tog.on{background:#2563eb}.c2-tog.off{background:#d1d5db}.c2-tok{background:#fff;border-radius:50%;width:12px;height:12px;transition:left .15s;position:absolute;top:2px}.c2-tog.on .c2-tok{left:16px}.c2-tog.off .c2-tok{left:2px}.c2-inner-sec{text-transform:uppercase;letter-spacing:.07em;color:#bbb;padding:5px 11px 3px;font-size:9px;font-weight:600}.c2-ov-area{flex-wrap:wrap;gap:4px;padding:5px 11px 9px;display:flex}.c2-ovc{color:#666;cursor:pointer;background:#fff;border:1px solid #e2e2de;border-radius:4px;padding:3px 9px;font-size:10px;transition:all .1s}.c2-ovc:hover{color:#2563eb;border-color:#93c5fd}.c2-ovc.on{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd;font-weight:500}.c2-overlays-label{text-transform:uppercase;letter-spacing:.1em;color:#aaa;margin:10px 0 5px;padding-left:2px;font-size:9px;font-weight:700}.c2-secondary-label{text-transform:uppercase;letter-spacing:.1em;color:#aaa;margin:6px 0 4px;padding-left:2px;font-size:9px;font-weight:700}.c2-filters-body{padding:0}.fi{border-bottom:.5px solid #f0f0ec;padding:5px 12px 6px}.fi-top{align-items:center;margin-bottom:4px;display:flex}.fi-lbl{color:#222;flex:1;font-size:11px;font-weight:600}.fi-chips{gap:2px;margin-right:6px;display:flex}.fchip{color:#777;cursor:pointer;background:#fff;border:1px solid #e2e2de;border-radius:20px;padding:1px 6px;font-size:9px;transition:all .1s}.fchip.on{color:#065f46;background:#d1fae5;border-color:#6ee7b7;font-weight:600}.fchip:not(.on):hover{color:#2563eb;border-color:#93c5fd}.fi-val{color:#2563eb;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.fi-track-row{align-items:center;gap:5px;display:flex}.sl-arr{color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e2e2de;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:600;line-height:1;transition:all .1s;display:flex}.sl-arr:hover{color:#2563eb;background:#f3f4f6;border-color:#2563eb}.sl-arr:active{transform:scale(.94)}.sl-track{flex:1;align-items:center;height:14px;display:flex;position:relative}.sl-bg{background:#e2e2de;border-radius:2px;height:3px;position:absolute;left:0;right:0}.sl-fill{pointer-events:none;background:#2563eb;border-radius:2px;height:3px;position:absolute}.sl-input{appearance:none;cursor:pointer;background:0 0;outline:none;width:100%;height:14px;margin:0;padding:0;position:absolute}.sl-input::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#2563eb;border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0003}.sl-input::-moz-range-thumb{cursor:pointer;background:#2563eb;border:2px solid #fff;border-radius:50%;width:14px;height:14px}.sec-fi{border-bottom:.5px solid #f0f0ec;padding:5px 12px 6px}.sec-fi-top{align-items:center;margin-bottom:4px;display:flex}.sec-fi-lbl{color:#666;flex:1;font-size:11px;font-weight:500}.sec-fi-val{color:#2563eb;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.c2-saved-card{cursor:pointer;border-bottom:1px solid #f0f0ec;padding:8px 10px;transition:background .12s}.c2-saved-card:hover{background:#fafaf8}.c2-saved-card:last-child{border-bottom:none}.c2-saved-addr{color:#111;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:11px;font-weight:500;overflow:hidden}.c2-saved-meta{color:#888;align-items:center;gap:6px;font-size:10px;display:flex}.c2-saved-empty{color:#bbb;text-align:center;padding:14px 12px;font-size:11px}.c2-fresh-strip{background:#fff;border-top:1px solid #f0f0ec;flex-shrink:0;grid-template-columns:1fr 1fr;gap:2px 12px;padding:6px 12px;display:grid}.c2-fs-item{color:#888;align-items:center;gap:4px;font-size:10px;display:flex}.c2-fs-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.c2-sidebar-bottom{background:#fff;border-top:1px solid #e2e2de;flex-shrink:0;gap:5px;padding:8px 10px;display:flex}.sb-mode-btn{color:#444;cursor:pointer;background:#fff;border:1px solid #e2e2de;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;padding:7px 6px;font-family:inherit;font-size:10px;font-weight:500;transition:all .15s;display:flex}.sb-mode-btn:hover{color:#2563eb;background:#f0f4ff;border-color:#2563eb}.sb-mode-btn.mode-active-saved{color:#92400e;background:#fef3c7;border-color:#d97706}.sb-mode-btn.mode-active-saved .sb-mode-icon{color:#d97706}.sb-mode-btn.mode-active-unqual{color:#374151;background:#f3f4f6;border-color:#6b7280}.sb-mode-btn.mode-active-unqual .sb-mode-icon{color:#6b7280}.sb-mode-icon{font-size:11px;line-height:1}.sb-mode-ct{opacity:.7;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600}.sb-btn-export{color:#444;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e2de;border-radius:6px;flex:0;align-items:center;gap:4px;padding:7px 9px;font-family:inherit;font-size:10px;font-weight:500;transition:all .12s;display:flex}.sb-btn-export:hover{color:#2563eb;background:#f0f4ff;border-color:#2563eb}.c2-basemap-seg{border:1px solid #e2e2de;border-radius:6px;margin:8px 10px 10px;display:flex;overflow:hidden}.c2-basemap-seg button{color:#888;cursor:pointer;background:#fff;border:none;border-right:1px solid #e2e2de;flex:1;padding:5px 0;font-family:inherit;font-size:10px;font-weight:500;transition:all .15s}.c2-basemap-seg button:last-child{border-right:none}.c2-basemap-seg button.active{color:#2563eb;background:#eff6ff;font-weight:600}.c2-basemap-seg button:hover:not(.active){background:#f7f7f5}body.c2-active .sidebar{display:none!important}#map{z-index:1;flex:1;height:100%}.leaflet-popup-content-wrapper{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:10px!important;box-shadow:0 8px 32px #00000080!important}.leaflet-popup-tip{background:var(--surface)!important}.leaflet-popup-content{min-width:340px;max-width:750px;margin:12px 14px!important;font-family:DM Sans,sans-serif!important}.dark-popup .leaflet-popup-content{min-width:260px}.popup-two-col{gap:14px;width:710px;max-height:75vh;display:flex}.popup-col-left,.popup-col-right{flex:1;min-width:0;padding-right:4px;overflow-y:auto}.popup-col-left::-webkit-scrollbar{width:4px}.popup-col-right::-webkit-scrollbar{width:4px}.popup-col-left::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.popup-col-right::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.popup-col-left::-webkit-scrollbar-track{background:0 0}.popup-col-right::-webkit-scrollbar-track{background:0 0}.popup-title{margin-bottom:8px;font-size:14px;font-weight:700;line-height:1.3}.popup-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;margin-bottom:8px;margin-right:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.popup-badge.comp{color:var(--accent);background:#60a5fa26}.popup-badge.listing{color:var(--listing);background:#f43f5e26}.popup-grid{grid-template-columns:repeat(4,1fr);gap:3px 10px;display:grid}.popup-grid-3{grid-template-columns:repeat(3,1fr);gap:3px 10px;display:grid}.popup-grid-2{grid-template-columns:repeat(2,1fr);gap:3px 12px;display:grid}.popup-label{color:var(--text-dim);font-size:10px;line-height:1.2}.popup-value{font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:600;line-height:1.3}.popup-divider{border-top:1px solid var(--border);grid-column:1/-1;margin:5px 0 3px}.popup-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);grid-column:1/-1;margin-top:2px;margin-bottom:2px;font-size:9px;font-weight:700}.popup-span-2{grid-column:span 2}.popup-span-3{grid-column:span 3}.popup-span-4{grid-column:span 4}.popup-profit-positive{color:var(--green)}.popup-profit-negative{color:var(--red)}.lot-layout-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border-top:1px solid var(--border);grid-column:1/-1;align-items:center;gap:6px;margin-top:4px;padding:4px 0;font-size:10px;font-weight:700;display:flex}.lot-layout-toggle:hover{color:var(--text)}.lot-layout-toggle .tri{font-size:8px;transition:transform .2s}.lot-layout-toggle.open .tri{transform:rotate(90deg)}.lot-layout-body{grid-column:1/-1;max-height:0;transition:max-height .4s ease-out;overflow:hidden}.lot-layout-body.open{max-height:2000px;transition:max-height .5s ease-in}.lot-layout-body svg{max-width:100%;margin:4px auto 0;display:block}.popup-scorecard{background:var(--surface2);border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(4,1fr);gap:2px 8px;margin-bottom:8px;padding:6px 8px;display:grid}.popup-scorecard .sc-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:9px;line-height:1.2}.popup-scorecard .sc-value{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;line-height:1.3}.popup-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:8px;display:flex}.popup-links a{color:var(--accent);white-space:nowrap;font-size:10px;text-decoration:none}.popup-links a:hover{text-decoration:underline}.popup-collapse-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);align-items:center;gap:5px;padding:2px 0;font-size:10px;font-weight:700;display:flex}.popup-collapse-toggle:hover{color:var(--text)}.popup-collapse-toggle .tri{font-size:8px;transition:transform .2s}.popup-collapse-toggle.open .tri{transform:rotate(90deg)}.popup-collapse-body{max-height:0;transition:max-height .3s ease-out;overflow:hidden}.popup-collapse-body.open{max-height:800px;transition:max-height .4s ease-in}.deal-popup .leaflet-popup-content-wrapper{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:12px!important;padding:0!important;overflow:visible!important}.deal-popup .leaflet-popup-tip{box-shadow:none!important;background:#fff!important}.deal-popup .leaflet-popup-content{min-width:780px;max-width:780px;margin:0!important;padding:0!important;font-family:IBM Plex Sans,sans-serif!important;overflow:visible!important}.deal-popup .leaflet-popup-close-button{text-align:center!important;color:#666!important;z-index:10!important;background:#fff!important;border:1px solid #ddd!important;border-radius:50%!important;width:22px!important;height:22px!important;padding:0!important;font-size:15px!important;line-height:22px!important;transition:all .15s!important;top:-10px!important;right:-10px!important;box-shadow:0 1px 4px #0000001a!important}.deal-popup .leaflet-popup-close-button:hover{color:#333!important;background:#f5f5f5!important}@media (width<=700px){.planner-wrap{border-radius:0;width:100%;height:100%}.planner-body{flex-direction:column-reverse}.planner-sidebar{border-top:1px solid #e5e7eb;border-right:none;width:100%;max-height:40vh;padding:12px 14px 16px}.planner-canvas{min-height:50vh}}@media (width<=820px){.dc4-body{grid-template-columns:1fr 1fr}.dc4-hero-metrics .dc4-hcell:nth-child(n+5){display:none}}@media (width<=768px){.search-bar-container{width:calc(100% - 160px);max-width:none;left:110px}.key-panel{width:100%;right:-100%}.key-panel.open{right:0}.key-toggle-btn{writing-mode:horizontal-tb;text-orientation:initial;border:1px solid #d0d0d0;border-radius:8px;padding:8px 14px;position:fixed;top:auto;bottom:70px;right:10px;transform:none;box-shadow:0 2px 8px #0000001f}.key-toggle-btn.shifted{bottom:70px;right:10px}.da-panel{width:100%;right:-100%}.da-panel.open{right:0}.key-slider-input::-webkit-slider-thumb{width:24px;height:24px;margin-top:-9px}.key-slider-input::-moz-range-thumb{width:24px;height:24px}.key-stepper-btn{width:28px;height:28px;font-size:14px}.key-panel-close,.da-panel-close{width:44px;height:44px;font-size:20px}.pipeline-panel{min-width:0;inset:auto 10px 62px}html,body{overscroll-behavior:none;max-width:100vw;height:100dvh;overflow-x:hidden}.app-row{max-width:100vw;position:relative;overflow-x:hidden}#map{width:100%!important}.sidebar{border-top:1px solid var(--border);z-index:1100;overscroll-behavior:contain;border-radius:16px 16px 0 0;height:56px;max-height:85vh;transition:height .3s;bottom:0;left:0;right:0;overflow:hidden;border-right:none!important;width:100%!important;min-width:0!important;position:fixed!important}.sidebar.sheet-half{height:40vh}.sidebar.sheet-full{height:85vh}.sheet-handle{cursor:grab;z-index:10;background:var(--surface);border-radius:16px 16px 0 0;flex-direction:column;align-items:center;padding:10px 16px 6px;display:flex;position:sticky;top:0}.sheet-handle .handle-bar{background:var(--text-dim);opacity:.5;border-radius:2px;width:40px;height:4px;margin-bottom:8px}.sheet-handle .peek-stats{justify-content:center;gap:16px;width:100%;font-size:13px;font-weight:500;display:flex}.sheet-handle .peek-stats .peek-value{color:var(--green);font-family:JetBrains Mono,monospace;font-weight:600}.mobile-filter-btn{z-index:1050;background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;position:fixed;top:12px;left:12px;box-shadow:0 4px 16px #0000004d;display:flex!important}.sidebar-header .header-actions{display:none}.stats-grid{grid-template-columns:1fr 1fr}.proforma-inputs{grid-template-columns:1fr}.range-slider-track input[type=range]::-webkit-slider-thumb{width:24px;height:24px}.range-slider-track input[type=range]{height:24px;top:50%;transform:translateY(-50%)}input[type=range].standalone-slider{height:24px}input[type=range].standalone-slider::-webkit-slider-thumb{width:24px;height:24px}.mode-toggle,.layer-row,.layer-cell,.panel-toggle,.fav-toggle,.reset-btn,.bottom-btn{min-height:44px}.preset-btn,.basemap-btn{min-height:40px}.listings-panel-tab{display:none!important}.leaflet-popup-content{min-width:unset!important;max-width:unset!important}.leaflet-popup-content-wrapper{max-height:50vh;max-width:calc(100vw - 40px)!important;overflow-y:auto!important}.deal-popup .leaflet-popup-close-button{width:32px!important;height:32px!important;font-size:18px!important;line-height:32px!important;top:4px!important;right:4px!important}.popup-two-col{flex-direction:column;max-height:none;width:auto!important}.popup-col-left,.popup-col-right{padding-right:0;overflow-y:visible}.popup-grid{gap:2px 8px;grid-template-columns:repeat(2,1fr)!important}.popup-grid-3{grid-template-columns:repeat(2,1fr)!important}.popup-section-label{font-size:10px}.popup-scorecard{grid-template-columns:repeat(2,1fr)!important}.popup-scorecard .sc-value{font-size:12px}.pin-legend{bottom:70px}.onboard-card{width:calc(100vw - 32px);bottom:40px}.listings-panel{z-index:1200;border-top:none;max-width:100vw;height:0;min-height:0;inset:0;overflow-x:hidden;position:fixed!important}.listings-panel.open{height:100%!important;min-height:100%!important}.listings-panel-resize{display:none}.listings-panel-close{justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:24px;display:flex}.listings-table-wrap{display:none}.mobile-cards{-webkit-overflow-scrolling:touch;max-width:100%;height:calc(100% - 45px);padding:10px 6px;display:block;overflow:hidden auto}.mobile-card{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:10px;min-width:0;max-width:100%;margin-bottom:8px;padding:10px;transition:border-color .15s;overflow:hidden}.mobile-card:active{border-color:var(--accent)}.mobile-card .card-addr{white-space:nowrap;text-overflow:ellipsis;margin-bottom:8px;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.mobile-card .card-grid{grid-template-columns:1fr 1fr;gap:4px 8px;min-width:0;font-size:12px;display:grid}.mobile-card .card-row{justify-content:space-between;gap:4px;min-width:0;display:flex}.mobile-card .card-label{color:var(--text-dim);font-size:11px}.mobile-card .card-value{text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;overflow:hidden}.mobile-card .card-margin-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:6px;padding-top:6px;display:flex}.mobile-card .card-margin{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700}.mobile-card .card-profit{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.section-title{font-size:11px}.stat-card .stat-value{font-size:18px}}@media (width>=769px){.sheet-handle{display:none}.mobile-filter-btn,.mobile-cards{display:none!important}}
