﻿/* SkipMatrix CRM — extracted from v23 monolith */


*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Outfit','Segoe UI',Arial,sans-serif;background:var(--bg-page);color:var(--text-primary);font-size:13px}
:root{--dark:#1F3864;--mid:#2E5FA3;--accent:#F4B942;--accent-hover:#e0a800;--green:#2e7d32;--red:#c62828;--gray:#607d8b;--light:#f0f4f8;--border:#d0d9e3;--sms:#7b1fa2;--radius:10px;--radius-sm:6px;--shadow:0 1px 3px rgba(31,56,100,.08),0 4px 12px rgba(31,56,100,.06);--shadow-lg:0 4px 12px rgba(31,56,100,.1),0 12px 32px rgba(31,56,100,.08);--bg-page:#f0f4f8;--bg-card:#ffffff;--bg-input:#ffffff;--bg-input-disabled:#f5f5f5;--bg-hover:rgba(31,56,100,.05);--bg-nav:#1F3864;--bg-topbar:#1F3864;--bg-modal:#ffffff;--bg-overlay:rgba(0,0,0,.45);--bg-tag:#e8f0fe;--text-primary:#1a2332;--text-secondary:#37474f;--text-muted:#607d8b;--text-on-dark:#ffffff;--text-on-accent:#1a2332;--text-link:#2E5FA3;--border-color:#d0d9e3;--border-light:#e8ecf0;--border-focus:#F4B942;--shadow-card:0 1px 3px rgba(31,56,100,.08),0 4px 12px rgba(31,56,100,.06);--shadow-nav:2px 0 12px rgba(31,56,100,.2);--shadow-topbar:0 2px 8px rgba(31,56,100,.2);--status-green:#2e7d32;--status-green-bg:#e8f5e9;--status-red:#c62828;--status-red-bg:#ffebee;--status-orange:#f59e0b;--status-orange-bg:#fff8e1;--status-blue:#0277bd;--status-blue-bg:#e1f5fe;--status-purple:#7c3aed;--status-purple-bg:#f3e8ff;--status-teal:#00897b;--status-teal-bg:#e0f2f1}

/* LOGO */
.logo-wordmark{font-family:'Outfit',sans-serif;font-size:22px;font-weight:800;color:#1F3864;letter-spacing:-.3px;margin-bottom:4px}
.logo-crm{font-weight:400;color:#90a4ae;font-size:16px;letter-spacing:2px;margin-left:2px}
.pw-logo .logo-mark{filter:drop-shadow(0 2px 8px rgba(31,56,100,.25))}

/* ENV BANNER */
.env-banner{position:sticky;top:0;z-index:400;text-align:center;font-size:11px;font-weight:700;letter-spacing:.4px;padding:5px 16px;line-height:18px}
.env-banner--emulator{background:#f59e0b;color:var(--text-primary)}
.env-banner--staging{background:#7c3aed;color:var(--text-on-dark)}
body.has-env-banner #nav{top:28px}
body.has-env-banner #content-topbar{top:28px}
.demo-banner{position:sticky;top:0;z-index:400;text-align:center;font-size:11px;font-weight:700;letter-spacing:.4px;padding:5px 16px;line-height:18px;background:#1F3864;color:#fff;display:flex;align-items:center;justify-content:center;gap:12px}
.demo-banner a{color:var(--accent);text-decoration:none;font-weight:700}.demo-banner a:hover{text-decoration:underline}
body.has-demo-banner #nav{top:28px}
body.has-demo-banner #content-topbar{top:28px}
body.has-demo-banner .buyers-layout{height:calc(100vh - 80px)}

/* NAV SIDEBAR */
#nav{background:var(--bg-nav);color:var(--text-on-dark);display:flex;flex-direction:column;width:180px;position:fixed;left:0;top:0;bottom:0;z-index:300;box-shadow:2px 0 12px rgba(31,56,100,.2)}
.nav-brand{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;transition:.15s;cursor:pointer}
.nav-brand:hover{background:rgba(255,255,255,.08)}
.nav-brand-text{display:inline;font-family:'Outfit',sans-serif;font-weight:700;letter-spacing:-.2px;font-size:15px}
.nav-brand-crm{font-weight:400;opacity:.5;font-size:12px;letter-spacing:1.5px;margin-left:1px}
.nav-logo-mark{flex-shrink:0}
.nav-tabs{display:flex;flex-direction:column;gap:0;flex:1;padding:8px 0}
.nav-spacer{display:none}
.nav-btn{background:transparent;border:none;border-left:3px solid transparent;color:rgba(255,255,255,.65);padding:9px 16px;cursor:pointer;font-size:12px;font-weight:600;transition:.15s;white-space:nowrap;letter-spacing:.2px;font-family:inherit;text-align:left;width:100%;display:block}
.nav-btn:hover{background:rgba(255,255,255,.08);color:var(--text-on-dark)}
.nav-btn.active{background:rgba(255,255,255,.07);color:var(--text-on-dark);border-left-color:var(--accent)}
/* Sidebar bottom */
.nav-sidebar-bottom{border-top:1px solid rgba(255,255,255,.08);padding:8px 0 0;flex-shrink:0;display:flex;flex-direction:column}
#nav-founding-badge{margin:0 14px 4px;align-self:flex-start}
#nav-org-label{font-size:9px;color:rgba(255,255,255,.28);padding:0 14px 6px;letter-spacing:.1px;word-break:break-word}
.nav-sync{display:flex;align-items:center;gap:4px;padding:6px 14px;cursor:pointer;user-select:none;transition:.15s;border-left:3px solid transparent}
.nav-sync:hover{background:rgba(255,255,255,.08)}
.nav-sync #sync-label{font-size:10px;color:rgba(255,255,255,.6);white-space:nowrap}
.nav-sync .sync-size{font-size:9px;color:rgba(255,255,255,.35);white-space:nowrap;margin-left:2px}
/* Content top bar */
#content-topbar{position:fixed;left:180px;top:0;right:0;height:52px;background:var(--bg-topbar);display:flex;align-items:center;padding:0 16px;z-index:250;box-shadow:0 2px 8px rgba(31,56,100,.2)}
#content-topbar-title{font-size:15px;font-weight:700;color:var(--text-on-dark);flex:1;letter-spacing:-.2px}
/* Nav Dropdowns */
.nav-dropdown{position:relative}
.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;background:var(--bg-modal);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:230px;padding:5px;z-index:400;border:1px solid rgba(0,0,0,.06)}
.nav-dropdown-menu.nav-dropdown-right{left:auto;right:0}
.nav-dropdown.open .nav-dropdown-menu{display:block}
.nav-dropdown-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 12px;font-size:12px;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);font-weight:500;transition:.1s;font-family:inherit}
.nav-dropdown-menu button:hover{background:var(--bg-hover);color:var(--mid)}
.ndm-divider{height:1px;background:var(--border-light);margin:4px 8px}
.ndm-section-header{display:flex;align-items:baseline;justify-content:space-between;padding:8px 12px 2px;gap:8px}
.ndm-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray);flex-shrink:0}
.ndm-user-info{font-size:11px;color:var(--gray);font-weight:400;min-width:0;word-break:break-all}
/* Sync dots */
.sync-dot{width:7px;height:7px;border-radius:50%;background:#4caf50;display:inline-block;flex-shrink:0}
.sync-dot.syncing{background:var(--accent);animation:pulse .8s infinite}
.sync-dot.offline{background:var(--red)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
/* Avatar */
.nav-avatar-trigger{background:none;border:none;cursor:pointer;padding:2px;border-radius:50%;transition:.15s}
.nav-avatar-trigger:hover{background:rgba(255,255,255,.15)}
.nav-avatar-circle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--text-on-accent);font-size:16px;font-weight:800;flex-shrink:0}
/* + Seller button on sellers page */
.add-seller-btn{background:var(--accent);color:var(--text-on-accent);border:none;padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap;margin-left:auto;transition:.15s;font-family:inherit}
.add-seller-btn:hover{background:var(--accent-hover)}

/* VIEWS */
.view{display:none;padding:16px;padding-top:68px;margin-left:180px}.view.active{display:block}
#view-sellers.active{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:visible;height:100vh;padding-right:16px;box-sizing:border-box}
/* Buyers view clears topbar without the 16px gap (full-bleed layout) */
#view-buyers{padding-top:52px!important}

/* DASHBOARD */
.dash-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:16px}
.kpi{background:var(--bg-card);border-radius:var(--radius);padding:14px;text-align:center;box-shadow:var(--shadow);border-top:3px solid var(--mid);transition:transform .15s,box-shadow .15s;flex:0 0 calc((100% - var(--tile-gaps,3) * 10px) / var(--tile-cols,4))}
.kpi.kpi--link{cursor:pointer}
.kpi.kpi--link:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.kpi--warn{border-top-color:var(--status-orange)}.kpi--warn .num{color:var(--status-orange)}
.kpi--danger{border-top-color:var(--status-red)}.kpi--danger .num{color:var(--status-red)}
.kpi--success{border-top-color:var(--status-green)}.kpi--success .num{color:var(--status-green)}
.kpi--contract{border-top-color:var(--status-blue)}.kpi--contract .num{color:var(--status-blue)}
.kpi--buyer{border-top-color:var(--status-teal)}.kpi--buyer .num{color:var(--status-teal)}
.kpi--offer{border-top-color:var(--status-purple)}.kpi--offer .num{color:var(--status-purple)}
.kpi--money{border-top-color:var(--status-blue)}.kpi--money .num{font-size:22px;color:var(--status-blue)}
.kpi .num{font-size:26px;font-weight:800;color:var(--dark);letter-spacing:-.5px}
.kpi .lbl{font-size:10px;color:var(--gray);margin-top:3px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.kpi-sub{font-size:10px;color:var(--gray);margin-top:4px;opacity:.8}
.kpi-trend-up{color:var(--status-green);font-weight:700}.kpi-trend-dn{color:var(--status-red);font-weight:700}.kpi-trend-flat{color:var(--gray)}
.dash-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.dash-card{background:var(--bg-card);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}
.dash-card h3{font-size:11px;font-weight:700;color:var(--dark);margin-bottom:9px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-light);padding-bottom:5px}
.sr{display:flex;align-items:center;gap:8px;padding:3px 0}
.sr .sl{width:150px;font-size:11px}.sr .sb{flex:1;background:var(--bg-page);border-radius:3px;height:10px;overflow:hidden}.sr .sb div{height:100%;border-radius:3px}.sr .sc{width:24px;text-align:right;font-weight:700;font-size:11px}
.fu-item{display:flex;gap:10px;align-items:center;padding:5px 0;border-bottom:1px solid var(--border-light);cursor:pointer}.fu-item:hover{background:var(--bg-hover)}
#fu-list{max-height:220px;overflow-y:auto;padding-bottom:16px}
.fu-id{color:var(--mid);font-weight:700;width:50px;font-size:10px}.fu-name{flex:1;font-size:12px}.fu-date{font-size:10px;color:var(--red);font-weight:600}
.fu-badge{display:inline-block;border-radius:8px;padding:1px 7px;font-size:9px;font-weight:700;color:var(--text-on-dark);white-space:nowrap;width:auto}
.fu-badge--seller{background:var(--status-blue)}.fu-badge--buyer{background:var(--status-green)}.fu-badge--deal{background:var(--status-purple)}
.time-grid{display:grid;grid-template-columns:repeat(17,1fr);gap:2px;margin-top:6px}
.time-cell{border-radius:3px;height:26px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--text-on-dark)}
.time-label{font-size:9px;color:var(--gray);text-align:center;margin-top:2px}
/* Activity detail cards */
.act-section-hdr{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--dark);border-bottom:2px solid var(--accent);padding-bottom:5px;margin-bottom:10px}
.act-type-row{display:flex;align-items:center;gap:8px;padding:4px 0}
.act-type-lbl{width:80px;font-size:11px;color:var(--dark);font-weight:600;white-space:nowrap}
.act-type-bar{flex:1;background:var(--bg-page);border-radius:3px;height:11px;overflow:hidden}
.act-type-bar div{height:100%;border-radius:3px;transition:width .3s}
.act-type-cnt{width:32px;text-align:right;font-size:11px;font-weight:700;color:var(--dark)}
.act-type-pct{width:32px;text-align:right;font-size:9px;color:var(--gray)}
/* Trend chart */
.trend-wrap{display:flex;gap:12px;align-items:flex-end;margin-top:4px}
.trend-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}
.trend-bars{display:flex;gap:3px;align-items:flex-end;height:72px;width:100%}
.trend-bar{flex:1;border-radius:3px 3px 0 0;min-height:3px;transition:height .3s;position:relative;cursor:default}
.trend-bar:hover::after{content:attr(title);position:absolute;bottom:105%;left:50%;transform:translateX(-50%);background:#1a2332;color:var(--text-on-dark);padding:3px 7px;border-radius:4px;font-size:9px;white-space:nowrap;z-index:10}
.trend-day-lbl{font-size:8px;color:var(--gray);text-align:center;width:100%}
.trend-week-lbl{font-size:10px;font-weight:700;color:var(--dark);white-space:nowrap}
.trend-week-cnt{font-size:22px;font-weight:800;color:var(--dark);letter-spacing:-.3px}
.trend-delta{font-size:10px;font-weight:700;padding:2px 7px;border-radius:8px;white-space:nowrap}
.trend-delta.up{background:var(--status-green-bg);color:var(--status-green)}
.trend-delta.down{background:var(--status-red-bg);color:var(--status-red)}
.trend-delta.flat{background:var(--bg-page);color:var(--text-muted)}
.trend-divider{width:1px;background:var(--border);align-self:stretch}
/* Activity Report */
.rpt-page-card{background:var(--bg-card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.rpt-type-bar{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:10px}
.rpt-type-btn{padding:7px 16px;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:none;font-size:12px;font-weight:700;color:var(--gray);cursor:pointer;transition:.15s;font-family:inherit;letter-spacing:.2px;white-space:nowrap}
.rpt-type-btn:hover{color:var(--dark)}
.rpt-type-btn.active{color:var(--accent);border-bottom-color:var(--accent)}
.rpt-controls-row{display:flex;align-items:center;margin-bottom:0}
.rpt-period-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rpt-period-select{padding:5px 28px 5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2390a4ae'/%3E%3C/svg%3E") no-repeat right 9px center;-webkit-appearance:none;appearance:none;font-size:12px;font-weight:600;color:var(--dark);font-family:inherit;cursor:pointer}
.rpt-period-select:focus{outline:none;border-color:var(--accent)}
.rpt-period-btn{padding:5px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);font-size:11px;font-weight:600;color:var(--gray);cursor:pointer;transition:.15s;font-family:inherit}
.rpt-period-btn:hover{border-color:var(--accent);color:var(--dark)}
.rpt-period-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.rpt-custom-range{display:none;align-items:center;gap:6px}
.rpt-custom-range.visible{display:flex}
.rpt-custom-sep{color:var(--gray);font-size:11px}
.rpt-custom-range input[type=date]{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:inherit;color:var(--dark);background:var(--bg-input);cursor:pointer}
.rpt-custom-range input[type=date]:focus{outline:none;border-color:var(--accent)}
.rpt-filter-toggle{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-size:12px;font-weight:600;color:var(--gray);cursor:pointer;font-family:inherit;transition:.15s}
.rpt-filter-toggle:hover{border-color:var(--accent);color:var(--dark)}
.rpt-filter-toggle.open{border-color:var(--accent);color:var(--accent);background:var(--bg-hover)}
.rpt-filter-toggle.has-active{border-color:var(--accent);color:var(--accent)}
.rpt-filter-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--text-on-accent);font-size:9px;font-weight:800;border-radius:8px;min-width:15px;height:15px;padding:0 4px;line-height:1}
.rpt-filter-chevron{font-size:10px;transition:transform .2s;margin-left:1px}
.rpt-filter-toggle.open .rpt-filter-chevron{transform:rotate(180deg)}
.rpt-filter-drawer{display:none;flex-direction:column;gap:4px;border-top:1px solid var(--border);margin-top:10px;padding-top:10px;margin-bottom:0}
.rpt-filter-drawer.open{display:flex}
.rpt-summary-kpis{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}
#act-report-summary:not(:empty){margin-top:14px;margin-bottom:12px}
#act-report-tables:not(:empty){margin-top:0}
.rpt-kpi{background:var(--bg-page);border-radius:var(--radius-sm);padding:9px 14px;min-width:90px;text-align:center}
.rpt-kpi .rk-num{font-size:24px;font-weight:800;color:var(--dark);letter-spacing:-.3px}
.rpt-kpi .rk-lbl{font-size:9px;color:var(--gray);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-weight:600}
.rpt-section-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--mid);margin:10px 0 6px;padding-bottom:3px;border-bottom:1px solid var(--border)}
.rpt-table{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:14px}
.rpt-table thead tr{background:var(--bg-page)}
.rpt-table th{padding:6px 9px;text-align:left;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gray)}
.rpt-table th.num{text-align:right}
.rpt-table td{padding:5px 9px;border-bottom:1px solid var(--border-light);vertical-align:middle}
.rpt-table td.num{text-align:right;font-weight:700;color:var(--dark)}
.rpt-table td.pct{text-align:right;color:var(--gray);font-size:10px}
.rpt-table tr:last-child td{border-bottom:none}
.rpt-table tr.rpt-total td{background:var(--bg-page);font-weight:700;border-top:2px solid var(--border)}
.rpt-result-good{color:var(--green);font-weight:700}
.rpt-result-bad{color:var(--red)}
.rpt-summary-grid{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.rpt-sum-card{background:var(--bg-page);border-radius:var(--radius-sm);padding:10px 16px;min-width:110px;text-align:center;border:1px solid var(--border)}
.rpt-sum-card.rpt-sum-positive{background:var(--status-green-bg);border-color:var(--border-color)}
.rpt-sum-card.rpt-sum-negative{background:var(--status-red-bg);border-color:var(--border-color)}
.rpt-sum-val{font-size:20px;font-weight:800;color:var(--dark);letter-spacing:-.3px}
.rpt-sum-lbl{font-size:9px;color:var(--gray);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-weight:600}
.rpt-result-neutral{color:var(--gray)}
.rpt-type-tag{display:inline-block;padding:1px 6px;border-radius:5px;font-size:9px;font-weight:700;color:var(--text-on-dark);margin-right:4px}
.rpt-empty{color:var(--text-muted);font-style:italic;font-size:11px;padding:14px 0;text-align:center}
.rpt-filter-bar{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap;align-items:center}
.rpt-filter-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);margin-right:2px}
.rpt-filter-btn{padding:4px 11px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);font-size:11px;font-weight:600;color:var(--gray);cursor:pointer;transition:.15s;font-family:inherit}
.rpt-filter-btn:hover{border-color:var(--accent);color:var(--dark)}
.rpt-filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.rpt-filter-btn.active[data-method="call"]{background:var(--status-blue);border-color:var(--status-blue);color:var(--text-on-dark)}
.rpt-filter-btn.active[data-method="sms"]{background:var(--status-purple);border-color:var(--status-purple);color:var(--text-on-dark)}
.rpt-filter-btn.active[data-method="email"]{background:var(--status-teal);border-color:var(--status-teal);color:var(--text-on-dark)}
.rpt-filter-btn.active[data-outcome="positive"]{background:var(--green);border-color:var(--green);color:var(--text-on-dark)}
.rpt-filter-btn.active[data-outcome="negative"]{background:var(--red);border-color:var(--red);color:var(--text-on-dark)}
.rpt-filter-btn.active[data-outcome="none"]{background:var(--text-muted);border-color:var(--text-muted);color:var(--text-on-dark)}
#rpt-campaign-btns{display:inline-flex;flex-wrap:wrap;gap:4px}
.rpt-filter-btn.active[data-campaign]{background:var(--status-orange);border-color:var(--status-orange);color:var(--text-on-dark)}
.rpt-admin-only{display:none}
body.role-admin .rpt-admin-only{display:inline-block}
.rpt-agent-label{font-size:11px;font-weight:700;color:var(--dark);margin:8px 0 3px;padding:4px 9px;background:var(--bg-page);border-radius:var(--radius-sm);display:block}

