        :root{--perch-green:#0D9668;--perch-green-light:#10b981;--perch-green-dark:#047857;--perch-green-muted:#D1FAE5;--perch-green-subtle:#ECFDF5;--perch-purple:#7C3AED;--perch-purple-light:#A78BFA;--perch-purple-dark:#5B21B6;--perch-purple-muted:#EDE9FE;--perch-cyan:#06B6D4;--perch-cyan-muted:#CFFAFE;--perch-amber:#F59E0B;--perch-amber-muted:#FEF3C7;--slate-900:#0F172A;--slate-700:#334155;--slate-600:#475569;--slate-500:#64748B;--slate-400:#94A3B8;--slate-300:#CBD5E1;--slate-200:#E2E8F0;--slate-100:#F1F5F9;--slate-50:#F8FAFC;--white:#FFFFFF;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 2px 8px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-lg:0 4px 16px rgba(0,0,0,0.08),0 2px 4px rgba(0,0,0,0.04)}
        *{margin:0;padding:0;box-sizing:border-box}
        body{font-family:'DM Sans',sans-serif;background:var(--slate-100);color:var(--slate-900);line-height:1.5;height:100vh;overflow:hidden}
        .app-container{display:flex;height:100vh}
        .page-view{display:none;width:100%;height:100%}
        .page-view.active{display:flex}
        .sidebar{width:380px;background:var(--white);border-right:1px solid var(--slate-200);display:flex;flex-direction:column;flex-shrink:0;position:relative;transition:width 0.25s ease,min-width 0.25s ease,opacity 0.2s ease}
        .sidebar.collapsed{width:0;min-width:0;overflow:hidden;border-right:none;opacity:0;padding:0}
        .sidebar-toggle{position:absolute;top:50%;right:-16px;transform:translateY(-50%);width:16px;height:48px;background:var(--white);border:1px solid var(--slate-200);border-left:none;border-radius:0 6px 6px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;color:var(--slate-400);font-size:11px;padding:0;transition:color 0.15s}
        .sidebar-toggle:hover{color:var(--slate-700);background:var(--slate-50)}
        .sidebar.collapsed .sidebar-toggle{right:-16px;border-left:1px solid var(--slate-200);border-radius:0 6px 6px 0}
        .sidebar-toggle-floating{position:absolute;top:50%;left:0;transform:translateY(-50%);width:16px;height:48px;background:var(--white);border:1px solid var(--slate-200);border-left:none;border-radius:0 6px 6px 0;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:10;color:var(--slate-400);font-size:11px;padding:0;transition:color 0.15s}
        .sidebar-toggle-floating:hover{color:var(--slate-700);background:var(--slate-50)}
        .sidebar-content{flex:1;overflow-y:auto;min-height:0}
        .sidebar-header{padding:14px 18px;border-bottom:1px solid var(--slate-100);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}
        .logo{display:flex;align-items:center;gap:10px;cursor:pointer}
        .logo-text{font-family:'Instrument Sans',sans-serif;font-size:20px;font-weight:600;color:var(--slate-900)}
        .property-count{font-size:12px;color:var(--slate-500)}
        .property-count strong{color:var(--perch-green);font-weight:600}
        .nav-tabs{display:flex;flex-direction:column;padding:6px 8px;gap:1px;border-bottom:1px solid var(--slate-100)}
        .nav-tab{width:100%;padding:8px 10px;border:none;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;color:var(--slate-500);background:transparent;cursor:pointer;transition:all 0.15s;display:flex;align-items:center;justify-content:flex-start;gap:8px;text-align:left;white-space:nowrap}
        .nav-tab svg{width:14px;height:14px;flex-shrink:0;opacity:0.65;transition:opacity 0.15s}
        .nav-tab:hover{background:var(--slate-50);color:var(--slate-700)}
        .nav-tab:hover svg{opacity:0.85}
        .nav-tab.active{background:var(--perch-green-subtle);color:var(--perch-green-dark);font-weight:600}
        .nav-tab.active svg{opacity:1}
        .nav-tab .badge{background:var(--perch-green);color:white;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:700;margin-left:auto}
        .search-section{padding:12px 18px;border-bottom:1px solid var(--slate-100)}
        .search-wrapper{position:relative}
        .search-input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--slate-200);border-radius:10px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--slate-900);background:var(--slate-50);transition:all 0.2s ease}
        .search-input:focus{outline:none;border-color:var(--perch-green);background:var(--white);box-shadow:0 0 0 3px var(--perch-green-muted)}
        .search-input::placeholder{color:var(--slate-400)}
        .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--slate-400);width:16px;height:16px}
        .search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--slate-200);border-top:none;border-radius:0 0 10px 10px;box-shadow:0 8px 24px rgba(0,0,0,0.12);z-index:100;display:none;max-height:280px;overflow-y:auto}
        .search-dropdown.visible{display:block}
        .search-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--slate-50);transition:background 0.1s}
        .search-item:last-child{border-bottom:none}
        .search-item:hover,.search-item.active{background:var(--perch-green-subtle)}
        .search-item-name{font-size:13px;font-weight:600;color:var(--slate-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .search-item-meta{font-size:11px;color:var(--slate-500);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .search-item-meta span{margin-right:8px}
        .search-highlight{background:#FEF3C7;border-radius:2px;padding:0 1px}
        .search-no-results{padding:12px 14px;font-size:12px;color:var(--slate-400);text-align:center}
        .sticky-subject-area{position:sticky;top:0;z-index:10;background:var(--white)}
        .subject-section{border-bottom:1px solid var(--slate-100);display:none}
        .subject-section.visible{display:block}
        .subject-card{margin:14px 18px;background:linear-gradient(135deg,var(--perch-cyan-muted),#E0F7FA);border:2px solid var(--perch-cyan);border-radius:12px;padding:14px}
        .subject-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
        .subject-name{font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;color:var(--slate-900);line-height:1.3}
        .subject-info{font-size:11px;color:var(--slate-500);margin-top:2px}
        .subject-badge{background:var(--perch-cyan);color:white;padding:3px 8px;border-radius:10px;font-size:9px;font-weight:700;letter-spacing:0.5px}
        .subject-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
        .subject-metric{background:var(--white);padding:6px 4px;border-radius:8px;text-align:center}
        .subject-metric-value{font-family:'Instrument Sans',sans-serif;font-size:12px;font-weight:700;color:var(--slate-900);line-height:1.2}
        .subject-metric-label{font-size:8px;color:var(--slate-500);text-transform:uppercase;letter-spacing:0.3px;margin-top:2px}
        .tax-savings-banner{background:linear-gradient(135deg,var(--perch-green),var(--perch-green-dark));color:white;padding:12px 18px;display:none}
        .tax-savings-banner.visible{display:block}
        .tax-savings-banner.negative{background:linear-gradient(135deg,#EF4444,#DC2626)}
        .tax-savings-row{display:flex;justify-content:space-between;align-items:center}
        .tax-savings-label{font-size:10px;font-weight:500;opacity:0.9;text-transform:uppercase;letter-spacing:0.5px}
        .tax-savings-value{font-family:'Instrument Sans',sans-serif;font-size:22px;font-weight:700}
        .tax-savings-details{display:flex;gap:16px;margin-top:6px;font-size:10px;opacity:0.85}
        /* Due Diligence Panel */
        .dd-panel{padding:14px 18px;border-bottom:1px solid var(--slate-100);display:none;background:linear-gradient(135deg,#FDF4FF,#FAF5FF);border-left:3px solid var(--perch-purple)}
        .dd-panel.visible{display:block}
        .dd-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
        .dd-panel-title{font-family:'Instrument Sans',sans-serif;font-size:12px;font-weight:600;color:var(--perch-purple-dark)}
        .dd-panel-close{width:20px;height:20px;border:none;background:var(--slate-100);border-radius:4px;cursor:pointer;font-size:12px;color:var(--slate-500)}
        .dd-input-group{margin-bottom:10px}
        .dd-input-label{font-size:10px;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:0.3px;margin-bottom:4px;display:block}
        .dd-input{width:100%;padding:8px 10px;border:1px solid var(--slate-200);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--slate-900);background:var(--white);box-sizing:border-box}
        .dd-input:focus{outline:none;border-color:var(--perch-purple);box-shadow:0 0 0 3px rgba(139,92,246,0.15)}
        .dd-slider-row{display:flex;align-items:center;gap:8px}
        .dd-slider-row input[type="range"]{flex:1;accent-color:var(--perch-purple)}
        .dd-scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}
        .dd-scenario-card{background:var(--white);border:1px solid var(--slate-200);border-radius:8px;padding:8px;text-align:center}
        .dd-scenario-card.worst{border-color:#FCA5A5;background:#FFF5F5}
        .dd-scenario-card.probable{border-color:var(--perch-purple);background:rgba(139,92,246,0.06)}
        .dd-scenario-card.best{border-color:var(--perch-green);background:rgba(13,150,104,0.04)}
        .dd-scenario-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px}
        .dd-scenario-card.worst .dd-scenario-label{color:#DC2626}
        .dd-scenario-card.probable .dd-scenario-label{color:var(--perch-purple-dark)}
        .dd-scenario-card.best .dd-scenario-label{color:var(--perch-green-dark)}
        .dd-scenario-value{font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:700;color:var(--slate-900)}
        .dd-scenario-sub{font-size:9px;color:var(--slate-500);margin-top:2px}
        .action-bar{padding:10px 18px;border-bottom:1px solid var(--slate-100);display:flex;flex-direction:column;gap:8px}
        .action-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
        .action-btn{padding:7px 10px;border:1px solid var(--slate-200);border-radius:8px;background:var(--white);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:5px;color:var(--slate-600);transition:all 0.15s}
        .action-btn:hover{background:var(--slate-50);border-color:var(--slate-300)}
        .action-btn.primary{background:var(--perch-green);color:white;border-color:var(--perch-green)}
        .action-btn.primary:hover{background:var(--perch-green-dark)}
        .action-btn.accent{background:var(--perch-purple-muted);color:var(--perch-purple-dark);border-color:var(--perch-purple-light)}
        .action-btn.accent:hover{background:var(--perch-purple);color:white}
        .action-btn.toggle-active{background:var(--perch-purple-muted);color:var(--perch-purple-dark);border-color:var(--perch-purple)}
        .action-bar-divider{width:1px;height:20px;background:var(--slate-200);margin:0 4px;flex-shrink:0}
        .save-btn-group{position:relative;display:flex;align-items:center}
        .save-btn-group .action-btn:first-child{border-radius:8px 0 0 8px;border-right:none}
        .save-btn-group .save-chevron{padding:7px 6px;border:1px solid var(--slate-200);border-radius:0 8px 8px 0;background:var(--white);font-size:9px;cursor:pointer;color:var(--slate-500);transition:all 0.15s;display:flex;align-items:center}
        .save-btn-group .save-chevron:hover{background:var(--slate-50);border-color:var(--slate-300)}
        .action-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:var(--white);border:1px solid var(--slate-200);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.1);z-index:10000;min-width:150px;padding:4px;display:none}
        .action-dropdown.visible{display:block}
        .action-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--slate-700);cursor:pointer;transition:background 0.1s;border:none;background:none;width:100%;text-align:left}
        .action-dropdown-item:hover{background:var(--slate-50)}
        .action-dropdown-item svg{width:14px;height:14px;flex-shrink:0}
        .more-btn-wrapper{position:relative}
        .sort-select{padding:5px 8px;border:1px solid var(--slate-200);border-radius:6px;font-size:11px;color:var(--slate-600);background:var(--white)}
        .pill-toggle{display:inline-flex;border:1px solid var(--slate-200);border-radius:8px;overflow:hidden;background:var(--slate-50)}
        .pill-option{padding:5px 10px;font-size:11px;font-weight:600;font-family:'DM Sans',sans-serif;border:none;background:transparent;color:var(--slate-400);cursor:pointer;transition:all 0.15s}
        .pill-option.active{background:var(--perch-green);color:var(--white);box-shadow:0 1px 3px rgba(0,0,0,0.12)}
        .share-btn{background:#EEF2FF;color:#4F46E5;border-color:#C7D2FE}
        .share-btn:hover{background:#E0E7FF}
        .report-group .action-btn{margin:0;border-radius:8px!important;border-right:1px solid var(--perch-green)!important}
        .mobile-report-btn{display:none!important}
        @media(max-width:768px){.report-group{display:none!important}.mobile-report-btn{display:flex!important}}
        .comps-list{flex:1;overflow-y:auto;padding:10px 18px}
        .comp-card{background:var(--white);border:1px solid var(--slate-200);border-radius:10px;padding:12px;margin-bottom:8px;cursor:pointer;transition:all 0.15s;border-left:4px solid transparent;position:relative}
        .comp-card:hover{border-color:var(--perch-green);box-shadow:var(--shadow-md)}
        .comp-card.selected{background:var(--perch-green-subtle);border-color:var(--perch-green);border-left-color:var(--perch-green)}
        .comp-card.value-higher{border-left-color:var(--perch-purple)}
        .comp-card.value-lower{border-left-color:var(--perch-green)}
        .comp-card.suggested{background:var(--perch-amber-muted);border-left-color:var(--perch-amber)}
        .comp-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;position:relative}
        .comp-header-left{flex:1}
        .comp-header-right{display:flex;align-items:center;gap:6px}
        .comp-info-btn{width:20px;height:20px;border-radius:50%;background:var(--slate-100);border:none;color:var(--slate-500);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:all 0.15s;flex-shrink:0}
        .comp-info-btn:hover{background:var(--perch-cyan);color:white}
        .comp-name{font-family:'Instrument Sans',sans-serif;font-size:12px;font-weight:600;color:var(--slate-900);line-height:1.3}
        .comp-id{font-size:10px;color:var(--slate-400);margin-top:1px}
        .comp-confidence{padding:3px 7px;border-radius:10px;font-size:10px;font-weight:700;color:white}
        .comp-confidence.high{background:var(--perch-green)}
        .comp-confidence.medium{background:var(--perch-amber)}
        .comp-confidence.low{background:#EF4444}
        .comp-tags{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}
        .comp-tag{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600}
        .comp-tag.best{background:var(--perch-amber-muted);color:#B45309}
        .comp-tag.prior-sale{background:#FEE2E2;color:#DC2626;border:1px solid #FCA5A5}
        .comp-tag.selected{background:var(--perch-green-muted);color:var(--perch-green-dark)}
        .comp-tag.higher{background:var(--perch-purple-muted);color:var(--perch-purple-dark)}
        .comp-tag.lower{background:var(--perch-green-muted);color:var(--perch-green-dark)}
        .comp-tag.neutral{background:var(--slate-100);color:var(--slate-600)}
        .comp-tag.match{background:#DBEAFE;color:#1D4ED8}
        .comp-tag.trend-up{background:#FEF3C7;color:#B45309}
        .comp-tag.trend-down{background:#DCFCE7;color:#166534}
        .comp-tag.trend-flat{background:var(--slate-100);color:var(--slate-600)}
        .comp-tag.frozen{background:#E0F2FE;color:#0369A1;border:1px solid #7DD3FC;font-weight:600}
        .comp-tag.reassessed{background:#DCFCE7;color:#166534;font-weight:600}
        .comp-tag.reduced{background:#DCFCE7;color:#166534;border:1px solid #86EFAC;font-weight:600}
        .brand-marker{background:none!important;border:none!important}
        .segment-toggle{display:flex;gap:0;margin-top:6px}
        .segment-btn{flex:1;padding:7px 0;border:1px solid var(--slate-300);background:var(--white);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;color:var(--slate-600);cursor:pointer;transition:all 0.15s;text-align:center}
        .segment-btn:first-child{border-radius:8px 0 0 8px}
        .segment-btn:last-child:not(:first-child){border-radius:0 8px 8px 0}
        .segment-btn + .segment-btn{border-left:none}
        .segment-btn.active{background:var(--perch-green);color:white;border-color:var(--perch-green)}
        .segment-btn:hover:not(.active){background:var(--slate-50);border-color:var(--slate-400)}
        .comp-details{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
        .comp-detail-group h4{font-size:9px;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:0.3px;margin-bottom:6px}
        .comp-detail-row{display:flex;justify-content:space-between;font-size:11px;margin-bottom:4px;gap:6px}
        .comp-detail-row .label{color:var(--slate-500);flex-shrink:0}
        .comp-detail-row .value{font-weight:600;color:var(--slate-900);text-align:right;word-break:break-word}
        .comp-detail-row .value.higher{color:var(--perch-purple)}
        .comp-detail-row .value.lower{color:var(--perch-green)}
        .empty-state{text-align:center;padding:40px 20px;color:var(--slate-400)}
        .empty-state h3{font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;color:var(--slate-700);margin-bottom:4px}
        .main-content{flex:1;display:flex;flex-direction:column;position:relative}
        .top-bar{padding:10px 16px;background:var(--white);border-bottom:1px solid var(--slate-200);display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1000}
        .view-tabs{display:flex;gap:4px;background:var(--slate-100);padding:3px;border-radius:8px}
        .view-tab{padding:6px 14px;border:none;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;color:var(--slate-500);background:transparent;cursor:pointer;transition:all 0.15s}
        .view-tab.active{background:var(--white);color:var(--slate-900);box-shadow:var(--shadow-sm)}
        .stats-row{display:flex;gap:20px;margin-left:20px;align-items:center}
        .stat-item{text-align:center}
        .stat-value{font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:700;color:var(--slate-900)}
        .stat-label{font-size:9px;color:var(--slate-500);text-transform:uppercase;letter-spacing:0.3px}
        .stat-divider{width:1px;height:28px;background:var(--slate-200);margin:0 4px}
        .stat-trend .stat-value{font-size:13px}
        .stat-trend .stat-value.positive{color:var(--perch-green)}
        .stat-trend .stat-value.negative{color:#EF4444}
        .stat-county{background:var(--perch-purple-muted);padding:4px 10px;border-radius:6px;margin-left:4px}
        .stat-county .stat-value{font-size:13px;color:var(--perch-purple-dark)}
        .stat-county .stat-label{color:var(--perch-purple-dark)}
        .filter-toggle-btn{padding:8px 14px;border:1px solid var(--slate-200);border-radius:8px;background:var(--white);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--slate-600);transition:all 0.15s}
        .filter-toggle-btn:hover{background:var(--slate-50)}
        .filter-toggle-btn.active{background:var(--perch-green-subtle);border-color:var(--perch-green);color:var(--perch-green-dark)}
        .filter-count{background:var(--perch-green);color:white;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:700}
        #map{flex:1;position:relative}
        .filter-panel{position:absolute;top:0;right:0;bottom:0;width:260px;background:var(--white);border-left:1px solid var(--slate-200);z-index:1000;display:flex;flex-direction:column;transform:translateX(100%);transition:transform 0.25s ease;box-shadow:-4px 0 16px rgba(0,0,0,0.08);pointer-events:auto}
        .filter-panel.open{transform:translateX(0)}
        .filter-panel-header{padding:14px 16px;border-bottom:1px solid var(--slate-100);display:flex;justify-content:space-between;align-items:center}
        .filter-panel-title{font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;color:var(--slate-900)}
        .filter-panel-close{width:28px;height:28px;border:none;background:var(--slate-100);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--slate-500)}
        .filter-panel-content{flex:1;overflow-y:auto;padding:14px 16px}
        .filter-group{margin-bottom:16px}
        .filter-label{font-family:'Instrument Sans',sans-serif;font-size:10px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;color:var(--slate-400);margin-bottom:6px;display:block}
        .filter-select{width:100%;padding:8px 10px;border:1px solid var(--slate-200);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--slate-700);background:var(--white);cursor:pointer}
        .filter-select[multiple]{padding:4px;height:auto;min-height:80px;max-height:120px}
        .filter-select[multiple] option{padding:4px 8px;border-radius:4px;margin:1px 0}
        .filter-select[multiple] option:checked{background:var(--perch-green-muted);color:var(--perch-green-dark)}
        .filter-range{display:flex;align-items:center;gap:6px}
        .filter-range input{flex:1;min-width:0;padding:8px 6px;border:1px solid var(--slate-200);border-radius:8px;font-size:12px;color:var(--slate-700)}
        .filter-range span{color:var(--slate-400);font-size:11px}
        .filter-checkbox{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--slate-200);border-radius:8px;font-size:12px;color:var(--slate-600);cursor:pointer;margin-bottom:8px}
        .filter-checkbox.active{background:var(--perch-green-subtle);border-color:var(--perch-green);color:var(--perch-green-dark)}
        .filter-checkbox input{accent-color:var(--perch-green)}
        .filter-panel-footer{padding:12px 16px;border-top:1px solid var(--slate-100)}
        .smart-filters-btn{width:100%;padding:8px 12px;background:var(--perch-green);color:var(--white);border:none;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:background 0.15s}
        .smart-filters-btn:hover{background:var(--perch-green-dark)}
        .smart-filters-btn:disabled{opacity:0.4;cursor:default}
        .shared-filter-bar{display:flex;gap:8px;padding:12px 24px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--slate-100)}
        .shared-appraiser-avatar{width:32px;height:32px;border-radius:50%;background:var(--perch-green);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-family:'DM Sans',sans-serif;flex-shrink:0}
        .shared-appraiser-cell{display:flex;align-items:center;gap:6px}
        .shared-appraiser-dot{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--white);flex-shrink:0}
        .filter-clear-btn{width:100%;padding:8px;border:1px solid var(--slate-200);border-radius:8px;background:var(--white);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;color:var(--slate-600);cursor:pointer}
        .map-controls-floating{position:absolute;top:12px;left:12px;z-index:1000;display:flex;flex-direction:column;gap:8px}
        .map-control-box{background:var(--white);padding:10px 14px;border-radius:10px;box-shadow:var(--shadow-lg)}
        .radius-control{display:flex;align-items:center;gap:10px}
        .radius-control label{font-size:12px;font-weight:500;color:var(--slate-600)}
        .radius-control input[type="range"]{width:130px;accent-color:var(--perch-green);height:24px;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent}
        .radius-control input[type="range"]::-webkit-slider-runnable-track{height:6px;background:var(--slate-200);border-radius:3px}
        .radius-control input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--perch-green);border:2px solid white;box-shadow:0 1px 4px rgba(0,0,0,0.2);margin-top:-7px;cursor:grab}
        .radius-control input[type="range"]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.15)}
        .radius-control input[type="range"]::-moz-range-track{height:6px;background:var(--slate-200);border-radius:3px;border:none}
        .radius-control input[type="range"]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--perch-green);border:2px solid white;box-shadow:0 1px 4px rgba(0,0,0,0.2);cursor:grab}
        .radius-control .value{font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:600;color:var(--perch-green);min-width:45px}
        .radius-remove-btn{width:20px;height:20px;border:none;border-radius:50%;background:var(--slate-200);color:var(--slate-500);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all 0.15s}
        .radius-remove-btn:hover{background:#FEE2E2;color:#DC2626}
        .radius-remove-btn.active{background:#FEE2E2;color:#DC2626;font-weight:700}
        .quick-size-filter{display:flex;gap:6px;margin-top:4px}
        .quick-size-btn{flex:1;padding:5px 0;border:1px solid var(--slate-200);border-radius:6px;background:var(--white);font-family:'DM Sans',sans-serif;font-size:10px;font-weight:500;color:var(--slate-500);cursor:pointer;text-align:center;transition:all 0.15s}
        .quick-size-btn:hover{border-color:var(--perch-green);color:var(--perch-green)}
        .quick-size-btn.active{background:var(--perch-green);color:white;border-color:var(--perch-green)}
        .map-checkbox{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--slate-600);cursor:pointer}
        .map-checkbox input{accent-color:var(--perch-green)}
        .map-legend{position:absolute;bottom:24px;left:12px;z-index:1000;background:var(--white);padding:12px 16px;border-radius:10px;box-shadow:var(--shadow-lg)}
        .legend-title{font-family:'Instrument Sans',sans-serif;font-size:10px;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px}
        .legend-item{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:11px;color:var(--slate-600)}
        .legend-dot{width:10px;height:10px;border-radius:50%}
        .legend-dot.subject{background:var(--perch-cyan)}
        .legend-dot.higher{background:var(--perch-purple)}
        .legend-dot.lower{background:var(--perch-green)}
        .legend-dot.suggested{background:var(--perch-amber)}
        .map-watermark{position:absolute;bottom:24px;right:12px;z-index:999;background:var(--white);padding:8px 12px;border-radius:8px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:8px}
        .map-watermark .wm-text{font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;color:var(--slate-900)}
        .help-btn{position:absolute;bottom:24px;right:110px;z-index:999;width:36px;height:36px;border-radius:50%;background:var(--white);border:1px solid var(--slate-200);box-shadow:var(--shadow-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:'Instrument Sans',sans-serif;font-size:16px;font-weight:700;color:var(--slate-500);transition:all 0.2s ease}
        .help-btn:hover{background:var(--perch-green-subtle);color:var(--perch-green);border-color:var(--perch-green);box-shadow:var(--shadow-lg)}
        .help-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,0.5);backdrop-filter:blur(4px);z-index:3000;display:none;align-items:center;justify-content:center}
        .help-modal-overlay.open{display:flex}
        .help-modal{background:var(--white);border-radius:20px;width:92%;max-width:720px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 80px rgba(0,0,0,0.2)}
        .help-modal-header{padding:20px 28px;border-bottom:1px solid var(--slate-100);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
        .help-modal-header h2{font-family:'Instrument Sans',sans-serif;font-size:18px;font-weight:700;color:var(--slate-900);display:flex;align-items:center;gap:10px}
        .help-modal-header h2 svg{color:var(--perch-green)}
        .help-modal-close{width:32px;height:32px;border:none;background:var(--slate-100);border-radius:8px;cursor:pointer;font-size:16px;color:var(--slate-500);display:flex;align-items:center;justify-content:center;transition:all 0.15s}
        .help-modal-close:hover{background:var(--slate-200);color:var(--slate-900)}
        .help-modal-body{flex:1;overflow-y:auto;padding:24px 28px;line-height:1.7}
        .help-modal-body h3{font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:700;color:var(--slate-900);margin:24px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--slate-100)}
        .help-modal-body h3:first-child{margin-top:0}
        .help-modal-body h4{font-size:13px;font-weight:600;color:var(--slate-700);margin:16px 0 6px}
        .help-modal-body p{font-size:13px;color:var(--slate-600);margin:6px 0}
        .help-modal-body ul,.help-modal-body ol{font-size:13px;color:var(--slate-600);margin:6px 0 6px 20px}
        .help-modal-body li{margin:4px 0}
        .help-modal-body strong{color:var(--slate-900);font-weight:600}
        .help-modal-body code{background:var(--slate-100);padding:2px 6px;border-radius:4px;font-size:12px;color:var(--perch-purple-dark)}
        .help-modal-body table{width:100%;border-collapse:collapse;margin:10px 0;font-size:12px}
        .help-modal-body th{background:var(--slate-50);padding:8px 12px;text-align:left;font-weight:600;color:var(--slate-700);border-bottom:2px solid var(--slate-200)}
        .help-modal-body td{padding:8px 12px;border-bottom:1px solid var(--slate-100);color:var(--slate-600)}
        .help-modal-body .help-section{margin-bottom:8px}
        .help-modal-nav{padding:16px 28px;border-bottom:1px solid var(--slate-100);display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}
        .help-nav-pill{padding:5px 12px;border:1px solid var(--slate-200);border-radius:20px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;color:var(--slate-500);background:var(--white);cursor:pointer;transition:all 0.15s;white-space:nowrap}
        .help-nav-pill:hover{background:var(--perch-green-subtle);color:var(--perch-green);border-color:var(--perch-green)}
        .leaflet-control-zoom{margin-bottom:60px!important}
        .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:var(--shadow-lg)}
        .leaflet-popup-content{margin:12px 14px;font-family:'DM Sans',sans-serif;font-size:12px}
        .popup-title{font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:13px;margin-bottom:8px;color:var(--slate-900)}
        .popup-row{display:flex;justify-content:space-between;margin:4px 0}
        .popup-row .label{color:var(--slate-500)}
        .popup-row .value{font-weight:600;color:var(--slate-900)}
        .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:2000;display:none;align-items:center;justify-content:center}
        .modal-overlay.open{display:flex}
        .modal-content{background:var(--white);border-radius:16px;width:90%;max-width:600px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.2)}
        .modal-header{padding:20px 24px;border-bottom:1px solid var(--slate-100);display:flex;justify-content:space-between;align-items:flex-start}
        .modal-title{font-family:'Instrument Sans',sans-serif;font-size:18px;font-weight:600;color:var(--slate-900)}
        .modal-subtitle{font-size:13px;color:var(--slate-500);margin-top:4px}
        .modal-close{width:32px;height:32px;border:none;background:var(--slate-100);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--slate-500)}
        .modal-body{flex:1;overflow-y:auto;padding:24px}
        .detail-section{margin-bottom:24px}
        .detail-section-title{font-family:'Instrument Sans',sans-serif;font-size:11px;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--slate-100)}
        .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
        .detail-item{background:var(--slate-50);padding:12px 14px;border-radius:10px}
        .detail-item.full{grid-column:span 2}
        .detail-item-label{font-size:11px;color:var(--slate-500);margin-bottom:4px}
        .detail-item-value{font-family:'Instrument Sans',sans-serif;font-size:16px;font-weight:600;color:var(--slate-900)}
        .detail-item-value.large{font-size:20px}
        .detail-item-value.green{color:var(--perch-green)}
        .detail-item-value.purple{color:var(--perch-purple)}
        .priority-page{flex:1;display:flex;flex-direction:column;background:var(--slate-50)}
        .priority-header{padding:20px 24px;background:var(--white);border-bottom:1px solid var(--slate-200)}
        .priority-title{font-family:'Instrument Sans',sans-serif;font-size:20px;font-weight:600;color:var(--slate-900);margin-bottom:4px}
        .priority-subtitle{font-size:13px;color:var(--slate-500)}
        .priority-stats{display:flex;gap:24px;margin-top:16px}
        .priority-stat{background:var(--slate-50);padding:12px 20px;border-radius:10px}
        .priority-stat-value{font-family:'Instrument Sans',sans-serif;font-size:24px;font-weight:700;color:var(--perch-green)}
        .priority-stat-label{font-size:11px;color:var(--slate-500);margin-top:2px}
        .priority-filters{display:flex;gap:12px;padding:16px 24px;background:var(--white);border-bottom:1px solid var(--slate-200);flex-wrap:wrap;align-items:flex-end}
        .priority-filter-group{display:flex;flex-direction:column;gap:4px}
        .priority-filter-label{font-size:10px;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:0.3px}
        .priority-filter-input{padding:8px 12px;border:1px solid var(--slate-200);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--slate-700);background:var(--white);min-width:140px}
        .priority-filter-input:focus{outline:none;border-color:var(--perch-green);box-shadow:0 0 0 3px var(--perch-green-muted)}
        .priority-filter-select{padding:8px 12px;border:1px solid var(--slate-200);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--slate-700);background:var(--white);min-width:160px}
        .priority-slider-group{display:flex;align-items:center;gap:10px;min-width:200px}
        .priority-slider-group input[type="range"]{flex:1;accent-color:var(--perch-green)}
        .priority-slider-value{font-family:'Instrument Sans',sans-serif;font-size:12px;font-weight:600;color:var(--perch-green);min-width:70px}
        .priority-filter-clear{padding:8px 14px;border:1px solid var(--slate-200);border-radius:8px;background:var(--white);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;color:var(--slate-600);cursor:pointer;margin-left:auto}
        .priority-results-count{font-size:12px;color:var(--slate-500);padding:8px 24px;background:var(--white)}
        .priority-table-container{flex:1;overflow:auto;padding:20px 24px}
        .priority-table{width:100%;background:var(--white);border-radius:12px;border:1px solid var(--slate-200);border-collapse:separate;border-spacing:0}
        .priority-table th{background:var(--slate-50);padding:12px 16px;text-align:left;font-family:'Instrument Sans',sans-serif;font-size:11px;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:0.5px;border-bottom:1px solid var(--slate-200);position:sticky;top:0;cursor:pointer}
        .priority-table th:hover{background:var(--slate-100)}
        .priority-table th.sorted-asc::after{content:' ↑'}
        .priority-table th.sorted-desc::after{content:' ↓'}
        .priority-table td{padding:14px 16px;font-size:13px;color:var(--slate-700);border-bottom:1px solid var(--slate-100)}
        .priority-table tr:last-child td{border-bottom:none}
        .priority-table tr:hover td{background:var(--slate-50)}
        .priority-table .savings-positive{color:var(--perch-green);font-weight:600}
        .priority-table .confidence-high{background:var(--perch-green-muted);color:var(--perch-green-dark);padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600}
        .priority-table .confidence-medium{background:var(--perch-amber-muted);color:#B45309;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600}
        .priority-table .action-link{color:var(--perch-purple);text-decoration:none;font-weight:500;cursor:pointer}
        .priority-table .action-link:hover{text-decoration:underline}
        .loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--slate-500)}
        .spinner{width:40px;height:40px;border:3px solid var(--slate-200);border-top-color:var(--perch-green);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}
        @keyframes spin{to{transform:rotate(360deg)}}
        .priority-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}
        .priority-toggle input{display:none}
        .priority-toggle-slider{width:36px;height:20px;background:var(--slate-300);border-radius:10px;position:relative;transition:background 0.2s}
        .priority-toggle-slider::after{content:'';position:absolute;width:16px;height:16px;background:white;border-radius:50%;top:2px;left:2px;transition:transform 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.2)}
        .priority-toggle input:checked + .priority-toggle-slider{background:var(--perch-green)}
        .priority-toggle input:checked + .priority-toggle-slider::after{transform:translateX(16px)}
        .priority-toggle-label{font-size:12px;font-weight:500;color:var(--slate-600)}
        .priority-context-banner{background:linear-gradient(135deg,var(--perch-purple-muted),#E9D5FF);border:1px solid var(--perch-purple);border-radius:10px;padding:12px 16px;margin:14px 18px;display:none}
        .priority-context-banner.visible{display:block}
        .priority-context-title{font-family:'Instrument Sans',sans-serif;font-size:12px;font-weight:600;color:var(--perch-purple-dark);margin-bottom:6px}
        .priority-context-row{display:flex;justify-content:space-between;font-size:11px;color:var(--slate-600);margin-bottom:3px}
        .priority-context-row .value{font-weight:600;color:var(--perch-purple-dark)}
        .owner-input-section{padding:20px 24px;background:var(--white);border-bottom:1px solid var(--slate-200)}
        .owner-input-area{width:100%;height:180px;font-family:'DM Mono',monospace;font-size:12px;padding:12px;border:1px solid var(--slate-300);border-radius:8px;resize:vertical;line-height:1.6;color:var(--slate-700)}
        .owner-input-area::placeholder{color:var(--slate-400)}
        .owner-input-area:focus{outline:none;border-color:var(--perch-green);box-shadow:0 0 0 3px var(--perch-green-subtle)}
        .owner-btn-row{display:flex;gap:10px;margin-top:12px}
        .owner-btn{padding:10px 20px;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.15s;border:none}
        .owner-btn-run{background:var(--perch-green);color:white}
        .owner-btn-run:hover{background:var(--perch-green-dark)}
        .owner-btn-run:disabled{opacity:0.5;cursor:not-allowed}
        .owner-btn-clear{background:var(--white);color:var(--slate-600);border:1px solid var(--slate-300)}
        .owner-btn-clear:hover{background:var(--slate-50)}
        .owner-input-hint{font-size:11px;color:var(--slate-400);margin-top:8px;line-height:1.5}
        .owner-match-exact{background:var(--perch-green-subtle);color:var(--perch-green-dark);padding:3px 8px;border-radius:10px;font-size:10px;font-weight:600}
        .owner-match-fuzzy{background:var(--perch-amber-muted);color:#B45309;padding:3px 8px;border-radius:10px;font-size:10px;font-weight:600}
        .owner-match-none{background:#FEE2E2;color:#DC2626;padding:3px 8px;border-radius:10px;font-size:10px;font-weight:600}
        .owner-county-badge{background:var(--perch-purple-muted);color:var(--perch-purple-dark);padding:2px 8px;border-radius:8px;font-size:10px;font-weight:600;text-transform:capitalize}
        .history-panel{position:fixed;top:0;right:0;bottom:0;width:400px;background:var(--white);border-left:1px solid var(--slate-200);z-index:2500;display:flex;flex-direction:column;transform:translateX(100%);transition:transform 0.3s ease;box-shadow:-4px 0 20px rgba(0,0,0,0.1)}
        .history-panel.open{transform:translateX(0)}
        .history-header{padding:16px 20px;border-bottom:1px solid var(--slate-100);display:flex;justify-content:space-between;align-items:center}
        .history-title{font-family:'Instrument Sans',sans-serif;font-size:16px;font-weight:600;color:var(--slate-900)}
        .history-close{width:32px;height:32px;border:none;background:var(--slate-100);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--slate-500);font-size:18px;transition:all 0.15s}
        .history-close:hover{background:var(--slate-200)}
        .history-content{flex:1;overflow-y:auto;padding:16px 20px}
        .history-empty{text-align:center;padding:40px 20px;color:var(--slate-400);font-size:14px}
        .history-entry{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:10px;padding:14px;margin-bottom:12px;cursor:pointer;transition:all 0.15s}
        .history-entry:hover{border-color:var(--perch-green);box-shadow:var(--shadow-md)}
        .history-entry-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
        .history-entry-name{font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:600;color:var(--slate-900);line-height:1.3}
        .history-entry-date{font-size:10px;color:var(--slate-400)}
        .history-entry-info{font-size:11px;color:var(--slate-600);margin-bottom:6px}
        .history-entry-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
        .history-entry-stat{background:var(--white);padding:6px;border-radius:6px;text-align:center}
        .history-entry-stat-value{font-family:'Instrument Sans',sans-serif;font-size:12px;font-weight:700;color:var(--slate-900)}
        .history-entry-stat-label{font-size:9px;color:var(--slate-500);text-transform:uppercase;letter-spacing:0.3px}
        .history-entry-notes{margin-top:8px;padding:8px;background:var(--white);border-radius:6px;font-size:11px;color:var(--slate-600);font-style:italic;border-left:3px solid var(--perch-cyan)}
        .history-entry-actions{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--slate-200)}
        .history-entry-btn{flex:1;padding:6px;border:1px solid var(--slate-200);border-radius:6px;background:var(--white);font-size:11px;font-weight:500;color:var(--slate-600);cursor:pointer;transition:all 0.15s}
        .history-entry-btn:hover{background:var(--slate-50);border-color:var(--slate-300)}
        .history-entry-btn.primary{background:var(--perch-green);color:white;border-color:var(--perch-green)}
        .history-entry-btn.primary:hover{background:var(--perch-green-dark)}
        .history-entry-btn.danger{color:#EF4444;border-color:#FCA5A5}
        .history-entry-btn.danger:hover{background:#FEE2E2}
        .history-footer{padding:14px 20px;border-top:1px solid var(--slate-100)}
        .history-clear-btn{width:100%;padding:10px;border:1px solid var(--slate-200);border-radius:8px;background:var(--white);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;color:var(--slate-600);cursor:pointer;transition:all 0.15s}
        .history-clear-btn:hover{background:var(--slate-50);border-color:var(--slate-300)}
        .notification-container{position:fixed;top:20px;right:20px;z-index:3000;display:flex;flex-direction:column;gap:10px;pointer-events:none}
        .notification{background:var(--white);border-left:4px solid var(--perch-green);border-radius:8px;padding:12px 16px;box-shadow:var(--shadow-lg);font-size:13px;color:var(--slate-900);min-width:250px;max-width:400px;opacity:0;transform:translateX(100px);transition:all 0.3s ease;pointer-events:auto}
        .notification.show{opacity:1;transform:translateX(0)}
        .notification-success{border-left-color:var(--perch-green)}
        .notification-error{border-left-color:#EF4444}
        .notification-warning{border-left-color:var(--perch-amber)}
        .notification-info{border-left-color:var(--perch-cyan)}
        .county-selector{width:100%;padding:0 0 2px}
        .county-select{width:100%;padding:7px 10px;border:2px solid var(--perch-green);border-radius:10px;font-family:'Instrument Sans',sans-serif;font-size:12px;font-weight:600;color:var(--perch-green-dark);background:var(--perch-green-muted);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230D9668' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:all 0.2s}
        .county-select:hover{border-color:var(--perch-green-dark);background-color:#D1FAE5}
        .county-select:focus{outline:none;box-shadow:0 0 0 3px rgba(13,150,104,0.15)}

        /* Mobile elements - hidden on desktop */
        .mobile-handle{display:none}
        .mobile-summary{display:none !important}
        .mobile-kpi-bar{display:none}

        /* ============================================================ */
        /* MOBILE RESPONSIVE LAYOUT                                      */
        /* ============================================================ */
        @media (max-width: 768px) {
            body{height:100vh;height:100dvh}
            .app-container{flex-direction:column;height:100vh;height:100dvh}
            .main-content{flex:1;width:100%;order:1;min-height:0}
            #map{height:100%}

            /* Sidebar becomes a bottom drawer */
            .sidebar{
                position:fixed;bottom:0;left:0;right:0;width:100%;
                height:auto;max-height:82vh;
                border-right:none;border-top:none;
                border-radius:16px 16px 0 0;
                box-shadow:0 -4px 24px rgba(0,0,0,0.15);
                z-index:2000;
                transform:translateY(calc(100% - 80px));
                transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);
                flex-shrink:0;
                overflow:hidden;
            }
            .sidebar.mobile-expanded{transform:translateY(0)}

            /* Floating mobile subject summary - top of map */
            .mobile-summary{
                display:block !important;position:fixed;top:52px;left:8px;right:8px;z-index:1500;
                background:var(--white);border-radius:12px;
                box-shadow:0 2px 12px rgba(0,0,0,0.12);
                overflow:hidden;transition:all 0.25s ease;
            }
            .mobile-summary.hidden{display:none !important}
            .mobile-summary-header{
                display:flex;justify-content:space-between;align-items:center;
                padding:10px 14px;cursor:pointer;
                -webkit-tap-highlight-color:transparent;
            }
            .mobile-summary-name{
                font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:700;
                color:var(--slate-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;
            }
            .mobile-summary-badge{
                font-size:10px;font-weight:700;color:white;background:var(--perch-cyan);
                padding:2px 8px;border-radius:6px;margin-left:8px;flex-shrink:0;
            }
            .mobile-summary-toggle{
                font-size:10px;color:var(--slate-400);margin-left:8px;transition:transform 0.2s;flex-shrink:0;
            }
            .mobile-summary.collapsed .mobile-summary-toggle{transform:rotate(-90deg)}
            .mobile-summary.collapsed .mobile-summary-body{display:none}
            .mobile-summary-body{padding:0 14px 12px}
            .mobile-summary-metrics{
                display:flex;gap:6px;margin-bottom:8px;
            }
            .mobile-summary-metric{
                flex:1;text-align:center;background:var(--slate-50);
                padding:6px 4px;border-radius:8px;
            }
            .mobile-summary-metric .ms-val{
                font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:700;color:var(--slate-900);
            }
            .mobile-summary-metric .ms-lbl{
                font-size:8px;color:var(--slate-500);text-transform:uppercase;letter-spacing:0.3px;
            }
            .mobile-summary-savings{
                display:flex;justify-content:space-between;align-items:center;
                background:linear-gradient(135deg,var(--perch-green-subtle),#F0FDF4);
                border:1px solid var(--perch-green);border-radius:8px;
                padding:8px 12px;
            }
            .mobile-summary-savings .ms-savings-label{
                font-size:11px;font-weight:600;color:var(--perch-green-dark);
            }
            .mobile-summary-savings .ms-savings-value{
                font-family:'Instrument Sans',sans-serif;font-size:16px;font-weight:700;color:var(--perch-green-dark);
            }

            /* Drag handle + KPI peek bar */
            .mobile-handle{
                display:flex;flex-direction:column;justify-content:center;align-items:center;
                padding:8px 0 4px;cursor:pointer;
                -webkit-tap-highlight-color:transparent;
            }
            .mobile-handle-bar{
                width:40px;height:5px;background:var(--slate-300);
                border-radius:3px;
            }
            .mobile-handle-label{
                font-size:11px;font-weight:600;color:var(--slate-400);
                text-align:center;padding:2px 0 0;
                text-transform:uppercase;letter-spacing:0.5px;
            }
            .mobile-kpi-bar{
                display:flex;justify-content:center;gap:16px;
                padding:4px 16px 0;font-size:11px;
            }
            .mobile-kpi-bar .mkpi{text-align:center}
            .mobile-kpi-bar .mkpi-val{font-family:'Instrument Sans',sans-serif;font-weight:700;color:var(--slate-900);font-size:13px}
            .mobile-kpi-bar .mkpi-lbl{font-size:8px;color:var(--slate-400);text-transform:uppercase;letter-spacing:0.3px}

            /* Sidebar header compact */
            .sidebar-header{padding:8px 16px;gap:4px}
            .county-selector{padding:0}
            .county-select{padding:8px 10px;font-size:12px}
            .logo-text{font-size:16px}
            .logo svg{width:22px;height:22px}
            .property-count{font-size:11px}

            /* Sidebar content scrollable */
            .sidebar-content{overflow-y:auto;max-height:calc(82vh - 100px);-webkit-overflow-scrolling:touch}

            /* Nav tabs compact */
            .nav-tabs{padding:6px 16px;gap:2px}
            .nav-tab{padding:6px 8px;font-size:11px}

            /* Search bar */
            .search-container{padding:8px 16px}

            /* Action buttons wrap tighter */
            .action-bar{padding:8px 16px;gap:4px}
            .action-btn{padding:6px 10px;font-size:11px}
            .action-bar .sort-row{padding:0 16px 6px}
            .sort-select{font-size:11px}

            /* Subject card compact */
            .subject-card{margin:8px 16px;padding:14px}
            .subject-metrics{gap:8px}
            .subject-metric .metric-value{font-size:14px}
            .subject-metric .metric-label{font-size:8px}

            /* Comp cards */
            .comp-card{padding:12px}
            .comp-name{font-size:12px}
            .comp-details{gap:6px}

            /* Top bar compact - hide stats */
            .top-bar{padding:6px 10px}
            .header-logo{display:none!important}
            .stats-row{display:none}
            .view-tabs{gap:2px}
            .view-tab{padding:5px 10px;font-size:11px}

            /* Map controls reposition */
            .map-controls-floating{top:8px;left:8px}
            .map-control-box{padding:6px 10px}
            .map-legend{bottom:92px;left:8px;padding:8px 12px}
            .map-legend .legend-item{font-size:10px}
            .map-watermark{bottom:92px;right:8px;padding:6px 8px}
            .map-watermark .wm-text{font-size:11px}
            .help-btn{bottom:92px;right:80px;width:32px;height:32px;font-size:14px}
            .help-modal{width:96%;max-height:90vh}
            .help-modal-header{padding:16px 20px}
            .help-modal-nav{padding:12px 20px}
            .help-modal-body{padding:20px}
            .help-nav-pill{font-size:10px;padding:4px 8px}

            /* Filter panel full width on mobile */
            .filter-panel{width:100%}

            /* History panel full width */
            .history-panel{width:100%}

            /* Property modal full width */
            .modal-content{width:95%;margin:5vh auto;max-height:90vh}

            /* Notification position */
            .notification-container{top:10px;right:10px;left:10px}
            .notification{min-width:auto;max-width:none}

            /* Priority Review table scroll */
            .priority-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}

            /* Hide Priority Review & Owner Review tabs on mobile */
            #navPriority,#navOwner,#navShared,#navPriority2,#navOwner2,#navShared2,#navPriority3,#navOwner3,#navShared3{display:none!important}

            /* Leaflet zoom control spacing on mobile */
            .leaflet-control-zoom{margin-bottom:96px!important}
        }
        /* Password Gate */
        .login-gate{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0F172A 0%,#1E293B 50%,#0F172A 100%);display:flex;align-items:center;justify-content:center;z-index:99999;font-family:'DM Sans',sans-serif}
        .login-card{background:var(--white);border-radius:20px;padding:48px 40px;width:380px;max-width:90vw;box-shadow:0 25px 60px rgba(0,0,0,0.3);text-align:center}
        .login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}
        .login-logo svg{width:36px;height:36px}
        .login-logo-text{font-family:'Instrument Sans',sans-serif;font-size:28px;font-weight:700;color:var(--slate-900)}
        .login-subtitle{font-size:13px;color:var(--slate-500);margin-bottom:32px}
        .login-input-wrap{position:relative;margin-bottom:16px}
        .login-input{width:100%;padding:14px 18px;border:2px solid var(--slate-200);border-radius:12px;font-family:'DM Sans',sans-serif;font-size:15px;color:var(--slate-900);background:var(--slate-50);transition:all 0.2s;outline:none}
        .login-input:focus{border-color:var(--perch-green);background:var(--white);box-shadow:0 0 0 4px var(--perch-green-muted)}
        .login-input::placeholder{color:var(--slate-400)}
        .login-btn{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--perch-green),var(--perch-green-dark));color:white;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:all 0.2s;letter-spacing:0.3px}
        .login-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(13,150,104,0.4)}
        .login-btn:active{transform:translateY(0)}
        .login-error{color:#DC2626;font-size:12px;margin-top:12px;display:none;font-weight:500}
        .login-error.visible{display:block}
        .login-footer{margin-top:24px;font-size:11px;color:var(--slate-400)}

        /* ── Comp Builder ──────────────────────────────────────── */
        .cb-subject-card{margin:0 24px 20px;background:white;border:2px solid var(--perch-cyan);border-radius:12px;padding:16px 20px;box-shadow:var(--shadow-sm)}
        .cb-subject-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
        .cb-subject-name{font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:700;color:var(--slate-900)}
        .cb-subject-meta{font-size:12px;color:var(--slate-500);margin-top:2px}
        .cb-subject-rent{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
        .cb-rent-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:var(--slate-500)}
        .cb-rent-input{width:120px;padding:8px 12px;border:2px solid var(--slate-200);border-radius:8px;font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;text-align:right;outline:none;transition:border-color 0.2s}
        .cb-rent-input:focus{border-color:var(--perch-cyan)}
        .cb-rent-input-sm{width:80px;padding:5px 8px;border:1.5px solid var(--slate-200);border-radius:6px;font-family:'Instrument Sans',sans-serif;font-size:12px;font-weight:500;text-align:right;outline:none;transition:border-color 0.2s}
        .cb-rent-input-sm:focus{border-color:var(--perch-cyan)}
        .cb-mode-toggle{display:flex;gap:2px}
        .cb-mode-btn{padding:3px 8px;border:1px solid var(--slate-200);border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;background:white;color:var(--slate-400);transition:all 0.15s}
        .cb-mode-btn:hover{background:var(--slate-50)}
        .cb-mode-income{background:#ECFEFF;color:#0E7490;border-color:#06B6D4}
        .cb-mode-manual{background:#FEF3C7;color:#92400E;border-color:#F59E0B}
        .cb-mode-none-active{background:var(--slate-100);color:var(--slate-500);border-color:var(--slate-300)}
        .cb-adj-income{color:#0E7490;background:#ECFEFF;padding:2px 6px;border-radius:4px}
        .cb-adj-manual{color:#92400E;background:#FEF3C7;padding:2px 6px;border-radius:4px}
        .cb-actions{display:flex;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--slate-200);background:var(--slate-50)}
        .cb-cards-wrapper{flex:1;min-height:0;min-width:0;overflow:hidden;padding:0}
        .cb-cards-scroll{display:flex;gap:16px;overflow-x:auto;padding:0 24px 16px;-webkit-overflow-scrolling:touch;align-items:stretch;scroll-snap-type:x mandatory;width:100%}
        .cb-cards-scroll::-webkit-scrollbar{height:6px}
        .cb-cards-scroll::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:3px}
        .cb-card{min-width:240px;max-width:260px;flex-shrink:0;background:white;border:1.5px solid var(--slate-200);border-radius:12px;padding:16px;scroll-snap-align:start;transition:border-color 0.2s,box-shadow 0.2s}
        .cb-card:hover{border-color:var(--slate-300);box-shadow:var(--shadow-md)}
        .cb-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
        .cb-card-num{font-family:'Instrument Sans',sans-serif;font-size:20px;font-weight:800;color:var(--perch-green)}
        .cb-card-score{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700}
        .cb-card-toggle{margin-left:auto;cursor:pointer;display:flex;align-items:center}
        .cb-card-toggle input{display:none}
        .cb-toggle-check{width:22px;height:22px;border-radius:6px;background:var(--perch-green);color:white;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:all 0.15s}
        .cb-card-disabled .cb-toggle-check{background:var(--slate-200);color:var(--slate-400)}
        .cb-card-disabled{opacity:0.4;filter:grayscale(0.5)}
        .cb-card-disabled:hover{opacity:0.7}
        .cb-card-name{font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:700;color:var(--slate-900);line-height:1.3;margin-bottom:10px;min-height:34px}
        .cb-card-details{display:flex;flex-direction:column;gap:4px}
        .cb-card-row{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;padding:2px 0}
        .cb-card-label{color:var(--slate-400);font-weight:500;flex-shrink:0}
        .cb-card-value{color:var(--slate-700);font-weight:600;text-align:right;font-family:'Instrument Sans',sans-serif}
        .cb-card-highlight .cb-card-value{font-size:13px}
        .cb-card-divider{height:1px;background:var(--slate-100);margin:8px 0}
        .cb-card-inputs{display:flex;flex-direction:column;gap:8px}
        .cb-card-input-group{display:flex;flex-direction:column;gap:3px}
        .cb-card-input-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:var(--slate-400)}
        .cb-card-inputs .cb-rent-input-sm{width:100%}
        .cb-card-inputs .cb-mode-toggle{justify-content:stretch;width:100%}
        .cb-card-inputs .cb-mode-btn{flex:1;text-align:center}

        /* ============================================================ */
        /* TABLET RESPONSIVE (769px - 1024px)                            */
        /* ============================================================ */
        @media (min-width: 769px) and (max-width: 1024px) {
            .sidebar{width:300px;min-width:300px}
            .comp-card{min-width:220px}
            .priority-table th, .priority-table td{padding:6px 8px;font-size:11px}
            .stat-card{min-width:80px;padding:10px}
            .stat-value{font-size:15px}
            .stat-label{font-size:9px}
            .filter-panel{width:260px}
            .cb-subject-card{padding:12px}
            .header-logo img{height:28px}
        }

        /* ============================================================ */
        /* LARGE DESKTOP (1440px+)                                       */
        /* ============================================================ */
        @media (min-width: 1440px) {
            .sidebar{width:420px;min-width:420px}
            .comp-card{min-width:300px}
            .priority-table th, .priority-table td{padding:10px 14px;font-size:13px}
            .stat-card{padding:16px 20px}
            .stat-value{font-size:15px}
            .filter-panel{width:340px}
            .cb-subject-card{padding:20px}
        }

        /* ============================================================ */
        /* KEA PORTFOLIO DASHBOARD                                       */
        /* ============================================================ */
        .kea-dashboard{display:flex;flex-direction:column;width:100%;height:100%;background:#F8FAFC}
        .kea-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid var(--slate-200);width:100%;box-sizing:border-box}
        .kea-header-left{display:flex;align-items:center;gap:14px}
        .kea-title{font-family:'DM Sans',sans-serif;font-size:20px;font-weight:700;color:var(--slate-900);margin:0}
        .kea-count-badge{background:var(--perch-green-subtle);color:var(--perch-green-dark);font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px}
        .kea-header-right{display:flex;align-items:center;gap:10px}
        .kea-import-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--perch-green);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif}
        .kea-import-btn:hover{background:#0B8158}
        .kea-summary-cards{display:flex;gap:12px;padding:16px 24px;overflow-x:auto}
        .kea-county-card{flex:0 0 auto;min-width:160px;background:#fff;border:1px solid var(--slate-200);border-radius:10px;padding:14px 16px}
        .kea-county-card-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:var(--slate-500);margin-bottom:6px}
        .kea-county-card-count{font-family:'Instrument Sans',sans-serif;font-size:22px;font-weight:700;color:var(--slate-900);line-height:1}
        .kea-county-card-stats{display:flex;gap:12px;margin-top:8px}
        .kea-county-card-stat{font-size:11px;color:var(--slate-500)}
        .kea-county-card-stat span{font-weight:600;color:var(--slate-700)}
        .kea-body{display:flex;flex:1;min-height:0;overflow:hidden;width:100%}
        .kea-map-col{flex:0 0 55%;position:relative;min-width:0}
        .kea-map{width:100%;height:100%;min-height:400px}
        .kea-table-col{flex:1;overflow:auto;padding:0;min-width:0}
        .kea-table-wrap{padding:0}
        .kea-table{width:100%;font-size:12px}
        .kea-table th{position:sticky;top:0;background:#fff;z-index:2}
        .kea-sortable{cursor:pointer;user-select:none;white-space:nowrap}
        .kea-sortable:hover{color:var(--perch-green)}
        .kea-sortable.sort-asc::after{content:' ▲';font-size:9px}
        .kea-sortable.sort-desc::after{content:' ▼';font-size:9px}
        .kea-table tbody tr{cursor:pointer;transition:background 0.15s}
        .kea-table tbody tr:hover{background:var(--perch-green-subtle)}
        .kea-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:60px 24px;text-align:center}
        .kea-empty-icon{margin-bottom:20px;opacity:0.6}
        .kea-empty-title{font-family:'DM Sans',sans-serif;font-size:18px;font-weight:600;color:var(--slate-700);margin-bottom:8px}
        .kea-empty-desc{font-size:13px;color:var(--slate-500);max-width:420px;line-height:1.6}
        .kea-marker{width:16px;height:16px;background:#0D9668;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,0.3)}
        @media (max-width: 768px) {
            .kea-body{flex-direction:column}
            .kea-map-col{flex:0 0 300px}
            .kea-summary-cards{padding:12px 16px}
            .kea-header{padding:12px 16px;flex-wrap:wrap;gap:10px}
        }
