/* 5Kaizen FUB-familiar agent CRM shell. All selectors are isolated. */
.agent-crm-shell{max-width:1320px!important;color:var(--text)}
.agent-crm-with-rail{display:flex;align-items:flex-start;padding-left:0!important;min-height:calc(100vh - 60px)}
.agent-crm-with-rail>.agent-crm-rail{position:fixed!important;top:60px!important;bottom:0!important;left:0!important;width:240px!important;height:calc(100vh - 60px)!important;overflow-y:auto!important;padding:16px 12px!important;border-right:1px solid var(--border)!important;background:var(--panel)!important;z-index:10!important}
.agent-crm-with-rail>.editor-inner,.agent-crm-with-rail>.agent-tx-shell{margin-left:240px!important;flex:1!important;min-width:0!important;width:calc(100% - 240px)!important;padding-left:var(--space-xl,24px)!important;padding-right:var(--space-xl,24px)!important}
.agent-crm-rail-group{margin-bottom:10px;border-bottom:1px solid rgba(0,0,0,.06);padding-bottom:8px}
.agent-crm-rail-group:last-child{border-bottom:0}
.agent-crm-rail-group summary{cursor:pointer;user-select:none;outline:none;list-style:none}
.agent-crm-rail-group summary::-webkit-details-marker{display:none}
.agent-crm-rail-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:7px 10px!important;border-radius:6px!important;font-size:11px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.05em!important;margin-bottom:4px!important;border:1px solid rgba(0,0,0,.18)!important;box-shadow:0 1px 2px rgba(0,0,0,.05)!important;transition:all .15s ease!important}
.agent-crm-rail-bar:hover{filter:brightness(.96)}
.rail-bar-stages{background:#fef08a!important;color:#713f12!important;border-color:#ca8a04!important}
.rail-bar-workspaces{background:#fbcfe8!important;color:#831843!important;border-color:#db2777!important}
.rail-bar-services{background:#bbf7d0!important;color:#14532d!important;border-color:#16a34a!important}
.rail-bar-tags{background:#bfdbfe!important;color:#1e3a8a!important;border-color:#2563eb!important}
.rail-toggle-icon{font-style:normal!important;font-size:16px!important;font-weight:900!important;line-height:1!important;margin-left:auto!important}
.rail-toggle-icon::before{content:'+'!important}
.agent-crm-rail-group[open] summary .rail-toggle-icon::before{content:'−'!important}
.agent-crm-rail-main,.agent-crm-rail-lists{display:flex;flex-direction:column;gap:2px;padding-top:4px}
.agent-crm-rail-main button,.agent-crm-rail-lists button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:35px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:var(--text-mid);font:inherit;font-size:12px;text-align:left;cursor:pointer}
.agent-crm-rail-main button:hover,.agent-crm-rail-lists button:hover,.agent-crm-rail-main button.active{background:var(--bg);color:var(--text)}
.agent-crm-rail-main button.active{font-weight:750}
.agent-crm-rail-lists button b{min-width:24px;padding:2px 6px;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:9px;text-align:center}
.agent-crm-rail-lists button.vip{color:#8a5a00;font-weight:750}.agent-crm-rail-lists button.vip b{border-color:#f1d58a;background:#fff8df;color:#8a5a00}
.topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;height:60px!important;padding:0 16px!important;background:#fff!important;border-bottom:1px solid var(--border,#e2e8f0)!important;position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:100!important;overflow:visible!important}
.preview-brand{flex:0 0 auto!important;min-width:0!important;max-width:none!important}
/* Was pinned to a fixed 160px column to line the wordmark up with the old
   sidebar. The wordmark is gone, so 126px of that box was empty space between
   the logo and the search box — the gap Chris reported three times. Measuring
   brand.right hid it, because the empty box IS the brand's right edge; the
   visible logo ends 126px earlier. Measure from .kaizen-mark, not .preview-brand. */
.topbar-right{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;min-width:0!important;flex:1 1 auto!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important}
.topbar-right::-webkit-scrollbar{display:none!important}
.user-menu-wrap{flex:0 0 auto!important;min-width:0!important}
#user-profile-btn{max-width:160px!important}
#user-display-name{max-width:92px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.topbar-right button{position:relative!important;padding:8px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#475569!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;font-size:13px!important;font-weight:600!important;cursor:pointer!important;transition:all .15s ease!important;white-space:nowrap!important}
.topbar-right button:hover{background:#f1f5f9!important;color:#0f172a!important}
.topbar-right button.active{background:#e0f2fe!important;color:#0284c7!important;font-weight:700!important}
/* These four rules size the top-bar search. They carry !important, which was
   defeating the existing mobile rule in agent-transactions.css (max-width:900px)
   that collapses the search to a 42px icon. On a phone the search therefore
   stayed 250px wide and squeezed the 11 nav icons into ~120px, so most of the
   menu was unreachable. Scoping them to >=901px lets the mobile rule win. */
@media (min-width:901px){
  .topbar .agent-tx-topbar-button{display:inline-flex!important;align-items:center!important;gap:8px!important;flex:0 0 250px!important;min-width:220px!important;max-width:250px!important;border:1px solid #cbd5e1!important;border-radius:12px!important;background:#fff!important;color:#475569!important;box-shadow:inset 0 1px 0 rgba(15,23,42,.04)!important}
  .topbar .agent-tx-topbar-button:hover,.topbar .agent-tx-topbar-button:focus-visible{border-color:#0071e3!important;background:#fff!important;color:#0f172a!important;box-shadow:0 0 0 4px rgba(0,113,227,.10)!important;outline:none!important}
  .topbar .agent-tx-topbar-button .agent-tx-search-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar .agent-tx-kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border:1px solid var(--border);border-radius:6px;background:#f8fafc;color:#64748b;font-size:10px}
}
.nav-arrow-indicator{display:none!important;position:absolute!important;bottom:-1px!important;left:50%!important;transform:translateX(-50%)!important;width:0!important;height:0!important;border-left:5px solid transparent!important;border-right:5px solid transparent!important;border-bottom:5px solid #0284c7!important}
.topbar-right button.active .nav-arrow-indicator{display:block!important}
.agent-crm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.agent-crm-head h1{margin:0 0 4px;font-size:26px;letter-spacing:-.025em;color:var(--text)}
.agent-crm-sub,.agent-crm-muted{color:var(--text-mid);font-size:13px}
.agent-crm-actions{display:flex;gap:8px;flex-wrap:wrap}
.agent-crm-btn{min-height:38px;padding:8px 14px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);font-weight:650;cursor:pointer}
.agent-crm-btn.primary{border-color:#0071e3;background:#0071e3;color:#fff}
.agent-crm-btn:hover,.agent-crm-btn:focus-visible{border-color:#0071e3;outline:none}
.agent-crm-demo{margin-bottom:16px;padding:11px 14px;border:1px solid #b9d8fb;border-radius:10px;background:#f0f7ff;color:#16385f;font-size:12.5px;line-height:1.45}
.agent-crm-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.agent-crm-kpi,.agent-crm-panel{border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-1)}
.agent-crm-kpi{padding:16px}
.agent-crm-kpi span{display:block;color:var(--text-mid);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.agent-crm-kpi b{display:block;margin:7px 0 2px;font-size:28px;line-height:1;color:var(--text)}
.agent-crm-kpi small{color:var(--text-dim);font-size:11px}
.agent-crm-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:14px}
.agent-crm-panel{padding:16px}
.agent-crm-panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.agent-crm-panel h2{margin:0;font-size:17px;color:var(--text)}
.agent-crm-queue{display:flex;flex-direction:column}
.agent-crm-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 0;border-top:1px solid var(--border)}
.agent-crm-row:first-child{border-top:0}
.agent-crm-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eaf4ff;color:#0058b0;font-size:11px;font-weight:800}.agent-crm-avatar.big{width:48px;height:48px;font-size:13px}
.agent-crm-row b{display:block;font-size:13px;color:var(--text)}
.agent-crm-row p{margin:3px 0 0;color:var(--text-mid);font-size:11.5px}
.agent-crm-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--bg);color:var(--text-mid);font-size:10.5px;font-weight:750;white-space:nowrap}
.agent-crm-chip.alert{background:#fff3e8;color:#9a4700}.agent-crm-chip.ok{background:#eaf8ef;color:#18763b}
.agent-crm-quick{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.agent-crm-quick button{min-height:74px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);text-align:left;font-weight:700;cursor:pointer}
.agent-crm-quick button span{display:block;margin-top:5px;color:var(--text-mid);font-size:11px;font-weight:500}
.agent-crm-board-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(130px,170px));gap:9px;margin-bottom:14px}
.agent-crm-board-toolbar input,.agent-crm-board-toolbar select{min-height:42px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg,var(--panel));color:var(--text)}
.agent-crm-board{display:grid;grid-template-columns:repeat(6,minmax(210px,1fr));gap:10px;overflow-x:auto;padding-bottom:10px}
.agent-crm-column{min-height:430px;padding:10px;border:1px solid var(--border);border-top:4px solid var(--stage-color,#8e8e93);border-radius:11px;background:color-mix(in srgb,var(--bg) 72%,var(--panel))}
.agent-crm-colhead{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}
.agent-crm-colhead b{font-size:13px}.agent-crm-colhead span{color:var(--text-dim);font-size:11px}
.agent-crm-deal{margin-bottom:9px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--panel);box-shadow:var(--shadow-1);cursor:pointer}
.agent-crm-deal:hover,.agent-crm-deal:focus-visible{border-color:#0071e3;outline:none}
.agent-crm-deal b{display:block;font-size:13px;color:var(--text)}
.agent-crm-deal p{margin:5px 0;color:var(--text-mid);font-size:11.5px;line-height:1.4}
.agent-crm-dealfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-dim);font-size:10.5px}
.agent-crm-empty{padding:20px 12px;color:var(--text-dim);font-size:12px;text-align:center;border:1px dashed var(--border);border-radius:8px}
.agent-crm-people-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.72fr);gap:14px;align-items:start}.agent-crm-people{display:flex;flex-direction:column}.agent-crm-person{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:12px 4px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer}.agent-crm-person:first-child{border-top:0}.agent-crm-person.active{background:#f0f7ff;box-shadow:inset 3px 0 0 #0071e3}.agent-crm-person:hover,.agent-crm-person:focus-visible{background:var(--bg);outline:none}.agent-crm-person small{display:block;margin-top:3px;color:var(--text-mid)}.agent-crm-person>span:last-child{text-align:right}.agent-crm-person em,.agent-crm-person i{display:inline-block;margin:2px;padding:3px 7px;border-radius:999px;background:var(--bg);color:var(--text-mid);font-size:9.5px;font-style:normal}.agent-crm-person i{background:#eef6ff;color:#0058b0}.agent-crm-contact-detail{position:sticky;top:12px}.agent-crm-contact-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:-2px 0 12px;color:var(--text-mid);font-size:12px;font-weight:750}.agent-crm-cycle-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text);font-size:20px;font-weight:800;line-height:1;cursor:pointer}.agent-crm-cycle-btn:hover,.agent-crm-cycle-btn:focus-visible{border-color:#0071e3;color:#0071e3;outline:none}.agent-crm-cycle-btn:disabled{opacity:.42;cursor:not-allowed}.agent-crm-contact-top{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:14px}.agent-crm-contact-top h2{margin:0 0 3px}.agent-crm-contact-top p{margin:0;color:var(--text-mid);font-size:12px;overflow-wrap:anywhere}.agent-crm-contact-lines{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.agent-crm-contact-lines span{padding:4px 9px;border-radius:999px;background:#eef6ff;color:#0058b0;border-left:3px solid var(--line-color,#8e8e93);font-size:10.5px;font-weight:750}
.agent-crm-task-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px}.agent-crm-task-tabs button{padding:7px 11px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text-mid)}.agent-crm-task-tabs button.active{background:#0071e3;border-color:#0071e3;color:#fff}.agent-crm-task-list{display:flex;flex-direction:column}.agent-crm-task{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 2px;border-top:1px solid var(--border)}.agent-crm-task:first-child{border-top:0}.agent-crm-task small{display:block;margin-top:3px;color:var(--text-mid)}.agent-crm-task em{padding:4px 8px;border-radius:999px;background:var(--bg);color:var(--text-mid);font-size:10px;font-style:normal}.agent-crm-task em.urgent{background:#fff3e8;color:#9a4700}.agent-crm-task.done{opacity:.55}.agent-crm-task.done b{text-decoration:line-through}
.agent-crm-calendar-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,.65fr);gap:14px}.agent-crm-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.agent-crm-cal-head button{border:0;background:var(--bg);border-radius:7px;padding:6px 10px}.agent-crm-cal-week,.agent-crm-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr))}.agent-crm-cal-week span{padding:6px;text-align:center;color:var(--text-dim);font-size:10px}.agent-crm-cal-day,.agent-crm-cal-blank{min-height:86px;padding:6px;border:solid var(--border);border-width:1px 0 0 1px}.agent-crm-cal-grid>:nth-child(7n){border-right:1px solid var(--border)}.agent-crm-cal-grid>:nth-last-child(-n+7){border-bottom:1px solid var(--border)}.agent-crm-cal-day>b{display:block;color:var(--text-mid);font-size:10px}.agent-crm-cal-day button{display:block;width:100%;margin-top:4px;padding:4px;border:0;border-radius:4px;background:#eaf4ff;color:#0058b0;font-size:9px;text-align:left}.agent-crm-cal-day button span{display:block}.agent-crm-agenda{display:flex;flex-direction:column}.agent-crm-agenda button{padding:11px 2px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);text-align:left}.agent-crm-agenda button:first-child{border-top:0}.agent-crm-agenda span,.agent-crm-agenda small{display:block;margin-top:3px}.agent-crm-agenda span{font-weight:700}.agent-crm-agenda small{color:var(--text-mid)}
.agent-crm-security{margin-bottom:15px;padding:13px 15px;border:1px solid #f1d58a;border-radius:10px;background:#fff8df;color:#604200;font-size:12px;line-height:1.5}.agent-crm-integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.agent-crm-integration{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.agent-crm-integration>span{color:#0071e3;font-size:10px;font-weight:800;text-transform:uppercase}.agent-crm-integration h2{margin:7px 0 5px}.agent-crm-integration p{min-height:52px;color:var(--text-mid);font-size:11.5px;line-height:1.45}.agent-crm-integration button{padding:8px 13px;border:1px solid #0071e3;border-radius:8px;background:#0071e3;color:#fff;font-weight:700}.agent-crm-integration small{margin-left:9px;color:var(--text-dim)}.agent-crm-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:0;list-style:none}.agent-crm-flow li{padding:11px;border-radius:8px;background:var(--bg);font-size:11px}.agent-crm-flow span{display:block;margin-top:5px;color:var(--text-mid);line-height:1.4}
@media(max-width:1480px){.preview-brand{flex-basis:auto!important;min-width:0!important;max-width:none!important}.preview-note{display:none!important}.agent-tx-topbar-button{flex:0 0 228px!important;min-width:210px!important;max-width:228px!important;min-height:40px!important;justify-content:flex-start!important}.agent-tx-topbar-button .agent-tx-search-label{display:inline!important}.agent-tx-topbar-button .agent-tx-kbd{display:inline-flex!important}}
@media(max-width:1180px){.topbar{padding:0 10px!important;gap:8px!important}.topbar-right{gap:2px!important}.topbar-right button{padding:7px 8px!important;font-size:12px!important}.agent-tx-topbar-button{flex:0 0 186px!important;min-width:176px!important;max-width:186px!important}.agent-tx-topbar-button .agent-tx-kbd{display:none!important}.user-menu-wrap #user-display-name{display:none!important}#user-profile-btn{max-width:58px!important;padding-right:6px!important}.agent-crm-with-rail>.agent-crm-rail{width:220px!important}.agent-crm-with-rail>.editor-inner,.agent-crm-with-rail>.agent-tx-shell{margin-left:220px!important;width:calc(100% - 220px)!important}}
@media(max-width:980px){.agent-tx-topbar-button{flex:0 0 54px!important;min-width:54px!important;width:54px!important;max-width:54px!important;justify-content:center!important;font-size:18px!important}.agent-tx-topbar-button .agent-tx-search-label,.agent-tx-topbar-button .agent-tx-kbd{display:none!important}}
@media(max-width:900px){.agent-crm-kpis{grid-template-columns:1fr 1fr}.agent-crm-main,.agent-crm-calendar-layout{grid-template-columns:1fr}.agent-crm-board{grid-template-columns:repeat(6,250px)}.agent-crm-integration-grid{grid-template-columns:1fr}.agent-crm-flow{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.agent-crm-head{flex-direction:column}.agent-crm-kpis{grid-template-columns:1fr 1fr}.agent-crm-board-toolbar{grid-template-columns:1fr}.agent-crm-row{grid-template-columns:36px minmax(0,1fr)}.agent-crm-row>.agent-crm-chip{grid-column:2}.agent-crm-quick{grid-template-columns:1fr}}
@media(max-width:720px){body{padding-top:96px}.topbar{height:auto!important;min-height:96px!important;align-items:flex-start!important;flex-wrap:wrap!important;padding:8px 10px!important}.topbar-right{order:3;width:100%!important;justify-content:flex-start!important;overflow-x:auto!important;padding-bottom:4px!important}.topbar-right button{flex:0 0 auto!important}.preview-note{display:none!important}.agent-crm-with-rail{display:block;min-width:0;max-width:100%;overflow-x:hidden}.agent-crm-with-rail>.agent-crm-rail{position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;width:100%!important;height:auto!important;display:block;max-width:100%;overflow-x:auto!important;white-space:nowrap;padding:9px 12px!important;border-right:0!important;border-bottom:1px solid var(--border)!important}.agent-crm-rail-group{display:inline-block;min-width:190px;vertical-align:top;white-space:normal;margin:0 8px 0 0}.agent-crm-rail-main,.agent-crm-rail-lists{display:flex;flex-direction:column;vertical-align:middle;margin-right:0}.agent-crm-rail-main button,.agent-crm-rail-lists button{width:100%}.agent-crm-with-rail>.editor-inner,.agent-crm-with-rail>.agent-tx-shell{margin-left:0!important;width:100%!important;max-width:100%!important;padding:16px!important;overflow-x:hidden}.agent-crm-calendar-layout{min-width:0}.agent-crm-calendar-layout>.agent-crm-panel{min-width:0;overflow-x:auto}.agent-crm-cal-week,.agent-crm-cal-grid{min-width:560px}.agent-crm-flow{grid-template-columns:1fr}.agent-crm-person{grid-template-columns:36px minmax(0,1fr)}.agent-crm-person>span:last-child{grid-column:2;text-align:left}}
/* Service lines, opportunity workspaces, Agent Knowledge Center, rental resources and agent tool shells. */
.agent-crm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.agent-crm-chip-btn{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 13px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text);font-size:12px;font-weight:650;cursor:pointer}.agent-crm-chip-btn b{padding:1px 6px;border-radius:999px;background:var(--bg);color:var(--text-dim);font-size:10px}
.agent-crm-chip-btn.active{background:#0071e3;border-color:#0071e3;color:#fff}.agent-crm-chip-btn.active b{background:rgba(255,255,255,.22);color:#fff}
.agent-crm-chip-btn.vip{color:#8a5a00}.agent-crm-chip-btn.vip.active{background:#8a5a00;border-color:#8a5a00;color:#fff}
.agent-crm-chip-btn:hover,.agent-crm-chip-btn:focus-visible{border-color:#0071e3;outline:none}
.agent-crm-opps{display:flex;flex-direction:column;gap:10px}
.agent-crm-opp{display:grid;gap:7px;text-align:left;padding:14px;border:1px solid var(--border);border-left:4px solid var(--line-color,#8e8e93);border-radius:11px;background:var(--panel);box-shadow:var(--shadow-1);color:var(--text);cursor:pointer;width:100%}
.agent-crm-opp:hover,.agent-crm-opp:focus-visible{border-color:#0071e3;outline:none}
.agent-crm-opp-top{display:flex;align-items:center;gap:8px}.agent-crm-opp-top b{font-size:14px}.agent-crm-opp-top i.vip{background:#fff8df;color:#8a5a00;border-radius:999px;padding:2px 7px;font-size:9.5px;font-weight:800;font-style:normal}
.agent-crm-opp-meta{display:flex;flex-wrap:wrap;gap:6px}.agent-crm-opp-meta i{font-style:normal;font-size:10px;padding:3px 8px;border-radius:999px;background:var(--bg);color:var(--text-mid)}.agent-crm-opp-meta i.line{background:#eef6ff;color:#0058b0}
.agent-crm-opp-sum{color:var(--text-mid);font-size:12.5px}
.agent-crm-opp-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--text-dim);font-size:10.5px}
.agent-crm-section{border:1px solid var(--border);border-radius:11px;background:var(--panel);margin-bottom:10px;padding:0 14px;overflow:hidden}
.agent-crm-section>summary{min-height:48px;display:flex;align-items:center;gap:10px;padding:13px 0;font-weight:700;font-size:14px;color:var(--text);cursor:pointer;list-style:none}
.agent-crm-section>summary::-webkit-details-marker{display:none}
.agent-crm-section>summary::before{content:'▸';color:var(--text-dim);font-size:11px}
.agent-crm-section[open]>summary::before{content:'▾'}
.agent-crm-section.agent-only{border-color:#f1d58a;background:#fffdf5}
.agent-crm-flag{margin-left:auto;font-style:normal;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px;background:#fff8df;color:#8a5a00}.agent-crm-flag.warn{background:#fff3e8;color:#9a4700}
.agent-crm-guard{margin:0 0 10px;padding:10px 12px;border:1px solid #f1d58a;border-radius:9px;background:#fff8df;color:#604200;font-size:11.5px;line-height:1.5}
.agent-crm-note{margin:0 0 10px;color:var(--text-mid);font-size:11.5px;line-height:1.5}.agent-crm-note code{font-size:11px;background:var(--bg);padding:1px 5px;border-radius:5px}
.agent-crm-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0 0 14px}
.agent-crm-fields>div{padding-bottom:7px;border-bottom:1px solid var(--border);min-width:0}
.agent-crm-fields dt{color:var(--text-dim);font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.agent-crm-fields dd{margin:3px 0 0;color:var(--text);font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}
.agent-crm-fields dd.empty{color:var(--text-dim);font-style:italic}
.agent-crm-fields.tight{grid-template-columns:1fr;gap:5px;font-size:11.5px}
.agent-crm-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px}
.agent-crm-check{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 11px;border:1px solid var(--border);border-radius:9px;background:var(--bg);font-size:12px;cursor:pointer}.agent-crm-check input{width:18px;height:18px;flex:0 0 auto;margin:0}
.agent-crm-check.done{background:#eaf8ef;border-color:#bfe6cd}.agent-crm-check.done span{text-decoration:line-through;color:var(--text-mid)}
.agent-crm-form{margin-bottom:14px}
.agent-crm-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.agent-crm-formgrid.single{grid-template-columns:1fr}
.agent-crm-formgrid label{display:flex;flex-direction:column;gap:5px;color:var(--text-mid);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.agent-crm-formgrid input,.agent-crm-formgrid select{min-height:44px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--input-bg,var(--panel));color:var(--text);font:inherit;font-size:13px;font-weight:500;text-transform:none;letter-spacing:0}
.agent-crm-formgrid input[readonly]{background:var(--bg);color:var(--text-mid)}
.agent-crm-vip{font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;background:#fff8df;color:#8a5a00;vertical-align:middle}
.agent-crm-portal{margin-top:14px}
.agent-crm-portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-bottom:14px}
.agent-crm-portal-card{padding:14px;border:1px dashed var(--border);border-radius:10px;background:var(--bg)}.agent-crm-portal-card b{display:block;font-size:12.5px;margin-bottom:5px}.agent-crm-portal-card span{display:block;color:var(--text-dim);font-size:11.5px;line-height:1.45}
.agent-crm-security ul{margin:7px 0 0;padding-left:18px}.agent-crm-security li{margin-bottom:3px}
.agent-crm-lineband{display:block;margin-top:5px}.agent-crm-lineband i.line{display:inline-block;margin:2px 4px 0 0;padding:2px 7px;border-radius:999px;background:#eef6ff;color:#0058b0;font-size:9.5px;font-style:normal}.agent-crm-lineband i.line.empty{background:var(--bg);color:var(--text-dim)}
.agent-crm-kb-helper{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:14px;margin-bottom:14px;padding:16px;border:1px solid #b9d8fb;border-radius:14px;background:linear-gradient(135deg,#f0f7ff,#fff);box-shadow:var(--shadow-1)}
.agent-crm-kb-helper span{display:block;color:#0071e3;font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.agent-crm-kb-helper h2{margin:5px 0 6px;font-size:19px;color:var(--text)}
.agent-crm-kb-helper p{margin:0;color:var(--text-mid);font-size:12.5px;line-height:1.5}
.agent-crm-kb-ai-box{display:flex;flex-direction:column;gap:8px}
.agent-crm-kb-ai-box label,.agent-crm-kb-search-label span{color:var(--text);font-size:12px;font-weight:800}
.agent-crm-kb-ai-box>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.agent-crm-kb-ai-box input,.agent-crm-kb-search-label input{width:100%;min-height:44px;padding:10px 13px;border:1px solid #94a3b8;border-radius:10px;background:#fff;color:var(--text);font-size:13px;box-shadow:inset 0 1px 0 rgba(15,23,42,.04)}
.agent-crm-kb-ai-box input:focus,.agent-crm-kb-search-label input:focus{border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.12);outline:none}
.agent-crm-kb-ai-box output{display:block;padding:11px 12px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#16385f;font-size:12px;line-height:1.55}
.agent-crm-kb-search-label{display:flex;flex-direction:column;gap:7px;margin:0 0 14px}
.agent-crm-kb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}
.agent-crm-kb-card{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-1);min-width:0}
.agent-crm-kb-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.agent-crm-kb-card h3{margin:0;font-size:15.5px;color:var(--text);line-height:1.35}
.agent-crm-kb-card p{margin:0 0 12px;color:var(--text-mid);font-size:12px;line-height:1.5}
.agent-crm-kb-status{flex:0 0 auto;padding:3px 9px;border-radius:999px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.agent-crm-kb-status.ok{background:#eaf8ef;color:#18763b}.agent-crm-kb-status.warn{background:#fff3e8;color:#9a4700}.agent-crm-kb-status.draft{background:var(--bg);color:var(--text-dim)}
.agent-crm-kb-playbook{display:grid;gap:10px;margin-top:10px}
.agent-crm-kb-playbook section{padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}
.agent-crm-kb-playbook h4{margin:0 0 7px;color:var(--text);font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.agent-crm-kb-playbook p{margin:0;color:var(--text-mid);font-size:12px}
.agent-crm-kb-list,.agent-crm-kb-script,.agent-crm-kb-docs{margin:0;padding-left:18px;color:var(--text-mid);font-size:12px;line-height:1.48}
.agent-crm-kb-list li,.agent-crm-kb-script li,.agent-crm-kb-docs li{margin:4px 0}
.agent-crm-kb-script{padding-left:0;list-style:none}
.agent-crm-kb-script li{padding:8px 10px;border-left:3px solid #0071e3;border-radius:8px;background:#fff;color:var(--text)}
.agent-crm-kb-docs li{font-weight:650;color:#334155}
.agent-crm-kb-qa{display:grid;gap:8px}
.agent-crm-kb-qa div{padding:9px 10px;border-radius:9px;background:#fff;border:1px solid #e5e7eb}
.agent-crm-kb-qa b{display:block;margin-bottom:4px;color:var(--text);font-size:12px}
.agent-crm-kb-qa p{margin:0;color:var(--text-mid);font-size:12px}
.agent-crm-kb-meta{margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}
.agent-crm-kb-meta summary{cursor:pointer;color:var(--text-mid);font-size:11.5px;font-weight:750}
.agent-crm-kb-meta[open] summary{margin-bottom:8px}
.agent-crm-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.agent-crm-link{display:block;min-height:44px;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--text);text-decoration:none}.agent-crm-link b{display:block;font-size:13px}.agent-crm-link span{display:block;margin:5px 0 7px;color:var(--text-mid);font-size:11.5px;line-height:1.45}.agent-crm-link em{font-style:normal;font-size:10.5px;font-weight:700;color:#0071e3}
a.agent-crm-link:hover,a.agent-crm-link:focus-visible{border-color:#0071e3;outline:none}
.agent-crm-link.disabled{background:var(--bg);border-style:dashed}.agent-crm-link.disabled em{color:var(--text-dim)}
.agent-crm-tools{display:block}
.agent-crm-rate{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-bottom:14px}
.agent-crm-rate-card{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.agent-crm-rate-card b{display:block;font-size:12.5px;margin-bottom:6px}.agent-crm-rate-card p{margin:0 0 8px;color:var(--text-mid);font-size:11.5px;line-height:1.5}.agent-crm-rate-card em{display:block;font-style:normal;font-size:11px;font-weight:700;color:#9a4700}
.agent-crm-import-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:14px;margin-bottom:14px;padding:22px;border:1px solid #b9d8fb;border-radius:16px;background:linear-gradient(135deg,#f0f7ff,#fff);box-shadow:var(--shadow-1)}
.agent-crm-import-hero span{display:block;color:#0071e3;font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.agent-crm-import-hero h2{margin:5px 0 7px;font-size:24px}.agent-crm-import-hero p{margin:0;color:var(--text-mid);font-size:13px;line-height:1.5}
.agent-crm-import-drop{display:grid;place-items:center;gap:6px;min-height:160px;padding:18px;border:2px dashed #94c5f8;border-radius:14px;background:#fff;color:var(--text);text-align:center;cursor:pointer}.agent-crm-import-drop:hover{border-color:#0071e3;background:#f8fbff}.agent-crm-import-drop input{position:absolute;opacity:0;pointer-events:none}.agent-crm-import-drop b{font-size:16px}.agent-crm-import-drop small{color:var(--text-mid);font-size:11.5px}
.agent-crm-import-tip{margin-bottom:12px;padding:13px 15px;border:1px solid #b9d8fb;border-radius:10px;background:#eef6ff;color:#16385f;font-size:12.5px;line-height:1.5}
.agent-crm-import-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-1)}.agent-crm-import-summary>b{font-size:20px}.agent-crm-import-summary>span{margin-right:9px;color:var(--text-mid);font-size:11px}.agent-crm-import-summary label{display:inline-flex;align-items:center;gap:7px;color:var(--text-mid);font-size:12px;font-weight:700}.agent-crm-import-summary input{width:18px;height:18px}.agent-crm-import-summary .agent-crm-btn{min-height:38px;padding:7px 12px}
.agent-crm-import-status{margin:-4px 0 12px;padding:10px 12px;border:1px solid #b9d8fb;border-radius:10px;background:#eef6ff;color:#16385f;font-size:12.5px;font-weight:700}.agent-crm-import-status.error{border-color:#fecaca;background:#fff1f1;color:#991b1b}.agent-crm-import-status.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.agent-crm-import-status[hidden]{display:none}
.agent-crm-import-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,300px);gap:0;margin-bottom:14px;overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-1)}
.agent-crm-import-col{min-height:265px;padding:14px;border-right:1px solid var(--border);background:#fff}.agent-crm-import-col:last-child{border-right:0}.agent-crm-import-col.mapped{background:#eef8ff}.agent-crm-import-col.unmatched{background:#fff1f1}.agent-crm-import-col.skipped{background:#f7f7f9;color:var(--text-mid)}.agent-crm-import-col h3{margin:0 0 12px;font-size:14px;line-height:1.35}.agent-crm-import-col label{display:flex;flex-direction:column;gap:6px;color:var(--text-mid);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.agent-crm-import-col select{min-height:42px;padding:9px 10px;border:1px solid #b6c4d2;border-radius:8px;background:#fff;color:var(--text);font:inherit;font-size:12px;text-transform:none;letter-spacing:0}.agent-crm-import-col select:focus{border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.12);outline:none}
.agent-crm-import-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0}.agent-crm-btn.mini{min-height:32px;padding:5px 11px;font-size:11px}.agent-crm-linkbtn{border:0;background:transparent;color:#ef4444;font-weight:750;cursor:pointer}.agent-crm-import-match{margin:8px 0;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.78);color:var(--text-mid);font-size:11px;font-weight:750}.agent-crm-import-col ul{margin:0;padding:0;list-style:none}.agent-crm-import-col li{padding:7px 0;border-top:1px solid rgba(0,0,0,.07);color:var(--text-mid);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-crm-import-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.agent-crm-import-preview div{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.agent-crm-import-preview div.duplicate{background:#fff8df;border-color:#f1d58a}.agent-crm-import-preview b,.agent-crm-import-preview span,.agent-crm-import-preview em{display:block}.agent-crm-import-preview span{margin-top:3px;color:var(--text-mid);font-size:11.5px}.agent-crm-import-preview em{margin-top:5px;color:#0071e3;font-style:normal;font-size:10.5px;font-weight:800}.agent-crm-import-preview .duplicate em{color:#8a5a00}
.agent-crm-import-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.agent-crm-import-result>b{display:block;padding:22px 18px 4px;border:1px solid var(--border);border-bottom:0;border-radius:13px 13px 0 0;background:var(--panel);font-size:26px}.agent-crm-import-result>span{display:block;margin-top:-12px;padding:0 18px 18px;border:1px solid var(--border);border-top:0;border-radius:0 0 13px 13px;background:var(--panel);color:var(--text-mid);font-size:12px}
.agent-crm-import-history{border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-1);overflow:hidden}.agent-crm-import-history-head,.agent-crm-import-history-row{display:grid;grid-template-columns:minmax(230px,1.4fr) 180px 100px 110px 130px 120px;gap:14px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--border);min-width:920px}.agent-crm-import-history-head{background:var(--bg);color:var(--text-mid);font-size:10.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.agent-crm-import-history-row:last-child{border-bottom:0}.agent-crm-import-history-row b{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-crm-import-history-row span,.agent-crm-import-history-row a{font-size:12.5px;color:var(--text-mid);text-decoration:none}.agent-crm-import-history-row a{color:#0071e3;font-weight:800}.agent-crm-import-history-row .ok{display:inline-flex;width:max-content;padding:3px 8px;border-radius:999px;background:#eaf8ef;color:#18763b;font-weight:800}.agent-crm-import-history-row .warn{display:inline-flex;width:max-content;padding:3px 8px;border-radius:999px;background:#fff3e8;color:#9a4700;font-weight:800}
@media(max-width:900px){.agent-crm-fields,.agent-crm-checklist,.agent-crm-formgrid,.agent-crm-people-layout{grid-template-columns:1fr}.agent-crm-contact-detail{position:static}}
@media(max-width:720px){.agent-crm-chips{overflow-x:auto;flex-wrap:wrap}.agent-crm-chip-btn{min-height:44px}.agent-crm-btn{min-height:44px}.agent-crm-rail-main button,.agent-crm-rail-lists button{min-height:44px}.agent-crm-opp{padding:13px}.agent-crm-opp-foot{flex-direction:column;gap:3px}.agent-crm-kb-grid,.agent-crm-links,.agent-crm-portal-grid,.agent-crm-rate,.agent-crm-import-hero,.agent-crm-import-result{grid-template-columns:1fr}.agent-crm-kb-card,.agent-crm-link,.agent-crm-section,.agent-crm-panel{min-width:0;max-width:100%}.agent-crm-fields dd{overflow-wrap:anywhere}.agent-crm-section{padding:0 12px}.agent-crm-section>summary{min-height:48px;flex-wrap:wrap}.agent-crm-flag{margin-left:0}.agent-crm-task-tabs button{min-height:44px}.agent-crm-import-summary label{margin-left:0}.agent-crm-import-grid{grid-auto-columns:minmax(230px,86vw)}.agent-crm-import-history{overflow-x:auto}}
@media(max-width:720px){.agent-crm-board-toolbar input,.agent-crm-board-toolbar select{min-height:44px}.agent-crm-cal-head button{min-height:44px;min-width:44px}.agent-crm-task-tabs button{min-height:44px}}


/* ── Person Detail — dedicated FUB-style contact record ────────────────── */
.agent-crm-detail-topbar{position:sticky;top:60px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 14px;padding:10px 14px;border:1px solid var(--border);border-radius:11px;background:var(--panel);box-shadow:var(--shadow-1)}
.agent-crm-detail-nav{display:flex;align-items:center;gap:10px}
.agent-crm-detail-count{color:var(--text-mid);font-size:12px;font-weight:750;white-space:nowrap}
.agent-crm-detail-head{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:start;margin-bottom:16px}
.agent-crm-detail-head h1{margin:0 0 6px;font-size:23px;color:var(--text)}
.agent-crm-detail-stagebar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}
.agent-crm-detail-stage{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#eef6ff;color:#0058b0;font-size:11.5px;font-weight:750}
.agent-crm-detail-tags{display:flex;flex-wrap:wrap;gap:5px}
.agent-crm-detail-tag{padding:3px 8px;border-radius:999px;background:var(--bg);color:var(--text-mid);font-size:10.5px;font-style:normal}
.agent-crm-detail-tag.empty{color:var(--text-dim);font-style:italic;background:transparent;padding:0}
.agent-crm-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:14px;align-items:start}
.agent-crm-detail-main,.agent-crm-detail-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.agent-crm-value-row{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.agent-crm-value-row input{flex:1;min-width:0;min-height:42px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);font:inherit;font-size:13px}
.agent-crm-badge-primary{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#eaf8ef;color:#18763b;font-size:9.5px;font-weight:800;font-style:normal;text-transform:uppercase;letter-spacing:.04em}
.agent-crm-value-add{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.agent-crm-value-add input,.agent-crm-value-add select{flex:1;min-width:0;min-height:42px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text-mid);font:inherit;font-size:13px}
.agent-crm-value-add input:disabled,.agent-crm-value-add select:disabled,.agent-crm-value-add button:disabled{cursor:not-allowed;opacity:.62}
.agent-crm-note-composer label{display:block;color:var(--text-mid);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.agent-crm-note-composer textarea{width:100%;min-height:76px;margin-top:5px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);font:inherit;font-size:13px;resize:vertical}
.agent-crm-note-list{margin-top:12px}
.agent-crm-activity-list{display:flex;flex-direction:column}
.agent-crm-activity-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;border-top:1px solid var(--border);font-size:12.5px}
.agent-crm-activity-item:first-child{border-top:0}
.agent-crm-activity-item time{color:var(--text-dim);font-size:11px;white-space:nowrap}
.agent-crm-agenda-row{padding:10px 2px;border-top:1px solid var(--border)}
.agent-crm-agenda-row:first-child{border-top:0}
.agent-crm-agenda-row b{display:block;font-size:12px}
.agent-crm-agenda-row span{display:block;margin-top:2px;font-weight:700;font-size:12px}
.agent-crm-agenda-row small{display:block;margin-top:2px;color:var(--text-mid);font-size:11px}
.agent-crm-detail-placeholder{border-style:dashed;background:var(--bg)}
.agent-crm-detail-placeholder p{margin:0}
@media(max-width:900px){.agent-crm-detail-grid{grid-template-columns:1fr}.agent-crm-detail-head{grid-template-columns:48px minmax(0,1fr)}}
@media(max-width:720px){.agent-crm-detail-topbar{position:static;flex-wrap:wrap}.agent-crm-value-row,.agent-crm-value-add{flex-wrap:wrap}}


/* Destructive actions: undo an import. Deliberately unmistakable. */
.agent-crm-btn.danger{border-color:#c0392b;background:#c0392b;color:#fff}
.agent-crm-btn.danger:hover{background:#a93226;border-color:#a93226}
.agent-crm-security.agent-crm-danger{border-color:#e8b4ae;background:#fdf2f0;color:#7d241a}
.agent-crm-security.agent-crm-danger b{color:#7d241a}


/* ── Staff CRM sign-in ─────────────────────────────────────────────────── */
.agent-crm-staff-auth{max-width:640px}
.agent-crm-staff-auth h2{margin-top:0}
.agent-crm-staff-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;padding:9px 13px;border:1px solid var(--border);border-radius:10px;background:var(--panel);font-size:12.5px}
.agent-crm-staff-banner b{font-size:12.5px}
.agent-crm-staff-banner span{color:var(--text-mid)}
.agent-crm-staff-banner span.warn{color:#a8410f;font-weight:700}
.agent-crm-staff-banner .agent-crm-linkbtn{margin-left:auto}
.agent-crm-staff-dot{width:8px;height:8px;border-radius:50%;background:#1d9a52;flex:0 0 auto}
.agent-crm-staff-org{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:750;color:var(--text-mid);text-transform:uppercase;letter-spacing:.04em}
.agent-crm-staff-org select{min-height:30px;padding:3px 8px;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--text);font:inherit;font-size:12px;text-transform:none;letter-spacing:0}


/* ── Bulk selection ────────────────────────────────────────────────────── */
.agent-crm-bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:10px 13px;border:1px solid var(--border);border-radius:11px;background:var(--panel);box-shadow:var(--shadow-1)}
.agent-crm-bulkbar b{font-size:13px;white-space:nowrap}
.agent-crm-bulkbar label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:750;color:var(--text-mid);text-transform:uppercase;letter-spacing:.04em}
.agent-crm-bulkbar select,.agent-crm-bulkbar input{min-height:32px;padding:4px 9px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;font-size:12.5px;text-transform:none;letter-spacing:0}
.agent-crm-bulkbar input{width:130px}
.agent-crm-bulkspacer{flex:1 1 auto}
.agent-crm-selectall{display:flex;align-items:center;gap:7px;padding:0 2px 10px;font-size:12px;font-weight:700;color:var(--text-mid)}
.agent-crm-person-row{display:flex;align-items:stretch;gap:0}
.agent-crm-person-row.selected{background:#eef6ff;border-radius:10px}
.agent-crm-person-check{display:flex;align-items:center;padding:0 4px 0 10px;cursor:pointer}
.agent-crm-person-row .agent-crm-person{flex:1;min-width:0}
@media(max-width:720px){.agent-crm-bulkbar input{width:100%}}


/* ── Import result: a compact list, not a wall of boxes ────────────────── */
/* The old grid emitted loose <b>/<span> pairs that re-flowed and paired each
   number with the wrong label. Each line here is one element, so a number
   cannot drift away from its caption. */
.agent-crm-result-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:var(--panel);margin-bottom:14px;max-width:760px}
.agent-crm-result-line{display:grid;grid-template-columns:64px 150px 1fr auto;align-items:center;gap:10px;width:100%;padding:9px 14px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left}
.agent-crm-result-line:first-child{border-top:0}
.agent-crm-result-line b{font-size:19px;font-weight:800;text-align:right}
.agent-crm-result-line span{font-size:13px;font-weight:700}
.agent-crm-result-line small{color:var(--text-mid);font-size:11.5px}
.agent-crm-result-line em{color:var(--accent,#0058b0);font-size:12px;font-style:normal;font-weight:750;white-space:nowrap}
.agent-crm-result-line.zero{color:var(--text-dim)}
.agent-crm-result-line.zero b{font-weight:600}
.agent-crm-result-line.zero small{color:var(--text-dim)}
.agent-crm-result-line.clickable{cursor:pointer}
.agent-crm-result-line.clickable:hover{background:#eef6ff}
.agent-crm-result-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.agent-crm-result-filters .agent-crm-chip-btn b{margin-left:6px;opacity:.65}
@media(max-width:720px){
  .agent-crm-result-line{grid-template-columns:52px 1fr;grid-row-gap:2px}
  .agent-crm-result-line small,.agent-crm-result-line em{grid-column:2}
}


/* Held-for-review rows carry their own actions rather than a dead status word. */
.agent-crm-resolve{display:flex;gap:8px;align-items:center;font-style:normal}
.agent-crm-resolve .agent-crm-btn.mini{white-space:nowrap}

/* Rail: collapse stages nobody is in. The stage list doubled after the first
   FUB import (nine imported stages joined the ten built-ins) and most read 0. */
.agent-crm-rail-toggle-empty{display:block;width:100%;border:0;background:none;color:var(--text-dim,#6e6e73);font-size:11px;padding:6px 12px;cursor:pointer;text-align:left;}
.agent-crm-rail-toggle-empty:hover{color:var(--text,#1d1d1f);text-decoration:underline;}

/* ── FUB-shaped rail ─────────────────────────────────────
   Modeled on the Follow Up Boss People sidebar: flat rows, muted small-caps
   section labels, right-aligned count pills, no colored group bars and no
   collapsible sections (whose open state reset on every re-render). */
.rail-fub .rail-all-people{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:none;padding:10px 14px;font-size:14px;font-weight:700;color:var(--text,#1d1d1f);cursor:pointer;border-radius:8px;}
.rail-fub .rail-all-people:hover{background:rgba(0,0,0,0.05);}
.rail-fub .rail-all-people b{font-size:11px;font-weight:700;color:var(--text-dim,#6e6e73);background:rgba(0,0,0,0.06);border-radius:10px;padding:2px 8px;}
.rail-fub .rail-section-label{font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-dim,#6e6e73);padding:14px 14px 4px;}
.rail-fub .agent-crm-rail-lists{display:block;}
.rail-fub .agent-crm-rail-lists button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:none;padding:7px 14px;font-size:13px;color:var(--text,#1d1d1f);cursor:pointer;border-radius:8px;text-align:left;}
.rail-fub .agent-crm-rail-lists button:hover{background:rgba(0,0,0,0.05);}
.rail-fub .agent-crm-rail-lists button b{font-size:11px;font-weight:600;color:var(--text-dim,#6e6e73);background:rgba(0,0,0,0.06);border-radius:10px;padding:1px 7px;min-width:18px;text-align:center;}
.rail-fub .agent-crm-rail-toggle-empty{font-size:11px;color:var(--text-dim,#6e6e73);padding:6px 14px;}

/* Collapsible rail sections (state persisted in kz_rail_open_v1) */
.rail-fub-section>summary.rail-section-label{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;user-select:none;}
.rail-fub-section>summary.rail-section-label::-webkit-details-marker{display:none;}
.rail-fub-section .rail-chevron{width:7px;height:7px;border-right:1.5px solid var(--text-dim,#6e6e73);border-bottom:1.5px solid var(--text-dim,#6e6e73);transform:rotate(-45deg);transition:transform .15s ease;margin-right:4px;}
.rail-fub-section[open] .rail-chevron{transform:rotate(45deg);}
.rail-fub-section>summary:hover{color:var(--text,#1d1d1f);}

/* ── Compact person card ─────────────────────────────────
   Two left-aligned lines like FUB. The former three-column grid reserved an
   auto-width right column for stage + all tags, which crushed the name column
   until phone numbers wrapped over three lines. */
.agent-crm-person{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:9px 8px;align-items:flex-start}
.agent-crm-person .agent-crm-person-main{min-width:0;display:block}
.agent-crm-person .agent-crm-person-line1{display:flex;align-items:center;gap:8px;min-width:0}
.agent-crm-person .agent-crm-person-line1 b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px}
.agent-crm-person .agent-crm-person-line1 em{flex:0 0 auto;margin:0;padding:2px 8px;font-size:9.5px}
.agent-crm-person .agent-crm-person-contact{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;font-size:12px}
.agent-crm-person .agent-crm-lineband{margin-top:4px;display:flex;flex-wrap:wrap;gap:3px}
.agent-crm-person .agent-crm-lineband i{margin:0}
.agent-crm-person .agent-crm-lineband i.more{background:none;border:1px dashed var(--border);color:var(--text-dim)}

/* Clear/Undo toggle on contact-method fields */
.agent-crm-linkbtn.undo{color:#0071e3;font-weight:700;}

/* Overview: mortgage rates + market news */
.agent-crm-rates-row{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.agent-crm-rate{display:flex;flex-direction:column}
.agent-crm-rate b{font-size:1.7rem;font-weight:800;letter-spacing:-.02em}
.agent-crm-rate small{color:var(--text-dim,#6e6e73);font-size:11px}
.agent-crm-newslist{list-style:none;margin:0;padding:0}
.agent-crm-newslist li{padding:8px 0;border-bottom:1px solid var(--border,#e2e8f0)}
.agent-crm-newslist li:last-child{border-bottom:none}
.agent-crm-newslist a{color:var(--text,#1d1d1f);text-decoration:none;font-weight:600;font-size:13.5px}
.agent-crm-newslist a:hover{color:#0071e3;text-decoration:underline}
.agent-crm-newslist small{display:block;color:var(--text-dim,#6e6e73);font-size:11px;margin-top:2px}

/* News actions + Newsletter Studio */
.agent-crm-news-row{display:flex;gap:9px;align-items:flex-start}
.agent-crm-news-main{min-width:0;flex:1}
.agent-crm-star{flex:0 0 auto;border:0;background:none;cursor:pointer;font-size:15px;line-height:1;padding:2px 3px;color:#c7c7cc;border-radius:6px}
.agent-crm-star:hover{color:#f5a623;background:rgba(0,0,0,.05)}
.agent-crm-star.on{color:#f5a623}
.agent-crm-news-summary:empty{display:none}
.agent-crm-summary-box{margin-top:6px;padding:10px 12px;background:var(--bg,#f5f6fa);border-radius:9px;font-size:12.5px;line-height:1.55}
.agent-crm-summary-box small{display:block;margin-top:7px;font-size:10.5px}

/* Market pulse */
.agent-crm-pulse-form{display:flex;gap:8px;align-items:flex-end;margin:8px 0 12px}
.agent-crm-pulse-form label{display:flex;flex-direction:column;font-size:11px;font-weight:700;color:var(--text-dim,#6e6e73);gap:3px}
.agent-crm-pulse-form input{width:96px;padding:7px 9px;border:1px solid var(--border,#e2e8f0);border-radius:8px;font-size:14px}

/* ── Person detail: three-column, FUB-shaped ─────────────
   Was one wide stacked column: the phone number sat below the fold, every
   card carried an explanatory paragraph, and five "not connected" panels
   filled the right third. */
.agent-crm-detail-grid3{display:grid;grid-template-columns:300px minmax(0,1fr) 260px;gap:14px;align-items:start}
@media(max-width:1280px){.agent-crm-detail-grid3{grid-template-columns:280px minmax(0,1fr)}
  .agent-crm-detail-grid3>.agent-crm-detail-side{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}}
@media(max-width:820px){.agent-crm-detail-grid3{grid-template-columns:1fr}
  .agent-crm-detail-grid3>.agent-crm-detail-side{grid-template-columns:1fr}}
/* FUB stitches a column's sections into ONE continuous card with hairline
   dividers. Ours floated each panel separately, so every section was ringed
   by grey gutter — that was the "too much open space". gap:0 plus shared
   borders welds them; only the first and last panel keep a rounded corner. */
.agent-crm-detail-grid3>div{display:flex;flex-direction:column;gap:0;min-width:0}
.agent-crm-detail-grid3 .agent-crm-panel{
  margin:0;border-radius:0;border-bottom:0;box-shadow:none;padding:13px 15px}
.agent-crm-detail-grid3>div>.agent-crm-panel:first-child{border-radius:12px 12px 0 0}
.agent-crm-detail-grid3>div>.agent-crm-panel:last-child{border-radius:0 0 12px 12px;border-bottom:1px solid var(--border)}
.agent-crm-detail-grid3>div>.agent-crm-panel:only-child{border-radius:12px;border-bottom:1px solid var(--border)}
/* the column as a whole keeps one soft shadow instead of one per panel */
.agent-crm-detail-grid3>div{box-shadow:var(--shadow-1);border-radius:12px}
/* tighten the vertical rhythm inside a stitched panel */
.agent-crm-detail-grid3 .agent-crm-panel>h2,
.agent-crm-detail-grid3 .agent-crm-panelhead{margin-bottom:8px}
.agent-crm-detail-grid3 .agent-crm-panel>h2:first-child,
.agent-crm-detail-grid3 .agent-crm-panelhead:first-child{margin-top:0}
.agent-crm-detail-grid3 .agent-crm-note{margin-bottom:0}

/* identity card */
.agent-crm-idcard{padding:16px}
.agent-crm-idtop{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.agent-crm-idtop h2{margin:0 0 3px;font-size:17px;line-height:1.2;overflow-wrap:anywhere}
.agent-crm-idmethods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.agent-crm-idmethods li{display:flex;gap:9px;align-items:center;font-size:13px;min-width:0}
.agent-crm-idmethods .ic{flex:0 0 16px;text-align:center;color:var(--text-dim,#6e6e73);font-size:12px}
.agent-crm-idmethods a{color:#0071e3;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-crm-idmethods a:hover{text-decoration:underline}
.agent-crm-idmethods li.empty{color:var(--text-dim,#6e6e73)}
.agent-crm-idtags{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}

/* compact editing in the rail */
.agent-crm-detail-rail .agent-crm-formgrid{grid-template-columns:1fr;gap:9px}
.agent-crm-detail-rail .agent-crm-panel{padding:14px}
.agent-crm-detail-rail .agent-crm-panelhead h2,
.agent-crm-detail-rail .agent-crm-panel>h2{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim,#6e6e73)}

/* the five placeholders, now one line */
.agent-crm-pending{padding:12px 14px}
.agent-crm-pending h3{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim,#6e6e73)}
.agent-crm-pending p{margin:0;font-size:12px;color:var(--text-dim,#6e6e73)}

/* Person detail action bar */
.agent-crm-actionbar{display:flex;gap:6px;flex-wrap:wrap;background:var(--panel,#fff);border:1px solid var(--border,#e2e8f0);border-bottom:0;border-radius:12px 12px 0 0;padding:7px}
.agent-crm-actionbtn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:0;border-radius:9px;background:transparent;color:var(--text,#1d1d1f);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer}
.agent-crm-actionbtn b{font-size:13px;font-weight:400;color:var(--text-dim,#6e6e73)}
.agent-crm-actionbtn:hover{background:rgba(0,0,0,.05)}
.agent-crm-actionbtn.off{color:var(--text-dim,#6e6e73);cursor:default}
.agent-crm-actionbtn.off:hover{background:transparent}

/* Contact-method lists + FUB-style edit modal */
.agent-crm-methodlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.agent-crm-methodlist li{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-crm-methodlist a{color:#0071e3;text-decoration:none}
.agent-crm-methodlist a:hover{text-decoration:underline}
.agent-crm-methodlist li.empty{color:var(--text-dim,#6e6e73)}
.agent-crm-method-label{color:var(--text-dim,#6e6e73);font-size:11px}
.agent-crm-panelhead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.agent-crm-editpencil{border:0;background:none;cursor:pointer;color:var(--text-dim,#6e6e73);font-size:13px;padding:3px 6px;border-radius:6px;opacity:0;transition:opacity .12s}
.agent-crm-detail-panel:hover .agent-crm-editpencil,
.agent-crm-editpencil:focus-visible{opacity:1}
.agent-crm-editpencil:hover{background:rgba(0,0,0,.06);color:var(--text,#1d1d1f)}

.agent-crm-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:5000;padding:20px}
.agent-crm-modal{background:var(--panel,#fff);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.3);width:min(560px,100%);overflow:hidden}
.agent-crm-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border,#e2e8f0)}
.agent-crm-modal-head h2{margin:0;font-size:15px}
.agent-crm-modal-x{border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--text-dim,#6e6e73);padding:2px 6px;border-radius:6px}
.agent-crm-modal-x:hover{background:rgba(0,0,0,.06)}
.agent-crm-modal-body{padding:18px 20px}
.agent-crm-modal-cols{display:grid;grid-template-columns:1fr 150px 34px;gap:10px;font-size:11.5px;font-weight:700;color:var(--text-dim,#6e6e73);margin-bottom:6px}
.agent-crm-modal-row{display:grid;grid-template-columns:1fr 150px 34px;gap:10px;align-items:center}
.agent-crm-modal-row input{padding:9px 11px;border:1px solid var(--border,#e2e8f0);border-radius:8px;font-size:14px;min-width:0}
.agent-crm-modal-row input:disabled{background:var(--bg,#f5f6fa);color:var(--text-dim,#6e6e73)}
.agent-crm-trash{border:0;background:none;cursor:pointer;color:#dc2626;font-size:15px;padding:6px;border-radius:6px}
.agent-crm-trash:hover{background:rgba(220,38,38,.1)}
.agent-crm-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border,#e2e8f0);background:var(--bg,#f8fafc)}

/* Collapsible + draggable detail sections (FUB grip + chevron) */
.agent-crm-detail-grid3 .agent-crm-panel[data-panel-id]{position:relative}
.agent-crm-detail-grid3 .agent-crm-panelhead{cursor:default}
.agent-crm-grip{flex:0 0 auto;color:var(--border,#cfd4dc);font-size:15px;line-height:1;letter-spacing:-2px;cursor:grab;user-select:none;opacity:0;transition:opacity .12s}
.agent-crm-panel[data-panel-id]:hover .agent-crm-grip{opacity:1}
.agent-crm-grip:active{cursor:grabbing}
.agent-crm-collapse{margin-left:auto;border:0;background:none;cursor:pointer;padding:4px 6px;border-radius:6px;width:24px;height:24px;position:relative}
.agent-crm-collapse::before{content:"";position:absolute;top:8px;left:7px;width:7px;height:7px;border-right:1.6px solid var(--text-dim,#6e6e73);border-bottom:1.6px solid var(--text-dim,#6e6e73);transform:rotate(-135deg);transition:transform .15s}
.agent-crm-panel.collapsed .agent-crm-collapse::before{transform:rotate(45deg);top:5px}
.agent-crm-collapse:hover{background:rgba(0,0,0,.06)}
.agent-crm-panel-body{overflow:hidden}
.agent-crm-panel.collapsed>.agent-crm-panel-body{display:none}
.agent-crm-panel.collapsed{padding-bottom:11px}
.agent-crm-panel.dragging{opacity:.45}

/* Email composer + sent log */
.agent-crm-modal.wide{width:min(680px,100%)}
.agent-crm-field{display:block;margin-bottom:12px;font-size:11.5px;font-weight:700;color:var(--text-dim,#6e6e73)}
.agent-crm-field input,.agent-crm-field textarea{display:block;width:100%;margin-top:4px;padding:9px 11px;border:1px solid var(--border,#e2e8f0);border-radius:8px;font-size:14px;font-weight:400;color:var(--text,#1d1d1f);font-family:inherit}
.agent-crm-field textarea{resize:vertical;line-height:1.5}
.agent-crm-sentlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.agent-crm-sentlist li{padding:8px 10px;border-radius:8px;background:var(--bg,#f5f6fa)}
.agent-crm-sentlist li.failed{background:#fef2f2}
.agent-crm-sentlist b{display:block;font-size:13px}
.agent-crm-sentlist small{display:block;color:var(--text-dim,#6e6e73);font-size:11px;margin-top:2px}

/* AI drafting bar in the email composer */
.agent-crm-aibar{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 14px}
.agent-crm-aibtn{padding:7px 12px;border:1px solid var(--border,#e2e8f0);background:var(--panel,#fff);border-radius:999px;font-size:12px;font-weight:600;color:var(--text,#1d1d1f);cursor:pointer}
.agent-crm-aibtn:hover{border-color:#0071e3;color:#0071e3}
.agent-crm-aibtn:disabled{opacity:.6;cursor:default}

/* In-app help assistant */
.agent-crm-help-fab{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;border:0;background:#0071e3;color:#fff;font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 6px 20px rgba(0,113,227,.35);z-index:4500}
.agent-crm-help-fab:hover{background:#0062c4}
.agent-crm-help-panel{position:fixed;right:20px;bottom:78px;width:min(380px,calc(100vw - 40px));max-height:min(560px,calc(100vh - 120px));background:var(--panel,#fff);border:1px solid var(--border,#e2e8f0);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.22);z-index:4500;flex-direction:column;overflow:hidden}
.agent-crm-help-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border,#e2e8f0);font-size:13.5px}
.agent-crm-help-log{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;min-height:120px}
.agent-crm-help-hint{font-size:12.5px;color:var(--text-dim,#6e6e73);line-height:1.55}
.agent-crm-help-turn{font-size:13px;line-height:1.55;padding:9px 11px;border-radius:10px;max-width:92%}
.agent-crm-help-turn.you{align-self:flex-end;background:#0071e3;color:#fff}
.agent-crm-help-turn.bot{align-self:flex-start;background:var(--bg,#f5f6fa);color:var(--text,#1d1d1f)}
.agent-crm-help-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border,#e2e8f0)}
.agent-crm-help-form input{flex:1;min-width:0;padding:9px 11px;border:1px solid var(--border,#e2e8f0);border-radius:9px;font-size:13px}

/* Knowledge rail: colour bar per category, like the seller-document contents list */
.rail-fub .kb-rail-item{position:relative;padding-left:18px}
.rail-fub .kb-rail-item::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--kb-bar,#8e8e93)}
.rail-fub .kb-rail-item.active,.rail-fub .rail-all-people.active{background:rgba(0,113,227,.08);color:#0071e3;font-weight:700}

/* Back to top — sits LEFT of the help button; bottom:78px would have been
   underneath the help panel whenever it is open. */
.agent-crm-top-btn{position:fixed;right:74px;bottom:24px;width:38px;height:38px;border-radius:50%;border:1px solid var(--border,#e2e8f0);background:var(--panel,#fff);color:var(--text,#1d1d1f);font-size:16px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.16);opacity:0;pointer-events:none;transition:opacity .15s;z-index:4400}
.agent-crm-top-btn.show{opacity:1;pointer-events:auto}
.agent-crm-top-btn:hover{border-color:#0071e3;color:#0071e3}

/* --------------------------------------------------------------------------
   Mobile: collapse fixed-minimum grids to one column.

   Reported 2026-08-18: "the knowledge center looks like trash on the mobile."
   The cause is a class of bug, not one rule. Several grids declare a second
   column with a large PIXEL minimum, e.g.

     .agent-crm-kb-helper{grid-template-columns:minmax(0,1fr) minmax(360px,.85fr)}

   A 390px phone leaves ~334px of content width. minmax() will not shrink below
   its minimum, so the 360px column keeps its width, the first column is
   squeezed to a few characters (text wraps one word per line) and the overflow
   paints on top of it - exactly the overlap in the screenshot where the
   "Knowledge AI helper preview" label sat under "Ask the Knowledge Center".

   auto-fill/auto-fit grids have the same floor: repeat(auto-fill,minmax(360px,1fr))
   still demands 360px per track, so the article cards overflowed too.

   Every one of these is a side-by-side layout that has no business being
   side-by-side on a phone, so they all become a single column.
   -------------------------------------------------------------------------- */
@media (max-width:720px) {
  .agent-crm-kb-helper,
  .agent-crm-main,
  .agent-crm-people-layout,
  .agent-crm-calendar-layout,
  .agent-crm-import-hero { grid-template-columns:minmax(0,1fr)!important; }

  /* NOT repeat(auto-fill,minmax(0,1fr)) - a zero minimum lets auto-fill pack
     unlimited tracks, which produced 27 columns of 0.8px. One column. */
  .agent-crm-kb-grid,
  .agent-crm-links,
  .agent-crm-rate { grid-template-columns:minmax(0,1fr)!important; }

  /* Four fixed columns (230px+180px+100px+110px) cannot fit; stack the rows. */
  .agent-crm-import-history { grid-template-columns:minmax(0,1fr)!important; }

  /* The board is a horizontal kanban; keep its columns but let it scroll
     instead of forcing the page to. */
  .agent-crm-board { overflow-x:auto; }
  .agent-crm-board-toolbar { grid-template-columns:minmax(0,1fr)!important; }

  /* Long unbroken strings (URLs, emails) were another source of overflow. */
  .agent-crm-kb-helper p,
  .agent-crm-kb-helper h2 { overflow-wrap:anywhere; }
}

/* --------------------------------------------------------------------------
   Account Settings (phase 18). Laid out like the Follow Up Boss Settings
   screen: portrait on the left, identity fields on the right, signature in
   its own panel below, one Save at the bottom.
   -------------------------------------------------------------------------- */
.kz-acct-identity{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:22px;align-items:start}
.kz-acct-portrait{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.kz-acct-portrait img,.kz-acct-initials{width:120px;height:120px;border-radius:50%;object-fit:cover;
  border:1px solid var(--border);background:#f1f5f9;display:grid;place-items:center}
.kz-acct-initials{font-size:38px;font-weight:800;color:#0071e3;background:#f0f7ff;border-color:#cfe6ff}
.kz-acct-portrait-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.kz-acct-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.kz-acct-readonly{padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:#f8fafc;
  color:var(--text-mid);font-size:13px;overflow:hidden;text-overflow:ellipsis}
.kz-acct-linkbtn{margin-top:6px;font-size:12px}
.kz-acct-signature{width:100%;padding:11px;border:1px solid var(--border);border-radius:10px;
  font:13px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;resize:vertical}
.kz-acct-signature:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.10)}
.kz-acct-sigpreview{margin-top:12px;padding:12px;border:1px dashed var(--border);border-radius:10px;background:#f8fafc}
.kz-acct-sigpreview>span{display:block;font-size:10px;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;color:var(--text-dim);margin-bottom:6px}
.kz-acct-sigpreview pre{margin:0;font:13px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}

/* Phone: stack. Both grids carry pixel-ish minimums that would otherwise
   squeeze a column to nothing - the same defect that broke the Knowledge
   Center on mobile. */
@media (max-width:720px){
  .kz-acct-identity{grid-template-columns:minmax(0,1fr)}
  .kz-acct-fields{grid-template-columns:minmax(0,1fr)}
}

/* --------------------------------------------------------------------------
   Agent tools: guidance-first layout + live comparable search.
   -------------------------------------------------------------------------- */
.kz-tools-start{margin-bottom:14px}
.kz-tools-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.kz-tool{padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel);margin-bottom:12px}
.kz-tool-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kz-tool-head h3{margin:0;font-size:16px;letter-spacing:-.01em}
.kz-tool-does{margin:7px 0 12px;color:var(--text-mid);font-size:13.5px;line-height:1.5}
.kz-tool-note{margin:0 0 10px;font-size:13px}
.agent-crm-flag.ok{background:#e7f7ee;color:#0f7a44;border-color:#bfe8d2}
.agent-crm-flag.warn{background:#fff5e5;color:#8a5a00;border-color:#f0d9a8}
.kz-tool-spec{margin-top:10px;border-top:1px solid var(--border);padding-top:10px}
.kz-tool-spec>summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--text-dim);
  letter-spacing:.02em;list-style:none}
.kz-tool-spec>summary::-webkit-details-marker{display:none}
.kz-tool-spec>summary::before{content:"▸ ";color:var(--text-dim)}
.kz-tool-spec[open]>summary::before{content:"▾ "}

.kz-idx-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.kz-idx-summary{display:flex;flex-wrap:wrap;gap:18px;margin:14px 0 10px;padding:12px 14px;
  border:1px solid var(--border);border-radius:11px;background:#f8fafc}
.kz-idx-summary>div{display:flex;flex-direction:column;gap:2px}
.kz-idx-summary span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim)}
.kz-idx-summary b{font-size:17px;letter-spacing:-.01em}
.kz-idx-tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:11px}
.kz-idx-table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
.kz-idx-table th{text-align:left;padding:9px 11px;background:#f8fafc;border-bottom:1px solid var(--border);
  font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap}
.kz-idx-table td{padding:9px 11px;border-bottom:1px solid var(--border);vertical-align:top}
.kz-idx-table tr:last-child td{border-bottom:0}

@media (max-width:720px){
  .kz-idx-form{grid-template-columns:minmax(0,1fr)}
  .kz-tools-quick .agent-crm-btn{width:100%}
}

/* ============================================================
   Call scripts (LPMAMA) — Knowledge Center tab.
   Rendered by call-scripts.js. The one rule that matters here:
   a spoken line and a coaching note must never look alike. On a
   live call the agent has about a second to find the next thing
   to say, and an undifferentiated bullet list does not allow it.
   ============================================================ */
.kz-script-page{display:flex;flex-direction:column;gap:14px}

.kz-script-hero h2{margin:0 0 6px}
.kz-script-hero p{margin:0 0 10px;color:var(--text-mid)}
.kz-script-ratio{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--border);
  border-radius:10px;background:var(--bg);margin:0 0 10px}
.kz-script-ratio b{font-size:22px;font-weight:850;letter-spacing:-.02em;color:#0f766e;white-space:nowrap}
.kz-script-ratio span{font-size:13px;color:var(--text-mid);line-height:1.5}
.kz-script-fill{margin:0;font-size:12.5px}

/* jump chips */
.kz-script-jump{display:flex;flex-wrap:wrap;gap:6px}
.kz-script-jump button{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--border);
  border-radius:999px;background:var(--panel);color:var(--text-mid);font:inherit;font-size:12.5px;
  font-weight:650;cursor:pointer}
.kz-script-jump button:hover{border-color:#0f766e;color:#0f766e}
.kz-script-jump button b{display:grid;place-items:center;width:19px;height:19px;border-radius:5px;
  background:#0f766e;color:#fff;font-size:11px;font-weight:850}

.kz-script-speed{line-height:1.55}
.kz-script-speed .kz-script-bullets{margin-top:8px}

.kz-script-bullets{margin:0;padding-left:20px;color:var(--text-mid);line-height:1.6}
.kz-script-bullets li{margin:5px 0}

/* the script itself */
.kz-script-body{display:flex;flex-direction:column;gap:12px}
.kz-script-block{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px 20px}
.kz-script-block-head{display:flex;align-items:center;gap:11px;margin:0 0 10px}
.kz-script-block-head h3{margin:0;font-size:16px;letter-spacing:-.01em}
.kz-script-letter{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:8px;
  background:#0f766e;color:#fff;font-size:15px;font-weight:850}
.kz-script-intro{margin:0 0 10px;color:var(--text-mid);font-size:13.5px}

/* a spoken line: bordered, quoted, larger. This is what the eye lands on. */
.kz-script-line{display:flex;gap:10px;align-items:flex-start;margin:0 0 8px;padding:11px 13px;
  border:1px solid var(--border);border-left:3px solid #0f766e;border-radius:9px;background:var(--bg)}
.kz-script-line .kz-script-text{font-size:15px;line-height:1.55;color:var(--text)}
.kz-script-tag{flex:0 0 auto;margin-top:3px;padding:2px 7px;border-radius:5px;background:#0f766e;color:#fff;
  font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.kz-script-ask{border-left-color:#c2703a}
.kz-script-ask .kz-script-tag{background:#c2703a}
.kz-script-line.is-first{border-left-width:5px}

/* a coaching note: quiet, unquoted, never read aloud */
.kz-script-note{margin:0 0 8px;padding:0 0 0 14px;border-left:2px dashed var(--border);
  color:var(--text-mid);font-size:13px;line-height:1.55}

.kz-script-steps{margin:6px 0 0;padding-left:22px;color:var(--text);line-height:1.6}
.kz-script-steps li{margin:6px 0}

/* call companion */
.kz-script-companion .kz-mot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 14px}
.kz-mot-label{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim)}
.kz-mot-scale{display:flex;gap:4px;flex-wrap:wrap}
.kz-mot-dot{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--panel);
  color:var(--text-mid);font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.kz-mot-dot:hover{border-color:#0f766e;color:#0f766e}
.kz-mot-dot.active{background:#0f766e;border-color:#0f766e;color:#fff}
.kz-mot-hint{font-size:12px;color:var(--text-dim)}

.kz-script-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:11px}
.kz-script-field{display:flex;flex-direction:column;gap:5px}
.kz-script-field span{font-size:12px;font-weight:750;color:var(--text-mid)}
.kz-script-field textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;
  background:var(--panel);color:var(--text);font:inherit;font-size:13.5px;line-height:1.5;resize:vertical}
.kz-script-field textarea:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.14)}
.kz-script-companion-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

.kz-script-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0 4px}
.kz-script-stats>div{display:flex;align-items:baseline;gap:9px;padding:11px 13px;border:1px solid var(--border);
  border-radius:9px;background:var(--bg)}
.kz-script-stats b{font-size:17px;font-weight:850;color:#0f766e;white-space:nowrap}
.kz-script-stats span{font-size:13px;color:var(--text-mid);line-height:1.45}

.kz-script-legal ul{margin:8px 0 0}
.kz-script-legal li{margin:7px 0}

@media (max-width:700px){
  .kz-script-block{padding:15px 14px}
  .kz-script-ratio{flex-direction:column;align-items:flex-start;gap:5px}
  .kz-script-line{flex-direction:column;gap:6px}
  .kz-script-tag{margin-top:0}
  .kz-script-fields{grid-template-columns:minmax(0,1fr)}
  .kz-script-companion-actions .agent-crm-btn{flex:1 1 auto}
}

/* Printing is a real use of this page — agents are told to write LPMAMA out
   daily. Drop the app chrome and the interactive companion. */
@media print{
  .topbar,.agent-crm-rail,.kz-script-jump,.kz-script-companion,.agent-crm-task-tabs{display:none!important}
  .kz-script-block,.agent-crm-panel{break-inside:avoid;border-color:#bbb}
  .kz-script-letter,.kz-script-tag{background:#333!important;color:#fff!important}
}

/* Script picker — the scripts page became a library, so it opens with a
   chooser rather than dropping straight into one script. Hidden when only one
   script is loaded (pickerMarkup returns '' below 2). */
.kz-script-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px}
.kz-script-pick{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:13px 15px;
  border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--text);
  font:inherit;text-align:left;cursor:pointer}
.kz-script-pick:hover{border-color:#0f766e}
.kz-script-pick.active{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.13)}
.kz-script-pick-tag{padding:2px 8px;border-radius:999px;background:var(--bg);color:var(--text-mid);
  font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.kz-script-pick b{font-size:14.5px;letter-spacing:-.01em}
.kz-script-pick-sum{font-size:12.5px;line-height:1.45;color:var(--text-mid)}
.kz-script-pick em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--text-dim)}
.kz-script-when{margin:0 0 10px;font-size:13.5px;color:var(--text-mid)}
.kz-script-when b{color:var(--text)}
@media print{.kz-script-picker{display:none!important}}