.outcome-row{display:flex;align-items:center;gap:7px;padding:3px 0;border-bottom:1px solid var(--border-light)}
.outcome-row:last-child{border:none}
.outcome-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.outcome-lbl{flex:1;font-size:10px;color:var(--dark)}
.outcome-cnt{font-size:11px;font-weight:700;color:var(--dark);width:24px;text-align:right}
.outcome-pct{font-size:9px;color:var(--gray);width:30px;text-align:right}
.act-feed-item{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border-light);cursor:pointer}
.act-feed-item:hover{background:var(--bg-hover);border-radius:4px}
.act-feed-date{font-size:9px;color:var(--gray);width:66px;flex-shrink:0;line-height:1.4}
.act-feed-tag{font-size:8px;padding:1px 5px;border-radius:4px;font-weight:700;color:var(--text-on-dark);flex-shrink:0;width:44px;text-align:center}
.tag-call-s{background:var(--status-blue)}.tag-sms-s{background:var(--status-purple)}.tag-email-s{background:var(--status-teal)}.tag-other-s{background:var(--text-muted)}
.act-feed-name{flex:1;font-size:11px;font-weight:600;color:var(--dark)}
.act-feed-result{font-size:9px;font-weight:600;text-align:right;flex-shrink:0}
.act-feed-result.good{color:var(--green)}.act-feed-result.bad{color:var(--red)}.act-feed-result.neutral{color:var(--gray)}
/* PIPELINE */
.na-toggle-wrap{display:flex;gap:0;margin-bottom:10px}
.na-tab{background:var(--bg-page);color:var(--text-muted);border:1px solid var(--border);padding:6px 16px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}
.na-tab:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.na-tab:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:none}
.na-tab-active{background:var(--bg-nav);color:var(--text-on-dark);border-color:var(--dark)}
.na-badge{display:inline-block;background:rgba(255,255,255,.25);color:inherit;border-radius:8px;padding:1px 7px;font-size:11px;margin-left:5px}
.na-tab:not(.na-tab-active) .na-badge{background:var(--mid);color:var(--text-on-dark)}
.sellers-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding-right:10px}
.sellers-toolbar-left{display:flex;align-items:center;gap:8px}
.sellers-toolbar-left #search-box{width:260px;padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;background:var(--bg-input);font-family:inherit;transition:border-color .15s}
.sellers-toolbar-left #search-box:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
.sellers-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}
.sellers-filters-btn{padding:6px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;background:var(--bg-card);color:var(--dark);cursor:pointer;font-family:inherit;font-weight:600;transition:all .15s;white-space:nowrap}
.sellers-filters-btn:hover{border-color:var(--mid);background:var(--bg-hover)}
.sellers-filters-btn--active{border-color:var(--mid);background:var(--status-blue-bg);color:var(--mid)}
.sellers-active-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.sellers-active-chips:empty{display:none}
.sf-chip{display:inline-flex;align-items:center;gap:4px;background:var(--status-blue-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;padding:2px 8px 2px 10px;font-size:11px;font-weight:600;white-space:nowrap}
.sf-chip-x{background:none;border:none;cursor:pointer;color:var(--mid);font-size:14px;line-height:1;padding:0 0 0 2px;display:flex;align-items:center;transition:color .1s}
.sf-chip-x:hover{color:var(--status-red)}
.sellers-filter-reset-btn{padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;background:var(--bg-card);color:var(--gray);cursor:pointer;font-family:inherit;transition:all .15s}
.sellers-filter-reset-btn:hover{background:var(--status-red-bg);border-color:var(--status-red);color:var(--status-red)}
.sellers-toolbar-wrap{flex-shrink:0;margin-left:-10px}
.seller-dd-wrap{position:relative;display:inline-flex}
.seller-view-dropdown{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);z-index:1100;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 16px rgba(0,0,0,.12);padding:12px 14px;display:flex;flex-direction:column;gap:12px;min-width:220px}
.seller-view-dropdown--narrow{min-width:0;width:max-content;padding:6px}
.seller-view-dropdown--right{left:auto;right:0;transform:none}
#sellers-map-view{display:flex;flex:1;min-height:0;overflow:hidden}
#sellers-map-sidebar{width:260px;min-width:260px;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-card);overflow:hidden}
#sellers-map-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}
#sellers-map-sidebar-title{font-size:12px;font-weight:600;color:var(--text-muted)}
#sellers-map-sidebar-clear{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:12px;padding:2px 4px}
#sellers-map-sidebar-clear:hover{color:var(--text)}
#sellers-map-sidebar-list{flex:1;overflow-y:auto;padding-bottom:16px}
.seller-map-sb-item{padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer}
.seller-map-sb-item:hover{background:var(--hover)}
.seller-map-sb-name{font-size:13px;font-weight:600;color:var(--text)}
.seller-map-sb-addr{font-size:11px;color:var(--text-muted);margin:2px 0 4px}
#sellers-map-container{flex:1;min-width:0}
#sellers-map-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:7px;padding:8px 10px;box-shadow:0 2px 8px rgba(0,0,0,.18);min-width:0;font-size:10px;color:var(--text-primary)}
.smp-btn-row{display:flex;align-items:center;gap:4px}
.smp-btn{background:var(--bg-page);border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);cursor:pointer;font-family:inherit;width:30px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 1px 3px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.07);transition:background .12s,box-shadow .12s,transform .08s}
.smp-btn:hover{background:var(--bg-hover);border-color:var(--mid);box-shadow:0 2px 5px rgba(0,0,0,.15)}
.smp-btn:active{transform:translateY(1px);box-shadow:0 0 2px rgba(0,0,0,.1)}
.smp-btn-active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}
.smp-delete-btn{color:var(--status-red)}
.smp-confirm-btn{flex:1;width:auto;height:26px;font-size:10px;font-weight:700;letter-spacing:.02em}
.smp-save-btn{color:var(--status-green)}
.smp-divider-v{width:1px;height:18px;background:var(--border-color);margin:0 3px;flex-shrink:0}
.smp-divider-h{border-top:1px solid var(--border-color);margin:7px 0}
#smp-editmode-row{display:flex;gap:5px;margin-top:6px}
#smp-legend-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;line-height:1.65}
.smp-legend-row{display:flex;align-items:center;gap:5px;white-space:nowrap}
.smp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}
.svd-group{display:flex;flex-direction:column;gap:6px}
.svd-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.svd-pills{display:flex;gap:0}
.svd-pills .na-tab{flex:1;text-align:center}
.svd-sort-list{display:flex;flex-direction:column;gap:1px;min-width:0}
.svd-sort-opt{background:none;border:none;text-align:left;padding:5px 10px;font-size:12px;font-weight:600;color:var(--text-primary);cursor:pointer;border-radius:4px;font-family:inherit;white-space:nowrap;transition:background .12s}
.svd-sort-opt:hover{background:var(--bg-hover)}
.svd-sort-opt-active{background:var(--status-blue-bg);color:var(--mid)}
.sellers-table-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;margin-left:-10px;margin-right:0;padding-bottom:16px}
.sellers-table-wrap thead th{white-space:nowrap}
.sellers-table-wrap::-webkit-scrollbar{width:10px}
.sellers-table-wrap::-webkit-scrollbar-track{background:transparent}
.sellers-table-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}
.sellers-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--mid)}
#sellers-pager{flex-shrink:0}
/* Sortable column headers */
.sortable-col{cursor:pointer;user-select:none;white-space:nowrap}
.sortable-col:hover{background:rgba(46,95,163,.06)}
.sortable-col.sort-asc,.sortable-col.sort-desc{background:rgba(46,95,163,.09);color:var(--mid)}
.sort-icon{display:inline-block;margin-left:4px;font-size:10px;opacity:.45;vertical-align:middle}
.sortable-col:hover .sort-icon{opacity:.75}
.sortable-col.sort-asc .sort-icon{opacity:1}
.sortable-col.sort-asc .sort-icon::after{content:'▲'}
.sortable-col.sort-desc .sort-icon{opacity:1}
.sortable-col.sort-desc .sort-icon::after{content:'▼'}
.sort-icon:not(.sort-asc .sort-icon):not(.sort-desc .sort-icon)::after{content:'⇅'}
/* Phone Lookup Panel */
#phone-lookup-panel{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:350;max-height:340px;overflow-y:auto;padding-bottom:16px}
.plp-header{padding:8px 12px;font-size:11px;color:var(--dark);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px}
.plp-count{background:var(--accent);color:var(--text-on-accent);border-radius:8px;padding:1px 7px;font-size:10px;font-weight:700;margin-left:auto}
.plp-section{padding:5px 12px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--gray);background:var(--bg-page);border-bottom:1px solid var(--border)}
.plp-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-light);transition:background .1s}
.plp-row:last-child{border-bottom:none}
.plp-row:hover{background:var(--bg-hover)}
.plp-phone{font-size:12px;font-weight:700;color:var(--mid);min-width:110px;font-family:monospace}
.plp-name{font-size:12px;font-weight:600;color:var(--dark);min-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plp-meta{font-size:10px;color:var(--gray);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{background:var(--accent);color:var(--text-on-accent);padding:2px 9px;border-radius:10px;font-size:10px;font-weight:700}
table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
thead tr{background:var(--bg-nav);color:var(--text-on-dark)}
th{padding:8px 9px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
tbody tr{border-bottom:1px solid var(--border-light);cursor:pointer;transition:.12s}
tbody tr:hover{background:var(--bg-hover)}
td{padding:7px 9px;font-size:11px;vertical-align:middle}
.pill{display:inline-block;padding:2px 7px;border-radius:9px;font-size:9px;font-weight:700;white-space:nowrap}
.p-New{background:var(--status-blue-bg);color:var(--status-blue)}.p-Attempted{background:var(--status-orange-bg);color:var(--status-orange)}.p-Contacted{background:var(--status-orange-bg);color:var(--status-orange)}
.p-Warm{background:var(--status-purple-bg);color:var(--status-purple)}.p-Offer{background:var(--status-green-bg);color:var(--status-green)}.p-Contract{background:var(--status-teal-bg);color:var(--status-teal)}
.p-Closed{background:var(--status-green-bg);color:var(--status-green)}.p-Dead{background:var(--bg-page);color:var(--text-muted)}.p-Adjoining{background:#e0f7fa;color:#0097a7}
.p-Active{background:var(--status-green-bg);color:var(--status-green)}.p-Inactive{background:var(--bg-page);color:var(--text-muted)}.p-Paused{background:var(--status-orange-bg);color:var(--status-orange)}
.linked-grp-badge{display:inline-block;font-size:9px;font-weight:700;color:var(--status-blue);background:var(--status-blue-bg);border-radius:8px;padding:1px 6px;margin-left:5px;vertical-align:middle;white-space:nowrap}

.seller-row-grouped{border-left:3px solid #90caf9}

/* RECORD & BUYER DETAIL */
.back-btn{display:inline-flex;align-items:center;gap:5px;background:var(--mid);color:var(--text-on-dark);border:none;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:600;margin-bottom:14px;font-family:inherit}
.back-btn:hover{background:var(--bg-nav)}
.rec-layout{display:grid;grid-template-columns:1fr 360px;gap:12px;align-items:start}
.rec-header{color:var(--text-on-dark);border-radius:var(--radius);padding:14px 18px;margin-bottom:12px}
.rec-header.seller-hdr{background:var(--bg-nav)}
.rec-header.buyer-hdr{background:#00695c}
.rec-header h2{font-size:18px;font-weight:800;margin-bottom:3px;letter-spacing:-.2px}

/* ── Sticky Record Bar ────────────────────────────────────── */
.record-view{padding-top:52px!important;--sticky-mask-h:150px}
.record-view::before{content:'';position:sticky;top:52px;display:block;height:var(--sticky-mask-h);margin-bottom:calc(-1 * var(--sticky-mask-h));background:var(--bg-page);z-index:199}
.record-sticky-bar{position:sticky;top:60px;z-index:200;padding:18px 24px;margin:8px 0 8px;display:none;border-radius:var(--radius)}
.record-sticky-bar.active{display:block}
.record-view #seller-record-view,.record-view #buyer-record-view{padding-top:14px}
.seller-sticky{background:var(--bg-nav);color:var(--text-on-dark)}
.buyer-sticky{background:#00695c;color:var(--text-on-dark)}
.sticky-action-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.sticky-top-row{display:flex;align-items:center;gap:14px;margin-bottom:8px;flex-wrap:wrap}
.sticky-address-row{display:flex;align-items:baseline;gap:8px 16px;margin-bottom:6px;font-size:13px;line-height:1.5}
.sticky-addr-text{white-space:normal;word-break:break-word;font-weight:600;opacity:.95}
.prop-match-arrow{background:rgba(255,255,255,.18);color:var(--text-on-dark);border:none;padding:3px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.3px;font-family:inherit;vertical-align:middle;transition:background .15s}.prop-match-arrow:hover{background:rgba(255,255,255,.3)}
.sticky-apn-input{flex-shrink:0;field-sizing:content;min-width:7ch;font-family:inherit;font-size:inherit;font-weight:600;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:4px;padding:2px 6px;color:var(--text-on-dark);outline:none;transition:background .15s,border-color .15s}
.sticky-apn-input::placeholder{color:rgba(255,255,255,.4)}
.sticky-apn-input:focus{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.5)}
.sticky-apn-display{font-weight:600;color:var(--text-on-dark)}
.sticky-apn-edit-btn{background:none;border:none;cursor:pointer;font-size:.8em;opacity:.6;padding:0 2px;line-height:1;color:var(--text-on-dark);vertical-align:middle;transition:opacity .15s}
.sticky-apn-edit-btn:hover{opacity:1}
.sticky-best-btn{cursor:pointer;display:flex;align-items:baseline;gap:5px}
.sticky-best-btn:hover .sticky-detail-val{text-decoration:underline;text-decoration-style:dotted}
.best-contact-picker{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.15);min-width:220px;max-width:340px;padding:4px 0 16px;font-size:12px;max-height:240px;overflow-y:auto}
.bcp-item{padding:7px 14px;cursor:pointer;color:var(--dark);word-break:break-all}
.bcp-item:hover{background:var(--bg-hover)}
.bcp-item--active{font-weight:700;color:var(--accent)}
.sticky-details .sticky-detail--address{white-space:normal;overflow:visible;gap:16px}
.sticky-detail-val--full{overflow:visible !important;text-overflow:clip !important;white-space:normal !important;max-width:none !important;word-break:break-word}
.sticky-back-btn{background:rgba(255,255,255,.18);color:var(--text-on-dark);border:none;padding:7px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:700;flex-shrink:0;letter-spacing:.3px;font-family:inherit}
.sticky-back-btn:hover{background:rgba(255,255,255,.3)}
.sticky-log-btn{background:rgba(255,255,255,.18);color:var(--text-on-dark);border:none;padding:6px 13px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;flex-shrink:0;letter-spacing:.3px;font-family:inherit}
.sticky-log-btn:hover{background:rgba(255,255,255,.3)}
.sticky-skip-trace-btn{background:rgba(255,255,255,.18);color:var(--text-on-dark);border:none;padding:6px 13px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;flex-shrink:0;letter-spacing:.3px;font-family:inherit;margin-left:auto}
.sticky-skip-trace-btn:hover{background:rgba(255,255,255,.3)}
.sticky-skip-trace-btn:disabled{opacity:.5;cursor:default}
.sticky-lookup-btn{background:rgba(255,255,255,.18);color:var(--text-on-dark);border:none;padding:6px 13px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;flex-shrink:0;letter-spacing:.3px;font-family:inherit;margin-left:4px}
.sticky-lookup-btn:hover{background:rgba(255,255,255,.3)}
.sticky-coowner{font-size:11px;font-weight:400;opacity:.8}
.sticky-mail-btn{background:rgba(255,255,255,.18);color:var(--text-on-dark);border:none;padding:6px 13px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;flex-shrink:0;letter-spacing:.3px;font-family:inherit;margin-left:4px}
.sticky-mail-btn:hover{background:rgba(255,255,255,.3)}
/* Sticky save button */
.sticky-save-btn{background:rgba(255,255,255,.18);color:var(--text-on-dark);border:none;padding:7px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:700;flex-shrink:0;letter-spacing:.3px;font-family:inherit}
.sticky-save-btn:hover{background:rgba(255,255,255,.3)}
/* Status select in sticky bar */
.sticky-status-select{background:rgba(255,255,255,.18);color:var(--text-on-dark);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);padding:4px 8px;font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;flex-shrink:0;text-transform:uppercase;letter-spacing:.4px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(255,255,255,.7)'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px}
.sticky-status-select option{color:var(--text-primary);background:var(--bg-input);font-weight:600;text-transform:none}
.sticky-status-select:focus{outline:none;border-color:rgba(255,255,255,.6)}
/* Est value and FU date inputs in sticky address row */
.sticky-est-input{min-width:60px;max-width:90px}
.sticky-fu-input{min-width:90px;color-scheme:dark}
/* Sticky tools dropdown */
.sticky-tools-wrap{position:relative;margin-left:auto;flex-shrink:0}
.sticky-tools-btn{background:rgba(255,255,255,.18);color:var(--text-on-dark);border:none;padding:6px 13px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;flex-shrink:0;letter-spacing:.3px;font-family:inherit}
.sticky-tools-btn:hover{background:rgba(255,255,255,.3)}
.sticky-tools-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:var(--bg-modal);border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,0,0,.18);min-width:180px;padding:4px;z-index:450;border:1px solid rgba(0,0,0,.07)}
.sticky-tools-wrap.open .sticky-tools-menu{display:block}
.sticky-tools-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 12px;font-size:12px;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);font-weight:500;transition:.1s;font-family:inherit}
.sticky-tools-menu button:hover{background:var(--bg-hover)}
.sticky-tools-danger{color:var(--status-red) !important}
.sticky-tools-danger:hover{background:var(--status-red-bg) !important}
.sticky-tools-sep{height:1px;background:var(--border);margin:4px 6px}
/* Parcel compare modal */
.pc-table{width:100%;border-collapse:collapse;font-size:12px}
.pc-table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--border);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--gray)}
.pc-table td{padding:7px 8px;border-bottom:1px solid var(--border-light,#f0f0f0);vertical-align:middle}
.pc-row--diff .pc-rec{color:var(--red);text-decoration:line-through;opacity:.7}
.pc-row--diff .pc-county{color:var(--status-green);font-weight:600}
.pc-row--empty .pc-rec{color:var(--gray)}
.pc-row--empty .pc-county{font-weight:600}
.pc-label{color:var(--gray);white-space:nowrap;font-size:11px}
.pc-label--approx{color:var(--status-orange);font-weight:600}
.pc-empty{color:var(--gray);font-style:italic}
.pc-all-match{text-align:center;padding:20px;color:var(--gray)}
.pc-coowner-hdr{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);margin-bottom:8px}
.pc-coowner{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border-light,#f0f0f0);font-size:12px}
.pc-coowner-name{flex:1;font-weight:600}
.pc-coowner-tag{font-size:10px;color:var(--gray);background:var(--bg-page);border-radius:10px;padding:2px 8px}
.pc-coowner--exists{opacity:.6}
.sticky-delete-btn{background:rgba(220,53,69,.75);color:var(--text-on-dark);border:none;padding:6px 13px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;flex-shrink:0;letter-spacing:.3px;font-family:inherit;margin-left:4px}
.sticky-delete-btn:hover{background:rgba(220,53,69,1)}
.dm-warn{background:var(--status-orange-bg);border:1px solid var(--status-orange);border-radius:var(--radius-sm);padding:8px 10px;font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.sticky-record-id{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.55;white-space:nowrap;flex-shrink:0}
.sticky-record-age{font-size:12px;font-weight:600;opacity:.5;white-space:nowrap;flex-shrink:0}
.sticky-name{font-size:22px;font-weight:800;white-space:nowrap;letter-spacing:-.3px}
.sticky-company{font-size:15px;font-weight:500;opacity:.8;white-space:nowrap}
.sticky-badge{display:inline-block;padding:4px 11px;border-radius:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}
.sticky-badge-seller{background:rgba(255,255,255,.2)}
.sticky-badge-buyer{background:rgba(255,255,255,.2)}
.sticky-deceased{background:var(--status-red-bg);color:var(--status-red);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:700}
.sticky-archived-badge{background:var(--bg-page);color:var(--text-muted);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:700}
.sticky-details{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;line-height:1.6}
.sticky-contact-row{display:flex;align-items:center;gap:20px;margin-top:8px;font-size:14px;line-height:1.6}
.sticky-detail{display:flex;align-items:baseline;gap:5px;white-space:nowrap;min-width:0}
.sticky-detail-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.6;flex-shrink:0}
.sticky-detail-val{font-weight:600;white-space:nowrap}
.sticky-detail-val.mono{font-family:monospace;font-size:13px}
.sticky-detail-val a{color:rgba(255,255,255,.9);text-decoration:underline}
.rec-meta{font-size:11px;opacity:.75;line-height:1.9}
.rec-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.rc-group{display:flex;flex-direction:column;gap:2px}
.rc-group label{font-size:9px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.5px}
.rc-group select,.rc-group input{padding:5px 8px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:var(--text-on-dark);font-size:11px;font-family:inherit}
.rc-group select option{color:var(--text-primary);background:var(--bg-input)}
.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px;overflow:hidden}
.card-hdr{background:var(--mid);color:var(--text-on-dark);padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center;gap:7px}
.card-hdr.teal{background:#00695c}
.card-hdr .cnt{background:rgba(255,255,255,.25);padding:1px 6px;border-radius:7px;font-size:9px}
.card-body{padding:12px}
.cb{border:1px solid var(--border-color);border-radius:6px;padding:10px;margin-bottom:8px;background:var(--bg-card)}
.cb:last-child{margin-bottom:0}
.cb-top{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.cb-tag{padding:2px 7px;border-radius:8px;font-size:9px;font-weight:700;color:var(--text-on-dark)}
.tag-subject{background:var(--bg-nav)}.tag-relative{background:#5c6bc0}.tag-associate{background:var(--status-teal)}
.cb-name{font-size:13px;font-weight:700;flex:1}.cb-age{color:var(--gray);font-size:10px}
.dec-warn{background:var(--status-red-bg);color:var(--red);padding:2px 7px;border-radius:3px;font-size:10px;font-weight:700}
.cb-addr{font-size:10px;color:var(--gray);margin:2px 0 6px;line-height:1.7}
.methods-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);margin-bottom:4px;margin-top:6px}
.method-item{display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:4px;margin-bottom:3px;cursor:pointer;border:1px solid transparent;transition:.15s;background:var(--bg-page)}
.method-item:hover{border-color:var(--mid);background:var(--bg-hover)}
.method-item.has-log{background:var(--status-green-bg);border-color:var(--border-color)}
.method-item.flagged-bad{background:var(--status-red-bg);border-color:var(--border-color);opacity:.7}
.method-val{flex:1;font-size:11px;font-weight:600}
.method-type{font-size:9px;padding:1px 5px;border-radius:6px;font-weight:700}
.mt-Wireless{background:var(--status-blue-bg);color:var(--status-blue)}.mt-Landline{background:var(--status-purple-bg);color:var(--status-purple)}.mt-Voip{background:var(--status-green-bg);color:var(--status-green)}.mt-Other{background:var(--status-orange-bg);color:var(--status-orange)}
.phone-type-sel{border:none;border-radius:6px;font-size:9px;font-weight:700;padding:1px 4px;cursor:pointer;outline:none}
.phone-type-sel.mt-Wireless{background:var(--status-blue-bg);color:var(--status-blue)}.phone-type-sel.mt-Landline{background:var(--status-purple-bg);color:var(--status-purple)}.phone-type-sel.mt-Voip{background:var(--status-green-bg);color:var(--status-green)}.phone-type-sel.mt-Other{background:var(--status-orange-bg);color:var(--status-orange)}
.method-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:80px}
.method-status{font-size:9px;color:var(--gray);font-style:italic;text-align:right}
.method-status.good{color:var(--green);font-style:normal;font-weight:600}.method-status.bad{color:var(--red);font-style:normal}
.method-attempts{font-size:9px;color:var(--gray)}
.method-log-btn{font-size:9px;background:var(--mid);color:var(--text-on-dark);border:none;padding:2px 7px;border-radius:3px;cursor:pointer}
.method-log-btn:hover{background:var(--bg-nav)}

/* LOG ENTRIES */
.log-entry{padding:7px 10px;border-left:3px solid var(--mid);background:var(--bg-card);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:5px;position:relative;content-visibility:auto;contain-intrinsic-size:auto 100px}
.log-entry.e-call{border-color:var(--status-blue)}.log-entry.e-sms{border-color:var(--status-purple)}.log-entry.e-email{border-color:var(--status-teal)}.log-entry.e-other{border-color:var(--gray)}
.log-entry.outcome-good{border-color:var(--green);background:var(--status-green-bg)}.log-entry.outcome-bad{border-color:var(--red);background:var(--status-red-bg)}
.le-top{display:flex;gap:5px;align-items:center;margin-bottom:2px;flex-wrap:wrap}
.le-date{font-size:9px;color:var(--gray);font-weight:600}
.le-time{font-size:9px;color:var(--mid);font-weight:700;background:var(--status-blue-bg);padding:1px 5px;border-radius:4px}
.le-method-tag{font-size:9px;padding:1px 5px;border-radius:5px;font-weight:700;color:var(--text-on-dark)}
.tag-call{background:var(--status-blue)}.tag-sms{background:var(--status-purple)}.tag-email{background:var(--status-teal)}.tag-other{background:var(--gray)}
.le-who{font-size:9px;color:var(--gray);font-style:italic}
.le-logged-by-row{display:flex;justify-content:flex-end;margin-top:3px}
.le-logged-by{font-size:9px;color:var(--text-on-dark);background:var(--text-muted);border-radius:4px;padding:1px 5px;font-weight:600}
.le-value{font-size:10px;color:var(--dark);font-weight:600;margin-bottom:1px}
.le-result{font-size:10px;font-weight:700}.le-result.good{color:var(--green)}.le-result.bad{color:var(--red)}.le-result.neutral{color:var(--gray)}
.le-sms-status{font-size:10px;margin:3px 0 2px;padding:2px 6px;border-radius:3px;font-weight:600;display:flex;align-items:center;gap:4px}
.le-sms-delivered{background:var(--status-green-bg);color:var(--status-green)}
.le-sms-undelivered{background:var(--status-orange-bg);color:var(--status-orange)}
.le-sms-failed{background:var(--status-red-bg);color:var(--status-red)}
.le-sms-sent{background:var(--status-blue-bg);color:var(--status-blue)}
.le-sms-why{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;border:1px solid currentColor;font-size:8px;font-weight:700;cursor:help;opacity:0.75;flex-shrink:0;line-height:1}
/* call status badges */
.le-call-status{font-size:10px;margin:3px 0 2px;padding:2px 6px;border-radius:3px;font-weight:600;display:inline-flex;align-items:center;gap:4px}
.le-call-inprogress{background:var(--status-blue-bg);color:var(--status-blue)}
.le-call-completed{background:var(--status-green-bg);color:var(--status-green)}
/* click-to-call button on phone rows */
.method-call-btn,.method-vm-btn{background:none;border:none;cursor:pointer;font-size:13px;padding:0 3px;opacity:.6;transition:.15s;flex-shrink:0;line-height:1}
.method-item:hover .method-call-btn,.method-item:hover .method-vm-btn{opacity:1}
.method-call-btn:hover,.method-vm-btn:hover{transform:scale(1.2)}
.le-notes{font-size:10px;color:var(--text-secondary);margin-top:2px}
.le-delete{position:absolute;top:5px;right:7px;color:var(--border-color);cursor:pointer;font-size:12px;line-height:1;border:none;background:none;padding:0}
.le-delete:hover{color:var(--red)}
.le-edit-notes{position:absolute;top:5px;right:26px;color:var(--border-color);cursor:pointer;font-size:11px;line-height:1;border:none;background:none;padding:0;opacity:0;transition:.15s}
.log-entry:hover .le-edit-notes{opacity:1}
.le-edit-notes:hover{color:var(--mid)}
.no-log{color:var(--gray);font-style:italic;font-size:11px;padding:6px 0}
.notes-area{width:100%;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;resize:vertical;min-height:60px;font-family:inherit;transition:border-color .15s}
.notes-area:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
.save-row{display:flex;align-items:center;gap:10px;margin-top:10px}
.save-btn{background:var(--green);color:var(--text-on-dark);border:none;padding:7px 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:700;font-family:inherit}
.save-btn:hover{background:#1b5e20}
.saved-msg{color:var(--green);font-size:11px;font-weight:600;opacity:0;transition:.3s}
.saved-msg.show{opacity:1}

/* KEY DETAILS CARD */
.kd-card{margin-bottom:14px}
.kd-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 14px}
.kd-grid--1col{grid-template-columns:1fr}
.kd-grid--2col{grid-template-columns:repeat(2,1fr)}
.kd-grid--3col{grid-template-columns:repeat(3,1fr)}
.kd-grid--addr{grid-template-columns:2fr 1fr}
.kd-two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.kd-col{min-width:0}
.kd-section-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--mid);border-bottom:1px solid var(--border);padding-bottom:3px;margin:12px 0 8px}
.kd-two-col .kd-section-label:first-child,.kd-col .kd-section-label:first-child{margin-top:0}
.kd-field{display:flex;flex-direction:column;gap:3px}
.kd-field.kd-span2{grid-column:span 2}
.kd-field.kd-best{grid-column:span 1}
.kd-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray)}
.kd-val{font-size:12px;font-weight:600;color:var(--dark);line-height:1.4}
.kd-mono{font-family:monospace;font-size:11px;color:var(--mid)}
.kd-input{padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:inherit;width:100%;color:var(--dark);transition:border-color .15s}
.kd-input:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
.kd-select{padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:inherit;width:100%;color:var(--dark);background:var(--bg-input);transition:border-color .15s}
.kd-select:focus{border-color:var(--mid);outline:none}

