/* ============================================================================
   SOMA · Jornada do Paciente e CRM — page-jornada-crm.css
   Estilos NOVOS, escopados em .jornada-crm-app / .crm-* (não toca congelados).
   Interior premium claro, acento turquesa, navy. Coerente com Atendimento Integral.
   Régua: "A IA organiza. O profissional decide."
   ============================================================================ */
.jornada-crm-app{
  --c-bg:#F4F7FB; --c-surf:#FFFFFF; --c-surf2:#F7FAFC; --c-surf3:#EEF3F8;
  --c-line:#E5EDF3; --c-line2:#EEF3F8;
  --c-ink:#0F1E33; --c-ink2:#51657A; --c-ink3:#8497A8;
  --c-navy:#0A1B2E; --c-teal:#02B8BF; --c-teal2:#7FE7EB; --c-teald:#0B6E73; --c-tint:#E6FAFB;
  --c-green:#10B981; --c-amber:#E8A93B; --c-red:#EF5B6E; --c-violet:#7B61FF; --c-blue:#3B82F6;
  --c-mono:'JetBrains Mono',ui-monospace,monospace; --c-disp:'Instrument Serif',Georgia,serif;
  --c-sh:0 1px 2px rgba(16,40,64,.05),0 12px 26px -16px rgba(16,40,64,.18);
  --c-sh2:0 1px 2px rgba(16,40,64,.06),0 24px 52px -22px rgba(16,40,64,.30);
  --c-r:16px;
  overflow-x:clip;
}
.jornada-crm-app *{box-sizing:border-box}

/* ---- sub-nav (abas) — barra rolável, itens com respiro, ativo turquesa ---- */
/* sub-nav: linha 1 (eyebrow + busca) + abas em 2 linhas (flex-wrap, sem scroll) */
.jornada-crm-app .crm-subnav{position:sticky;top:var(--pl-header-h,64px);z-index:30;background:var(--c-bg);border-bottom:1px solid var(--c-line);padding:10px 18px 12px;margin:0 -18px 16px;display:flex;flex-direction:column;gap:11px;align-items:stretch}
.jornada-crm-app .crm-subnav-side{flex:none;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px}
.jornada-crm-app .crm-subnav-top{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.jornada-crm-app .crm-subnav-search{flex:0 1 340px;display:flex;align-items:center;gap:8px;background:var(--c-surf);border:1px solid var(--c-line);border-radius:10px;padding:8px 12px;transition:.15s}
.jornada-crm-app .crm-subnav-search:focus-within{border-color:var(--c-teal);box-shadow:0 0 0 3px rgba(2,184,191,.12)}
.jornada-crm-app .crm-subnav-search svg{flex:none;color:var(--c-ink3)}
.jornada-crm-app .crm-subnav-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:'Inter',system-ui,sans-serif;font-size:13px;color:var(--c-ink)}
.jornada-crm-app .crm-subnav-search input::placeholder{color:var(--c-ink3)}
.crm-subtabs{flex:1 1 auto;display:flex;align-items:center;align-content:flex-start;gap:8px;row-gap:8px;flex-wrap:wrap}
.jornada-crm-app .crm-subnav-eyebrow{flex:none;display:inline-flex;align-items:center;min-height:34px}
.jornada-crm-app .crm-subtabs .subtab.is-dim{opacity:.3}
.crm-subtabs::-webkit-scrollbar{height:6px}
.crm-subtabs::-webkit-scrollbar-thumb{background:rgba(16,40,64,.18);border-radius:6px}
.crm-subtabs .subtab{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer;
  border:1px solid transparent;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--c-ink2);
  border-radius:10px;padding:8px 13px;transition:.15s}
