/* SkipMatrix CRM — extracted from v23 monolith */


*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Outfit','Segoe UI',Arial,sans-serif;background:#f0f4f8;color:#1a2332;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)}

/* 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:#1a2332}
.env-banner--staging{background:#7c3aed;color:#fff}
body.has-env-banner #nav{top:28px}

/* NAV */
#nav{background:var(--dark);color:#fff;display:flex;align-items:center;gap:6px;padding:0 16px;height:52px;position:sticky;top:0;z-index:300;box-shadow:0 2px 12px rgba(31,56,100,.25)}
.nav-brand{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;white-space:nowrap;flex-shrink:0;margin-right:4px;transition:.15s;border-radius:5px;padding:4px 8px}
.nav-brand:hover{background:rgba(255,255,255,.1)}
.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;gap:2px;flex-shrink:0}
.nav-spacer{flex:1}
.nav-btn{background:transparent;border:none;color:rgba(255,255,255,.7);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:11.5px;font-weight:600;transition:.15s;white-space:nowrap;letter-spacing:.2px;font-family:inherit}
.nav-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.nav-btn.active{background:var(--accent);color:#1a2332}
/* Nav Dropdowns */
.nav-dropdown{position:relative}
.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;background:#fff;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:#1a2332;cursor:pointer;border-radius:var(--radius-sm);font-weight:500;transition:.1s;font-family:inherit}
.nav-dropdown-menu button:hover{background:var(--light);color:var(--mid)}
.ndm-divider{height:1px;background:#e8ecf0;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;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
/* Sync Indicator */
.nav-sync{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer;user-select:none;transition:.15s;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.nav-sync:hover{background:rgba(255,255,255,.12)}
.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}
.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:#1a2332;font-size:16px;font-weight:800;flex-shrink:0}
/* + Seller button on sellers page */
.add-seller-btn{background:var(--accent);color:#1a2332;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)}
@media(max-width:640px){.nav-brand-text{display:none}.nav-btn{padding:5px 10px;font-size:10px}.nav-brand{gap:0;margin-right:0}}

/* VIEWS */
.view{display:none;padding:16px}.view.active{display:block}

/* DASHBOARD */
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}
.kpi{background:#fff;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}
.kpi.kpi--link{cursor:pointer}
.kpi.kpi--link:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.kpi--warn{border-top-color:#f9a825}.kpi--warn .num{color:#e65100}
.kpi--danger{border-top-color:#c62828}.kpi--danger .num{color:#c62828}
.kpi--success{border-top-color:#2e7d32}.kpi--success .num{color:#2e7d32}
.kpi--contract{border-top-color:#0277bd}.kpi--contract .num{color:#0277bd}
.kpi--buyer{border-top-color:#00897b}.kpi--buyer .num{color:#00897b}
.kpi--offer{border-top-color:#6a1b9a}.kpi--offer .num{color:#6a1b9a}
.kpi--money{border-top-color:#1565c0}.kpi--money .num{font-size:22px;color:#1565c0}
.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:#2e7d32;font-weight:700}.kpi-trend-dn{color:#c62828;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:#fff;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(--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:#eef2f7;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 #f0f4f8;cursor:pointer}.fu-item:hover{background:#f8fafc}
#fu-list{max-height:220px;overflow-y:auto}
.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:#fff;white-space:nowrap;width:auto}
.fu-badge--seller{background:#1565c0}.fu-badge--buyer{background:#2e7d32}.fu-badge--deal{background:#6a1b9a}
.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:#fff}
.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:#eef2f7;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:#fff;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:#e8f5e9;color:#2e7d32}
.trend-delta.down{background:#ffebee;color:#c62828}
.trend-delta.flat{background:#f0f4f8;color:#607d8b}
.trend-divider{width:1px;background:var(--border);align-self:stretch}
/* Activity Report */
.rpt-page-card{background:#fff;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:#fff 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:#fff;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:#1a2332}
.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:#fff;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:#fff;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:#f0f7ff}
.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:#1a2332;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(--light);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:#f0f4f8}
.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 #f0f4f8;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:#f8faff;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(--light);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:#f0fdf4;border-color:#86efac}
.rpt-sum-card.rpt-sum-negative{background:#fef2f2;border-color:#fca5a5}
.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:#fff;margin-right:4px}
.rpt-empty{color:#90a4ae;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:#fff;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:#1a2332}
.rpt-filter-btn.active[data-method="call"]{background:#2196f3;border-color:#2196f3;color:#fff}
.rpt-filter-btn.active[data-method="sms"]{background:#7b1fa2;border-color:#7b1fa2;color:#fff}
.rpt-filter-btn.active[data-method="email"]{background:#00897b;border-color:#00897b;color:#fff}
.rpt-filter-btn.active[data-outcome="positive"]{background:var(--green);border-color:var(--green);color:#fff}
.rpt-filter-btn.active[data-outcome="negative"]{background:var(--red);border-color:var(--red);color:#fff}
.rpt-filter-btn.active[data-outcome="none"]{background:#607d8b;border-color:#607d8b;color:#fff}
#rpt-campaign-btns{display:inline-flex;flex-wrap:wrap;gap:4px}
.rpt-filter-btn.active[data-campaign]{background:#f57f17;border-color:#f57f17;color:#fff}

.outcome-row{display:flex;align-items:center;gap:7px;padding:3px 0;border-bottom:1px solid #f0f4f8}
.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);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.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 #f0f4f8;cursor:pointer}
.act-feed-item:hover{background:#f8fafc;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:#fff;flex-shrink:0;width:44px;text-align:center}
.tag-call-s{background:#2196f3}.tag-sms-s{background:#7b1fa2}.tag-email-s{background:#00897b}.tag-other-s{background:#90a4ae}
.act-feed-name{flex:1;font-size:11px;font-weight:600;color:var(--dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.act-feed-result{font-size:9px;font-weight:600;max-width:130px;text-align:right;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.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:#eceff1;color:#546e7a;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(--dark);color:#fff;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:#fff}
.filters{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;align-items:center}
.filters input,.filters select{padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;background:#fff;font-family:inherit;transition:border-color .15s}
.filters input:focus,.filters select:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px rgba(46,95,163,.08)}
.filters input{flex:1;min-width:160px}
.sellers-filter-reset-btn{padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;background:#fff;color:var(--gray);cursor:pointer;font-family:inherit;transition:all .15s}
.sellers-filter-reset-btn:hover{background:#fbe9e7;border-color:#e57373;color:#c62828}
/* 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:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:350;max-height:340px;overflow-y:auto}
.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:#1a2332;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(--light);border-bottom:1px solid var(--border)}
.plp-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #f4f6f8;transition:background .1s}
.plp-row:last-child{border-bottom:none}
.plp-row:hover{background:#f0f6ff}
.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:#1a2332;padding:2px 9px;border-radius:10px;font-size:10px;font-weight:700}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
thead tr{background:var(--dark);color:#fff}
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 #eef2f7;cursor:pointer;transition:.12s}
tbody tr:hover{background:#f0f6ff}
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:#e3f2fd;color:#1565c0}.p-Attempted{background:#fff9c4;color:#f57f17}.p-Contacted{background:#fff3e0;color:#e65100}
.p-Warm{background:#fce4ec;color:#880e4f}.p-Offer{background:#e8f5e9;color:#1b5e20}.p-Contract{background:#e0f2f1;color:#004d40}
.p-Closed{background:#c8e6c9;color:#1b5e20}.p-Dead{background:#eceff1;color:#546e7a}
.p-Active{background:#e8f5e9;color:#1b5e20}.p-Inactive{background:#eceff1;color:#546e7a}.p-Paused{background:#fff3e0;color:#e65100}

/* RECORD & BUYER DETAIL */
.back-btn{display:inline-flex;align-items:center;gap:5px;background:var(--mid);color:#fff;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(--dark)}
.rec-layout{display:grid;grid-template-columns:1fr 360px;gap:12px;align-items:start}
.rec-header{color:#fff;border-radius:var(--radius);padding:14px 18px;margin-bottom:12px}
.rec-header.seller-hdr{background:var(--dark)}
.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:0!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:#f0f4f8;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(--dark);color:#fff}
.buyer-sticky{background:#00695c;color:#fff}
.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;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}
.sticky-apn-input{flex-shrink:0;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:#fff;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-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:#fff;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;font-size:12px;max-height:240px;overflow-y:auto}
.bcp-item{padding:7px 14px;cursor:pointer;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcp-item:hover{background:#f0f6ff}
.bcp-item--active{font-weight:700;color:var(--accent)}
.sticky-details .sticky-detail--address{white-space:normal;overflow:visible}
.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:#fff;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:#fff;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:#fff;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:#fff;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:#fff;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)}
/* 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:#2e7d32;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-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:#f5f5f5;border-radius:10px;padding:2px 8px}
.pc-coowner--exists{opacity:.6}
.sticky-delete-btn{background:rgba(220,53,69,.75);color:#fff;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:#fff8e1;border:1px solid #f9a825;border-radius:var(--radius-sm);padding:8px 10px;font-size:11px;color:#5d4037;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;overflow:hidden;text-overflow:ellipsis;max-width:340px;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:#ffcdd2;color:#c62828;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:700}
.sticky-details{display:flex;flex-wrap:wrap;gap:8px 20px;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;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
.sticky-detail-val.mono{font-family:monospace;font-size:13px}
.sticky-detail-val a{color:rgba(255,255,255,.9);text-decoration:underline}
.sticky-divider{width:1px;height:22px;background:rgba(255,255,255,.25);flex-shrink:0;align-self:center}
.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:#fff;font-size:11px;font-family:inherit}
.rc-group select option{color:#1a2332;background:#fff}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px;overflow:hidden}
.card-hdr{background:var(--mid);color:#fff;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 #e0e7ef;border-radius:6px;padding:10px;margin-bottom:8px;background:#fafbfd}
.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:#fff}
.tag-subject{background:var(--dark)}.tag-relative{background:#5c6bc0}.tag-associate{background:#00897b}
.cb-name{font-size:13px;font-weight:700;flex:1}.cb-age{color:var(--gray);font-size:10px}
.dec-warn{background:#ffebee;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:#f0f4f8}
.method-item:hover{border-color:var(--mid);background:#e8f0fe}
.method-item.has-log{background:#e8f5e9;border-color:#a5d6a7}
.method-item.flagged-bad{background:#ffebee;border-color:#ef9a9a;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:#e3f2fd;color:#1565c0}.mt-Landline{background:#f3e5f5;color:#6a1b9a}.mt-Voip{background:#e8f5e9;color:#2e7d32}.mt-Other{background:#fff3e0;color:#e65100}
.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:#e3f2fd;color:#1565c0}.phone-type-sel.mt-Landline{background:#f3e5f5;color:#6a1b9a}.phone-type-sel.mt-Voip{background:#e8f5e9;color:#2e7d32}.phone-type-sel.mt-Other{background:#fff3e0;color:#e65100}
.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:#fff;border:none;padding:2px 7px;border-radius:3px;cursor:pointer}
.method-log-btn:hover{background:var(--dark)}

/* LOG ENTRIES */
.log-entry{padding:7px 10px;border-left:3px solid var(--mid);background:#f8faff;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:5px;position:relative}
.log-entry.e-call{border-color:#2196f3}.log-entry.e-sms{border-color:#7b1fa2}.log-entry.e-email{border-color:#00897b}.log-entry.e-other{border-color:var(--gray)}
.log-entry.outcome-good{border-color:var(--green);background:#f1f8f2}.log-entry.outcome-bad{border-color:var(--red);background:#fff5f5}
.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:#e8f0fe;padding:1px 5px;border-radius:4px}
.le-method-tag{font-size:9px;padding:1px 5px;border-radius:5px;font-weight:700;color:#fff}
.tag-call{background:#2196f3}.tag-sms{background:#7b1fa2}.tag-email{background:#00897b}.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:#fff;background:#546e7a;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:#e8f5e9;color:#2e7d32}
.le-sms-undelivered{background:#fff8e1;color:#f57f17}
.le-sms-failed{background:#ffebee;color:#c62828}
.le-sms-sent{background:#e3f2fd;color:#0277bd}
.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:#e8f4fd;color:#0277bd}
.le-call-completed{background:#e8f5e9;color:#2e7d32}
/* 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:0;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:#546e7a;margin-top:2px}
.le-delete{position:absolute;top:5px;right:7px;color:#ccc;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:#ccc;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:#fff;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:#fff;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 #e0e7ef}
.cb-add-btn{background:#fff;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:#fff;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:#f0f4ff}
.btn-delete{font-size:11px;padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;background:#ffebee;color:var(--red);border:1px solid #ef9a9a;font-family:inherit;transition:.15s}.btn-delete:hover{background:#ffcdd2}
.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:#fff;color:var(--mid);cursor:pointer;font-weight:600;font-family:inherit;transition:all .15s}
.ctr-btn:hover{background:var(--mid);color:#fff;border-color:var(--mid)}
/* small inline action buttons (archive, load more, log connection) */
.btn-load-more{background:var(--mid);color:#fff;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(--dark)}
.btn-sm-action{font-size:10px;padding:2px 7px;background:var(--mid);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-family:inherit;transition:.15s;white-space:nowrap}
.btn-sm-action:hover{background:var(--dark)}
.btn-icon-remove{background:none;border:none;color:#ccc;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 - 86px);overflow:hidden}
.buyer-list-panel{overflow-y:auto;border-right:1px solid var(--border);padding:10px;background:#fff;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:#f4f6f9;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:#e8f0fb}
.bsp-pill--active{border-color:var(--accent);background:var(--accent);color:#fff}
.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:#fafbfd;position:relative}
.buyer-card:hover{border-color:var(--mid);background:#f0f6ff}
.buyer-card.selected{border-color:var(--accent);background:#fffdf5;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:#e3f2fd;color:#1565c0}
.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:#1a2332;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:#fff;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:#f0f6ff}
.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:#fff;padding:2px 8px;border-radius:8px;font-size:10px;font-weight:700}
.match-badge.partial{background:#f57f17}
.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)}
.area-item{display:flex;align-items:center;gap:8px;padding:5px 8px;background:#f0f4f8;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:#ccc;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:#fff;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(--dark)}
#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:#fff;font-size:11px;cursor:pointer;font-weight:600;color:var(--gray);font-family:inherit;transition:.15s}
.map-mode-btn.active{background:var(--mid);color:#fff;border-color:var(--mid)}
.map-mode-btn.draw-active{background:#e65100;color:#fff;border-color:#e65100;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:#eceff1;color:#546e7a;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:#fff;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:#eceff1;color:#546e7a}.btn-cancel:hover{background:#cfd8dc}
.btn-primary{background:var(--mid);color:#fff}.btn-primary:hover{background:var(--dark)}
.btn-secondary{background:#fff;color:var(--mid);border:1px solid var(--border)}.btn-secondary:hover{background:var(--light);border-color:var(--mid)}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:#1b5e20}
.btn-teal{background:#00695c;color:#fff}.btn-teal:hover{background:#004d40}
.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#b71c1c}
/* confirm dialog — symmetrical min-width; ec-delete aligned left */
#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:#f8f9fa;font-size:11px;font-weight:600;cursor:pointer;color:var(--gray);transition:.15s;font-family:inherit}
.method-toggle button.act-call{background:#2196f3;color:#fff}
.method-toggle button.act-sms{background:#7b1fa2;color:#fff}
.script-box{background:#fffde7;border:1px solid #f9a825;border-radius:var(--radius-sm);padding:8px 11px;font-size:11px;color:#5d4037;line-height:1.6;margin-bottom:10px;cursor:pointer}
.script-box:hover{background:#fff9c4}
.script-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#f57f17;margin-bottom:4px}
.script-ph{background:#fff3cd;color:#856404;border-radius:3px;padding:0 3px;border-bottom:1px dashed #856404;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:#f0f6ff}
.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:#e3f2fd;color:#1565c0}.import-msg.success{background:#e8f5e9;color:#2e7d32}
.import-msg.warn{background:#fff3e0;color:#e65100}.import-msg.error{background:#ffebee;color:#c62828}
.mapped-cols{font-size:10px;background:#f8f9fa;border:1px solid var(--border);border-radius:5px;padding:8px 10px;margin-bottom:10px;max-height:80px;overflow-y:auto}
.mc-row{display:flex;gap:6px;padding:2px 0;border-bottom:1px solid #eee;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:#ccc;font-style:italic}
.import-preview{background:var(--light);border-radius:6px;padding:8px 12px;font-size:11px;margin-bottom:10px;max-height:110px;overflow-y:auto}
.ip-row{padding:3px 0;border-bottom:1px solid #dde3ea;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}
.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:#f0f6ff}
.export-option.selected{border-color:var(--accent);background:#fffdf5}
.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:#f0f6ff}
.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:#fff}
.ab-row-warn{border-color:#ffb300;background:#fffde7}
.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(--light);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(--light);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:#fff;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(--dark)}
.ab-btn-sm{background:#546e7a;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:#f0f4f8;color:#90a4ae;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:#fff}
.deal-stage-step.won{background:var(--green);color:#fff}
.deal-stage-step.lost{background:var(--red);color:#fff}
.deal-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 30px 9px 10px;margin-bottom:7px;background:#fafbfd;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:#fff}
.dp-prospect{background:#78909c}.dp-offer{background:#fb8c00}.dp-contract{background:#1e88e5}.dp-closed{background:var(--green)}.dp-dead{background:var(--red)}
.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:#ccc;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:#f5f7fa;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:#78909c;font-size:9px;font-weight:600}
.deal-note-del{background:none;border:none;color:#ccc;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:#fff}
.deal-note-input:focus{outline:none;border-color:var(--accent)}
.deal-note-btn{padding:5px 10px;border:1px dashed #00897b;border-radius:var(--radius-sm);background:none;color:#00695c;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;align-self:flex-end}
.deal-note-btn:hover{background:#e0f2f1}
.e-deal-note{border-left-color:#7b1fa2!important;background:#faf5ff}
.tag-deal-note{background:#7b1fa2}
.e-esign{border-left-color:#1565c0!important;background:#e3f2fd}
.tag-esign{background:#1565c0}
.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:#e3f2fd;color:#1565c0}
.le-esign-viewed{background:#fff8e1;color:#f57f17}
.le-esign-completed{background:#e8f5e9;color:#2e7d32}
.le-esign-declined{background:#fce4ec;color:#c62828}
.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:#1565c0}
.agr-sign-btn:hover{background:#0d47a1}
.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 dashed #00897b;border-radius:var(--radius-sm);background:none;color:#00695c;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
.deal-add-btn:hover{background:#e0f2f1}
/* 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:#fff;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:#fff;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:#fff}
.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)}
/* 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}

/* 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:#fff}
#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}}

/* 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:#fff;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:#1a2332;background:#f8fafc;box-sizing:border-box;font-family:inherit}
.pw-field-wrap input:focus{border-color:#2E5FA3;background:#fff;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:#1a2332;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:#607d8b;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:#1a2332;background:#f8fafc;box-sizing:border-box;font-family:inherit}
#auth-email:focus{border-color:#2E5FA3;background:#fff;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-y:auto;display:flex;flex-direction:column}
.lm-history-wrap{margin-top:16px;border-top:2px solid var(--border);padding-top:12px}
.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:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.lm-hist-entry{background:var(--light);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(--dark)!important}

/* ── Bulk Outreach ─────────────────────────────────────────────── */
.bulk-th{width:32px;padding:0 4px}
.bulk-cb-cell{width:32px;padding:0 6px;cursor:pointer}
.bulk-checkbox{cursor:pointer;width:14px;height:14px;accent-color:var(--accent)}

/* Floating bulk-action bar */
.bulk-action-bar{
  position:fixed;bottom:0;left:0;right:0;
  background:#1a237e;color:#fff;
  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:#fff;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-clear{
  background:none;border:1px solid rgba(255,255,255,.4);color:#fff;
  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:#fff;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(--dark)}
.note-log-scroll{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.note-entry{background:#f5f7fa;border:1px solid var(--border);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:#c0392b;background:#fdecea}
.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:#eceff1;color:#546e7a;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(--dark);color:#fff;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;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}
.kanban-card{background:#fff;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:#fff;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; }

/* 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; }

/* ── 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;
  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(--dark); 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(--dark); 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; }
.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:#fff;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;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--dark);background:#fff;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:#f0f4f8;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:#fff;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; }

/* ── 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; }
.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; }