/* COLLAPSIBLE CONTACT BLOCKS */
.cb-collapse-hdr{display:flex;align-items:center;gap:7px;cursor:pointer;user-select:none;padding:7px 0 5px}
.cb-collapse-hdr:hover .cb-name{text-decoration:underline}
.cb-chevron{font-size:10px;color:var(--gray);transition:transform .2s;display:inline-block;width:13px;text-align:center}
.cb-chevron.open{transform:rotate(90deg)}
.cb-collapsible{overflow:hidden;transition:max-height .25s ease,opacity .2s;max-height:0;opacity:0}
.cb-collapsible.open{max-height:600px;opacity:1}
.cb-inline-actions{display:flex;gap:6px;margin-top:8px;padding-top:6px;border-top:1px dashed var(--border-color)}
.cb-add-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--mid);padding:3px 10px;border-radius:10px;cursor:pointer;font-size:9px;font-weight:600;transition:all .15s;font-family:inherit}
.cb-add-btn:hover{background:var(--mid);color:var(--text-on-dark);border-color:var(--mid)}
.cb-edit-btn{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 4px;border-radius:4px;opacity:.5;transition:opacity .15s}
.cb-edit-btn:hover{opacity:1;background:var(--bg-hover)}
.btn-delete{font-size:11px;padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;background:var(--status-red-bg);color:var(--red);border:1px solid var(--border-color);font-family:inherit;transition:.15s}.btn-delete:hover{background:var(--status-red-bg)}
.contacts-toggle-row{display:flex;gap:6px;margin-bottom:8px;align-items:center}
.ctr-label{font-size:9px;color:var(--gray);font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-right:4px}
.ctr-btn{font-size:9px;padding:2px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--mid);cursor:pointer;font-weight:600;font-family:inherit;transition:all .15s}
.ctr-btn:hover{background:var(--mid);color:var(--text-on-dark);border-color:var(--mid)}
/* small inline action buttons (archive, load more, log connection) */
.btn-load-more{background:var(--mid);color:var(--text-on-dark);border:none;padding:7px 20px;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:700;font-family:inherit;transition:.15s}
.btn-load-more:hover{background:var(--bg-nav)}
.btn-sm-action{font-size:10px;padding:2px 7px;background:var(--mid);color:var(--text-on-dark);border:none;border-radius:4px;cursor:pointer;font-weight:600;font-family:inherit;transition:.15s;white-space:nowrap}
.btn-sm-action:hover{background:var(--bg-nav)}
.btn-icon-remove{background:none;border:none;color:var(--border-color);cursor:pointer;font-size:13px;padding:0 4px;transition:color .15s;line-height:1;flex-shrink:0}
.btn-icon-remove:hover{color:var(--red)}