.crm-subnav .crm-subtabs .subtab svg{width:20px !important;height:20px !important;flex:none;opacity:.8}
.crm-subtabs .subtab:hover{background:var(--c-surf);color:var(--c-navy);border-color:var(--c-line)}
.crm-subtabs .subtab.is-active{background:var(--c-tint);color:var(--c-teald);border-color:rgba(2,184,191,.34)}
.crm-subtabs .subtab.is-active svg{opacity:1;color:var(--c-teald)}
/* hero abaixo das abas, sem sobreposição */
/* ---- hero (banner) — abaixo das abas, 2 colunas com respiro, conteúdo contido ---- */
.jornada-crm-app .crm-banner{position:relative;z-index:1;margin:0 0 14px;
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:22px 24px;border-radius:18px;overflow:hidden}
.jornada-crm-app .crm-banner > div:first-child{min-width:0;flex:1 1 380px}
.jornada-crm-app .crm-banner .eyebrow{display:block;margin:0 0 7px;font-family:var(--c-mono);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--c-teal2)}
.jornada-crm-app .crm-banner h1{margin:0;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.12;font-weight:700;letter-spacing:-.5px;color:#fff}
.jornada-crm-app .crm-banner .module-app-subtitle{margin:7px 0 0;font-size:13.5px;line-height:1.5;color:rgba(232,246,250,.82);max-width:66ch}
.jornada-crm-app .crm-banner .module-app-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:none}
.jornada-crm-app .crm-banner .module-status-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(2,184,191,.16);color:var(--c-teal2);border:1px solid rgba(2,184,191,.32);border-radius:999px;padding:6px 13px;font-family:var(--c-mono);font-size:12px;font-weight:600;white-space:nowrap}
.jornada-crm-app .crm-banner .module-status-pill .status-dot{width:7px;height:7px;border-radius:50%;background:#34d8a3;flex:none}
.jornada-crm-app .crm-banner .btn-primary{display:inline-flex;align-items:center;background:linear-gradient(135deg,#02D4DC,#02888F);color:#04121f;border:none;border-radius:10px;padding:9px 15px;font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 8px 20px -10px rgba(2,184,191,.7)}
.jornada-crm-app .crm-banner .btn-primary:hover{filter:brightness(1.06)}
@media(max-width:640px){.jornada-crm-app .crm-banner{padding:18px}}

/* ---- principle / compliance ruler ---- */
.crm-principle{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 14px;
  font-family:var(--c-mono);font-size:11px;font-weight:600;color:var(--c-teald);
  background:linear-gradient(90deg,var(--c-tint),rgba(230,250,251,.25));border:1px solid rgba(2,184,191,.28);
  border-radius:12px;padding:9px 14px}
.crm-principle span{color:var(--c-ink3);font-weight:400;font-size:10.5px;letter-spacing:.01em}

/* ---- view + states ---- */
.crm-view{min-height:300px}
.crm-loading,.crm-empty,.crm-error{display:flex;align-items:center;justify-content:center;gap:11px;
  min-height:240px;color:var(--c-ink3);font-size:13px;text-align:center;flex-direction:column;padding:30px}
.crm-empty svg,.crm-error svg{width:34px;height:34px;opacity:.5}
.crm-error{color:var(--c-red)}
.crm-spin{width:18px;height:18px;border:2.5px solid rgba(2,184,191,.25);border-top-color:var(--c-teal);
  border-radius:50%;animation:crmspin .7s linear infinite}
@keyframes crmspin{to{transform:rotate(360deg)}}
.crm-fade{opacity:0;transform:translateY(7px);animation:crmfade .4s forwards}
@keyframes crmfade{to{opacity:1;transform:none}}

/* ---- generic layout ---- */
.crm-grid{display:grid;gap:14px}
.crm-g-2{grid-template-columns:1fr 1fr}
.crm-g-3{grid-template-columns:repeat(3,1fr)}
.crm-g-12{grid-template-columns:repeat(12,1fr)}
.crm-row{display:flex;gap:12px;flex-wrap:wrap}
.crm-card{background:var(--c-surf);border:1px solid var(--c-line);border-radius:var(--c-r);box-shadow:var(--c-sh)}
.crm-card.pad{padding:16px 18px}
.crm-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--c-line2)}
.crm-card-h h3{font-size:14px;font-weight:700;color:var(--c-navy);letter-spacing:-.2px}
.crm-card-h p{font-size:11.5px;color:var(--c-ink3);margin-top:2px;max-width:60ch}
.crm-card-b{padding:14px 16px}
.crm-sec-title{font-family:var(--c-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink3);margin:2px 0 10px}
.crm-muted{color:var(--c-ink3)}
@media(max-width:1080px){.crm-g-3,.crm-g-2{grid-template-columns:1fr}}

/* ---- KPI cards ---- */
.crm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.crm-kpi{background:var(--c-surf);border:1px solid var(--c-line);border-radius:14px;padding:14px 15px;box-shadow:var(--c-sh);position:relative;overflow:hidden}
.crm-kpi.dark{background:linear-gradient(160deg,#0C1E33,#0A1B2E);border-color:#0A1B2E}
.crm-kpi .k-top{display:flex;align-items:center;justify-content:space-between;color:var(--c-ink3)}
.crm-kpi.dark .k-top{color:#7e93a8}
.crm-kpi .k-label{font-family:var(--c-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.crm-kpi .k-top svg{width:20px;height:20px;color:var(--c-teald)}
.crm-kpi.dark .k-top svg{color:var(--c-teal2)}
.crm-kpi .k-val{font-size:26px;font-weight:800;color:var(--c-navy);margin-top:9px;line-height:1;letter-spacing:-1px}
.crm-kpi.dark .k-val{color:#fff}
.crm-kpi .k-sub{font-size:10.5px;margin-top:5px;font-weight:600;font-family:var(--c-mono)}
.k-up{color:var(--c-green)}.k-down{color:var(--c-red)}.k-flat{color:var(--c-ink3)}

/* ---- pills / badges ---- */
.crm-pill,.crm-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--c-mono);font-size:9.5px;
  font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:7px;
  background:var(--c-surf3);border:1px solid var(--c-line);color:var(--c-ink2);white-space:nowrap}
.crm-badge.is-ok,.crm-pill.is-ok{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.32);color:#0c7a59}
.crm-badge.is-teal,.crm-pill.is-teal{background:var(--c-tint);border-color:rgba(2,184,191,.32);color:var(--c-teald)}
.crm-badge.is-warn,.crm-pill.is-warn{background:rgba(232,169,59,.13);border-color:rgba(232,169,59,.36);color:#9a6b12}
.crm-badge.is-risk,.crm-pill.is-risk{background:rgba(239,91,110,.1);border-color:rgba(239,91,110,.34);color:#c43147}
.crm-badge.is-info,.crm-pill.is-info{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.3);color:#2563c9}
.crm-badge.is-violet{background:rgba(123,97,255,.1);border-color:rgba(123,97,255,.3);color:#5b43d6}
.crm-dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}
.crm-dot.g{background:var(--c-green)}.crm-dot.a{background:var(--c-amber)}.crm-dot.r{background:var(--c-red)}.crm-dot.b{background:var(--c-blue)}.crm-dot.t{background:var(--c-teal)}

/* ---- buttons ---- */
.crm-btn{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--c-ink2);
  background:var(--c-surf);border:1px solid var(--c-line);border-radius:10px;padding:8px 13px;transition:.15s;cursor:pointer;font-family:inherit}
.crm-btn:hover{border-color:var(--c-teal);color:var(--c-teald)}
.crm-btn svg{width:14px;height:14px}
.crm-btn.primary{background:var(--c-navy);color:#eaf6f7;border-color:var(--c-navy)}
.crm-btn.primary:hover{background:#0d2237;color:#fff}
.crm-btn.teal{background:linear-gradient(135deg,#02D4DC,#02888F);color:#021016;border:none;font-weight:700}
.crm-btn.teal:hover{filter:brightness(1.06)}
.crm-btn.sm{padding:5px 9px;font-size:11px;border-radius:8px}
.crm-btn.ghost{background:transparent}
.crm-btn.danger:hover{border-color:var(--c-red);color:var(--c-red)}
.crm-btn[disabled]{opacity:.5;cursor:not-allowed}
.crm-btnrow{display:flex;gap:8px;flex-wrap:wrap}

/* ---- funnel ---- */
.crm-funnel{display:flex;flex-direction:column;gap:7px}
.crm-fstage{display:grid;grid-template-columns:150px 1fr 54px;gap:10px;align-items:center;cursor:pointer}
.crm-fstage .fn{font-size:11.5px;font-weight:600;color:var(--c-ink2)}
.crm-fstage:hover .fn{color:var(--c-navy)}
.crm-fbar{height:24px;border-radius:7px;background:linear-gradient(90deg,var(--c-teal),var(--c-teald));position:relative;min-width:6px;transition:width .5s}
.crm-fbar.s2{background:linear-gradient(90deg,#3FCBD1,#0B6E73)}
.crm-fstage .fv{font-family:var(--c-mono);font-size:12px;font-weight:600;color:var(--c-navy);text-align:right}

/* ---- kanban pipeline ---- */
.crm-kanban{display:grid;grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:11px}
.crm-lane{background:var(--c-surf2);border:1px solid var(--c-line);border-radius:13px;padding:10px;min-height:240px;display:flex;flex-direction:column}
.crm-lane-h{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--c-line);padding-bottom:7px;margin-bottom:9px}
.crm-lane-h .ln{font-family:var(--c-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--c-ink2)}
.crm-lane-h .cnt{font-family:var(--c-mono);font-size:10px;background:var(--c-navy);color:#fff;border-radius:20px;padding:1px 7px}
.crm-pcard{background:var(--c-surf);border:1px solid var(--c-line);border-radius:11px;padding:10px 11px;margin-bottom:8px;cursor:pointer;transition:.15s}
.crm-pcard:hover{border-color:var(--c-teal);box-shadow:var(--c-sh);transform:translateY(-1px)}
.crm-pcard b{font-size:12.5px;color:var(--c-navy);display:block}
.crm-pcard .sub{font-size:10px;color:var(--c-ink3);margin-top:2px}
.crm-pcard .meta{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}

/* ---- journey longitudinal timeline ---- */
.crm-journey{position:relative;padding-left:6px}
.crm-jrow{display:grid;grid-template-columns:130px 1fr;gap:14px;position:relative}
.crm-jline{position:relative}
.crm-jline::before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:var(--c-line)}
.crm-jstep{position:relative;padding:0 0 18px 34px}
.crm-jstep::before{content:"";position:absolute;left:5px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--c-line2);z-index:1}
.crm-jstep.done::before{border-color:var(--c-green);background:var(--c-green)}
.crm-jstep.current::before{border-color:var(--c-teal);background:#fff;box-shadow:0 0 0 4px var(--c-tint)}
.crm-jstep.next::before{border-color:var(--c-amber)}
.crm-jstep .jt{font-size:12.5px;font-weight:700;color:var(--c-navy)}
.crm-jstep .jd{font-size:11px;color:var(--c-ink2);margin-top:2px;line-height:1.5}
.crm-jstep .jm{font-family:var(--c-mono);font-size:9.5px;color:var(--c-ink3);margin-top:4px}
.crm-nextstep{background:linear-gradient(135deg,#eefcfd,#fff);border:1.5px solid rgba(2,184,191,.4);border-radius:13px;padding:13px 15px;margin-top:6px}

/* ---- inbox ---- */
.crm-inbox{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}
.crm-convlist{display:flex;flex-direction:column;gap:7px;max-height:560px;overflow-y:auto;padding-right:3px}
.crm-conv{display:flex;gap:10px;padding:10px 11px;border:1px solid var(--c-line);border-radius:12px;background:var(--c-surf);cursor:pointer;transition:.14s;position:relative}
.crm-conv:hover{border-color:var(--c-teal)}
.crm-conv.sel{border-color:var(--c-teal);box-shadow:0 0 0 3px var(--c-tint)}
.crm-conv .av{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;color:#fff;font-weight:700;font-size:12px;background:linear-gradient(135deg,var(--c-teal),var(--c-teald))}
.crm-conv .cn{flex:1;min-width:0}
.crm-conv .cn b{font-size:12.5px;color:var(--c-navy);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-conv .cn .lm{font-size:10.5px;color:var(--c-ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.crm-conv .cr{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.crm-conv .cr .tm{font-family:var(--c-mono);font-size:9px;color:var(--c-ink3)}
.crm-conv .unread{background:var(--c-teal);color:#021016;font-size:9px;font-weight:700;border-radius:20px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px}
.crm-ch{width:14px;height:14px;border-radius:5px;display:grid;place-items:center;flex:none}
.crm-ch svg{width:10px;height:10px}
.crm-ch.wa{background:#25D366;color:#fff}.crm-ch.ig{background:linear-gradient(45deg,#f09433,#dc2743,#bc1888);color:#fff}.crm-ch.em{background:#5b7286;color:#fff}

.crm-thread{display:flex;flex-direction:column;height:560px;border:1px solid var(--c-line);border-radius:14px;background:var(--c-surf);overflow:hidden}
.crm-thread-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--c-line2);background:var(--c-surf2)}
.crm-thread-h .ti b{font-size:13px;color:var(--c-navy)}
.crm-thread-h .ti span{font-size:10.5px;color:var(--c-ink3);display:block;font-family:var(--c-mono)}
.crm-bubbles{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;
  background:linear-gradient(180deg,#fbfdfe,#f4f8fb)}
.crm-bubble{max-width:74%;padding:9px 12px;border-radius:13px;font-size:12.5px;line-height:1.5;position:relative;box-shadow:var(--c-sh)}
.crm-bubble .bt{font-size:9px;font-family:var(--c-mono);color:var(--c-ink3);margin-top:4px;display:block}
.crm-bubble.them{align-self:flex-start;background:#fff;border:1px solid var(--c-line);border-bottom-left-radius:4px;color:var(--c-ink)}
.crm-bubble.me{align-self:flex-end;background:linear-gradient(135deg,#0C2840,#0A1B2E);color:#eaf6f7;border-bottom-right-radius:4px}
.crm-bubble.me .bt{color:#7e93a8}
.crm-bubble.sys{align-self:center;background:var(--c-tint);border:1px solid rgba(2,184,191,.3);color:var(--c-teald);font-size:10.5px;text-align:center;font-family:var(--c-mono);max-width:90%}
.crm-ai-suggest{margin:0 14px;padding:10px 12px;background:rgba(123,97,255,.06);border:1px dashed rgba(123,97,255,.4);border-radius:11px;font-size:11.5px;color:#4a39b0}
.crm-ai-suggest b{font-family:var(--c-mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:3px;color:#5b43d6}
.crm-composer{display:flex;gap:8px;padding:11px 12px;border-top:1px solid var(--c-line2);align-items:flex-end}
.crm-composer textarea{flex:1;resize:none;height:42px;max-height:120px;border:1px solid var(--c-line);border-radius:11px;padding:10px 12px;font-size:12.5px;font-family:inherit;color:var(--c-ink);background:var(--c-surf2)}
.crm-composer textarea:focus{outline:none;border-color:var(--c-teal)}
.crm-tplbar{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 10px}
.crm-tpl{font-size:10px;font-family:var(--c-mono);border:1px solid var(--c-line);border-radius:20px;padding:4px 10px;color:var(--c-ink2);cursor:pointer;background:var(--c-surf)}
.crm-tpl:hover{border-color:var(--c-teal);color:var(--c-teald)}

/* ---- agenda + no-show ---- */
.crm-agenda{display:grid;grid-template-columns:1fr 320px;gap:14px;align-items:start}
.crm-slot{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--c-line);border-radius:13px;background:var(--c-surf);margin-bottom:9px;transition:.15s}
.crm-slot:hover{border-color:var(--c-line2);box-shadow:var(--c-sh)}
.crm-slot .tm{font-family:var(--c-mono);background:var(--c-navy);color:#fff;border-radius:10px;padding:7px 9px;text-align:center;min-width:62px;font-size:12px;font-weight:600}
.crm-slot .tm small{display:block;font-size:8.5px;opacity:.6;font-weight:400}
.crm-slot .si{flex:1;min-width:0}
.crm-slot .si b{font-size:13px;color:var(--c-navy)}
.crm-slot .si .sd{font-size:10.5px;color:var(--c-ink3);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap;font-family:var(--c-mono)}
.crm-risk{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:118px}
.crm-risk-meter{width:108px;height:7px;border-radius:5px;background:var(--c-surf3);overflow:hidden}
.crm-risk-meter i{display:block;height:100%;border-radius:5px}
.crm-risk .rl{font-family:var(--c-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.crm-waitlist .wl{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--c-line);border-radius:11px;margin-bottom:8px;background:var(--c-surf2);font-size:11.5px}
.crm-waitlist .wl b{color:var(--c-navy)}
@media(max-width:1080px){.crm-inbox,.crm-agenda{grid-template-columns:1fr}}

/* ---- pré-consulta ---- */
.crm-quest{display:flex;flex-direction:column;gap:8px}
.crm-qitem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--c-line);border-radius:11px;background:var(--c-surf2)}
.crm-qitem b{font-size:12px;color:var(--c-navy)}
.crm-qitem .qd{font-size:10.5px;color:var(--c-ink3);font-family:var(--c-mono)}
.crm-scorebar{height:6px;border-radius:5px;background:var(--c-surf3);overflow:hidden;margin-top:6px;width:140px}
.crm-scorebar i{display:block;height:100%}
.crm-summary{background:var(--c-surf2);border:1px dashed var(--c-line);border-radius:12px;padding:14px;font-size:12px;line-height:1.6;color:var(--c-ink2);white-space:pre-line;font-family:var(--c-mono)}
.crm-handoff{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:linear-gradient(135deg,#0C2840,#0A1B2E);color:#eaf6f7;border-radius:14px;padding:16px 18px;margin-top:14px}
.crm-handoff .hx b{font-size:14px;color:#fff;display:block}
.crm-handoff .hx span{font-size:11px;color:#9fb8c9}

/* ---- compliance notes ---- */
.crm-cfm,.crm-lgpd{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:11px 14px;font-size:11.5px;line-height:1.5;margin-bottom:14px}
.crm-cfm{background:rgba(232,169,59,.08);border:1px solid rgba(232,169,59,.34);color:#7c5a14}
.crm-lgpd{background:var(--c-tint);border:1px solid rgba(2,184,191,.28);color:var(--c-teald)}
.crm-cfm svg,.crm-lgpd svg{width:18px;height:18px;flex:none;margin-top:1px}
.crm-cfm b,.crm-lgpd b{font-weight:700}

/* ---- follow-up ---- */
.crm-fu{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border:1px solid var(--c-line);border-radius:13px;background:var(--c-surf);margin-bottom:10px}
.crm-fu.review{border-color:rgba(239,91,110,.4);background:rgba(239,91,110,.04)}
.crm-fu .fui{flex:1}
.crm-fu .fut{font-size:13px;font-weight:700;color:var(--c-navy)}
.crm-fu .fus{font-size:11px;color:var(--c-ink2);margin-top:3px;line-height:1.5}
.crm-flag{display:inline-flex;align-items:center;gap:6px;font-family:var(--c-mono);font-size:9.5px;font-weight:700;
  text-transform:uppercase;color:#c43147;background:rgba(239,91,110,.1);border:1px solid rgba(239,91,110,.34);border-radius:7px;padding:3px 8px}

/* ---- campaigns / segmentation ---- */
.crm-seg{display:flex;flex-direction:column;gap:9px}
.crm-segbar{display:grid;grid-template-columns:200px 1fr 70px;gap:10px;align-items:center}
.crm-segbar .sn{font-size:12px;font-weight:600;color:var(--c-ink2)}
.crm-segfill{height:22px;border-radius:7px;background:var(--c-surf3);overflow:hidden}
.crm-segfill i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#7B61FF,#5b43d6)}
.crm-segbar .sv{font-family:var(--c-mono);font-size:11px;color:var(--c-navy);text-align:right;font-weight:600}

/* ---- telemedicine ---- */
.crm-tele-launch{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.crm-gate{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:12px 14px;font-size:11.5px;line-height:1.5;margin:12px 0}
.crm-gate.blocked{background:rgba(239,91,110,.08);border:1px solid rgba(239,91,110,.36);color:#c43147}
.crm-gate.ok{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.34);color:#0c7a59}
.crm-meetlink{display:flex;align-items:center;gap:8px;background:var(--c-surf2);border:1px solid var(--c-line);border-radius:10px;padding:9px 12px;font-family:var(--c-mono);font-size:11.5px;color:var(--c-teald);word-break:break-all}

/* ---- documents / e-sign ---- */
.crm-doc{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--c-line);border-radius:13px;background:var(--c-surf);margin-bottom:9px}
.crm-doc .di{width:38px;height:38px;border-radius:10px;background:var(--c-tint);color:var(--c-teald);display:grid;place-items:center;flex:none}
.crm-doc .di svg{width:18px;height:18px}
.crm-doc .dx{flex:1}
.crm-doc .dx b{font-size:13px;color:var(--c-navy)}
.crm-doc .dx .ds{font-size:10.5px;color:var(--c-ink3);font-family:var(--c-mono);margin-top:2px}
.crm-esteps{display:flex;align-items:center;gap:6px;font-family:var(--c-mono);font-size:9px;text-transform:uppercase;color:var(--c-ink3)}
.crm-estep{display:flex;align-items:center;gap:5px}
.crm-estep i{width:9px;height:9px;border-radius:50%;background:var(--c-line2);border:1px solid var(--c-line)}
.crm-estep.on i{background:var(--c-green);border-color:var(--c-green)}
.crm-estep .arr{color:var(--c-line2)}

/* ---- indicators / mini charts ---- */
.crm-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.crm-bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:10px}
.crm-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.crm-bar i{width:100%;max-width:38px;border-radius:7px 7px 0 0;background:linear-gradient(180deg,var(--c-teal),var(--c-teald));transition:height .5s}
.crm-bar span{font-family:var(--c-mono);font-size:9px;color:var(--c-ink3)}
.crm-bar b{font-family:var(--c-mono);font-size:10px;color:var(--c-navy)}
.crm-donut{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;margin:6px auto;
  background:conic-gradient(var(--c-teal) 0 var(--p,70%),var(--c-surf3) 0)}
.crm-donut .dn{width:96px;height:96px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;box-shadow:var(--c-sh)}
.crm-donut .dn b{font-size:22px;color:var(--c-navy);font-weight:800}
.crm-donut .dn span{font-size:9px;font-family:var(--c-mono);color:var(--c-ink3);text-transform:uppercase}

/* ---- audit table ---- */
.crm-table{width:100%;border-collapse:collapse;font-size:11.5px}
.crm-table th{text-align:left;font-family:var(--c-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink3);font-weight:700;padding:9px 11px;border-bottom:1px solid var(--c-line)}
.crm-table td{padding:9px 11px;border-bottom:1px solid var(--c-line2);color:var(--c-ink2);vertical-align:top}
.crm-table tr:hover td{background:var(--c-surf2)}
.crm-table .mono{font-family:var(--c-mono);font-size:10.5px;color:var(--c-ink3)}

/* ---- floating windows ---- */
.crm-float-layer{position:fixed;inset:0;pointer-events:none;z-index:1200}
.crm-win{position:absolute;width:360px;background:var(--c-surf);border:1px solid var(--c-line);border-radius:14px;
  box-shadow:var(--c-sh2);pointer-events:auto;display:flex;flex-direction:column;overflow:hidden;
  animation:crmwin .22s cubic-bezier(.2,.8,.2,1)}
@keyframes crmwin{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.crm-win.is-min{height:auto!important}
.crm-win.is-min .crm-win-body{display:none}
.crm-win.is-max{width:auto!important;height:auto!important;inset:64px 20px 20px!important;left:auto}
.crm-win-head{display:flex;align-items:center;gap:9px;padding:10px 12px;background:linear-gradient(180deg,#0C2840,#0A1B2E);color:#eaf6f7;cursor:grab;user-select:none}
.crm-win-head:active{cursor:grabbing}
.crm-win-head .wt{flex:1;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}
.crm-win-head .wt svg{width:15px;height:15px;color:var(--c-teal2)}
.crm-win-tools{display:flex;gap:4px}
.crm-win-tools button{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:#cdd9e6;border:1px solid rgba(127,231,235,.14);background:rgba(255,255,255,.04)}
.crm-win-tools button:hover{background:rgba(255,255,255,.12);color:#fff}
.crm-win-tools button svg{width:13px;height:13px}
.crm-win-body{flex:1;overflow:auto;min-height:0}

/* tele call window */
.crm-call{background:#06101c;color:#cdd9e6}
.crm-call-stage{position:relative;aspect-ratio:4/3;background:#0a1626;display:grid;place-items:center;overflow:hidden}
.crm-call-stage video{width:100%;height:100%;object-fit:cover}
.crm-call-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#5d748a;font-size:11px;font-family:var(--c-mono);text-align:center;padding:14px}
.crm-call-ph svg{width:30px;height:30px;opacity:.5}
.crm-call-self{position:absolute;right:10px;bottom:10px;width:96px;aspect-ratio:4/3;border-radius:9px;overflow:hidden;border:2px solid rgba(127,231,235,.4);background:#0d1d31}
.crm-call-self video{width:100%;height:100%;object-fit:cover}
.crm-call-ctrl{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px}
.crm-call-ctrl button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(127,231,235,.16);color:#cdd9e6}
.crm-call-ctrl button.off{background:rgba(239,91,110,.2);border-color:rgba(239,91,110,.5);color:#ff9aa8}
.crm-call-ctrl button.end{background:var(--c-red);border-color:var(--c-red);color:#fff;width:48px}
.crm-call-ctrl button svg{width:17px;height:17px}

/* ---- toasts ---- */
.crm-toast-wrap{position:fixed;right:18px;bottom:18px;z-index:1400;display:flex;flex-direction:column;gap:9px;pointer-events:none}
.crm-toast{pointer-events:auto;background:var(--c-navy);color:#eaf6f7;border-radius:12px;padding:11px 15px;font-size:12px;
  box-shadow:var(--c-sh2);display:flex;align-items:center;gap:10px;max-width:340px;animation:crmtoast .26s ease both;border:1px solid #0a1b2e}
.crm-toast svg{width:17px;height:17px;color:var(--c-teal2);flex:none}
.crm-toast.ok svg{color:#34d399}.crm-toast.warn svg{color:var(--c-amber)}.crm-toast.err svg{color:#ff9aa8}
@keyframes crmtoast{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}

/* ---- modal ---- */
.crm-modal-scrim{position:fixed;inset:0;z-index:1500;background:rgba(8,18,30,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:18px}
.crm-modal-scrim[hidden]{display:none}
.crm-modal{background:var(--c-surf);border-radius:18px;box-shadow:var(--c-sh2);width:100%;max-width:520px;max-height:88vh;overflow:auto;animation:crmwin .24s ease both}
.crm-modal-h{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--c-line2)}
.crm-modal-h h3{font-size:15px;color:var(--c-navy);font-weight:700}
.crm-modal-b{padding:18px 20px}
.crm-field{margin-bottom:13px}
.crm-field label{display:block;font-family:var(--c-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--c-ink3);font-weight:600;margin-bottom:5px}
.crm-field input,.crm-field select,.crm-field textarea{width:100%;border:1px solid var(--c-line);border-radius:10px;padding:9px 11px;font-size:12.5px;font-family:inherit;color:var(--c-ink);background:var(--c-surf2)}
.crm-field input:focus,.crm-field select:focus,.crm-field textarea:focus{outline:none;border-color:var(--c-teal)}
.crm-x{width:30px;height:30px;border-radius:9px;border:1px solid var(--c-line);display:grid;place-items:center;color:var(--c-ink2);cursor:pointer}
.crm-x:hover{border-color:var(--c-red);color:var(--c-red)}

/* checkbox list */
.crm-check{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border:1px solid var(--c-line);border-radius:10px;background:var(--c-surf2);cursor:pointer;font-size:12px;margin-bottom:7px}
.crm-check:hover{border-color:var(--c-teal)}
.crm-check input{margin-top:2px;accent-color:var(--c-teald)}

@media(max-width:760px){
  .crm-tele-launch{grid-template-columns:1fr}
  .crm-win{width:calc(100vw - 24px)!important;left:12px!important;right:12px}
}
