*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0a0a0b;--bg-secondary: #131315;--bg-card: #17171a;--bg-input: #1c1c20;--border: #292a2e;--text-primary: #eae8e4;--text-secondary: #9c9892;--text-muted: #8a8680;--accent: #e0a33c;--accent-hover: #f0b455;--green: #5cbd6a;--red: #e0645c;--yellow: #d9a441;--orange: #e2793f;--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}html,body,#root{height:100%;width:100%;overflow:hidden}#root{display:flex;flex-direction:column;overflow:auto}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.login-container{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-primary)}.login-box{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:40px;width:380px}.login-box h1{font-size:22px;font-weight:700;margin-bottom:6px}.login-box p{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.login-box label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.login-box input{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:var(--font);margin-bottom:16px;outline:none;transition:border-color .15s}.login-box input:focus{border-color:var(--accent)}.login-box button{width:100%;padding:10px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;transition:background .15s}.login-box button:hover{background:var(--accent-hover)}.login-error{color:var(--red);font-size:13px;margin-bottom:12px}.app-layout{display:flex;min-height:100vh;height:100%}.app-content{flex:1;overflow-y:auto;min-height:100vh}.app-sidebar{width:256px;min-height:100vh;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .2s ease;overflow-y:auto;overflow-x:hidden;flex-shrink:0}.app-sidebar.collapsed{width:64px}.sidebar-brand{padding:16px 20px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden}.sidebar-brand-link{font-size:18px;font-weight:700;color:var(--accent);text-decoration:none}.sidebar-brand-link:hover{text-decoration:none;color:var(--accent-hover)}.app-sidebar.collapsed .sidebar-brand{padding:16px 12px;text-align:center}.sidebar-nav{flex:1;padding:8px 0}.sidebar-group{margin-bottom:4px}.sidebar-group-label{padding:12px 20px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;overflow:hidden}.sidebar-link{display:flex;align-items:center;padding:8px 20px;color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:500;border-left:3px solid transparent;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden}.sidebar-link:hover{background:var(--bg-input);color:var(--text-primary);text-decoration:none}.sidebar-link.active{border-left-color:var(--accent);background:var(--bg-input);color:var(--text-primary);font-weight:600}.app-sidebar.collapsed .sidebar-link{padding:8px 0;justify-content:center;border-left:3px solid transparent}.app-sidebar.collapsed .sidebar-link .sidebar-link-text{display:none}.app-sidebar.collapsed .sidebar-link.active{border-left-color:var(--accent)}.sidebar-link-glyph{display:none;min-width:28px;height:22px;align-items:center;justify-content:center;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.04em;background:var(--bg-input);color:var(--text-secondary)}.sidebar-link.active .sidebar-link-glyph{background:var(--accent);color:#fff}.app-sidebar.collapsed .sidebar-link-glyph{display:inline-flex}.app-sidebar.collapsed .sidebar-group-toggle{justify-content:center;padding:10px 0 4px}.app-sidebar.collapsed .sidebar-group-toggle .sidebar-link-text{display:none}.sidebar-group-sign{font-size:13px;line-height:1}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.sidebar-logout-btn{width:100%;padding:8px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:var(--font);transition:border-color .15s,color .15s}.sidebar-logout-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.sidebar-collapse-btn{width:100%;padding:8px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font);transition:background .15s,color .15s}.sidebar-collapse-btn:hover{background:var(--bg-input);color:var(--text-primary)}.mobile-nav-bar{display:none;position:sticky;top:0;z-index:100;height:48px;background:var(--bg-card);border-bottom:1px solid var(--border);align-items:center;padding:0 16px}.mobile-nav-bar .hamburger{background:none;border:none;color:var(--text-primary);font-size:24px;cursor:pointer;padding:4px 8px}.mobile-nav-bar .brand{flex:1;text-align:center;font-weight:700;color:var(--accent)}.mobile-nav-spacer{width:40px}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080}.mobile-nav-panel{position:relative;width:280px;background:var(--bg-card);border-right:1px solid var(--border);overflow-y:auto;z-index:1;display:flex;flex-direction:column}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.mobile-nav-brand{font-size:18px;font-weight:700;color:var(--accent)}.mobile-nav-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:4px 8px;line-height:1}.mobile-nav-close:hover{color:var(--text-primary)}.mobile-nav-links{flex:1;padding:8px 0;overflow-y:auto}.mobile-nav-footer{padding:12px 16px;border-top:1px solid var(--border)}@media (max-width: 767px){.app-sidebar{display:none!important}.mobile-nav-bar{display:flex}.app-layout{flex-direction:column}.app-content{min-height:0}}@media (min-width: 768px) and (max-width: 1023px){.mobile-nav-bar{display:none!important}.app-sidebar{width:64px}.app-sidebar .sidebar-group-label{display:none}.app-sidebar .sidebar-link{padding:8px 0;justify-content:center;border-left:3px solid transparent}.app-sidebar .sidebar-link .sidebar-link-text{display:none}.app-sidebar .sidebar-link-glyph{display:inline-flex}.app-sidebar .sidebar-group-toggle{justify-content:center;padding:10px 0 4px}.app-sidebar .sidebar-group-toggle .sidebar-link-text{display:none}.app-sidebar .sidebar-brand{padding:16px 12px;text-align:center}.app-sidebar .sidebar-brand-link{font-size:14px}.app-sidebar .sidebar-collapse-btn{display:none}}@media (min-width: 1024px){.mobile-nav-bar{display:none!important}}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.stat-card .label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}.stat-card .value{font-size:22px;font-weight:700;letter-spacing:-.02em}.stat-card .change{font-size:12px;font-weight:500;margin-top:2px}.stat-card .change.positive{color:var(--green)}.stat-card .change.negative{color:var(--red)}.chart-container{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden;min-height:300px}.patterns-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;max-height:200px;overflow-y:auto}.patterns-panel h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:10px}.pattern-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.pattern-item:last-child{border-bottom:none}.pattern-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pattern-dot.bullish{background:var(--green)}.pattern-dot.bearish{background:var(--red)}.pattern-dot.neutral{background:var(--yellow)}.pattern-dates{color:var(--text-muted);font-size:11px}.compare-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.compare-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-input);border-radius:6px;font-size:12px}.compare-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.compare-item .remove{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;width:auto;padding:0}.compare-item .remove:hover{color:var(--red)}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.range-inputs{display:flex;gap:8px}.range-inputs input{width:50%}.listings-table-wrap{flex:1;overflow:auto}.listings-table{width:100%;border-collapse:collapse;font-size:13px}.listings-table th{position:sticky;top:0;background:var(--bg-secondary);text-align:left;padding:8px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.listings-table td{padding:10px;border-bottom:1px solid var(--border);color:var(--text-primary);white-space:nowrap}.listings-table tr.clickable{cursor:pointer;transition:background .1s}.listings-table tr.clickable:hover{background:var(--bg-input)}.listings-table .empty-row{text-align:center;color:var(--text-muted);padding:32px}.listings-skeleton{display:flex;flex-direction:column;gap:8px}.skeleton-row{height:40px;background:var(--bg-card);border-radius:6px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 0;flex-shrink:0;font-size:13px;color:var(--text-secondary)}.pagination button{padding:6px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:var(--font);cursor:pointer;transition:background .15s}.pagination button:hover:not(:disabled){background:var(--bg-input);border-color:var(--text-secondary)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.listing-detail{max-width:960px;margin:0 auto;padding:24px 20px;flex:1;min-height:0;overflow-y:auto;width:100%}.breadcrumb{font-size:13px;color:var(--text-muted);margin-bottom:16px}.breadcrumb a{color:var(--accent)}.breadcrumb .sep{margin:0 6px;color:var(--border)}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:24px}.detail-header h1{font-size:24px;font-weight:700;letter-spacing:-.02em}.detail-subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px}.detail-price-block{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.detail-price{font-size:28px;font-weight:700}.detail-ppm2{font-size:14px;color:var(--text-secondary)}.operation-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.operation-badge.sale{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.operation-badge.rent{background:#eab30826;color:var(--yellow)}.spec-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.spec-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 20px;display:flex;flex-direction:column;align-items:center;min-width:100px;flex:1}.spec-value{font-size:18px;font-weight:700}.spec-label{font-size:11px;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.04em}.price-context{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:24px}.price-context h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:12px}.context-median{font-size:13px;font-weight:600}.comparables-section{margin-bottom:24px}.comparables-section h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:12px}.comparable-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:3px;font-size:11px;font-weight:600}.comparable-badge.above{background:#ef444426;color:var(--red)}.comparable-badge.below{background:#22c55e26;color:var(--green)}.raw-data-section{margin-top:16px}.toggle-raw{padding:6px 14px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:12px;font-family:var(--font);cursor:pointer}.toggle-raw:hover{border-color:var(--text-secondary);color:var(--text-primary)}.raw-data{margin-top:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px;font-size:13px;color:var(--text-secondary);line-height:1.8}.raw-data pre{margin-top:12px;padding:12px;background:var(--bg-primary);border-radius:6px;overflow-x:auto;font-size:12px;white-space:pre-wrap;word-break:break-all}.map-page{display:grid;grid-template-columns:260px 1fr;flex:1;min-height:0;overflow:hidden}.map-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px;overflow-y:auto}.map-sidebar h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.map-sidebar label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:4px;margin-top:10px}.map-sidebar select,.map-sidebar input{width:100%;padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:var(--font);outline:none}.map-sidebar select:focus,.map-sidebar input:focus{border-color:var(--accent)}.map-main{position:relative;overflow:hidden}.map-container{height:100%!important;width:100%!important;background:var(--bg-primary)}.map-stats{margin-top:16px;font-size:12px;color:var(--text-secondary)}.map-legend{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.map-legend h4{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.map-popup{font-family:var(--font);min-width:180px}.map-popup-neighborhood{font-weight:600;font-size:14px;margin-bottom:4px}.map-popup-price{font-size:18px;font-weight:700;margin-bottom:6px}.map-popup-details{display:flex;gap:10px;font-size:12px;color:var(--text-muted);margin-bottom:8px}.map-popup-link{font-size:12px;font-weight:600}.polygon-results{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.polygon-tabs{display:flex;gap:2px;margin-bottom:10px}.polygon-tab{flex:1;padding:6px 4px;font-size:10px;font-weight:600;text-transform:uppercase;background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .15s}.polygon-tab:first-child{border-radius:4px 0 0 4px}.polygon-tab:last-child{border-radius:0 4px 4px 0}.polygon-tab:not(:first-child):not(:last-child){border-radius:0}.polygon-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.polygon-listing-list{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.polygon-listing-card{display:block;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--text-primary);transition:border-color .15s}.polygon-listing-card:hover{border-color:var(--accent)}.plc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.plc-price{font-weight:700;font-size:14px}.plc-type{font-size:10px;text-transform:uppercase;color:var(--text-muted);background:var(--bg-secondary);padding:2px 6px;border-radius:3px}.plc-mid{display:flex;gap:10px;font-size:11px;color:var(--text-secondary);margin-bottom:2px}.plc-bottom{font-size:11px;color:var(--text-muted)}.polygon-analysis{max-height:360px;overflow-y:auto}.pa-section{padding:8px 0;border-bottom:1px solid var(--border)}.pa-section:last-child{border-bottom:none}.pa-section h4{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px}.pa-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:3px 0}.pa-row span{color:var(--text-secondary)}.pa-row strong{color:var(--text-primary)}.leaflet-container{background:var(--bg-primary)!important;isolation:isolate}.leaflet-tile-pane .map-tiles-dark{filter:invert(100%) hue-rotate(180deg) brightness(95%) contrast(90%)}.leaflet-popup-content-wrapper{background:var(--bg-card)!important;color:var(--text-primary)!important;border-radius:10px!important;border:1px solid var(--border)!important;box-shadow:0 4px 12px #0000004d!important}.leaflet-popup-tip{background:var(--bg-card)!important;border:1px solid var(--border)!important}.leaflet-popup-close-button{color:var(--text-secondary)!important}.leaflet-control-zoom a{background:var(--bg-card)!important;color:var(--text-primary)!important;border-color:var(--border)!important}.leaflet-control-attribution{background:color-mix(in srgb,var(--bg-primary) 80%,transparent)!important;color:var(--text-muted)!important}.leaflet-control-attribution a{color:var(--accent)!important}.custom-pin{background:transparent!important;border:none!important}.valuation-page{display:grid;grid-template-columns:280px 1fr;flex:1;min-height:0;overflow:hidden}.valuation-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px;overflow-y:auto}.valuation-sidebar h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.valuation-sidebar label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:4px;margin-top:10px}.valuation-sidebar select,.valuation-sidebar input{width:100%;padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:var(--font);outline:none}.valuation-sidebar button{width:100%;padding:8px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;margin-top:16px}.valuation-sidebar button:hover{background:var(--accent-hover)}.valuation-sidebar button:disabled{opacity:.5;cursor:not-allowed}.valuation-results{padding:24px;overflow-y:auto}.valuation-hero{text-align:center;padding:32px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:24px}.valuation-hero-price{font-size:42px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.valuation-hero-ppm2{font-size:16px;color:var(--text-secondary);margin-top:8px}.valuation-hero-range{font-size:14px;color:var(--text-muted);margin-top:8px}.valuation-comps{margin-top:24px}.valuation-comps h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:12px}.valuation-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:24px}.valuation-card h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:10px}.valuation-main{display:flex;align-items:center;gap:12px;margin-bottom:6px}.valuation-price{font-size:28px;font-weight:700}.valuation-ppm2{font-size:14px;color:var(--text-secondary)}.valuation-range{font-size:13px;color:var(--text-muted);margin-top:4px}.valuation-delta{font-size:13px;font-weight:600;margin-top:6px}.valuation-delta.above{color:var(--green)}.valuation-delta.below{color:var(--red)}.valuation-comps-count{font-size:12px;color:var(--text-muted);margin-top:6px}.valuation-loading{font-size:13px;color:var(--text-muted)}.confidence-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.confidence-high{background:#22c55e26;color:var(--green)}.confidence-medium{background:#eab30826;color:var(--yellow)}.confidence-low{background:#ef444426;color:var(--red)}.confidence-none{background:#6b728026;color:var(--text-muted)}.compete-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700}.compete-badge.md{font-size:24px;padding:4px 16px;border-radius:8px}.compete-badge.neutral{background:#6b728026;color:var(--text-muted)}.compete-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:24px}.compete-card h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:10px}.compete-main{display:flex;align-items:baseline;gap:4px;margin-bottom:16px}.compete-label{font-size:14px;color:var(--text-muted)}.compete-breakdown{display:flex;flex-direction:column;gap:10px}.compete-metric{display:flex;align-items:center;justify-content:space-between;font-size:13px}.compete-metric-label{color:var(--text-secondary)}.compete-metric-value{font-weight:600}.compete-bar-bg{width:100px;height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.compete-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.report-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:24px}.report-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:24px}.report-section h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:12px}.report-zones-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-chart-placeholder{padding:16px 0}.mini-chart{display:flex;align-items:flex-end;gap:4px;height:120px}.mini-bar{flex:1;background:var(--accent);border-radius:3px 3px 0 0;min-height:4px;position:relative;transition:height .3s}.mini-label{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:9px;color:var(--text-muted)}.price-histogram{display:flex;align-items:flex-end;gap:2px;height:120px;padding-bottom:20px}.histogram-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.histogram-bar{width:100%;background:var(--accent);border-radius:2px 2px 0 0;min-height:2px}.histogram-label{font-size:9px;color:var(--text-muted);margin-top:4px}.positive{color:var(--green)}.negative{color:var(--red)}.zone-compare{margin-top:24px}.zone-compare h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:12px}.demand-summary{margin-top:20px;padding-top:12px;border-top:1px solid var(--border)}.demand-summary h4{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:10px}.demand-cat-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:12px;color:var(--text-secondary)}.heat-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.04em}.heat-badge.neutral{background:#6b728026;color:var(--text-muted)}.neighborhoods-page{display:grid;grid-template-columns:260px 1fr;flex:1;min-height:0;overflow:hidden}.neighborhoods-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px;overflow-y:auto}.neighborhoods-sidebar h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.neighborhoods-sidebar label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:4px;margin-top:10px}.neighborhoods-sidebar select,.neighborhoods-sidebar input{width:100%;padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:var(--font);outline:none}.neighborhoods-sidebar select:focus,.neighborhoods-sidebar input:focus{border-color:var(--accent)}.neighborhoods-main{padding:24px;overflow-y:auto}.neighborhoods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.neighborhood-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;cursor:pointer;transition:border-color .15s,background .15s}.neighborhood-card:hover{border-color:var(--accent);background:var(--bg-input)}.nb-card-name{font-size:16px;font-weight:700;margin-bottom:2px}.nb-card-location{font-size:12px;color:var(--text-muted);margin-bottom:12px}.nb-card-stats{display:flex;gap:24px;margin-bottom:12px}.nb-stat{display:flex;flex-direction:column}.nb-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.nb-stat-value{font-size:16px;font-weight:700}.nb-card-badges{display:flex;gap:8px}.neighborhood-detail{max-width:960px;margin:0 auto;padding:24px 20px;flex:1;min-height:0;overflow-y:auto;width:100%}.neighborhood-detail h1{font-size:24px;font-weight:700;margin-bottom:4px}.nb-detail-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.breadcrumb{font-size:12px;color:var(--text-muted);margin-bottom:16px}.breadcrumb a{color:var(--accent);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .sep{margin:0 6px;color:var(--text-muted)}.context-grid{display:flex;flex-direction:column;gap:10px}.context-item{display:flex;align-items:center;gap:10px;font-size:14px}.context-label{font-size:13px;color:var(--text-secondary);min-width:120px}.context-value{font-weight:700;font-size:16px}.pct-badge{display:inline-block;font-size:13px;font-weight:600;padding:2px 8px;border-radius:4px}.pct-badge.above{color:var(--green);background:#22c55e1f}.pct-badge.below{color:var(--red);background:#ef44441f}.pct-badge.neutral{color:var(--text-secondary);background:color-mix(in srgb,var(--text-secondary) 12%,transparent)}.export-buttons{display:flex;gap:8px;margin-top:12px}.export-buttons button{padding:6px 14px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:12px;font-family:var(--font);cursor:pointer;transition:border-color .15s,color .15s}.export-buttons button:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.export-buttons button:disabled{opacity:.4;cursor:not-allowed}.calculators-page{flex:1;overflow-y:auto;padding:24px;max-width:1100px;margin:0 auto;width:100%}.calc-rate-error{font-size:12px;color:var(--red)}.calc-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:0}.calc-tab{padding:8px 18px;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--text-secondary);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;transition:color .15s,border-color .15s}.calc-tab:hover{color:var(--text-primary);background:transparent}.calc-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:transparent}.calc-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}.calc-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:16px}.calc-form h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.calc-form label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:4px;margin-top:12px}.calc-form input,.calc-form select{width:100%;padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:var(--font);outline:none;margin-top:4px}.calc-form input:focus,.calc-form select:focus{border-color:var(--accent)}.calc-rate-info{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}.calc-results{min-width:0}.calc-result-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center;margin-bottom:20px}.calc-result-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px}.calc-highlight{display:block;font-size:36px;font-weight:700;letter-spacing:-.02em;color:var(--accent)}.calc-result-sub{display:block;font-size:14px;color:var(--text-secondary);margin-top:6px}.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.calc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.calc-card-label{display:block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}.calc-card-value{display:block;font-size:20px;font-weight:700}.calc-card-sub{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.calc-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:20px}.calc-section h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:12px}.calc-table-wrap{overflow-x:auto}.calc-table{width:100%;border-collapse:collapse;font-size:13px}.calc-table th{text-align:left;padding:8px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.calc-table td{padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.calc-note{font-size:12px;color:var(--text-muted);margin-top:10px;font-style:italic}.calc-links{display:flex;gap:8px;margin-bottom:24px}.calc-links button{padding:8px 16px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;transition:border-color .15s,color .15s}.calc-links button:hover{border-color:var(--accent);color:var(--accent)}@media print{.app-sidebar,.mobile-nav-bar,.map-sidebar,.valuation-sidebar{display:none!important}.map-page,.valuation-page{display:block!important}.valuation-results{padding:0!important;overflow:visible!important}body{background:#fff!important;color:#000!important}.stat-card,.report-section,.valuation-card,.compete-card{background:#fff!important;border-color:#ddd!important;color:#000!important}.stat-card .label,.report-section h3{color:#666!important}.stat-card .value{color:#000!important}.listings-table th{background:#f5f5f5!important;color:#333!important}.listings-table td{color:#000!important;border-color:#ddd!important}.neighborhoods-sidebar{display:none!important}.neighborhoods-page{display:block!important}.neighborhoods-main{padding:0!important;overflow:visible!important}.export-buttons{display:none!important}}.saved-searches-page{display:grid;grid-template-columns:280px 1fr;flex:1;min-height:0;overflow:hidden}.saved-searches-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px;overflow-y:auto}.saved-searches-sidebar h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.saved-searches-sidebar label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:4px;margin-top:10px}.saved-searches-sidebar input[type=text],.saved-searches-sidebar input[type=number],.saved-searches-sidebar select{width:100%;padding:6px 8px;font-size:13px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:4px}.saved-searches-main{padding:24px;overflow-y:auto}.search-cards{display:flex;flex-direction:column;gap:12px}.search-card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:14px 16px}.search-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.search-card-header h4{font-size:14px;font-weight:600;color:var(--text-primary)}.search-card-actions{display:flex;align-items:center;gap:8px}.search-card-actions button{padding:4px 10px;font-size:12px;border-radius:4px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-secondary);transition:border-color .15s}.search-card-actions button:hover{border-color:var(--accent);color:var(--text-primary)}.search-card-actions .btn-delete:hover{border-color:var(--red);color:var(--red)}.search-card-criteria{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.criteria-chip{display:inline-block;padding:2px 8px;font-size:11px;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border);border-radius:12px}.search-card-meta{font-size:11px;color:var(--text-muted)}.notify-toggle{margin-top:12px}.notify-toggle label,.notify-toggle-inline{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer}.notify-toggle input[type=checkbox],.notify-toggle-inline input[type=checkbox]{accent-color:var(--accent)}.save-search-btn{margin-top:14px;width:100%;padding:8px 12px;font-size:13px;font-weight:500;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .15s}.save-search-btn:hover:not(:disabled){background:var(--accent-hover)}.save-search-btn:disabled{opacity:.5;cursor:not-allowed}.risk-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px;margin-top:20px}.risk-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.risk-card-header h3{margin:0;font-size:15px}.risk-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.risk-badge.low{background:#22c55e26;color:#22c55e}.risk-badge.moderate{background:#eab30826;color:#eab308}.risk-badge.high{background:#ef444426;color:#ef4444}.risk-detail-grid{display:flex;flex-direction:column;gap:14px}.risk-detail-item{display:flex;flex-direction:column;gap:4px}.risk-detail-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.risk-detail-value{font-size:14px;color:var(--text-primary)}.risk-notes .risk-detail-value{font-size:13px;color:var(--text-secondary)}.risk-level-bar{display:flex;gap:3px;height:8px;margin:4px 0}.risk-level-segment{flex:1;border-radius:2px;background:var(--bg-input);transition:background .2s}.calc-sub-tabs{display:flex;gap:8px;margin-bottom:20px}.calc-sub-tab{padding:6px 14px;font-size:13px;font-weight:500;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s}.calc-sub-tab:hover{color:var(--text-primary);border-color:var(--text-muted)}.calc-sub-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.proforma-page{display:grid;grid-template-columns:340px 1fr;height:100%;overflow:hidden}.proforma-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.proforma-sidebar>.page-header,.proforma-sidebar>.error-state{margin-bottom:0}.proforma-results{overflow-y:auto;padding:20px}.pf-section{display:flex;flex-direction:column;gap:6px}.pf-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.pf-row{display:flex;gap:6px}.pf-input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;color:var(--text-primary);outline:none}.pf-input:focus{border-color:var(--accent)}.pf-btn-sm{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.pf-btn-sm:hover{background:var(--accent-hover)}.pf-btn-sm:disabled{opacity:.5;cursor:not-allowed}.pf-templates{display:flex;flex-wrap:wrap;gap:4px}.pf-template-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:11px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.pf-template-btn:hover{border-color:var(--accent);color:var(--text-primary)}.pf-tabs{display:flex;gap:2px;background:var(--bg-card);border-radius:8px;padding:3px}.pf-tab{flex:1;background:none;border:none;color:var(--text-muted);font-size:11px;font-weight:600;padding:6px 2px;border-radius:6px;cursor:pointer;transition:all .15s}.pf-tab:hover{color:var(--text-primary)}.pf-tab.active{background:var(--accent);color:#fff}.pf-form{display:flex;flex-direction:column;gap:10px}.pf-field{display:flex;flex-direction:column;gap:3px}.pf-field label{font-size:12px;color:var(--text-secondary)}.pf-field input,.pf-field select{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;color:var(--text-primary);outline:none;width:100%}.pf-field input:focus,.pf-field select:focus{border-color:var(--accent)}.pf-info{font-size:12px;color:var(--text-muted);padding:6px 0}.pf-units-table{display:flex;flex-direction:column;gap:4px}.pf-units-header{display:grid;grid-template-columns:1.2fr .6fr .7fr .8fr .7fr 28px;gap:4px;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);padding:0 2px}.pf-units-row{display:grid;grid-template-columns:1.2fr .6fr .7fr .8fr .7fr 28px;gap:4px}.pf-units-row select,.pf-units-row input{background:var(--bg-input);border:1px solid var(--border);border-radius:5px;padding:5px 6px;font-size:12px;color:var(--text-primary);outline:none;width:100%}.pf-units-row select:focus,.pf-units-row input:focus{border-color:var(--accent)}.pf-btn-x{background:none;border:1px solid var(--border);border-radius:5px;color:var(--red);font-size:12px;cursor:pointer;padding:0}.pf-btn-x:hover{background:#ef44441a}.pf-btn-add{background:none;border:1px dashed var(--border);border-radius:6px;padding:6px;font-size:12px;color:var(--text-muted);cursor:pointer}.pf-btn-add:hover{border-color:var(--accent);color:var(--accent)}.pf-btn-compute{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:700;cursor:pointer;margin-top:8px;transition:background .15s}.pf-btn-compute:hover{background:var(--accent-hover)}.pf-btn-compute:disabled{opacity:.5;cursor:not-allowed}.pf-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;gap:12px}.pf-placeholder h3{font-size:20px;color:var(--text-secondary)}.pf-placeholder p{font-size:14px;max-width:420px;line-height:1.5}.pf-result-tabs{display:flex;gap:2px;background:var(--bg-card);border-radius:8px;padding:3px;margin-bottom:16px;width:fit-content}.pf-result-tabs button{background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:600;padding:8px 18px;border-radius:6px;cursor:pointer;transition:all .15s}.pf-result-tabs button:hover{color:var(--text-primary)}.pf-result-tabs button.active{background:var(--accent);color:#fff}.pf-hero-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.pf-hero-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px}.pf-hero-card .label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px}.pf-hero-card .value{font-size:22px;font-weight:700;letter-spacing:-.02em}.pf-hero-card.positive .value{color:var(--green)}.pf-hero-card.negative .value{color:var(--red)}.pf-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}.pf-breakdown-col{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px}.pf-breakdown-col h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:10px}.pf-line{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;color:var(--text-secondary);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.pf-line.total{font-weight:700;color:var(--text-primary);border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.pf-line-note{font-size:11px;color:var(--text-muted);padding:2px 0 6px}.pf-source{font-size:12px;color:var(--text-muted);background:var(--bg-card);border-radius:8px;padding:10px 14px;border:1px solid var(--border)}.pf-cashflow{display:flex;flex-direction:column;gap:16px}.pf-chart{border-radius:10px;overflow:hidden;border:1px solid var(--border)}.pf-cf-legend{display:flex;gap:20px;font-size:12px;color:var(--text-muted)}.pf-legend-bar:before,.pf-legend-line:before{content:"";display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;vertical-align:middle}.pf-legend-bar.green:before{background:var(--green)}.pf-legend-line.blue:before{background:var(--accent);height:3px;border-radius:1px}.pf-cf-table-wrap{max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:10px}.pf-cf-table{width:100%;border-collapse:collapse;font-size:13px}.pf-cf-table th{position:sticky;top:0;background:var(--bg-card);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);padding:10px 12px;text-align:right;border-bottom:1px solid var(--border)}.pf-cf-table th:first-child{text-align:left}.pf-cf-table td{padding:6px 12px;text-align:right;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent);color:var(--text-secondary)}.pf-cf-table td:first-child{text-align:left;font-weight:600;color:var(--text-primary)}.pf-cf-table td.positive{color:var(--green)}.pf-cf-table td.negative{color:var(--red)}.pf-cf-table tr.positive-row{background:#22c55e08}.pf-sensitivity{display:flex;flex-direction:column;gap:16px}.pf-sens-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--text-muted)}.pf-sens-table{width:100%;border-collapse:collapse;font-size:13px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.pf-sens-table th{background:var(--bg-card);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);padding:10px 14px;text-align:right;border-bottom:1px solid var(--border)}.pf-sens-table th:first-child{text-align:left}.pf-sens-table td{padding:8px 14px;text-align:right;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent);color:var(--text-secondary)}.pf-sens-table td:first-child{text-align:left;font-weight:600;color:var(--text-primary)}.pf-sens-table tr.base-row{background:color-mix(in srgb,var(--accent) 8%,transparent)}.pf-sens-table tr.base-row td{font-weight:600;color:var(--text-primary)}@media (max-width: 1024px){.proforma-page{grid-template-columns:1fr;grid-template-rows:auto 1fr}.proforma-sidebar{max-height:50vh;border-right:none;border-bottom:1px solid var(--border)}.pf-hero-grid{grid-template-columns:repeat(2,1fr)}.pf-breakdown{grid-template-columns:1fr}}.pf-btn-accent{background:var(--accent)!important}.pf-sens-sep{color:var(--border);margin:0 4px}.pf-scenarios h4,.pf-monte-carlo h4,.pf-tornado h4{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--text-primary)}.pf-scenario-badge{display:inline-block;padding:2px 10px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}.pf-scenario-badge.pessimistic{background:#ef444426;color:var(--red)}.pf-scenario-badge.base{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.pf-scenario-badge.optimistic{background:#22c55e26;color:var(--green)}.pf-scenario-adjustments{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:11px;color:var(--text-muted)}.pf-adj-block{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.pf-adj-label{font-weight:600;color:var(--text-secondary)}.pf-adj-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1px 6px}.pf-mc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.pf-mc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px}.pf-mc-card .label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.pf-mc-card .value{font-size:18px;font-weight:700}.pf-mc-card .value.positive{color:var(--green)}.pf-mc-card .value.negative{color:var(--red)}.pf-mc-card .range{font-size:10px;color:var(--text-muted);margin-top:4px}.pf-mc-histogram{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px}.pf-mc-hist-label{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:10px}.pf-mc-hist-bars{display:flex;align-items:flex-end;gap:2px;height:120px}.pf-mc-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}.pf-mc-bar{width:100%;min-height:1px;border-radius:2px 2px 0 0;transition:height .3s}.pf-mc-bar.pos{background:var(--green)}.pf-mc-bar.neg{background:var(--red)}.pf-mc-bar-label{font-size:9px;color:var(--text-muted);margin-top:4px;white-space:nowrap}.pf-tornado-chart{display:flex;flex-direction:column;gap:8px}.pf-tornado-row{display:grid;grid-template-columns:120px 1fr 60px;align-items:center;gap:10px}.pf-tornado-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-align:right}.pf-tornado-bars{height:24px}.pf-tornado-bar-container{display:flex;align-items:center;height:100%;position:relative}.pf-tornado-bar{height:20px;border-radius:3px;min-width:2px}.pf-tornado-bar.low{background:var(--red);margin-right:1px;margin-left:auto}.pf-tornado-bar.high{background:var(--green);margin-left:1px}.pf-tornado-center{width:2px;height:24px;background:var(--text-muted);flex-shrink:0}.pf-tornado-spread{font-size:12px;font-weight:600;color:var(--text-primary)}.tool-page{height:100%;overflow-y:auto;padding:20px 24px}.tool-back{font-size:13px;color:var(--accent)}.tool-form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.tool-form-row .pf-field{min-width:140px;flex:1}.tool-checkbox{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.tool-checkbox input{cursor:pointer}.portfolio-page{height:100%;overflow-y:auto;padding:20px 24px}.port-kpi-row{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.port-kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;flex:1;min-width:140px}.port-kpi .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}.port-kpi .value{font-size:24px;font-weight:700}.port-kpi .value.positive{color:var(--green)}.port-kpi .value.negative{color:var(--red)}.port-kpi .sub{font-size:11px;color:var(--text-muted);margin-top:2px}.port-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.port-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:18px}.port-card.wide{grid-column:1 / -1}.port-card h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:12px}.port-funnel{display:flex;flex-direction:column;gap:6px}.port-funnel-row{display:grid;grid-template-columns:100px 1fr 36px 70px;gap:8px;align-items:center}.port-funnel-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-align:right}.port-funnel-bar-bg{height:18px;background:var(--bg-input);border-radius:4px;overflow:hidden}.port-funnel-bar{height:100%;border-radius:4px;min-width:4px;transition:width .3s}.port-funnel-count{font-size:12px;font-weight:700;color:var(--text-primary);text-align:center}.port-funnel-val{font-size:11px;color:var(--text-muted);text-align:right}.port-bars{display:flex;flex-direction:column;gap:5px}.port-bar-row{display:grid;grid-template-columns:100px 1fr 60px 30px;gap:8px;align-items:center}.port-bar-label{font-size:12px;color:var(--text-secondary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.port-bar-bg{height:14px;background:var(--bg-input);border-radius:3px;overflow:hidden}.port-bar{height:100%;background:var(--accent);border-radius:3px;min-width:4px}.port-bar-val{font-size:11px;color:var(--text-primary);text-align:right;font-weight:500}.port-bar-count{font-size:11px;color:var(--text-muted);text-align:center}.port-table{width:100%;border-collapse:collapse;font-size:13px}.port-table th{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);padding:8px 10px;text-align:right;border-bottom:1px solid var(--border)}.port-table th:first-child,.port-table th:nth-child(2),.port-table th:nth-child(3){text-align:left}.port-table td{padding:7px 10px;text-align:right;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent);color:var(--text-secondary)}.port-table td:first-child{text-align:left}.port-table td:first-child a{color:var(--accent);font-weight:500}.port-table td:nth-child(2),.port-table td:nth-child(3){text-align:left}.port-table td.positive{color:var(--green)}.port-table td.negative{color:var(--red)}.port-type-list{display:flex;flex-direction:column;gap:6px}.port-type-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.port-type-name{color:var(--text-primary);font-weight:500;text-transform:capitalize}.port-type-count{color:var(--text-muted);font-size:11px}.port-type-val{color:var(--text-primary);font-weight:600}.port-recent{display:flex;flex-direction:column;gap:4px}.port-recent-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent);text-decoration:none}.port-recent-name{font-size:13px;color:var(--accent);font-weight:500}.port-recent-nbh{font-size:11px;color:var(--text-muted);margin-left:auto}.port-tags{display:flex;flex-wrap:wrap;gap:4px}.port-tag{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}@media (max-width: 1024px){.port-grid{grid-template-columns:1fr}.port-kpi-row{flex-wrap:wrap}.port-kpi{min-width:120px}}.deals-page{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:16px 20px;gap:12px}.deals-add-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer}.deals-add-btn:hover{background:var(--accent-hover)}.deals-add-form{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px}.deals-add-row{display:flex;gap:8px;flex-wrap:wrap}.deals-input{flex:1;min-width:140px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;color:var(--text-primary);outline:none}.deals-input.sm{flex:.6}.deals-input:focus{border-color:var(--accent)}.deals-submit-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:7px 20px;font-size:13px;font-weight:600;cursor:pointer}.deals-submit-btn:disabled{opacity:.5;cursor:not-allowed}.kanban-board{display:flex;gap:10px;flex:1;overflow-x:auto;overflow-y:hidden;padding-bottom:8px}.kanban-col{min-width:210px;flex:1;display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);overflow:hidden}.kanban-col-header{padding:10px 12px;border-top:3px solid;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kanban-col-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.kanban-col-count{font-size:11px;font-weight:600;background:var(--bg-card);border-radius:10px;padding:1px 8px;color:var(--text-muted)}.kanban-col-total{font-size:11px;color:var(--text-muted);margin-left:auto}.kanban-cards{flex:1;overflow-y:auto;padding:6px 8px 8px;display:flex;flex-direction:column;gap:6px}.kanban-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:grab;transition:box-shadow .15s,border-color .15s}.kanban-card:hover{border-color:var(--accent);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 15%,transparent)}.kanban-card.dragging{opacity:.4}.kc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.kc-name{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3}.kc-delete{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:0 4px;line-height:1;opacity:0;transition:opacity .15s}.kanban-card:hover .kc-delete{opacity:1}.kc-delete:hover{color:var(--red)}.kc-location{font-size:11px;color:var(--text-muted);margin-top:3px}.kc-bottom{display:flex;gap:8px;align-items:center;margin-top:6px;font-size:11px;color:var(--text-secondary)}.kc-price{font-weight:600;color:var(--text-primary)}.kc-type{background:var(--bg-input);border-radius:4px;padding:1px 6px;font-size:10px}.kc-time{margin-left:auto;color:var(--text-muted);font-size:10px}.kc-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}.kc-tag{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.kc-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;align-items:center}.kc-badge{display:inline-block;font-size:10px;font-weight:600;color:var(--green);background:#22c55e1a;border-radius:4px;padding:1px 6px}.kc-badge-yellow{color:#eab308;background:#eab3081f}.kc-ext-link{font-size:10px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:4px;padding:1px 6px;text-decoration:none}.kc-ext-link:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.kanban-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:20px 10px;border:1px dashed var(--border);border-radius:6px}.deal-detail-page{height:100%;overflow-y:auto;padding:16px 24px}.dd-breadcrumb{font-size:13px;color:var(--text-muted);margin-bottom:16px}.dd-breadcrumb a{color:var(--accent)}.dd-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.dd-title{font-size:22px;font-weight:700;margin:0}.dd-title-actions{display:flex;gap:8px;align-items:center}.dd-view-listing-btn{display:inline-flex;align-items:center;background:#22c55e1f;color:var(--green);border:1px solid rgba(34,197,94,.3);border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s}.dd-view-listing-btn:hover{background:#22c55e33}.dd-run-analysis-btn{display:inline-flex;align-items:center;background:#8b5cf61f;color:#a78bfa;border:1px solid rgba(139,92,246,.3);border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.dd-run-analysis-btn:hover{background:#8b5cf633}.dd-run-analysis-btn:disabled{opacity:.5;cursor:not-allowed}.dd-layout{display:grid;grid-template-columns:1fr 280px;gap:20px}.dd-main{display:flex;flex-direction:column;gap:20px}.dd-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:20px}.dd-section h3{font-size:15px;font-weight:700;margin-bottom:14px}.dd-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dd-section-header h3{margin-bottom:0}.dd-form{display:flex;flex-direction:column;gap:12px}.dd-field{display:flex;flex-direction:column;gap:4px;flex:1}.dd-field label{font-size:12px;font-weight:500;color:var(--text-muted)}.dd-field input,.dd-field select,.dd-field textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;color:var(--text-primary);outline:none;font-family:inherit;resize:vertical}.dd-field input:focus,.dd-field select:focus,.dd-field textarea:focus{border-color:var(--accent)}.dd-field-row{display:flex;gap:12px}.dd-actions{display:flex;gap:10px;margin-top:16px}.dd-save-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 24px;font-size:13px;font-weight:600;cursor:pointer}.dd-save-btn:hover{background:var(--accent-hover)}.dd-save-btn:disabled{opacity:.5}.dd-delete-btn{background:none;border:1px solid var(--red);color:var(--red);border-radius:8px;padding:10px 18px;font-size:13px;font-weight:500;cursor:pointer}.dd-delete-btn:hover{background:#ef44441a}.dd-proforma-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer}.dd-proforma-btn:disabled{opacity:.5}.dd-proforma-summary{display:flex;flex-direction:column;gap:12px}.dd-pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}[title]{cursor:help}.dd-pf-card[title]:hover{outline:1px solid var(--accent);outline-offset:2px}.dd-pf-card{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:12px}.dd-pf-card .label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.dd-pf-card .value{font-size:18px;font-weight:700}.dd-pf-card .value.positive{color:var(--green)}.dd-pf-card .value.negative{color:var(--red)}.dd-pf-links{display:flex;gap:12px}.dd-pf-link{font-size:12px;color:var(--accent)}.dd-pf-empty{font-size:13px;color:var(--text-muted);padding:16px 0}.dd-sidebar{display:flex;flex-direction:column;gap:16px}.dd-sidebar-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px}.dd-sidebar-section h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:10px}.dd-timeline{display:flex;flex-direction:column;gap:8px}.dd-tl-item{display:flex;justify-content:space-between;font-size:12px}.dd-tl-label{color:var(--text-secondary)}.dd-tl-date{color:var(--text-primary);font-weight:500}.dd-listing-link,.dd-ext-link{font-size:13px;color:var(--accent)}.dd-stage-track{display:flex;flex-direction:column;gap:6px}.dd-stage-dot{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted)}.dd-stage-dot .dot{width:10px;height:10px;border-radius:50%;background:var(--border);flex-shrink:0}.dd-stage-dot.done .dot{background:var(--green)}.dd-stage-dot.active .dot{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.dd-stage-dot.active span{color:var(--accent);font-weight:600}.dd-stage-dot.done span{color:var(--text-secondary)}@media (max-width: 1024px){.dd-layout{grid-template-columns:1fr}.dd-pf-grid{grid-template-columns:repeat(2,1fr)}}.agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:16px}.agent-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.agent-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.agent-status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.agent-card-body{padding:12px 16px}.agent-stat-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.85rem}.agent-stat-label{color:var(--text-muted)}.agent-error{margin-top:8px;padding:6px 10px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:var(--red);font-size:.8rem;word-break:break-word}.agent-card-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.agent-data-tag{display:inline-block;padding:2px 8px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:4px;font-size:.78rem;color:#93c5fd}.agent-toggle{position:relative;display:inline-block;width:40px;height:22px}.agent-toggle input{opacity:0;width:0;height:0}.agent-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-input);border:1px solid var(--border);border-radius:22px;transition:.2s}.agent-toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:2px;bottom:2px;background-color:var(--text-muted);border-radius:50%;transition:.2s}.agent-toggle input:checked+.agent-toggle-slider{background-color:#22c55e33;border-color:var(--green)}.agent-toggle input:checked+.agent-toggle-slider:before{transform:translate(18px);background-color:var(--green)}.btn-small{padding:6px 14px;font-size:.8rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:background .15s}.btn-small:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.btn-small:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{color:var(--text-secondary)}.action-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.action-badge.error{background:#ef444426;color:var(--red)}.decisions-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.decision-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}.decision-header{display:flex;justify-content:space-between;margin-bottom:10px}.decision-meta{display:flex;gap:16px;margin-bottom:12px;font-size:.85rem;color:var(--text-secondary)}.select-input{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:.85rem}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border);padding:8px 20px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:var(--bg-input)}.btn-sm{padding:4px 12px;font-size:12px}.text-sm{font-size:13px}.text-muted{color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px}.agent-description{color:var(--text-secondary);font-size:.85rem;margin:0 16px 8px;line-height:1.4}.activity-feed{display:flex;flex-direction:column;gap:8px}.activity-item{background:#1f2937;border-radius:8px;padding:12px 16px;border:1px solid #374151}.activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.activity-header-left{display:flex;gap:8px;align-items:center}.activity-time{color:var(--text-secondary);font-size:.8rem}.activity-agent{color:#d1d5db;font-weight:600}.activity-summary{color:#e5e7eb;font-size:.9rem}.activity-details-btn{background:transparent;border:1px solid #4b5563;border-radius:4px;color:var(--text-secondary);padding:2px 8px;font-size:.75rem;cursor:pointer}.stat-pills{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap}.stat-pill{background:var(--bg-secondary);border-radius:6px;padding:4px 10px;font-size:.8rem;display:flex;gap:6px;align-items:center}.stat-pill-label{color:var(--text-muted)}.stat-pill-value{color:#e5e7eb;font-weight:600}.decision-card{background:#1f2937;border-radius:8px;padding:14px 16px}.decision-card--low-quality{border:1px solid #7f1d1d40}.decision-card--normal{border:1px solid #374151}.decision-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.decision-location{font-size:1rem;font-weight:600;color:#f3f4f6}.decision-meta{color:var(--text-secondary);font-size:.85rem}.decision-links{display:flex;gap:8px;align-items:center}.decision-link{font-size:.8rem;text-decoration:none;padding:3px 8px;border-radius:4px}.decision-link--listing{color:#60a5fa;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.decision-link--no-link{color:var(--text-muted);border:1px solid #374151;cursor:default}.decision-link--deal{color:#a78bfa;border:1px solid #7c3aed40}.decision-link--listing-detail{color:var(--text-secondary);border:1px solid #374151}.decision-metrics{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px}.decision-metric{color:#d1d5db}.decision-metric--muted{color:var(--text-secondary)}.decision-actions{display:flex;gap:8px}.decision-actions .btn-approve-sm{background:#166534;color:#fff;border:none;border-radius:5px;padding:6px 16px;font-weight:600;cursor:pointer;font-size:.85rem}.decision-actions .btn-reject-sm{background:#991b1b;color:#fff;border:none;border-radius:5px;padding:6px 16px;font-weight:600;cursor:pointer;font-size:.85rem}.bulk-actions-bar{display:flex;gap:8px;align-items:center;margin-bottom:16px;padding:10px 14px;background:var(--bg-secondary);border-radius:8px}.bulk-actions-bar .pending-count{color:#d1d5db;font-weight:600}.bulk-actions-bar .btn-bulk-reject{background:#7f1d1d;color:#fca5a5;border:1px solid #991b1b;border-radius:6px;padding:6px 14px;font-size:.8rem;cursor:pointer}.bulk-actions-bar .btn-bulk-reject-lq{background:#78350f;color:#fbbf24;border:1px solid #92400e;border-radius:6px;padding:6px 14px;font-size:.8rem;cursor:pointer}.decisions-list{display:flex;flex-direction:column;gap:10px}.activity-filter{margin-bottom:12px;display:flex;gap:8px;align-items:center}.activity-filter-label{color:var(--text-secondary)}.activity-data-tags{margin-top:8px}.listing-link{color:#60a5fa;font-size:.8rem;text-decoration:none}.listing-id-text{color:var(--text-muted);font-size:.75rem}.deal-row{display:flex;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid #1f2937}.deal-row-info{flex:1}.deal-row-info .location{color:#d1d5db}.deal-row-info .area,.deal-row-info .price{color:var(--text-secondary)}.deal-row-irr{min-width:70px;text-align:right;font-weight:700}.deal-row-link{color:#60a5fa;font-size:.78rem;text-decoration:none;white-space:nowrap}.deal-row-no-link{color:var(--text-muted);font-size:.78rem;white-space:nowrap}.metric-box{background:var(--bg-secondary);border-radius:6px;padding:8px 12px;text-align:center}.metric-box-label{color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.metric-box-value{font-weight:700;font-size:1rem;margin-top:2px}.quality-badge{border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:600}.comp-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.comp-detail-section h4{margin:0 0 8px;font-size:14px;color:var(--text-muted);text-transform:uppercase}.comp-detail-section p{margin:0;font-size:14px;line-height:1.5}.comp-detail-surface{background:var(--bg-surface, #1a1a2e);padding:16px}.comp-unit-types{margin-top:12px}.comp-sparkline-container{display:flex;gap:1px;align-items:flex-end;height:60px;margin-bottom:8px;padding:0 4px}.port-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 767px){.port-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.stat-card .value{font-size:18px}.port-kpi-row{flex-wrap:wrap!important;gap:8px!important}.port-kpi{min-width:calc(50% - 4px)!important;flex:1 1 calc(50% - 4px)}.map-page{grid-template-columns:1fr!important}.map-sidebar{border-right:none!important;border-bottom:1px solid var(--border);max-height:35vh;overflow-y:auto}.kanban-board{overflow-x:auto!important;flex-wrap:nowrap!important}.kanban-col{min-width:280px;flex-shrink:0}.port-table-wrap,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.port-table-wrap .port-table,.table-wrap .port-table{min-width:600px}.port-table-wrap,.table-wrap,div:not(.port-table-wrap):not(.table-wrap):not(.mk-table-wrap)>.port-table{background:linear-gradient(to right,var(--bg-primary) 30%,transparent) left center / 24px 100% no-repeat local,linear-gradient(to left,var(--bg-primary) 30%,transparent) right center / 24px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(255,255,255,.16),transparent) left center / 10px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(255,255,255,.16),transparent) right center / 10px 100% no-repeat scroll}.agents-grid{grid-template-columns:1fr!important}.chart-container{min-height:200px}.proforma-page{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none;height:auto;overflow:visible}.proforma-sidebar{border-right:none!important;border-bottom:1px solid var(--border);max-height:none;overflow-y:visible}.proforma-results{overflow-x:auto}.pf-hero-grid{grid-template-columns:1fr!important}.pf-mc-stats{grid-template-columns:repeat(2,1fr)}.tool-page{padding:12px!important}.tab-bar,.pf-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;flex-shrink:0}.calc-tabs{flex-wrap:wrap}button,select,input[type=text],input[type=number],input[type=email],input[type=password]{min-height:44px}.dd-layout{grid-template-columns:1fr!important}.tool-form-row{flex-direction:column!important;gap:8px!important}.tool-form-row .pf-field{width:100%!important}.comp-detail-grid{grid-template-columns:1fr!important}.calc-grid{grid-template-columns:repeat(2,1fr)!important}.dashboard-grid{grid-template-columns:1fr!important}.dashboard-kpi-strip,.quick-action-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 479px){.port-kpi{min-width:100%!important;flex:1 1 100%}.dashboard-kpi-strip{grid-template-columns:1fr!important}}@media (min-width: 768px) and (max-width: 1023px){.map-page{grid-template-columns:220px 1fr!important}.agents-grid{grid-template-columns:repeat(2,1fr)!important}.proforma-page{grid-template-columns:240px 1fr!important}}.detail-source-card{display:flex;gap:16px;align-items:flex-start;border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:18px;background:var(--bg-secondary)}.detail-source-photo{width:220px;aspect-ratio:4 / 3;object-fit:cover;border-radius:6px;flex-shrink:0}.detail-source-body{display:flex;flex-direction:column;gap:8px;min-width:0}.detail-source-title{margin:0;font-size:14px;font-weight:600;line-height:1.4}.detail-source-meta{font-size:12px;color:var(--text-muted)}.detail-source-link{align-self:flex-start;padding:7px 14px;border-radius:6px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;text-decoration:none}.detail-source-link:hover{filter:brightness(1.08)}.detail-source-missing{font-size:12px;color:var(--text-muted);line-height:1.45}@media (max-width: 640px){.detail-source-card{flex-direction:column}.detail-source-photo{width:100%}}.listings-page-v2{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:#08080a}.query-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 8px;padding:14px 18px 12px;flex-shrink:0;font-size:19px;line-height:1.35;letter-spacing:-.011em;color:var(--text-muted)}.query-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;border-bottom:1px solid var(--border);border-radius:0;padding:0 2px 1px;font:inherit;color:var(--text-primary);cursor:pointer;max-width:15em;text-overflow:ellipsis;transition:border-color .12s ease,color .12s ease}.query-select:hover,.query-select:focus-visible{color:var(--accent);border-bottom-color:var(--accent);outline:none}.query-select option{background:var(--bg-card);color:var(--text-primary)}.query-word{color:var(--text-muted)}.query-refine{margin-left:auto;align-self:center;background:none;border:none;padding:4px 2px;font-family:var(--font);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer}.query-refine:hover{color:var(--text-primary)}.sidebar-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 20px 4px;background:none;border:none;font-family:var(--font);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);cursor:pointer}.sidebar-group-toggle:hover{color:var(--text-secondary)}.query-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;padding:4px 18px 16px;flex-shrink:0}.query-panel label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px}.query-panel select,.query-panel input{width:100%;padding:7px 9px;background:var(--bg-input);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);font-size:13px;font-family:var(--font);outline:none}.query-panel select:focus,.query-panel input:focus{border-color:var(--accent)}.results-bar{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 18px 12px;flex-shrink:0;font-size:13px;color:var(--text-secondary)}.results-count{color:var(--text-primary);font-weight:600}.view-switch{display:inline-flex;gap:14px;align-self:center}.view-switch button{background:none;border:none;padding:2px 0;font-family:var(--font);font-size:13px;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent}.view-switch button.active{color:var(--text-primary);border-bottom-color:var(--accent)}.view-switch button:hover{color:var(--text-primary)}.listings-split{display:flex;flex:1;min-height:0;overflow:hidden}.listings-map{flex:1;min-width:0;position:relative}.listings-map .map-container{height:100%;width:100%}.listings-map-note{position:absolute;top:12px;left:12px;z-index:500;max-width:290px;padding:6px 10px;background:#0a0a0be6;border-radius:5px;font-size:12px;line-height:1.45;color:var(--text-secondary);pointer-events:none}.listings-side{width:496px;flex-shrink:0;overflow-y:auto;padding:4px 18px 18px}@media (max-width: 1200px){.listings-side{width:384px}}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:26px 18px;align-content:start}.tile{display:flex;flex-direction:column;gap:7px;cursor:pointer;background:none;border:none;padding:0;text-align:left;font-family:var(--font);color:inherit}.tile-photo{position:relative;aspect-ratio:4 / 3;border-radius:3px;overflow:hidden;background:var(--bg-input)}.tile-photo img{width:100%;height:100%;object-fit:cover;display:block}.tile:hover .tile-photo img{opacity:.88}.tile-photo.is-empty{display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-muted)}.tile-price{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1;color:var(--text-primary)}.tile-where{font-size:13px;color:var(--text-primary)}.tile-facts{font-size:12px;color:var(--text-muted);display:flex;gap:10px;flex-wrap:wrap}.tile-facts .is-key{color:var(--text-secondary);font-weight:600}.tile-actions{display:flex;gap:6px;flex-wrap:wrap;opacity:0;transition:opacity .12s ease}.tile:hover .tile-actions,.tile:focus-within .tile-actions{opacity:1}@media (hover: none){.tile-actions{opacity:1}}.tile-module{display:flex;flex-direction:column;gap:8px;padding:14px 0 0;border-top:1px solid var(--border);grid-column:1 / -1}.tile-module-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.tile-module-row{display:flex;align-items:flex-end;gap:18px}.tile-module-value{font-size:26px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1;color:var(--text-primary)}.tile-module-sub{font-size:12px;color:var(--text-muted)}.spark{display:block;flex:1;height:34px}.pager{display:flex;align-items:center;justify-content:center;gap:18px;padding:22px 0 4px;font-size:13px;color:var(--text-muted)}.pager button{background:none;border:none;font-family:var(--font);font-size:13px;color:var(--accent);cursor:pointer;padding:2px 0}.pager button:disabled{color:var(--text-muted);opacity:.5;cursor:default}.listings-restored{display:flex;align-items:center;gap:8px;padding:0 18px 10px;font-size:12px;color:var(--text-muted);flex-shrink:0}.listings-restored button{background:none;border:none;padding:0;color:var(--accent);font-family:var(--font);font-size:12px;cursor:pointer;text-decoration:underline}@media (max-width: 900px){.listings-split{flex-direction:column}.listings-map{flex:none;height:280px}.listings-side{width:auto}}.as-sheet{border:1px solid var(--border);border-radius:8px;background:var(--bg-card);margin:18px 0;overflow:hidden}.as-head{display:flex;align-items:center;gap:10px;width:100%;padding:13px 16px;background:none;border:none;cursor:pointer;color:var(--text-primary);text-align:left;font-family:inherit;flex-wrap:wrap}.as-head:hover{background:var(--bg-secondary)}.as-caret{color:var(--text-muted);font-size:11px}.as-title{font-size:14px;font-weight:600}.as-counts{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.as-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.as-pill-yours{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.as-pill-measured{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}.as-pill-assumed{background:color-mix(in srgb,var(--yellow) 15%,transparent);color:var(--yellow)}.as-body{padding:0 16px 16px;border-top:1px solid var(--border)}.as-headline{font-size:13px;line-height:1.6;color:var(--text-secondary);margin:14px 0}.as-error{font-size:12.5px;color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid color-mix(in srgb,var(--red) 30%,transparent);border-radius:6px;padding:8px 10px;margin-bottom:12px}.as-box-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;display:block}.as-toggle{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;text-align:left;width:100%}.as-toggle:hover{color:var(--text-secondary)}.as-asks-box{border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:6px;padding:11px 13px;margin-bottom:14px}.as-asks-box .as-box-title{color:var(--accent)}.as-ask-line{font-size:12.5px;line-height:1.6;color:var(--text-secondary);margin-bottom:4px}.as-ask-line strong{color:var(--text-primary)}.as-changes{border:1px solid var(--border);border-radius:6px;padding:11px 13px;margin-bottom:14px;background:var(--bg-secondary)}.as-change-list{margin-top:6px}.as-change{display:flex;align-items:baseline;gap:8px;font-size:12.5px;line-height:1.6;color:var(--text-secondary);padding:3px 0}.as-dot{width:6px;height:6px;border-radius:50%;flex:none;transform:translateY(-1px)}.as-dot-yours{background:var(--accent)}.as-dot-measured{background:var(--green)}.as-dot-assumed{background:var(--yellow)}.as-move{margin-left:auto;font-weight:600;font-size:11.5px;white-space:nowrap}.as-move.up{color:var(--green)}.as-move.down{color:var(--red)}.as-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.as-filter{font-size:11.5px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit}.as-filter:hover{color:var(--text-secondary);border-color:var(--text-muted)}.as-filter.active{background:var(--accent);border-color:var(--accent);color:#17171a;font-weight:600}.as-empty{font-size:12.5px;color:var(--text-muted);padding:12px 0}.as-group{margin-bottom:16px}.as-group-head{font-size:12px;font-weight:700;padding:7px 0 6px;border-bottom:1px solid var(--border);margin-bottom:2px}.as-group-yours{color:var(--accent)}.as-group-measured{color:var(--green)}.as-group-assumed{color:var(--yellow)}.as-group-blurb{display:block;font-size:11.5px;font-weight:400;color:var(--text-muted);margin-top:3px;line-height:1.5}.as-row{padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.as-row:last-child{border-bottom:none}.as-row-asks{background:color-mix(in srgb,var(--accent) 4%,transparent)}.as-row-main{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.as-row-label{font-size:13px;font-weight:500;color:var(--text-primary)}.as-asks{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--accent);margin-left:7px}.as-row-value{display:flex;align-items:baseline;gap:8px}.as-value{font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums}.as-band{font-size:11.5px;color:var(--text-muted)}.as-pencil{font-size:11px;background:none;border:1px solid var(--border);border-radius:4px;padding:1px 7px;color:var(--text-muted);cursor:pointer;font-family:inherit}.as-pencil:hover{color:var(--accent);border-color:var(--accent)}.as-edit{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.as-input{width:130px;padding:4px 8px;font-size:13px;font-family:inherit;background:var(--bg-input);border:1px solid var(--accent);border-radius:4px;color:var(--text-primary)}.as-unit{font-size:11.5px;color:var(--text-muted)}.as-btn{font-size:11.5px;padding:4px 10px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit}.as-btn:hover:not(:disabled){border-color:var(--text-muted)}.as-btn:disabled{opacity:.5;cursor:default}.as-btn-go{background:var(--accent);border-color:var(--accent);color:#17171a;font-weight:600}.as-btn-go:hover:not(:disabled){background:var(--accent-hover)}.as-btn-quiet{color:var(--text-muted)}.as-row-meta{display:flex;align-items:center;gap:8px;margin-top:5px;flex-wrap:wrap}.as-chip{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:3px;white-space:nowrap}.as-chip-yours{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.as-chip-measured{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}.as-chip-assumed{background:color-mix(in srgb,var(--yellow) 14%,transparent);color:var(--yellow)}.as-conf{font-size:10.5px;color:var(--text-muted)}.as-conf-high{color:var(--text-secondary)}.as-conf-low{color:var(--yellow)}.as-asof{font-size:10.5px;color:var(--text-muted);font-weight:400}.as-why{font-size:10.5px;background:none;border:none;padding:0;color:var(--text-muted);cursor:pointer;text-decoration:underline;font-family:inherit}.as-why:hover{color:var(--accent)}.as-note{font-size:12px;line-height:1.6;color:var(--text-secondary);margin-top:6px;padding-left:10px;border-left:2px solid var(--border)}.as-rerun{font-size:12.5px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:6px;padding:9px 12px;margin-bottom:14px}.as-default-line{font-size:12px;line-height:1.65;color:var(--text-muted);padding:2px 0}.as-flags{margin-bottom:14px}.as-flag{font-size:12.5px;line-height:1.65;color:var(--text-secondary);padding:2px 0}.as-context{border-top:1px solid var(--border);padding-top:12px}.as-context-list{margin-top:8px}.as-context-row{padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.as-context-row .as-note{flex-basis:100%}.as-footer{font-size:11px;color:var(--text-muted);margin-top:12px}@media (max-width: 640px){.as-counts{margin-left:0;width:100%}.as-row-main{flex-direction:column;align-items:flex-start;gap:4px}.as-input{width:100%}}.as-months{margin-top:8px}.as-month-row{display:flex;align-items:stretch;gap:3px;flex-wrap:wrap;margin-bottom:6px}.as-month-name{font-size:11px;color:var(--text-muted);min-width:74px;align-self:center}.as-month{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid transparent;border-radius:3px;padding:3px 5px;min-width:38px}.as-month em{font-style:normal;font-size:9px;color:var(--text-muted)}.as-month.peak{border-color:color-mix(in srgb,var(--green) 45%,transparent);color:var(--green)}.as-month.trough{border-color:color-mix(in srgb,var(--red) 45%,transparent);color:var(--red)}.detail-photo-btn{position:relative;padding:0;border:none;background:none;cursor:pointer;flex-shrink:0;line-height:0;border-radius:6px;overflow:hidden}.detail-photo-btn:hover .detail-source-photo{transform:scale(1.03)}.detail-source-photo{transition:transform .16s ease;display:block}.detail-photo-badge{position:absolute;right:8px;bottom:8px;font-size:11px;font-weight:600;line-height:1;padding:5px 9px;border-radius:999px;color:#f4f2ef;background:#0a0a0bb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.detail-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin:-8px 0 18px}.detail-strip-item,.detail-strip-more{flex:none;padding:0;border:1px solid var(--border);border-radius:5px;overflow:hidden;cursor:pointer;background:var(--bg-secondary);line-height:0}.detail-strip-item{width:96px;height:68px}.detail-strip-item img{width:100%;height:100%;object-fit:cover;transition:opacity .14s ease}.detail-strip-item:hover img{opacity:.75}.detail-strip-more{width:68px;height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-secondary);font-size:14px;font-weight:700;line-height:1.1;font-family:inherit}.detail-strip-more span{font-size:10px;font-weight:500;color:var(--text-muted)}.detail-strip-more:hover{color:var(--accent);border-color:var(--accent)}.detail-photo-note{font-size:12.5px;color:var(--text-muted);margin:-8px 0 16px}.lg-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:#080809f2;display:flex;flex-direction:column}.lg-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;color:#eae8e4;flex:none}.lg-where{display:flex;align-items:baseline;gap:12px;min-width:0}.lg-count{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.lg-caption{font-size:12.5px;color:#9c9892;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lg-close{background:none;border:none;color:#9c9892;font-size:20px;line-height:1;padding:4px 8px;cursor:pointer;border-radius:4px;font-family:inherit}.lg-close:hover{color:#eae8e4;background:#ffffff14}.lg-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:0 8px}.lg-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:4px;opacity:0;transition:opacity .18s ease;-webkit-user-select:none;user-select:none}.lg-photo.ready{opacity:1}.lg-empty{color:#9c9892;font-size:13px}.lg-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:none;border-radius:6px;background:#ffffff0f;color:#eae8e4;font-size:30px;line-height:1;cursor:pointer;font-family:inherit;z-index:1}.lg-arrow:hover{background:#ffffff24}.lg-arrow.left{left:10px}.lg-arrow.right{right:10px}.lg-strip{flex:none;display:flex;align-items:center;gap:6px;padding:10px 14px 14px;overflow-x:auto}.lg-thumb{flex:none;width:76px;height:54px;padding:0;border:2px solid transparent;border-radius:4px;overflow:hidden;cursor:pointer;background:none;opacity:.5;line-height:0;transition:opacity .14s ease}.lg-thumb img{width:100%;height:100%;object-fit:cover}.lg-thumb:hover{opacity:.85}.lg-thumb.active{opacity:1;border-color:var(--accent)}.lg-more{font-size:11px;color:var(--text-muted);padding:0 6px;white-space:nowrap}@media (max-width: 640px){.lg-arrow{width:36px;height:52px;font-size:24px}.lg-thumb{width:56px;height:40px}.detail-strip-item{width:76px;height:56px}}.tile-photo-chip{position:absolute;right:7px;bottom:7px;display:flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#0a0a0bad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#f4f2ef;font-family:inherit;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer;opacity:.85;transition:opacity .14s ease,border-color .14s ease,color .14s ease}.tile:hover .tile-photo-chip{opacity:1}.tile-photo-chip:hover{color:var(--accent);border-color:var(--accent)}.tile-photo-chip svg{display:block;flex:none}@media (hover: none){.tile-photo-chip{opacity:1;padding:6px 10px}}[role=link][tabindex="0"]:focus-visible,[role=button][tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (max-width: 767px){.valuation-page,.neighborhoods-page,.saved-searches-page,.calc-layout{grid-template-columns:1fr!important}.valuation-page,.neighborhoods-page,.saved-searches-page{overflow-y:auto}.valuation-sidebar,.neighborhoods-sidebar,.saved-searches-sidebar{border-right:none;border-bottom:1px solid var(--border)}}.toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none;max-width:380px}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;color:var(--text-primary);font-size:.88rem;line-height:1.45;box-shadow:0 4px 20px #00000073;animation:toast-slide-in .25s ease-out;transition:opacity .2s,transform .2s}.toast--exiting{opacity:0;transform:translate(30px)}.toast--success{border-left-color:var(--green)}.toast--error{border-left-color:var(--red)}.toast--warning{border-left-color:var(--yellow)}.toast--info{border-left-color:var(--accent)}.toast__message{flex:1;word-break:break-word}.toast__close{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0}.toast__close:hover{color:var(--text-primary)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(40px) translateY(10px)}to{opacity:1;transform:translate(0) translateY(0)}}.toast--action{align-items:center}.toast__action{flex-shrink:0;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:5px 14px;font-size:13px;font-weight:700;font-family:var(--font);cursor:pointer}.toast__action:hover{background:var(--accent-hover)}.toast__action:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}@media (max-width: 767px){.toast-container{left:16px;right:16px;bottom:16px;max-width:none}}.skeleton{background:var(--bg-card);border-radius:6px;animation:pulse 1.5s ease-in-out infinite}.skeleton-row{height:40px;background:var(--bg-card);border-radius:6px;animation:pulse 1.5s ease-in-out infinite;width:100%}.skeleton-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:20px;animation:pulse 1.5s ease-in-out infinite}.skeleton-card__header{height:16px;width:55%;background:var(--bg-input);border-radius:4px;margin-bottom:14px}.skeleton-card__line{height:12px;background:var(--bg-input);border-radius:4px;margin-bottom:10px}.skeleton-card__line:nth-child(2){width:90%}.skeleton-card__line:nth-child(3){width:75%}.skeleton-card__line:last-child{width:60%;margin-bottom:0}.skeleton-kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;animation:pulse 1.5s ease-in-out infinite}.skeleton-kpi__label{height:10px;width:50%;background:var(--bg-input);border-radius:3px;margin-bottom:10px}.skeleton-kpi__value{height:22px;width:70%;background:var(--bg-input);border-radius:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:10px}.empty-state__icon{font-size:2.2rem;margin-bottom:4px;opacity:.7}.empty-state__title{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.empty-state__desc{font-size:.9rem;color:var(--text-muted);max-width:360px;line-height:1.5}.empty-state__action{margin-top:8px;padding:8px 20px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s}.empty-state__action:hover{background:var(--accent-hover)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0009;display:flex;align-items:center;justify-content:center;animation:confirm-fade-in .15s ease-out}.confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px;max-width:420px;width:90%;box-shadow:0 8px 32px #00000080;animation:confirm-scale-in .15s ease-out}.confirm-dialog__title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.confirm-dialog__message{font-size:.92rem;color:var(--text-secondary);line-height:1.5;margin-bottom:20px}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:10px}.confirm-dialog__btn{padding:8px 18px;border-radius:6px;font-size:.88rem;font-weight:600;cursor:pointer;border:1px solid var(--border);transition:background .15s,border-color .15s}.confirm-dialog__btn--cancel{background:transparent;color:var(--text-secondary)}.confirm-dialog__btn--cancel:hover{background:var(--bg-input)}.confirm-dialog__btn--confirm{background:var(--accent);color:#fff;border-color:var(--accent)}.confirm-dialog__btn--confirm:hover{background:var(--accent-hover)}.confirm-dialog__btn--danger{background:#991b1b;color:#fca5a5;border-color:#991b1b}.confirm-dialog__btn--danger:hover{background:#7f1d1d}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.port-kpi .value.warn{color:var(--orange)}.port-kpi .value.accent{color:var(--accent)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:16px}.page-header__text{min-width:0}.page-header .page-header__text .page-header__title{font-size:20px;font-weight:700;margin:0}.dd-tabpanel .page-header .page-header__title{font-size:16px}.page-header__sub{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--text-muted);max-width:70ch}.page-header__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.error-state{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid var(--red);border-radius:8px;padding:8px 14px;margin-bottom:12px;font-size:13px;color:var(--red)}.error-state__message{flex:1;min-width:0;overflow-wrap:anywhere}.error-state__retry{background:transparent;border:1px solid currentColor;border-radius:6px;color:inherit;font-size:12px;font-weight:600;padding:4px 12px;cursor:pointer}.error-state__retry:hover{background:color-mix(in srgb,var(--red) 15%,transparent)}.loading-state{display:flex;flex-direction:column;gap:12px;padding:12px 0}.loading-state__items{display:flex;flex-direction:column;gap:8px}.loading-state--tiles .loading-state__items,.loading-state--cards .loading-state__items{flex-direction:row;flex-wrap:wrap;gap:12px}.loading-state--tiles .skeleton-kpi,.loading-state--cards .skeleton-card{flex:1;min-width:140px}.loading-state__label{font-size:13px;color:var(--text-muted)}.empty-state--compact{padding:20px 16px}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.has-stretched-link{position:relative}.stretched-link{color:inherit;text-decoration:none}.stretched-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.stretched-link:focus{outline:none}.stretched-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.above-stretched-link{position:relative;z-index:2}a.cell-link{display:block;margin:calc(-1 * var(--cell-pad-y, 10px)) calc(-1 * var(--cell-pad-x, 10px));padding:var(--cell-pad-y, 10px) var(--cell-pad-x, 10px);color:inherit;text-decoration:none}a.cell-link:focus{outline:none}a.cell-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.has-stretched-link .tile-photo-chip{z-index:2}.tab-bar{display:inline-flex;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:3px;margin-bottom:20px;max-width:100%}.tab-bar button{background:none;border:none;color:var(--text-secondary);font-family:var(--font);font-size:13px;font-weight:600;padding:8px 18px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.tab-bar button:hover{color:var(--text-primary)}.tab-bar button.active{background:var(--accent);color:var(--bg-primary)}.tab-bar button.active:hover{background:var(--accent-hover);color:var(--bg-primary)}.tab-bar button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-group-glyph{display:none;min-width:28px;height:22px;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--text-secondary)}.app-sidebar.collapsed .sidebar-group-glyph{display:inline-flex}.app-sidebar.collapsed .sidebar-group-toggle{gap:3px}.app-sidebar.collapsed .sidebar-group-label{height:0;margin:8px 14px 4px;padding:0;border-top:1px solid var(--border);font-size:0}@media (min-width: 768px) and (max-width: 1023px){.app-sidebar .sidebar-group-glyph{display:inline-flex}.app-sidebar .sidebar-group-toggle{gap:3px}.app-sidebar .sidebar-brand-link{font-size:0}.app-sidebar .sidebar-brand-link:after{content:"RE";font-size:18px}}.port-attention{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:16px}.port-attn-tile{display:flex;align-items:baseline;gap:10px;min-width:0;padding:14px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);font-size:13px;text-decoration:none;transition:border-color .15s,color .15s}.port-attn-tile:hover{border-color:var(--accent);color:var(--text-primary);text-decoration:none}.port-attn-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.port-attn-value{color:var(--text-primary);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.port-attn-tile.is-waiting .port-attn-value{color:var(--accent)}.port-attn-label{flex:1;min-width:0}.port-attn-go{color:var(--text-muted)}.portfolio-page .port-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.portfolio-page .port-kpi{min-width:0}.portfolio-page .port-kpi .value{overflow-wrap:anywhere}.portfolio-page .port-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-page .port-card{min-width:0}.portfolio-page .port-table td:nth-child(n+4){white-space:nowrap}@media (max-width: 1024px){.portfolio-page .port-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 767px){.portfolio-page .port-kpi{padding:12px 14px}.portfolio-page .port-kpi .value{font-size:20px}.portfolio-page .port-funnel-row{grid-template-columns:84px minmax(0,1fr) 28px 64px}.portfolio-page .port-bar-row{grid-template-columns:84px minmax(0,1fr) 64px 24px}}.port-pulse{margin-top:16px}.port-pulse-note{margin:0 0 12px;color:var(--text-secondary);font-size:13px}.port-pulse-btn{padding:8px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer}.port-pulse-btn:hover:not(:disabled){border-color:var(--accent)}.port-pulse-btn:disabled{opacity:.6;cursor:wait}.port-pulse-text{margin-top:12px;padding:16px;background:var(--bg-input);border-radius:8px;color:var(--text-primary);font-size:13px;line-height:1.6;white-space:pre-wrap}.agent-latest{margin-bottom:20px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}.agent-latest-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.agent-latest-head h3{margin:0;color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.agent-activity-list{display:flex;flex-direction:column}.agent-activity-row{display:grid;grid-template-columns:170px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.agent-activity-row:last-child{border-bottom:none}.agent-activity-agent{color:var(--text-primary);font-weight:600}.agent-activity-summary{min-width:0;overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.agent-activity-action{margin-right:8px;color:var(--accent);font-weight:600}.agent-activity-time{color:var(--text-muted);font-size:12px;white-space:nowrap}@media (max-width: 767px){.agent-latest{padding:14px 16px}.agent-activity-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.agent-activity-time{grid-row:1;grid-column:2}.agent-activity-summary{grid-column:1 / -1;white-space:normal}}@media (max-width: 767px){.decision-header{flex-direction:column;align-items:flex-start;gap:8px}.decision-header>div:first-child{flex-wrap:wrap;row-gap:2px}.decision-links{flex-wrap:wrap}}.page-error{gap:12px}.page-error button{padding:6px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:var(--font);font-size:13px;cursor:pointer}.page-error button:hover{border-color:var(--accent)}