/* BUYERS VIEW */
.buyers-layout{display:flex;gap:0;height:calc(100vh - 52px);overflow:hidden}
body.has-env-banner .buyers-layout{height:calc(100vh - 80px)}
body.has-billing-banner .buyers-layout{height:calc(100vh - 88px)}
.buyer-list-panel{overflow-y:auto;border-right:1px solid var(--border);padding:10px 10px 24px;background:var(--bg-card);width:280px;flex-shrink:0}
.buyer-search{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;margin-bottom:10px;font-family:inherit;transition:border-color .15s}
.buyer-search:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
.buyer-pill-bar{display:flex;gap:5px;margin-bottom:8px}
.bsp-pill{flex:1;padding:4px 0;border-radius:6px;border:1px solid var(--border);background:var(--bg-page);font-size:10px;font-weight:600;cursor:pointer;transition:.15s;color:var(--dark);text-align:center;white-space:nowrap}
.bsp-pill:hover{border-color:var(--mid);background:var(--bg-hover)}
.bsp-pill--active{border-color:var(--accent);background:var(--accent);color:var(--text-on-dark)}
.bsp-count{font-weight:400;opacity:.8}
.buyer-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:.15s;background:var(--bg-card);position:relative}
.buyer-card:hover{border-color:var(--mid);background:var(--bg-hover)}
.buyer-card.selected{border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 2px rgba(244,185,66,.2)}
.buyer-card-name{font-size:13px;font-weight:700;margin-bottom:2px}
.buyer-card-company{font-size:10px;color:var(--gray);margin-bottom:5px}
.buyer-card-tags{display:flex;flex-wrap:wrap;gap:4px}
.buyer-tag{font-size:9px;padding:1px 6px;border-radius:8px;font-weight:600;background:var(--status-blue-bg);color:var(--status-blue)}
.buyer-color-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px;flex-shrink:0}
.add-buyer-btn{width:100%;padding:8px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--text-primary);font-size:12px;font-weight:700;cursor:pointer;margin-bottom:8px;transition:.15s;font-family:inherit}
.add-buyer-btn:hover{background:var(--accent-hover)}
#buyers-map{width:100%;height:100%;position:relative;z-index:1;isolation:isolate}
.match-buyer-row{display:flex;align-items:center;gap:10px;padding:7px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:5px;cursor:pointer;transition:.15s}
.match-buyer-row:hover{border-color:var(--mid);background:var(--bg-hover)}
.match-buyer-name{font-size:12px;font-weight:700;flex:1}
.match-buyer-areas{font-size:10px;color:var(--gray)}
.match-badge{background:var(--green);color:var(--text-on-dark);padding:2px 8px;border-radius:8px;font-size:10px;font-weight:700}
.match-badge.partial{background:var(--status-orange)}
.match-no-results{color:var(--gray);font-style:italic;font-size:11px;padding:4px 0}
.match-header{font-size:11px;font-weight:700;color:var(--dark);margin-bottom:8px;display:flex;align-items:center;gap:8px}

/* BUYER DETAIL */
.buybox-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.bb-field{display:flex;flex-direction:column;gap:2px}
.bb-field label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gray)}
.bb-field input,.bb-field select,.bb-field textarea{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:inherit;transition:border-color .15s}
.bb-field input:focus,.bb-field select:focus,.bb-field textarea:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
.bb-full{grid-column:1/-1}
.bb-section-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);margin:10px 0 4px;padding-top:8px;border-top:1px solid var(--border)}
.util-toggle-group{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.util-toggle-btn{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid var(--border);border-radius:10px;font-size:10px;font-family:inherit;cursor:pointer;background:var(--bg-card);color:var(--text);transition:background .12s,color .12s,border-color .12s;user-select:none}
.util-toggle-btn input[type=checkbox]{display:none}
.util-toggle-btn:has(input:checked){background:var(--mid);color:var(--text-on-dark);border-color:var(--mid)}
.area-item{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg-page);border-radius:4px;margin-bottom:4px}
.area-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.area-label{flex:1;font-size:11px;font-weight:600}
.area-sub{font-size:10px;color:var(--gray)}
.area-del{background:none;border:none;color:var(--border-color);cursor:pointer;font-size:13px;padding:0 2px;line-height:1}
.area-del:hover{color:var(--red)}
.area-add-row{display:flex;gap:6px;margin-top:6px;align-items:flex-end}
.area-add-row input,.area-add-row select,.area-add-row textarea{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:inherit;transition:border-color .15s}
.area-add-btn{padding:6px 12px;background:var(--mid);color:var(--text-on-dark);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:600;white-space:nowrap;font-family:inherit}
.area-add-btn:hover{background:var(--bg-nav)}
#buyer-mini-map{height:220px;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:8px;border:1px solid var(--border);position:relative;z-index:1;isolation:isolate}
.map-mode-btns{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.map-mode-btn{padding:5px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-size:11px;cursor:pointer;font-weight:600;color:var(--gray);font-family:inherit;transition:.15s}
.map-mode-btn.active{background:var(--mid);color:var(--text-on-dark);border-color:var(--mid)}
.map-mode-btn.draw-active{background:var(--status-orange);color:var(--text-on-dark);border-color:var(--status-orange);animation:drawPulse 1.2s infinite}
@keyframes drawPulse{0%,100%{opacity:1}50%{opacity:.8}}
.draw-label-row{display:flex;gap:6px;align-items:flex-end;margin-bottom:8px}
.draw-label-row input{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;outline:none;font-family:inherit}
.draw-label-row input:focus{border-color:var(--mid)}
.draw-label-row .dl-cancel{padding:6px 10px;background:var(--bg-page);color:var(--text-muted);border:none;border-radius:var(--radius-sm);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}
.map-hint{font-size:10px;color:var(--gray);font-style:italic;margin-bottom:8px}

/* MODALS */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(31,56,100,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:500;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal-box{background:var(--bg-modal);border-radius:12px;padding:24px;box-shadow:0 8px 32px rgba(31,56,100,.2),0 20px 48px rgba(31,56,100,.1)}
.modal-box h3{font-size:15px;font-weight:800;color:var(--dark);margin-bottom:4px;letter-spacing:-.2px}
.modal-sub{font-size:11px;color:var(--gray);margin-bottom:14px}
.mf-row{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}
.mf-row label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gray)}
.mf-row select,.mf-row input,.mf-row textarea{padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;font-family:inherit;width:100%;transition:border-color .15s}
.mf-row select:focus,.mf-row input:focus,.mf-row textarea:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
.mf-row textarea{resize:vertical;min-height:55px}
.mf-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.mf-2col .mf-row,.mf-3col .mf-row{margin-bottom:0}
.mf-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px}
.modal-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
/* Self-contained btn-* classes — no dependency on .modal-btns button */
.btn-cancel,.btn-primary,.btn-secondary,.btn-green,.btn-teal,.btn-danger{padding:7px 16px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:12px;font-weight:700;font-family:inherit;transition:.15s}
.btn-cancel{background:var(--bg-page);color:var(--text-muted)}.btn-cancel:hover{background:var(--bg-hover)}
.btn-primary{background:var(--mid);color:var(--text-on-dark)}.btn-primary:hover{background:var(--bg-nav)}
.btn-secondary{background:var(--bg-card);color:var(--mid);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--mid)}
.btn-green{background:var(--green);color:var(--text-on-dark)}.btn-green:hover{background:#1b5e20}
.btn-teal{background:#00695c;color:var(--text-on-dark)}.btn-teal:hover{background:#004d40}
.btn-danger{background:var(--red);color:var(--text-on-dark)}.btn-danger:hover{background:#b71c1c}
/* confirm dialog — always above other modals; symmetrical min-width; ec-delete aligned left */
#confirm-modal{z-index:600}
#confirm-cancel-btn,#confirm-yes-btn{min-width:80px}
#ec-delete-btn{margin-right:auto}

/* Method toggle in log modal */
.method-toggle{display:flex;gap:0;margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;min-height:32px}
.method-toggle button{flex:1;padding:7px;border:none;background:var(--bg-page);font-size:11px;font-weight:600;cursor:pointer;color:var(--gray);transition:.15s;font-family:inherit}
.method-toggle button.act-call{background:var(--status-blue);color:var(--text-on-dark)}
.method-toggle button.act-sms{background:var(--status-purple);color:var(--text-on-dark)}
.script-box{background:var(--status-orange-bg);border:1px solid var(--status-orange);border-radius:var(--radius-sm);padding:8px 11px;font-size:11px;color:var(--text-secondary);line-height:1.6;margin-bottom:10px;cursor:pointer}
.script-box:hover{background:var(--bg-hover)}
.script-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--status-orange);margin-bottom:4px}
.script-ph{background:var(--status-orange-bg);color:var(--status-orange);border-radius:3px;padding:0 3px;border-bottom:1px dashed var(--status-orange);cursor:help;white-space:nowrap}

/* Import/Export/Backup shared */
.import-drop{border:2px dashed var(--border);border-radius:var(--radius);padding:24px;text-align:center;cursor:pointer;transition:.2s;margin-bottom:12px}
.import-drop:hover,.import-drop.drag-over{border-color:var(--mid);background:var(--bg-hover)}
.import-drop .icon{font-size:28px;margin-bottom:6px}
.import-drop p{font-size:12px;color:var(--gray)}
.import-msg{font-size:11px;padding:8px 12px;border-radius:5px;margin-bottom:10px}
.import-msg.info{background:var(--status-blue-bg);color:var(--status-blue)}.import-msg.success{background:var(--status-green-bg);color:var(--status-green)}
.import-msg.warn{background:var(--status-orange-bg);color:var(--status-orange)}.import-msg.error{background:var(--status-red-bg);color:var(--status-red)}
.mapped-cols{font-size:10px;background:var(--bg-page);border:1px solid var(--border);border-radius:5px;padding:8px 10px 16px;margin-bottom:10px;max-height:80px;overflow-y:auto}
.mc-row{display:flex;gap:6px;padding:2px 0;border-bottom:1px solid var(--border-light);font-size:10px}
.mc-row:last-child{border:none}
.mc-src{color:var(--gray);flex:1}.mc-arr{color:var(--mid)}.mc-dst{font-weight:600;flex:1}.mc-skip{color:var(--text-muted);font-style:italic}
.import-preview{background:var(--bg-page);border-radius:6px;padding:8px 12px 16px;font-size:11px;margin-bottom:10px;max-height:110px;overflow-y:auto}
.ip-row{padding:3px 0;border-bottom:1px solid var(--border-color);display:flex;gap:8px}
.ip-row:last-child{border:none}
.ip-name{font-weight:600;flex:1;font-size:11px}.ip-addr{color:var(--gray);font-size:10px;flex:2}.ip-row .iw-row-warn{font-size:10px;color:var(--status-orange)}
/* ── Import wizard (MIG-1) ─────────────────────────────────────── */
.iw-stats{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.iw-stat{background:var(--bg-page);border-radius:6px;padding:8px 14px;text-align:center;min-width:70px}
.iw-stat-val{display:block;font-size:20px;font-weight:700;color:var(--dark);line-height:1.1}
.iw-stat-lbl{display:block;font-size:10px;color:var(--gray);margin-top:2px}
.iw-green-val{color:var(--success)}.iw-warn-val{color:var(--status-orange)}.iw-gray-val{color:var(--gray)}
.iw-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;margin-right:6px}
.iw-badge-green{background:var(--status-green-bg);color:var(--status-green)}.iw-badge-gray{background:var(--bg-page);color:var(--gray)}.iw-badge-blue{background:var(--status-blue-bg);color:var(--status-blue)}.iw-badge-amber{background:var(--status-orange-bg);color:var(--status-orange)}
.iw-issues{margin-bottom:10px}
.iw-issue{font-size:11px;padding:5px 10px;border-radius:4px;margin-bottom:4px}
.iw-issue-info{background:var(--status-blue-bg);color:var(--status-blue)}
.iw-issue-err{background:var(--status-red-bg);color:var(--status-red)}.iw-issue-warn{background:var(--status-orange-bg);color:var(--status-orange)}
.iw-map-table{width:100%;border-collapse:collapse;font-size:12px}
.iw-map-table th{font-size:10px;font-weight:700;color:var(--gray);text-transform:uppercase;padding:4px 6px;border-bottom:1px solid var(--border);text-align:left}
.iw-map-table td{padding:4px 6px;border-bottom:1px solid var(--border-light);vertical-align:middle}
.iw-map-field{font-weight:600;color:var(--dark);white-space:nowrap}
.iw-conf-val{font-size:10px;color:var(--gray);white-space:nowrap}
.iw-map-select{font-size:11px;padding:2px 4px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);width:100%}
.iw-dot{display:inline-block;width:8px;height:8px;border-radius:50%}
.iw-dot-green{background:#4caf50}.iw-dot-yellow{background:#ff9800}.iw-dot-gray{background:#ccc}
/* ── Auto-handled columns summary (Stage 2) ───────────────────────── */
.iw-ah-wrap{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}
.iw-ah-hdr{font-size:11px;font-weight:600;color:var(--gray);margin-bottom:6px}
.iw-ah-row{display:flex;align-items:baseline;gap:8px;padding:4px 0;font-size:12px}
.iw-ah-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;white-space:nowrap;background:var(--status-green-bg);color:var(--status-green)}
.iw-ah-skip{background:var(--bg-page);color:var(--gray)}
.iw-ah-desc{color:var(--mid)}
.iw-ah-toggle-row{cursor:pointer;border-radius:4px;padding:4px 6px;margin:0 -6px}
.iw-ah-toggle-row:hover{background:var(--bg-hover)}
.iw-ah-expand-hint{font-size:10px;color:var(--gray);margin-left:6px;font-weight:400}
.iw-ah-chip-list{display:flex;flex-wrap:wrap;gap:4px;padding:6px 0 8px 8px}
.iw-ah-chip{font-size:10px;background:var(--status-blue-bg);color:var(--status-blue);border:1px solid var(--border-color);border-radius:10px;padding:2px 8px;white-space:nowrap}
.iw-ah-skip-wrap{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light)}
.iw-ah-skip-hdr{font-size:11px;font-weight:600;color:var(--gray);margin-bottom:6px}
/* ── Custom field definition in Stage 2 unmatched section ─────────── */
.iw-unmatched-wrap{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}
.iw-unmatched-hdr{font-size:11px;font-weight:600;color:var(--gray);margin-bottom:8px}
.iw-ucol-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 0;border-bottom:1px solid var(--border-light)}
.iw-ucol-row:last-child{border:none}
.iw-ucol-name{font-size:12px;font-weight:600;color:var(--dark);flex:1;min-width:100px}
.iw-ucol-done{font-size:11px;color:var(--success);font-weight:600}
.iw-ucol-meta{font-weight:400;color:var(--gray)}
.iw-btn-define{font-size:11px;padding:3px 10px;background:var(--bg-page);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--mid);font-weight:600;font-family:inherit;white-space:nowrap;transition:.15s}
.iw-btn-define:hover{background:var(--mid);color:var(--text-on-dark);border-color:var(--mid)}
.iw-cf-form{width:100%;margin-top:6px;padding:10px 12px;background:var(--bg-page);border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;gap:8px}
.iw-cf-row{display:flex;gap:8px;flex-wrap:wrap}
.iw-cf-label{flex:2;min-width:120px;padding:5px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;font-family:inherit}
.iw-cf-select{flex:1;min-width:90px;padding:5px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--bg-input);font-family:inherit}
.iw-cf-form-btns{display:flex;gap:8px}
.iw-cf-save-btn{font-size:11px;padding:4px 12px;background:var(--success);color:var(--text-on-dark);border:none;border-radius:4px;cursor:pointer;font-weight:600;font-family:inherit}
.iw-cf-save-btn:hover{background:#1b5e20}
.iw-cf-cancel-btn{font-size:11px;padding:4px 10px;background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--gray);font-family:inherit}
.iw-cf-cancel-btn:hover{border-color:var(--gray)}
/* Import modal — flex column so buttons sit outside the scroll area */
.iw-modal-box{max-height:90vh;overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}
#import-wizard-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:16px}
#import-wizard-btns{flex-shrink:0;padding:10px 24px 20px;border-top:1px solid var(--border);background:var(--bg-card)}
#import-wizard-btns .modal-btns{margin:0}
/* ── MIG-4: Review gate ────────────────────────────────────────── */
.iw-conf-bar-wrap{display:flex;align-items:center;gap:10px;margin:8px 0 4px}
.iw-conf-bar{flex:1;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}
.iw-conf-bar-fill{height:100%;border-radius:3px;transition:width .3s}
.iw-conf-pct{font-size:12px;font-weight:700;white-space:nowrap}
.iw-review-notice{background:var(--status-orange-bg);border:1px solid var(--border-color);border-radius:6px;padding:10px 14px;font-size:12px;color:var(--status-orange);margin:8px 0}
/* ── MIG-4: Feedback prompt ─────────────────────────────────────── */
#feedback-prompt{position:fixed;bottom:0;left:0;right:0;background:#1a2332;color:var(--text-on-dark);padding:14px 24px;display:flex;align-items:center;gap:14px;z-index:9990;flex-wrap:wrap;box-shadow:0 -2px 12px rgba(0,0,0,.2)}
#feedback-prompt .fp-text{flex:1;font-size:13px}
.fp-source{font-weight:700;color:#F4B942}
.fp-btn{padding:7px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none;background:rgba(255,255,255,.1);color:var(--text-on-dark)}
.fp-btn:hover{background:rgba(255,255,255,.18)}
.fp-btn-accurate{background:var(--status-green)!important}
.fp-btn-accurate:hover{background:var(--status-green)!important;opacity:.85}
.fp-dismiss{background:none;color:rgba(255,255,255,.4);font-size:11px;border:none;cursor:pointer;padding:4px 8px}
.fp-dismiss:hover{color:var(--text-on-dark)}
.export-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.export-option{border:2px solid var(--border);border-radius:var(--radius);padding:12px;cursor:pointer;transition:.15s;text-align:center}
.export-option:hover{border-color:var(--mid);background:var(--bg-hover)}
.export-option.selected{border-color:var(--accent);background:var(--bg-card)}
.eo-icon{font-size:22px;margin-bottom:4px}.eo-title{font-size:11px;font-weight:700;color:var(--dark);margin-bottom:2px}.eo-desc{font-size:10px;color:var(--gray);line-height:1.4}
.backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.backup-action{border:2px solid var(--border);border-radius:var(--radius);padding:14px;text-align:center;cursor:pointer;transition:.15s}
.backup-action:hover{border-color:var(--mid);background:var(--bg-hover)}
.ba-icon{font-size:26px;margin-bottom:5px}.ba-title{font-size:11px;font-weight:700;color:var(--dark);margin-bottom:2px}.ba-desc{font-size:10px;color:var(--gray);line-height:1.4}
.ab-loading,.ab-empty{font-size:11px;color:var(--gray);padding:12px;text-align:center}
.ab-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:7px;background:var(--bg-card)}
.ab-row-warn{border-color:var(--status-orange);background:var(--status-orange-bg)}
.ab-row-left{flex:1;min-width:0}
.ab-row-date{font-size:12px;font-weight:700;color:var(--dark);margin-bottom:2px}
.ab-row-meta{font-size:11px;color:var(--gray);margin-bottom:2px}
.ab-row-integrity{font-size:10px;color:var(--gray)}
.ab-badge{display:inline-block;background:var(--bg-page);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--mid);margin-right:4px}
.ab-row-btns{display:flex;gap:6px;flex-shrink:0;margin-left:10px}
.ab-btn-dl{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;cursor:pointer;font-size:13px;line-height:1;transition:.15s}
.ab-btn-dl:hover{background:var(--border)}
.ab-btn-restore{background:var(--mid);color:var(--text-on-dark);border:none;border-radius:var(--radius-sm);padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer;transition:.15s;font-family:inherit}
.ab-btn-restore:hover{background:var(--bg-nav)}
.ab-btn-sm{background:var(--text-muted);padding:5px 7px;font-size:10px}
.ab-settings{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.ab-settings-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);margin-bottom:8px}
.ab-settings-row{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:11px;color:var(--dark)}
.ab-settings-row label{width:120px;font-weight:600;flex-shrink:0}
.ab-settings-row select,.ab-settings-row input[type=number]{border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 7px;font-size:11px;font-family:inherit;color:var(--dark)}

/* DEAL FLOW */
.deal-stage-bar{display:flex;gap:0;margin-bottom:12px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}
.deal-stage-step{flex:1;padding:5px 4px;text-align:center;font-size:9px;font-weight:700;background:var(--bg-page);color:var(--text-muted);cursor:default;transition:.15s;border-right:1px solid var(--border)}
.deal-stage-step:last-child{border-right:none}
.deal-stage-step.active{background:var(--mid);color:var(--text-on-dark)}
.deal-stage-step.won{background:var(--green);color:var(--text-on-dark)}
.deal-stage-step.lost{background:var(--red);color:var(--text-on-dark)}
.deal-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 30px 9px 10px;margin-bottom:7px;background:var(--bg-card);position:relative;transition:border-color .15s}
.deal-item:hover{border-color:var(--mid)}
.deal-item-header{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.deal-address{font-size:12px;font-weight:700;flex:1}
.deal-pill{padding:2px 7px;border-radius:8px;font-size:9px;font-weight:700;color:var(--text-on-dark)}
.dp-prospect{background:var(--text-muted)}.dp-offer{background:var(--status-orange)}.dp-contract{background:var(--status-blue)}.dp-closed{background:var(--green)}.dp-dead{background:var(--red)}
.archived-deal-item{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px;overflow:hidden}
.archived-deal-hdr{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;background:var(--bg-card);user-select:none;transition:background .15s}
.archived-deal-hdr:hover{background:var(--bg-page)}
.arch-chev{font-size:9px;color:var(--text-muted);flex-shrink:0}
.archived-deal-body{padding:8px 10px 10px;border-top:1px solid var(--border);background:var(--bg-card)}
.archived-deal-full{position:relative;padding:9px 30px 9px 10px}
.deal-address-input{font-size:12px;font-weight:700;flex:1;border:none;background:transparent;padding:0;color:var(--dark);font-family:inherit;min-width:0}
.deal-address-input:focus{outline:none;border-bottom:1px solid var(--mid)}
.deal-field-input{font-size:10px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-family:inherit;color:var(--dark)}
.deal-meta{font-size:10px;color:var(--gray);display:flex;gap:10px;flex-wrap:wrap}
.deal-del{position:absolute;top:7px;right:7px;background:none;border:none;color:var(--border-color);cursor:pointer;font-size:13px;padding:0 3px}
.deal-del:hover{color:var(--red)}
.deal-notelog{margin-top:8px;display:flex;flex-direction:column;gap:5px}
.deal-note-entry{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-size:10px}
.deal-note-legacy{color:var(--gray);font-style:italic}
.deal-note-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}
.deal-note-date{color:var(--text-muted);font-size:9px;font-weight:600}
.deal-note-del{background:none;border:none;color:var(--border-color);cursor:pointer;font-size:11px;padding:0 2px;line-height:1}
.deal-note-del:hover{color:var(--red)}
.deal-note-text{color:var(--text);line-height:1.4}
.deal-note-add{margin-top:7px;display:flex;flex-direction:column;gap:4px}
.deal-note-input{width:100%;box-sizing:border-box;padding:5px 7px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:10px;font-family:inherit;color:var(--text);resize:none;line-height:1.4;background:var(--bg-input)}
.deal-note-input:focus{outline:none;border-color:var(--accent)}
.deal-note-btn{padding:5px 10px;border:1px solid var(--status-teal);border-radius:var(--radius-sm);background:none;color:var(--status-teal);font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;align-self:flex-end}
.deal-note-btn:hover{background:var(--status-teal-bg)}
.e-deal-note{border-left-color:var(--status-purple)!important;background:var(--status-purple-bg)}
.tag-deal-note{background:var(--status-purple)}
.e-esign{border-left-color:var(--status-blue)!important;background:var(--status-blue-bg)}
.tag-esign{background:var(--status-blue)}
.le-esign-status{font-size:10px;margin:3px 0 2px;padding:2px 6px;border-radius:3px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.le-esign-sent{background:var(--status-blue-bg);color:var(--status-blue)}
.le-esign-viewed{background:var(--status-orange-bg);color:var(--status-orange)}
.le-esign-completed{background:var(--status-green-bg);color:var(--status-green)}
.le-esign-declined{background:var(--status-red-bg);color:var(--status-red)}
.le-esign-refresh{background:none;border:none;cursor:pointer;font-size:12px;padding:0 2px;color:inherit;opacity:.7}
.le-esign-refresh:hover{opacity:1}
.agr-sign-btn{background:var(--status-blue)}
.agr-sign-btn:hover{background:var(--status-blue);opacity:.85}
.deal-add-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.deal-add-row input,.deal-add-row select,.deal-add-row textarea{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:inherit;transition:border-color .15s}
.deal-add-btn{grid-column:1/-1;padding:7px;border:1px solid var(--status-teal);border-radius:var(--radius-sm);background:none;color:var(--status-teal);font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
.deal-add-btn:hover{background:var(--status-teal-bg)}
/* EDITABLE CONTACT SECTION */
.contact-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.contact-edit-grid .ce-full{grid-column:1/-1}
.ce-field label{font-size:10px;color:var(--gray);display:block;margin-bottom:2px}
.ce-field input{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;font-family:inherit;transition:border-color .15s}
.ce-field input:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}

/* NEW LEAD / BUYER modals */
.nlm-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--mid);margin:12px 0 6px;padding-bottom:3px;border-bottom:1px solid var(--light)}
.nlm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nlm-field{display:flex;flex-direction:column;gap:2px}
.nlm-field label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gray)}
.nlm-field input,.nlm-field select,.nlm-field textarea{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:inherit;transition:border-color .15s}
.nlm-field input:focus,.nlm-field select:focus,.nlm-field textarea:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
.nlm-full{grid-column:1/-1}
.add-input-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--mid);padding:4px 10px;border-radius:10px;cursor:pointer;font-size:10px;font-weight:600;margin-top:4px;font-family:inherit;transition:all .15s}
.add-input-btn:hover{background:var(--mid);color:var(--text-on-dark);border-color:var(--mid)}
.dyn-row{display:flex;gap:6px;align-items:center;margin-bottom:4px}
.dyn-row input,.dyn-row select{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:inherit;transition:border-color .15s;background:var(--bg-input)}
.dyn-row input{flex:2}.dyn-row select{flex:1}
.dyn-row button{background:none;border:none;color:#ccc;cursor:pointer;font-size:14px;padding:0 4px}
.dyn-row button:hover{color:var(--red)}
.dyn-star-btn{color:#d0d0d0!important;font-size:16px!important;transition:color .15s}
.dyn-star-btn:hover{color:#f9a825!important}
.dyn-star-btn.dyn-star-active{color:#f9a825!important}
/* phone type badge on read-only method-item rows */
.phone-type-badge{font-size:9px;font-weight:700;padding:1px 4px;border-radius:4px;background:inherit;color:var(--mid);border:1px solid var(--border);flex-shrink:0}
.phone-type-badge.mt-Wireless{background:var(--status-blue-bg);color:var(--status-blue);border-color:var(--border-color)}.phone-type-badge.mt-Landline{background:var(--status-purple-bg);color:var(--status-purple);border-color:var(--border-color)}.phone-type-badge.mt-Voip{background:var(--status-green-bg);color:var(--status-green);border-color:var(--border-color)}.phone-type-badge.mt-Other{background:var(--status-orange-bg);color:var(--status-orange);border-color:var(--border-color)}
.best-phone-star{font-size:11px;color:#f9a825;flex-shrink:0;line-height:1}

/* Loading */
#loading-overlay{position:fixed;inset:0;background:rgba(31,56,100,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-on-dark)}
#loading-overlay.hidden{display:none}
#loading-msg{font-weight:600;letter-spacing:.2px;font-size:13px}
.loader{width:40px;height:40px;border:3px solid rgba(244,185,66,.25);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:800px){.rec-layout{grid-template-columns:1fr}.dash-row{grid-template-columns:1fr}.buyers-layout{flex-direction:column;height:auto}.buyer-list-panel{width:100%}#buyers-map{min-height:320px}.sellers-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}

/* ── MOBILE NAV ──────────────────────────────────────────────────────────── */
/* Hamburger — hidden on desktop */
#nav-hamburger{display:none}

/* Mobile banner — hidden on desktop */
#mobile-banner{display:none}

/* Nav overlay — hidden on desktop */
#nav-overlay{display:none}

@media(max-width:768px){
  /* Mobile banner */
  #mobile-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;position:fixed;top:0;left:0;right:0;z-index:500;background:#F4B942;color:var(--text-primary);font-size:12px;font-weight:600;padding:7px 12px;line-height:1.3}
  #mobile-banner span{flex:1}
  #mobile-banner-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-primary);padding:0 2px;line-height:1;flex-shrink:0}
  body.mobile-banner-dismissed #mobile-banner{display:none}

  /* Shift everything down when banner is visible */
  body:not(.mobile-banner-dismissed) #nav{top:34px}
  body:not(.mobile-banner-dismissed) #content-topbar{top:34px}

  /* Sidebar: slide off-screen by default */
  #nav{transform:translateX(-180px);transition:transform .22s ease;z-index:400}
  #nav.open{transform:translateX(0)}

  /* Overlay backdrop */
  #nav-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:399;opacity:0;pointer-events:none;transition:opacity .22s ease}
  #nav-overlay.open{opacity:1;pointer-events:auto}

  /* Topbar and views: no 180px offset */
  #content-topbar{left:0}
  .view{margin-left:0}

  /* Hamburger button */
  #nav-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px 6px;margin-right:8px;flex-shrink:0}
  #nav-hamburger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
}

/* PASSWORD GATE */
#pw-gate{position:fixed;inset:0;background:linear-gradient(135deg,#1F3864 0%,#2E5FA3 100%);z-index:9999;display:flex;align-items:center;justify-content:center}
#pw-gate.hidden{display:none}
.pw-box{background:var(--bg-card);border-radius:16px;padding:44px 40px 36px;width:360px;max-width:92vw;text-align:center;box-shadow:0 20px 60px rgba(31,56,100,.35)}
.pw-logo{margin-bottom:16px;line-height:1}
.pw-box h2{font-size:20px;font-weight:700;color:#1F3864;margin-bottom:4px}
.pw-box .pw-sub{font-size:12px;color:#90a4ae;margin-bottom:28px;font-weight:400}
.pw-field-wrap{position:relative;margin-bottom:10px}
.pw-field-wrap input{width:100%;padding:12px 40px 12px 14px;border:1.5px solid #d0d9e3;border-radius:var(--radius-sm);font-size:14px;outline:none;transition:.2s;color:var(--text-primary);background:#f8fafc;box-sizing:border-box;font-family:inherit}
.pw-field-wrap input:focus{border-color:#2E5FA3;background:var(--bg-input);box-shadow:0 0 0 3px rgba(46,95,163,.1)}
.pw-field-wrap input::placeholder{color:#b0bec5;font-size:13px}
.pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#90a4ae;font-size:15px;padding:0;line-height:1}
.pw-toggle:hover{color:#2E5FA3}
.pw-err{color:#c62828;font-size:11px;font-weight:600;margin-bottom:8px;min-height:16px;text-align:left}
.pw-btn{width:100%;padding:12px;background:var(--accent);color:var(--text-primary);border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:700;cursor:pointer;transition:.15s;margin-top:4px;letter-spacing:.3px;font-family:inherit}
.pw-btn:hover{background:var(--accent-hover)}
.pw-btn:active{transform:scale(.99)}
.pw-hint{font-size:10px;color:#b0bec5;margin-top:18px}
/* Change Password Modal */
#change-pw-modal .modal-box{max-width:380px}
.cpw-field{margin-bottom:12px;text-align:left}
.cpw-field label{display:block;font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.cpw-field input{width:100%;padding:8px 10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;outline:none;transition:.15s;font-family:inherit}
.cpw-field input:focus{border-color:var(--mid)}
#cpw-msg{font-size:11px;font-weight:600;min-height:16px;margin-bottom:8px}
/* Email field in login gate shares the same style as the password field */
#auth-email{width:100%;padding:12px 14px;border:1.5px solid #d0d9e3;border-radius:var(--radius-sm);font-size:14px;outline:none;transition:.2s;color:var(--text-primary);background:#f8fafc;box-sizing:border-box;font-family:inherit}
#auth-email:focus{border-color:#2E5FA3;background:var(--bg-input);box-shadow:0 0 0 3px rgba(46,95,163,.1)}
#auth-email::placeholder{color:#b0bec5;font-size:13px}
#auth-email:disabled{opacity:.6}


/* ── Log Modal — Activity History ───────────────────────────────── */
.lm-modal-box{max-height:90vh;overflow:hidden;display:flex;flex-direction:column;padding:0}
.lm-form-area{padding:24px 24px 0;flex-shrink:0}
.lm-history-wrap{margin-top:16px;border-top:2px solid var(--border);padding:12px 24px 16px}
.lm-history-header{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--mid);margin-bottom:8px}
.lm-history-list{max-height:calc(90vh - 420px);min-height:80px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-bottom:16px}
.lm-hist-entry{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:7px 10px}
.lm-hist-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lm-hist-icon{font-size:11px;line-height:1}
.lm-hist-date{font-size:11px;color:var(--gray);font-weight:600}
.lm-hist-result{font-size:11px;font-weight:700;color:var(--dark);margin-left:auto}
.lm-hist-notes{font-size:11px;color:var(--gray);margin-top:4px;line-height:1.4;word-break:break-word}
.lm-hist-empty{font-size:11px;color:var(--gray);text-align:center;padding:10px 0;font-style:italic}

/* HTML-1: Backup Now button hover (replaces inline onmouseover/onmouseout) */
#ab-run-now:hover{background:var(--bg-nav)!important}

/* ── Bulk Outreach ─────────────────────────────────────────────── */
.bulk-th{width:32px;padding:0 6px;text-align:left}
.bulk-cb-cell{width:32px;padding:0 6px;cursor:pointer}
.bulk-checkbox{cursor:pointer;width:14px;height:14px;accent-color:var(--accent)}
#bulk-select-all{cursor:pointer;width:14px;height:14px;accent-color:var(--accent);display:block}

/* Floating bulk-action bar */
.bulk-action-bar{
  position:fixed;bottom:0;left:0;right:0;
  background:#1a237e;color:var(--text-on-dark);
  display:flex;align-items:center;gap:12px;
  padding:10px 20px;z-index:9500;
  border-top:3px solid #3949ab;
  box-shadow:0 -4px 16px rgba(0,0,0,.35);
}
.bulk-bar-count{font-size:12px;font-weight:700;flex:1}
.bulk-bar-btn{
  background:#3949ab;color:var(--text-on-dark);border:none;
  padding:7px 16px;border-radius:5px;cursor:pointer;
  font-size:12px;font-weight:700;white-space:nowrap;
  transition:background .15s;
}
.bulk-bar-btn:hover{background:#5c6bc0}
.bulk-bar-btn-danger{background:#c62828 !important}
.bulk-bar-btn-danger:hover{background:#e53935 !important}
.bulk-bar-clear{
  background:none;border:1px solid rgba(255,255,255,.4);color:var(--text-on-dark);
  padding:6px 12px;border-radius:5px;cursor:pointer;
  font-size:11px;font-weight:600;
  transition:background .15s;
}
.bulk-bar-clear:hover{background:rgba(255,255,255,.1)}

/* ── Note Log ─────────────────────────────────────────── */
.note-input-row{display:flex;gap:6px;margin-bottom:8px;align-items:flex-start}
.note-input{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:inherit;resize:none;min-height:52px;transition:border-color .15s}
.note-input:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
.note-add-btn{padding:5px 10px;background:var(--mid);color:var(--text-on-dark);border:none;border-radius:var(--radius-sm);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;align-self:flex-end;font-family:inherit;transition:.15s}
.note-add-btn:hover{background:var(--bg-nav)}
.note-log-scroll{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-bottom:16px}
.note-entry{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px}
.note-entry--linked{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--mid);border-radius:var(--radius-sm);padding:7px 9px}
.note-entry-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}
.note-entry-date{font-size:9px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.4px}
.note-del-btn{background:none;border:none;cursor:pointer;font-size:10px;color:var(--gray);padding:0 2px;line-height:1;border-radius:3px}
.note-del-btn:hover{color:var(--status-red);background:var(--status-red-bg)}
.note-entry-text{font-size:11px;color:var(--text);white-space:pre-wrap;word-break:break-word}

.buyer-section-hdr:hover,
.buyer-subsection-hdr:hover { background: rgba(0,0,0,0.04); }

/* ── View toggle (list / board) ───────────────────────── */
.view-toggle-wrap{display:flex;gap:0;margin-left:6px}
.view-toggle-btn{background:var(--bg-page);color:var(--text-muted);border:1px solid var(--border);padding:5px 10px;font-size:14px;line-height:1;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}
.view-toggle-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.view-toggle-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:none}
.view-toggle-btn.active{background:var(--bg-nav);color:var(--text-on-dark);border-color:var(--dark)}

/* ── Kanban Board ─────────────────────────────────────── */
.kanban-board{display:flex;gap:10px;overflow-x:auto;padding:4px 0 16px;align-items:flex-start}
.kanban-col{flex:0 0 210px;background:#f5f7fa;border-radius:6px;display:flex;flex-direction:column;max-height:calc(100vh - 190px);border:1px solid var(--border)}
.kanban-col--dead{flex:0 0 180px;opacity:.65}
.kanban-col-hdr{padding:7px 10px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border);background:#eceff1;border-radius:6px 6px 0 0;position:sticky;top:0;z-index:1}
.kanban-cnt{font-size:10px;color:var(--gray);margin-left:auto;font-weight:700}
.kanban-col-body{padding:7px 7px 16px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}
.kanban-card{background:var(--bg-card);border:1px solid var(--border);border-radius:5px;padding:9px 10px;cursor:pointer;transition:box-shadow .15s,border-color .15s;user-select:none}
.kanban-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.1);border-color:#90a4ae}
.kc-name{font-size:11px;font-weight:700;color:var(--text);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kc-addr{font-size:10px;color:#546e7a;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kc-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px;gap:4px;flex-wrap:wrap}
.kc-price{font-size:10px;font-weight:700;color:#1b5e20}
.kc-fu{font-size:9px;color:var(--gray)}
.kc-fu.overdue{color:#c62828;font-weight:700}
.kc-closing{font-size:9px;color:#78909c;margin-bottom:3px}
.kc-buyers{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}
.kc-buyer-chip{font-size:8px;font-weight:700;border-radius:8px;padding:1px 6px;color:var(--text-on-dark);white-space:nowrap}
.kc-chip-introduced{background:#2e7d32}
.kc-chip-interested{background:#1565c0}
.kc-chip-passed{background:#c62828}
.kc-chip-pending{background:#e65100}
.kc-chip-default{background:#546e7a}

/* ── Role-based UI gating ─────────────────────────────────────── */
/* Agent: no Tools dropdown, no Invite button */
body.role-agent #tools-dropdown-trigger,
body.role-agent #nav-invite-btn { display: none !important; }

/* Import button: always block readonly; block agents unless org allows it */
body.role-readonly #nav-import-btn { display: none !important; }
body.role-agent:not(.agents-can-import) #nav-import-btn { display: none !important; }

/* Readonly: everything agent loses plus all write actions */
body.role-readonly #tools-dropdown-trigger,
body.role-readonly #nav-invite-btn,
body.role-readonly [data-action="save-seller-record"],
body.role-readonly [data-action="delete-seller-record"],
body.role-readonly [data-action="add-contact"],
body.role-readonly [data-action="add-seller-note"],
body.role-readonly [data-action="log-modal"],
body.role-readonly [data-action="delete-seller-activity"],
body.role-readonly [data-action="archive-seller-activity"],
body.role-readonly [data-action="save-buyer-record"],
body.role-readonly [data-action="delete-buyer-record"],
body.role-readonly [data-action="add-buyer-note"],
body.role-readonly [data-action="add-deal"],
body.role-readonly [data-action="delete-deal"],
body.role-readonly [data-action="add-deal-note"],
body.role-readonly [data-action="delete-buyer-activity"],
body.role-readonly [data-action="archive-buyer-activity"],
body.role-readonly [data-action="open-bulk-modal"],
body.role-readonly .bulk-checkbox,
body.role-readonly #add-seller-btn,
body.role-readonly #add-buyer-btn { display: none !important; }

/* ── Billing banner ──────────────────────────────────────────── */
.billing-banner {
  width: 100%; height: 36px; display: flex; align-items: center; justify-content: center;
  font-size: 13px; position: sticky; top: 0; z-index: 200; box-sizing: border-box;
  padding: 0 16px;
}
.billing-banner--info    { background: #c62828; color: #fff; }
.billing-banner--warning { background: #b71c1c; color: #fff; }
@keyframes billing-flash { 0%,100%{opacity:1} 50%{opacity:.35} }
.billing-banner--flash { animation: billing-flash 1s ease-in-out infinite; }
body.has-billing-banner #nav { top: 36px; }
body.has-billing-banner #content-topbar { top: 36px; }

/* ── Billing modal ───────────────────────────────────────────── */
.billing-modal-overlay { align-items: flex-start; padding-top: 40px; }
.billing-modal {
  width: 860px; max-width: 98vw; max-height: 90vh;
  overflow-y: auto; padding: 28px 28px 40px;
  background: rgba(255,255,255,.97); border-radius: 12px;
  box-shadow: 0 8px 32px rgba(31,56,100,.2), 0 20px 48px rgba(31,56,100,.1);
}
.billing-modal-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 8px;
}
.billing-modal-header h2 { margin: 0 0 4px; font-size: 20px; }
.billing-modal-sub { margin: 0; font-size: 13px; color: #666; }
.billing-close-btn {
  background: none; border: none; font-size: 18px; cursor: pointer;
  color: #666; padding: 0 4px; line-height: 1;
}
.billing-period-toggle {
  display: flex; gap: 8px; margin-bottom: 20px;
}
.bpt-btn {
  padding: 6px 16px; border: 1px solid var(--border); border-radius: 20px;
  background: #fff; cursor: pointer; font-size: 13px; color: #333; font-family: inherit; transition: .15s;
}
.bpt-btn.bpt-active { background: var(--bg-nav); color: #fff; border-color: var(--dark); }
.bpt-badge {
  background: #F4B942; color: #1F3864; font-size: 10px; font-weight: 700;
  padding: 1px 6px; border-radius: 10px; margin-left: 6px;
}
.billing-plans {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.billing-plan {
  border: 1px solid #ddd; border-radius: 10px; padding: 20px;
  position: relative; display: flex; flex-direction: column;
  transition: box-shadow .15s; background: #fff;
}
.billing-plan:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.billing-plan.bp-featured {
  border-color: #1F3864; box-shadow: 0 2px 12px rgba(31,56,100,.15);
}
.billing-plan.bp-current { border-color: #16a34a; background: #f0fdf4; }
.bp-badge {
  position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
  background: #1F3864; color: #F4B942; font-size: 10px; font-weight: 700;
  padding: 2px 10px; border-radius: 10px; white-space: nowrap;
}
.bp-name { font-size: 16px; font-weight: 700; color: #1F3864; margin-bottom: 8px; }
.bp-price { display: flex; align-items: baseline; gap: 2px; margin-bottom: 2px; }
.bp-amount { font-size: 28px; font-weight: 700; color: #111; }
.bp-per { font-size: 13px; color: #666; }
.bp-annual-note { font-size: 11px; color: #888; margin-bottom: 12px; min-height: 16px; }
.bp-features {
  list-style: none; padding: 0; margin: 0 0 16px; font-size: 13px;
  color: #444; flex: 1;
}
.bp-features li { padding: 3px 0; }
.bp-features li::before { content: '\2713\00a0'; color: #16a34a; font-weight: 700; }
.bp-cta {
  width: 100%; padding: 10px; border: none; border-radius: var(--radius-sm);
  background: var(--bg-nav); color: var(--accent); font-weight: 700; font-size: 14px;
  cursor: pointer; transition: background .15s; font-family: inherit;
}
.bp-cta:hover:not(:disabled) { background: var(--mid); }
.bp-cta:disabled { opacity: .5; cursor: default; }
.billing-manage { margin-top: 16px; text-align: center; }

/* ── Billing lockout overlay ─────────────────────────────────── */
.billing-lockout {
  position: fixed; inset: 0; background: rgba(0,0,0,.7);
  z-index: 9999; display: flex; align-items: center; justify-content: center;
}
.billing-lockout-inner {
  background: #fff; border-radius: 12px; padding: 40px;
  text-align: center; max-width: 400px; width: 90%;
}
.billing-lockout-icon { font-size: 48px; margin-bottom: 12px; }
.billing-lockout-inner h2 { margin: 0 0 8px; font-size: 22px; }
.billing-lockout-inner p { color: #666; margin: 0 0 24px; }
.billing-lockout-inner .bp-cta { width: auto; padding: 12px 32px; font-size: 16px; }

/* ── Settings view ───────────────────────────────────────────── */
.settings-page { max-width: 720px; margin: 0 auto; padding: 24px 16px; }
.settings-title { font-size: 22px; font-weight: 700; color: #1F3864; margin: 0 0 20px; }
.settings-card {
  background: #fff; border: 1px solid #e0e6ef; border-radius: 10px;
  padding: 20px; margin-bottom: 20px;
}
.settings-card-hdr { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0; cursor: pointer; user-select: none; }
.settings-card-hdr:hover .settings-card-title { color: #2b4fa0; }
.sc-hdr-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.sc-chevron { font-size: 13px; color: #aaa; transition: transform .2s; display: inline-block; }
.settings-card.sc-expanded .sc-chevron { transform: rotate(180deg); }
/* Collapsible body — hidden by default, shown when expanded */
.settings-card .settings-fields,
.settings-card .settings-card-footer,
.settings-card .settings-inbound-info,
.settings-card #settings-team-body { display: none; }
.settings-card.sc-expanded .settings-fields,
.settings-card.sc-expanded .settings-card-footer,
.settings-card.sc-expanded .settings-inbound-info,
.settings-card.sc-expanded #settings-team-body { display: flex; flex-direction: column; }
.settings-card.sc-expanded .settings-card-footer { flex-direction: row; }
.settings-card.sc-expanded #settings-team-body { display: block; padding: 12px 0; }
.settings-card-hdr { padding-bottom: 0; }
.settings-card.sc-expanded .settings-card-hdr { margin-bottom: 16px; }
.settings-card-title { font-size: 15px; font-weight: 700; color: #1F3864; margin-bottom: 3px; display: flex; align-items: center; gap: 8px; }
.sc-int-logo { height: 20px; width: 20px; object-fit: contain; border-radius: 3px; flex-shrink: 0; }
.settings-card-sub { font-size: 12px; color: #666; }
.settings-badge { font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 12px; white-space: nowrap; }
.badge-connected { background: #dcfce7; color: #16a34a; }
.badge-warn { background: #fef3c7; color: #b45309; }
.settings-fields { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.sf-row { display: flex; align-items: center; gap: 10px; }
.sf-row label { width: 110px; font-size: 12px; font-weight: 600; color: #444; flex-shrink: 0; }
.sf-row input,.sf-row select { flex: 1; padding: 7px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: 12px; font-family: inherit; transition: border-color .15s; }
.sf-eye-btn { background: none; border: none; cursor: pointer; font-size: 14px; padding: 0 4px; }
.sf-hint-icon { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: #e0e0e0; color: #555; font-size: 10px; font-weight: 700; cursor: default; flex-shrink: 0; position: relative; }
.sf-hint-icon:hover { background: #bdbdbd; }
/* ── Skip Trace Modal ──────────────────────────────────────────── */
.st-person { border-bottom: 1px solid #eee; padding: 10px 0; }
.st-person:last-child { border-bottom: none; }
.st-person-name { font-size: 12px; font-weight: 700; color: #444; text-transform: uppercase; letter-spacing: .4px; margin-bottom: 6px; }
.st-item { display: flex; align-items: center; gap: 8px; padding: 4px 0; cursor: pointer; }
.st-item--dup { opacity: .5; }
.st-val { font-size: 13px; font-weight: 600; color: #222; }
.st-meta { font-size: 11px; color: #888; }
.st-dnc { font-size: 10px; font-weight: 700; background: #c62828; color: #fff; border-radius: 3px; padding: 1px 5px; }
.st-existing { font-size: 10px; color: #aaa; font-style: italic; }

.sf-row--textarea { align-items: flex-start; }
.sf-row--textarea label { padding-top: 6px; }
.sf-row--textarea textarea { flex: 1; padding: 7px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: 12px; font-family: inherit; resize: vertical; transition: border-color .15s; }
.sf-row--textarea textarea:focus { border-color: var(--mid); outline: none; box-shadow: 0 0 0 3px rgba(46,95,163,.08); }
.sf-row--textarea .sf-hint-icon { margin-top: 6px; }
.settings-card-footer { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.settings-save-msg { font-size: 12px; }
.settings-save-msg.msg-ok { color: #16a34a; }
.settings-save-msg.msg-err { color: #c62828; }
.sf-row--sep { border-top: 1px solid var(--border); margin: 4px 0; padding: 0; height: 0; }
.sf-row--toggle { cursor: pointer; }
.sf-toggle-label { cursor: pointer; color: var(--mid); font-size: 12px; font-weight: 600; }
.sf-toggle-caret { font-size: 10px; }
.parcel-test-result { font-size: 12px; padding: 6px 0 2px; min-height: 18px; }
.parcel-test-ok  { color: #16a34a; }
.parcel-test-err { color: #c62828; }
.parcel-test-warn { color: #b45309; }
.settings-inbound-info { background: #f8f9fa; border-radius: 6px; padding: 12px; border: 1px solid #e8edf2; }
.sii-label { font-size: 11px; font-weight: 700; color: #1F3864; margin-bottom: 3px; text-transform: uppercase; letter-spacing: .04em; }
.sii-desc { font-size: 11px; color: #666; margin-bottom: 6px; }
.sii-url { font-size: 12px; font-family: monospace; background: #fff; border: 1px solid #ddd; border-radius: 4px; padding: 6px 10px; word-break: break-all; color: #333; }

/* Agreement template list */
.agr-template-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}
.agr-template-row:last-child{border-bottom:none}
.agr-template-name{flex:1;font-size:12px;font-weight:600;color:var(--dark);display:flex;align-items:center;gap:6px}
.agr-state-tag{font-size:10px;font-weight:700;background:var(--accent);color:var(--text-on-dark);border-radius:4px;padding:1px 6px;letter-spacing:.5px}
/* Agreement modals */
.agr-modal-box{max-width:840px;width:95vw}
.agr-editor-box{max-width:720px;width:95vw}
.agr-pdf-viewer{width:100%;height:440px;border:1px solid var(--border);border-radius:var(--radius-sm)}
.agr-ed-pdf-preview{width:100%;height:480px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px}
.agr-body-editable{height:440px;overflow-y:auto;font-family:"Times New Roman",serif;font-size:13px;line-height:1.6;padding:14px 16px 24px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--dark);background:var(--bg-card);box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word}
.agr-body-editable:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
.agr-body-editable:empty::before{content:attr(data-placeholder);color:var(--mid);pointer-events:none}
.agr-body-editable h1,.agr-body-editable h2,.agr-body-editable h3{font-weight:bold;margin:.4em 0 .2em}
.agr-body-editable h1{font-size:16px}.agr-body-editable h2{font-size:14px}.agr-body-editable h3{font-size:13px}
.agr-body-editable p{margin:0 0 .4em}
.agr-body-editable table{border-collapse:collapse;width:100%;margin:.4em 0}
.agr-body-editable td,.agr-body-editable th{border:1px solid #bbb;padding:3px 6px;vertical-align:top}
.agr-body-editable ul,.agr-body-editable ol{margin:0 0 .4em 1.4em;padding:0}
.agr-ed-body-textarea{width:100%;height:500px;font-family:Georgia,serif;font-size:13px;line-height:1.75;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;box-sizing:border-box;color:var(--dark)}
.agr-ed-body-textarea:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
/* Agreement placeholder chips */
.agr-ph-tray{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:8px 10px;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px}
.agr-ph-tray-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--mid);flex-shrink:0;margin-right:2px}
.agr-ph-chip{font-size:10px;font-weight:600;font-family:monospace;background:#e8f0fe;color:#1a56db;border:1px solid #c7d7fb;border-radius:4px;padding:2px 7px;cursor:grab;user-select:none;white-space:nowrap;transition:background .12s,box-shadow .12s}
.agr-ph-chip:hover{background:#d0e0fd;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.agr-ph-chip:active{cursor:grabbing}
/* Agreement upload button */
.agr-upload-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-weight:700;color:var(--dark);cursor:pointer;transition:background .15s;user-select:none}
.agr-upload-btn:hover{background:#e2e8f0}
/* Agreement sticky btn */
.sticky-agr-btn{background:rgba(255,255,255,.18);color:var(--text-on-dark);border:1px solid rgba(255,255,255,.35);padding:6px 13px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;flex-shrink:0;font-family:inherit;transition:background .15s}
.sticky-agr-btn:hover{background:rgba(255,255,255,.32)}

/* Admin-only nav items */
body.role-agent .admin-only,
body.role-readonly .admin-only { display: none !important; }

/* Hide data-share chat option from non-admins */
body.role-agent .chat-context-row,
body.role-readonly .chat-context-row { display: none !important; }

/* ── Super-admin panel ─────────────────────────────────────────── */
.sa-wrap { max-width: 960px; margin: 32px auto; padding: 0 16px; }
.sa-header { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.sa-header h2 { margin: 0; font-size: 20px; }
.sa-loading { color: #6b7280; }
.sa-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.sa-table th { text-align: left; padding: 8px 12px; background: #f1f5f9; border-bottom: 2px solid #e2e8f0; font-weight: 600; color: #374151; }
.sa-table td { padding: 10px 12px; border-bottom: 1px solid #e2e8f0; vertical-align: middle; }
.sa-row:hover td { background: #f8fafc; }
.sa-email { font-weight: 500; }
.sa-orgid code { font-size: 11px; color: #6b7280; }
.sa-status { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 12px; font-weight: 600; }
.sa-status--active { background: #dcfce7; color: #166534; }
.sa-status--trialing { background: #dbeafe; color: #1d4ed8; }
.sa-status--bypassed { background: #fef9c3; color: #854d0e; }
.sa-status--past_due { background: #fef3c7; color: #92400e; }
.sa-status--canceled,.sa-status--locked { background: #fee2e2; color: #991b1b; }
.sa-status--none { background: #f1f5f9; color: #6b7280; }
.sa-toggle { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.sa-toggle input[type=checkbox] { width: 16px; height: 16px; cursor: pointer; accent-color: #f59e0b; }
.sa-toggle-label { font-size: 12px; color: #6b7280; }
.sa-row--me td { background: #fffbeb; }
.sa-you { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 8px; background: #f59e0b; color: #1a2332; font-size: 11px; font-weight: 700; vertical-align: middle; }
.sa-row { cursor: pointer; }
.sa-bypass-cell { cursor: default; }
.sa-detail-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 600; display: flex; justify-content: flex-end; }
.sa-detail { background: #fff; width: 480px; max-width: 100vw; height: 100%; overflow-y: auto; box-shadow: -4px 0 24px rgba(0,0,0,.15); display: flex; flex-direction: column; padding-bottom: 40px; }
.sa-detail-hdr { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px 16px; border-bottom: 1px solid #e2e8f0; position: sticky; top: 0; background: #fff; z-index: 1; }
.sa-detail-hdr h3 { margin: 0; font-size: 16px; }
.sa-detail-close { background: none; border: none; font-size: 18px; cursor: pointer; color: #6b7280; padding: 4px 8px; border-radius: 4px; }
.sa-detail-close:hover { background: #f1f5f9; }
.sa-dl { padding: 16px 24px 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.sa-dl div { display: flex; gap: 12px; font-size: 13px; }
.sa-dl dt { color: #6b7280; width: 100px; flex-shrink: 0; }
.sa-dl dd { margin: 0; font-weight: 500; word-break: break-all; }
.sa-dl code { font-size: 11px; color: #6b7280; }
.sa-section-hdr { margin: 20px 24px 8px; font-size: 13px; font-weight: 700; color: #374151; text-transform: uppercase; letter-spacing: .4px; }
.sa-detail .sa-table { margin: 0 24px 16px; width: calc(100% - 48px); }
.sa-dl-label { color: #6b7280; font-size: 12px; width: 120px; }

/* ── Team members settings card ─────────────────────────────────── */
.tm-role-select { font-size: 12px; padding: 3px 6px; border: 1px solid #d1d5db; border-radius: 4px; background: #fff; }
.tm-remove-btn { font-size: 12px; padding: 3px 10px; border: 1px solid #fca5a5; border-radius: 4px; background: #fff; color: #dc2626; cursor: pointer; }
.tm-remove-btn:hover:not(:disabled) { background: #fee2e2; }
.tm-remove-btn:disabled { opacity: .4; cursor: default; }

/* ── Dashboard KPI grid wrapper + edit button ────────────────────── */
.kpi-edit-btn { background: none; border: none; font-size: 11px; color: var(--gray); cursor: pointer; padding: 2px 6px; border-radius: var(--radius-sm); font-family: inherit; }
.kpi-edit-btn:hover { color: var(--mid); background: var(--light); }
/* ── Dashboard edit modal tabs ───────────────────────────────────── */
.de-tabs { display: flex; gap: 4px; margin-bottom: 14px; border-bottom: 1px solid var(--border); padding-bottom: 8px; }
.de-tab { background: none; border: none; font-size: 12px; font-weight: 600; color: var(--gray); cursor: pointer; padding: 4px 10px; border-radius: var(--radius-sm); font-family: inherit; transition: .1s; }
.de-tab:hover { background: var(--light); color: var(--dark); }
.de-tab--active { background: var(--mid); color: #fff; }

/* ── Dashboard tile edit modal list ─────────────────────────────── */
.de-list { display: flex; flex-direction: column; gap: 4px; max-height: 340px; overflow-y: auto; padding-right: 2px; padding-bottom: 16px; }
.de-row { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: var(--radius-sm); background: var(--light); border: 1px solid var(--border); cursor: grab; user-select: none; transition: background .12s; }
.de-row:active { cursor: grabbing; }
.de-row.de-dragging { opacity: .4; }
.de-drag { font-size: 16px; color: var(--mid); flex-shrink: 0; cursor: grab; }
.de-check { flex-shrink: 0; width: 15px; height: 15px; cursor: pointer; }
.de-lbl { font-size: 12px; font-weight: 600; color: var(--dark); }

/* ── Dashboard settings card (role tile access) ──────────────────── */
.ds-role-section { margin-bottom: 14px; }
.ds-role-section:last-child { margin-bottom: 0; }
.ds-role-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--gray); margin-bottom: 8px; }
.ds-tile-check { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; margin: 0 10px 6px 0; cursor: pointer; color: var(--dark); }
.ds-tile-check input { cursor: pointer; }

/* ── Support chat bubble & panel ──────────────────────────────────── */
#chat-bubble{position:fixed;bottom:40px;right:24px;z-index:1001;width:52px;height:52px;border-radius:50%;background:var(--accent);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(244,185,66,.45),0 2px 6px rgba(0,0,0,.18);transition:background .15s,transform .15s;color:var(--text-primary);flex-shrink:0}
#chat-bubble:hover{background:var(--accent-hover);transform:scale(1.06)}
#chat-bubble.chat-bubble--open{background:var(--mid);color:var(--text-on-dark);box-shadow:0 4px 16px rgba(46,95,163,.4),0 2px 6px rgba(0,0,0,.18)}
#chat-panel{position:fixed;bottom:88px;right:24px;z-index:449;width:360px;max-height:520px;background:var(--bg-modal);border-radius:14px;box-shadow:0 8px 32px rgba(31,56,100,.18),0 2px 8px rgba(0,0,0,.1);display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(12px) scale(.97);transition:opacity .18s,transform .18s}
#chat-panel.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.chat-panel-header{background:var(--bg-nav);padding:12px 14px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.chat-panel-title{display:flex;align-items:center;gap:8px;color:var(--text-on-dark);font-size:13px;font-weight:700;flex:1;letter-spacing:.1px}
.chat-panel-header-btns{display:flex;gap:4px}
.chat-hdr-btn{background:rgba(255,255,255,.12);border:none;color:rgba(255,255,255,.8);width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:.12s;flex-shrink:0}
.chat-hdr-btn:hover{background:rgba(255,255,255,.25);color:var(--text-on-dark)}
#chat-messages{flex:1;overflow-y:auto;padding:14px 14px 24px;display:flex;flex-direction:column;gap:10px;min-height:0}
.chat-msg{display:flex;max-width:88%}
.chat-msg--user{align-self:flex-end}
.chat-msg--assistant{align-self:flex-start}
.chat-msg-inner{padding:9px 12px;border-radius:10px;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.chat-msg--user .chat-msg-inner{background:var(--bg-nav);color:var(--text-on-dark);border-bottom-right-radius:3px}
.chat-msg--assistant .chat-msg-inner{background:var(--bg-card);color:var(--text);border-bottom-left-radius:3px}
.chat-msg--assistant.chat-msg--streaming .chat-msg-inner::after{content:'▋';display:inline-block;animation:chat-blink .7s step-end infinite;margin-left:2px;color:var(--mid)}
@keyframes chat-blink{0%,100%{opacity:1}50%{opacity:0}}
.chat-context-row{padding:8px 14px 6px;border-top:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}
.chat-context-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--gray);cursor:pointer;user-select:none}
.chat-context-label input{cursor:pointer;accent-color:var(--mid)}
.chat-new-btn{background:none;border:none;font-size:11px;color:var(--mid);cursor:pointer;padding:2px 0;font-family:inherit;white-space:nowrap;flex-shrink:0}
.chat-new-btn:hover{color:var(--dark);text-decoration:underline}
.chat-input-row{display:flex;gap:8px;padding:10px 12px 12px;flex-shrink:0;border-top:1px solid var(--border)}
#chat-input{flex:1;resize:none;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;line-height:1.45;color:var(--text);background:var(--bg-input);outline:none;max-height:100px;overflow-y:auto}
#chat-input:focus{border-color:var(--mid);box-shadow:0 0 0 2px rgba(46,95,163,.12)}
#chat-send-btn{background:var(--bg-nav);border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:var(--text-on-dark);transition:.15s;align-self:flex-end}
#chat-send-btn:hover:not(:disabled){background:var(--mid)}
#chat-send-btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:440px){#chat-panel{width:calc(100vw - 20px);right:10px;bottom:82px}#chat-bubble{right:10px;bottom:14px}}

/* ── MIG-2 — Migration mode ──────────────────────────────────────────────── */
.migration-mode-banner{position:sticky;top:0;z-index:401;background:#0d47a1;color:var(--text-on-dark);padding:6px 16px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center}
.mig-end-btn{background:var(--bg-card);color:#0d47a1;border:none;padding:3px 10px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:700}
.mig-end-btn:hover{background:#e3f2fd}
body.has-migration-banner #nav{top:34px}
body.has-migration-banner #content-topbar{top:34px}
.migration-log-panel{background:#e8eaf6;border-bottom:1px solid #c5cae9;padding:10px 16px 8px}
.mig-log-title{font-size:11px;font-weight:700;color:#3949ab;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.mig-empty{font-size:12px;color:var(--gray)}
.mig-log-row{display:flex;align-items:center;gap:10px;padding:3px 0;font-size:12px;flex-wrap:wrap}
.mig-source{font-weight:600;color:var(--dark)}
.mig-count,.mig-ts{color:var(--gray)}
.mig-ts{font-size:11px}
.mig-badge{padding:2px 7px;border-radius:10px;font-size:11px;font-weight:700}
.mig-staged{background:#fff9c4;color:#f57f17}
.mig-promoted{background:#c8e6c9;color:#1b5e20}
.mig-rolledback{background:#ffcdd2;color:#b71c1c}
.mig-expired{background:#f5f5f5;color:#9e9e9e}
.mig-countdown{color:#e65100;font-weight:700;font-size:11px}
.mig-rollback-btn{background:#b71c1c;color:var(--text-on-dark);border:none;padding:2px 10px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:700}
.mig-rollback-btn:hover{background:#7f0000}
.iw-staged-info{background:var(--status-blue-bg);border:1px solid var(--border-color);border-radius:6px;padding:10px 14px;font-size:13px;color:var(--text-primary);margin:8px 0}
/* MIG-9: Notes import setup + column mapping */
.iw-setup-opts{display:flex;flex-direction:column;gap:8px;margin:16px 0 20px}
.iw-setup-opt{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px;transition:.15s}
.iw-setup-opt:hover{border-color:var(--mid);background:var(--bg-hover)}
.iw-setup-opt input[type=radio]{accent-color:var(--mid);width:15px;height:15px;flex-shrink:0;cursor:pointer}
.iw-notes-col-grid{display:flex;flex-direction:column;gap:10px;margin:14px 0 16px}
.iw-notes-col-row{display:flex;align-items:center;gap:10px;font-size:13px}
.iw-notes-col-row label{width:90px;flex-shrink:0;font-weight:500}
.iw-notes-sel{flex:1;padding:5px 8px;border:1px solid var(--border);border-radius:5px;font-size:12px;background:var(--bg-input)}
.iw-nc-hint{font-size:11px;color:var(--gray);flex-shrink:0}
.iw-notes-match-stats{display:flex;gap:10px;margin:14px 0 8px;flex-wrap:wrap}
.iw-nm-stat{display:flex;flex-direction:column;align-items:center;padding:10px 18px;border-radius:6px;min-width:100px;font-size:11px}
.iw-nm-stat.matched{background:var(--status-green-bg);color:#2e7d32}
.iw-nm-stat.unmatched{background:var(--status-red-bg);color:#c62828}
.iw-nm-num{font-size:24px;font-weight:700;line-height:1.2;margin-bottom:3px}
.iw-nm-stat.low-conf{background:var(--status-orange-bg);color:var(--status-orange)}
.iw-notes-section-hdr{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray);margin-top:14px;padding-bottom:4px;border-bottom:1px solid var(--border)}
.iw-lc-badge{background:var(--status-orange-bg);color:var(--status-orange);border:1px solid var(--border-color);border-radius:3px;font-size:10px;padding:1px 5px;font-weight:600}
/* MIG-11: onboarding */
.iw-onboarding-select{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-input);color:var(--dark)}
.iw-onboarding-banner{padding:8px 12px;background:var(--status-blue-bg);border:1px solid var(--border-color);border-radius:6px;font-size:12px;color:var(--status-blue);margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.iw-guide-inline-btn{background:none;border:none;color:#1d4ed8;cursor:pointer;font-size:12px;padding:0;text-decoration:underline}
.iw-issue-ok{background:#f0fdf4;border-left:3px solid #16a34a;color:#15803d;padding:6px 10px;border-radius:0 4px 4px 0;font-size:12px}
/* ── Help modal option buttons ───────────────────────────────────────── */
.help-opt-btn{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);cursor:pointer;text-align:left;text-decoration:none;color:var(--dark);font-family:inherit;transition:.15s}
.help-opt-btn:hover{border-color:var(--mid);background:#f5f8ff}
.help-opt-icon{font-size:22px;flex-shrink:0}
.help-opt-text{font-size:12px;line-height:1.4;color:var(--dark)}
.help-opt-text span{color:var(--gray);font-weight:400}
/* ── Walkthrough Tour ──────────────────────────────────────────────── */
#wt-overlay{position:fixed;inset:0;z-index:9997}
#wt-spotlight{display:none;position:fixed;inset:0;width:100%;height:100%;z-index:9998;pointer-events:none}
#wt-tooltip{position:fixed;z-index:10000;pointer-events:all;background:var(--bg-modal);border-radius:10px;padding:20px 22px;box-shadow:0 8px 32px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.1)}
.wt-title{font-size:15px;font-weight:700;color:var(--dark);margin-bottom:8px}
.wt-body{font-size:13px;color:var(--mid);line-height:1.55;margin-bottom:16px}
.wt-footer{display:flex;align-items:center;gap:8px}
.wt-progress{font-size:11px;color:var(--gray);flex:1}
.wt-btn{padding:7px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none;line-height:1}
.wt-btn-next{background:var(--mid);color:var(--text-on-dark)}
.wt-btn-next:hover{background:var(--bg-nav)}
.wt-btn-skip{background:none;color:var(--gray);padding:7px 6px}
.wt-btn-skip:hover{color:var(--dark)}
#wt-arrow{position:fixed;inset:0;z-index:9999;pointer-events:none}
@keyframes wt-ring-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.9}70%{transform:translate(-50%,-50%) scale(2);opacity:.15}100%{transform:translate(-50%,-50%) scale(2);opacity:0}}
.apn-result-row:hover{background:var(--hover)}
/* ── Nav search ──────────────────────────────────────────────────── */
.nav-search-wrap{position:relative;padding:6px 10px 4px}
.nav-search-wrap input{width:100%;box-sizing:border-box;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:6px 8px 6px 28px;font-size:12px;color:var(--text-on-dark);font-family:inherit;outline:none}
.nav-search-wrap input::placeholder{color:rgba(255,255,255,.4)}
.nav-search-wrap input:focus{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3)}
.nav-search-icon{position:absolute;left:19px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.45);pointer-events:none}
.nav-search-results{position:absolute;top:calc(100% - 2px);left:10px;right:10px;background:var(--bg-modal);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.15);z-index:9999;display:none;overflow:hidden}
.nav-search-results.open{display:block}
.nav-search-result-item{padding:7px 11px;cursor:pointer;font-size:12px;border-bottom:1px solid var(--border);display:flex;gap:6px;align-items:baseline}
.nav-search-result-item:last-child{border-bottom:none}
.nav-search-result-item:hover{background:var(--bg-hover)}
.nav-search-result-type{font-size:10px;font-weight:700;color:var(--text-on-dark);background:var(--primary);border-radius:3px;padding:1px 5px;flex-shrink:0}
.nav-search-result-type.buyer{background:#5c6bc0}
.nav-search-result-name{font-weight:600;color:var(--dark);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-search-result-snippet{color:var(--gray,#90a4ae);font-size:11px;flex-shrink:0;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-search-no-results{padding:10px 11px;font-size:12px;color:var(--gray,#90a4ae);font-style:italic}
/* ── Buyer list header ────────────────────────────────────────────── */

/* ══ Scrollable container utilities ════════════════════════════════════
   Three semantic tiers — add the matching class to any overflow-y:auto
   element so scrollbars and dark-mode color-scheme stay consistent.
   CSS-named containers in the scrollbar selector list below are enrolled
   automatically without needing a class added to their HTML markup.

   .scroll-panel — card/panel bodies (activity logs, side panels, kanban)
   .scroll-modal — modal scroll wrappers
   .scroll-list  — short constrained lists (dropdowns, search results)
   ════════════════════════════════════════════════════════════════════ */
.scroll-panel{overflow-y:auto;will-change:transform}
.scroll-modal{overflow-y:auto}
.scroll-list{overflow-y:auto}
/* CSS-named panel container — overflow + perf hint via CSS so inline style is clean */
.act-log-body{overflow-y:auto;will-change:transform}
/* ── Scrollbar appearance (all scrollable containers) ──────────────── */
.scroll-panel::-webkit-scrollbar,.scroll-modal::-webkit-scrollbar,.scroll-list::-webkit-scrollbar,.act-log-body::-webkit-scrollbar,.buyer-list-panel::-webkit-scrollbar,.note-log-scroll::-webkit-scrollbar,.lm-history-list::-webkit-scrollbar,.kanban-col-body::-webkit-scrollbar,.sa-detail::-webkit-scrollbar,.de-list::-webkit-scrollbar,.agr-body-editable::-webkit-scrollbar,#chat-messages::-webkit-scrollbar,#fu-list::-webkit-scrollbar,#phone-lookup-panel::-webkit-scrollbar,.best-contact-picker::-webkit-scrollbar,.mapped-cols::-webkit-scrollbar,.import-preview::-webkit-scrollbar,.billing-modal::-webkit-scrollbar,#import-wizard-content::-webkit-scrollbar{width:6px;height:6px}
.scroll-panel::-webkit-scrollbar-track,.scroll-modal::-webkit-scrollbar-track,.scroll-list::-webkit-scrollbar-track,.act-log-body::-webkit-scrollbar-track,.buyer-list-panel::-webkit-scrollbar-track,.note-log-scroll::-webkit-scrollbar-track,.lm-history-list::-webkit-scrollbar-track,.kanban-col-body::-webkit-scrollbar-track,.sa-detail::-webkit-scrollbar-track,.de-list::-webkit-scrollbar-track,.agr-body-editable::-webkit-scrollbar-track,#chat-messages::-webkit-scrollbar-track,#fu-list::-webkit-scrollbar-track,#phone-lookup-panel::-webkit-scrollbar-track,.best-contact-picker::-webkit-scrollbar-track,.mapped-cols::-webkit-scrollbar-track,.import-preview::-webkit-scrollbar-track,.billing-modal::-webkit-scrollbar-track,#import-wizard-content::-webkit-scrollbar-track{background:transparent}
.scroll-panel::-webkit-scrollbar-thumb,.scroll-modal::-webkit-scrollbar-thumb,.scroll-list::-webkit-scrollbar-thumb,.act-log-body::-webkit-scrollbar-thumb,.buyer-list-panel::-webkit-scrollbar-thumb,.note-log-scroll::-webkit-scrollbar-thumb,.lm-history-list::-webkit-scrollbar-thumb,.kanban-col-body::-webkit-scrollbar-thumb,.sa-detail::-webkit-scrollbar-thumb,.de-list::-webkit-scrollbar-thumb,.agr-body-editable::-webkit-scrollbar-thumb,#chat-messages::-webkit-scrollbar-thumb,#fu-list::-webkit-scrollbar-thumb,#phone-lookup-panel::-webkit-scrollbar-thumb,.best-contact-picker::-webkit-scrollbar-thumb,.mapped-cols::-webkit-scrollbar-thumb,.import-preview::-webkit-scrollbar-thumb,.billing-modal::-webkit-scrollbar-thumb,#import-wizard-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}
.scroll-panel::-webkit-scrollbar-thumb:hover,.scroll-modal::-webkit-scrollbar-thumb:hover,.scroll-list::-webkit-scrollbar-thumb:hover,.act-log-body::-webkit-scrollbar-thumb:hover,.buyer-list-panel::-webkit-scrollbar-thumb:hover,.note-log-scroll::-webkit-scrollbar-thumb:hover,.lm-history-list::-webkit-scrollbar-thumb:hover,.kanban-col-body::-webkit-scrollbar-thumb:hover,.sa-detail::-webkit-scrollbar-thumb:hover,.de-list::-webkit-scrollbar-thumb:hover,.agr-body-editable::-webkit-scrollbar-thumb:hover,#chat-messages::-webkit-scrollbar-thumb:hover,#fu-list::-webkit-scrollbar-thumb:hover,#phone-lookup-panel::-webkit-scrollbar-thumb:hover,.best-contact-picker::-webkit-scrollbar-thumb:hover,.mapped-cols::-webkit-scrollbar-thumb:hover,.import-preview::-webkit-scrollbar-thumb:hover,.billing-modal::-webkit-scrollbar-thumb:hover,#import-wizard-content::-webkit-scrollbar-thumb:hover{background:var(--mid)}

/* ── Dark theme overrides ────────────────────────────────────────── */
body.dark{--bg-page:#0f1923;--bg-card:#1a2535;--bg-input:#1f2d42;--bg-input-disabled:#16202e;--bg-hover:rgba(255,255,255,.06);--bg-nav:#111d2e;--bg-topbar:#111d2e;--bg-modal:#1a2535;--bg-overlay:rgba(0,0,0,.65);--bg-tag:#1e2d45;--text-primary:#e8edf3;--text-secondary:#b0bec5;--text-muted:#78909c;--text-on-dark:#e8edf3;--text-on-accent:#1a2332;--text-link:#90caf9;--border-color:#2a3a52;--border-light:#222e42;--border-focus:#F4B942;--shadow-card:0 1px 3px rgba(0,0,0,.3),0 4px 12px rgba(0,0,0,.2);--shadow-nav:2px 0 12px rgba(0,0,0,.4);--shadow-topbar:0 2px 8px rgba(0,0,0,.4);--light:#1a2535;--dark:#e8edf3;--mid:#90caf9;--gray:#78909c;--border:#2a3a52;--status-green:#4caf50;--status-green-bg:#1b3a2a;--status-red:#ef5350;--status-red-bg:#3a1b1b;--status-orange:#ffb74d;--status-orange-bg:#3a2e1b;--status-blue:#42a5f5;--status-blue-bg:#1b2a3a;--status-purple:#ab7cf8;--status-purple-bg:#2a1b3a;--status-teal:#26c6a2;--status-teal-bg:#1b3a38}
/* ── Dark mode component overrides ───────────────────────────── */
body.dark input,body.dark select,body.dark textarea{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-color);color-scheme:dark}
body.dark input::placeholder,body.dark textarea::placeholder{color:var(--text-muted)}
body.dark .kanban-col{background:var(--bg-card)}
body.dark .kanban-col-hdr{background:var(--bg-hover)}
body.dark .na-tab{background:var(--bg-card);color:var(--text-muted);border-color:var(--border-color)}
body.dark .na-tab:not(.na-tab-active) .na-badge{background:var(--bg-nav);color:var(--text-on-dark)}
body.dark .view-toggle-btn{background:var(--bg-card);color:var(--text-muted);border-color:var(--border-color)}
body.dark .view-toggle-btn.active{background:var(--bg-nav);color:var(--text-on-dark);border-color:var(--bg-nav)}
body.dark .buyer-card{background:var(--bg-card)}
body.dark .buyer-card:hover{background:var(--bg-hover)}
body.dark .buyer-card.selected{background:var(--bg-card)}
body.dark .cb{background:var(--bg-card);border-color:var(--border-color)}
body.dark .note-entry{background:var(--bg-card)}
body.dark .deal-note-entry{background:var(--bg-card)}
body.dark .deal-item{background:var(--bg-card)}
body.dark .archived-deal-hdr{background:var(--bg-card)}
body.dark .mapped-cols{background:var(--bg-card)}
body.dark .method-toggle button{background:var(--bg-card);color:var(--text-muted)}
body.dark .method-toggle button.active{background:var(--bg-nav);color:var(--text-on-dark)}
body.dark .bb-area{background:var(--bg-card)}
body.dark .mf-row select,body.dark .mf-row input,body.dark .mf-row textarea{background:var(--bg-input);color:var(--text-primary)}
body.dark .card-hdr{background:var(--bg-nav)}
body.dark .log-entry{background:var(--bg-card)}
body.dark .log-entry.outcome-good{background:#1b3a2a}
body.dark .log-entry.outcome-bad{background:#3a1b1b}
body.dark .sr .sb{background:var(--border-color)}
body.dark .act-type-bar{background:var(--border-color)}
body.dark tbody tr:hover{background:var(--bg-hover)}
body.dark .method-item:hover{background:var(--bg-hover)}
body.dark input[type=checkbox],body.dark input[type=radio]{accent-color:var(--accent);color-scheme:dark}
body.dark .buyer-sticky{background:#004d40}
body.dark .bsp-pill{background:var(--bg-card);color:var(--text-secondary)}
body.dark .bsp-pill:hover{background:var(--bg-hover)}
body.dark .buyer-tag{background:var(--bg-tag);color:var(--text-link)}
body.dark .match-buyer-row:hover{background:var(--bg-hover)}
body.dark .p-New{background:var(--status-blue-bg);color:var(--text-primary)}
body.dark .p-Attempted{background:var(--status-orange-bg);color:var(--text-primary)}
body.dark .p-Contacted{background:var(--status-orange-bg);color:var(--text-primary)}
body.dark .p-Warm-Lead,.p-Warm\.Lead{background:var(--status-orange-bg);color:var(--text-primary)}
body.dark .p-Offer-Made{background:var(--status-purple-bg);color:var(--text-primary)}
body.dark .p-Under-Contract{background:var(--status-teal-bg);color:var(--text-primary)}
body.dark .p-Closed,.p-Closed-Won{background:var(--status-green-bg);color:var(--text-primary)}
body.dark .p-Dead{background:var(--bg-card);color:var(--text-muted)}body.dark .p-Adjoining{background:#004d5a;color:#4dd0e1}
body.dark .p-Active{background:var(--status-green-bg);color:var(--text-primary)}
body.dark .p-Inactive{background:var(--bg-card);color:var(--text-muted)}
body.dark .p-Paused{background:var(--status-orange-bg);color:var(--text-primary)}
body.dark .p-Currently-Building{background:var(--status-blue-bg);color:var(--text-primary)}
body.dark .p-No-Contact-Info{background:var(--bg-card);color:var(--text-muted)}
body.dark .p-Sold{background:var(--status-green-bg);color:var(--text-primary)}
body.dark .p-Flooded,.p-Not-Buildable,.p-No-Buyer-Coverage{background:var(--status-red-bg);color:var(--text-primary)}
body.dark .btn-cancel{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-color)}
body.dark .btn-cancel:hover{background:var(--border-color)}
body.dark .btn-primary{background:#1565c0;color:#fff}
body.dark .buyer-sticky{background:var(--bg-nav);color:var(--text-on-dark)}
body.dark .map-mode-btn{background:var(--bg-card);color:var(--text-secondary);border-color:var(--border-color)}
body.dark .map-mode-btn.active{background:#1565c0;color:#fff;border-color:#1565c0}
body.dark .area-add-btn{background:#1565c0;color:#fff}
body.dark .area-add-btn:hover{background:#0d47a1}
body.dark .note-add-btn{background:#1565c0;color:#fff}
body.dark .note-add-btn:hover{background:#0d47a1}
body.dark .btn-sm-action{background:#1565c0;color:#fff}
body.dark .btn-sm-action:hover{background:#0d47a1}
body.dark .phone-type-badge.mt-Wireless{background:#1a2d45;color:#90caf9;border-color:#2a3f5f}
body.dark .phone-type-badge.mt-Landline{background:#2a1a3a;color:#ce93d8;border-color:#4a2a5a}
body.dark .phone-type-badge.mt-Voip{background:var(--status-green-bg);color:var(--status-green);border-color:#2d5a3a}
body.dark .phone-type-badge.mt-Other{background:#3a2a1a;color:#ffb74d;border-color:#5a3a1a}
body.dark .cb-add-btn{background:var(--bg-card);border-color:var(--border-color);color:var(--text-link)}
body.dark .cb-add-btn:hover{background:#1565c0;color:#fff;border-color:#1565c0}
body.dark .cb-edit-btn:hover{background:var(--bg-hover)}
body.dark .cb-inline-actions{border-top-color:var(--border-color)}
body.dark .script-box{background:#2a2510;border-color:#5d4a00;color:var(--text-secondary)}
body.dark .script-box:hover{background:#332e14}
body.dark .script-label{color:#ffb74d}
body.dark input:-webkit-autofill,body.dark input:-webkit-autofill:hover,body.dark input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset!important;-webkit-text-fill-color:var(--text-primary)!important;border-color:var(--border-color)!important}
body.dark .act-feed-item:hover{background:var(--bg-hover)}
body.dark .btn-load-more{background:var(--bg-nav);color:var(--text-on-dark)}
body.dark .btn-load-more:hover{background:var(--border-color)}
body.dark .sticky-status-select option{background:var(--bg-card);color:var(--text-primary)}
body.dark .rpt-table tr.rpt-total td{background:var(--bg-input);color:var(--text-primary)}
body.dark .rpt-kpi{background:var(--bg-input);border:1px solid var(--border-color)}
body.dark .rpt-kpi .rk-num{color:var(--text-primary)}
body.dark .rpt-kpi .rk-lbl{color:var(--text-secondary)}
body.dark .rpt-sum-card{background:var(--bg-input)}
body.dark .rpt-sum-val{color:var(--text-primary)}
body.dark .rpt-sum-lbl{color:var(--text-secondary)}
.apn-lookup-note{font-size:11px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:4px;padding:5px 8px;margin:0 0 10px}
body.dark .apn-lookup-note{color:#ffd54f;background:#2a2000;border-color:#5d4a00}
body.dark .sf-chip{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color)}
body.dark .sf-chip-x{color:var(--text-link)}
body.dark .settings-card{background:var(--bg-card);border-color:var(--border-color)}
body.dark .settings-card-title{color:var(--text-link)}
body.dark .settings-card-sub{color:var(--text-muted)}
body.dark .settings-card-hdr:hover .settings-card-title{color:var(--mid)}
body.dark .help-opt-btn:hover{background:var(--bg-hover);border-color:var(--text-link)}
body.dark .settings-title{color:var(--text-primary)}
body.dark .fu-item:hover{background:var(--bg-hover)}
body.dark .sellers-filters-btn--active{background:var(--bg-hover);color:var(--text-link);border-color:var(--border-color)}
body.dark .sellers-filters-btn{color:var(--text-primary)}
body.dark .sellers-filters-btn:hover{background:var(--bg-hover);color:var(--text-primary)}
body.dark .seller-view-dropdown{background:var(--bg-card);border-color:var(--border-color);box-shadow:0 4px 20px rgba(0,0,0,.4)}
body.dark .svd-sort-opt{color:var(--text-primary)}
body.dark .svd-sort-opt-active{background:var(--bg-hover);color:var(--text-link)}
body.dark .rpt-filter-toggle.open{background:var(--bg-hover)}
body.dark .rpt-filter-btn{background:var(--bg-card);color:var(--text-muted);border-color:var(--border-color)}
body.dark .method-toggle button.act-call{background:#1565c0;color:#fff}
body.dark .method-toggle button.act-sms{background:#6a1b9a;color:#fff}
.buyer-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}
/* ── Consolidated dark-mode color-scheme for all scroll containers ─ */
body.dark .scroll-panel,body.dark .scroll-modal,body.dark .scroll-list,body.dark .act-log-body,body.dark .buyer-list-panel,body.dark .note-log-scroll,body.dark .lm-history-list,body.dark .kanban-col-body,body.dark .sa-detail,body.dark .de-list,body.dark .agr-body-editable,body.dark #chat-messages,body.dark #fu-list,body.dark #phone-lookup-panel,body.dark .best-contact-picker,body.dark .mapped-cols,body.dark .import-preview,body.dark .billing-modal,body.dark #import-wizard-content,body.dark .modal-scroll-body,body.dark #act-recent-feed{color-scheme:dark}

body.dark #sellers-map-sidebar{background:var(--bg-card);border-color:var(--border-color)}body.dark #sellers-map-sidebar-header{border-color:var(--border-color)}body.dark .seller-map-sb-item{border-color:var(--border-color)}body.dark .seller-map-sb-item:hover{background:var(--bg-hover)}body.dark .seller-map-sb-name{color:var(--text-primary)}body.dark .seller-map-sb-addr{color:var(--text-muted)}body.dark #sellers-map-sidebar-list{color-scheme:dark}
body.dark .leaflet-popup-content-wrapper,body.dark .leaflet-popup-tip{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}
body.dark .leaflet-popup-content-wrapper{box-shadow:0 4px 16px rgba(0,0,0,.4)}
body.dark #sellers-map-panel{background:var(--bg-card);border-color:var(--border-color)}
