/* ============================================================================
   FERMENTA SALES — camada de composição 2026  (carrega por ÚLTIMO)
   Direção aprovada por Gabriel: densidade, menos caixas, superfície contínua,
   sidebar clara com personalidade, azul só como accent, IA em laranja Fermenta,
   tabela protagonista, header compacto, KPIs em faixa.
   Disciplina visual: Attio / Clay / Linear / Stripe / Apollo (sem copiar).
   Escopo desta passada: Busca de empresas + Leads do CRM (+ chrome comum).
   Ativa-se por  <body class="fs-app-2026">.
   ========================================================================== */

:root{
  --fa-bg:#F6F7F9;
  --fa-surface:#FFFFFF;
  --fa-sunken:#FBFBFC;
  --fa-sb-bg:#F1F1F5;
  --fa-sb-edge:#E4E4EC;

  --fa-ink:#141A22;
  --fa-text:#3F4753;
  --fa-text-2:#61697A;
  --fa-muted:#8A929E;

  --fa-line:#E6E8EC;
  --fa-line-2:#D8DBE1;
  --fa-neutral-bg:#F0F1F4;

  --fa-accent:#2C55E8;
  --fa-accent-ink:#1E3FBF;
  --fa-accent-weak:#EAF0FF;
  --fa-accent-line:#C6D5FF;

  --fa-ai:#E8622C;             /* laranja-mãe Fermenta — capacidade de IA */
  --fa-ai-weak:#FCEEE6;
  --fa-ai-line:#F3C7B2;

  --fa-ok:#0E8A50;   --fa-ok-bg:#E3F4EC;
  --fa-warn:#8A5300; --fa-warn-bg:#F9EFDD;
  --fa-bad:#C13A2E;  --fa-bad-bg:#FAEAE8;

  --fa-r:8px;
  --fa-r-sm:6px;
  --fa-shadow:0 1px 2px rgba(16,20,28,.06), 0 1px 1px rgba(16,20,28,.04);
  --fa-shadow-pop:0 8px 30px rgba(16,20,28,.14);

  --fa-font:"Inter","Inter var",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --fa-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;

  --fa-sb-w:210px;
  --fa-pad-x:24px;
}

/* ---------------------------------------------------------------- 1. BASE */
body.fs-app-2026{
  background:var(--fa-bg) !important;
  color:var(--fa-text);
  font-family:var(--fa-font);
  font-size:13.5px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
body.fs-app-2026 h1,
body.fs-app-2026 h2,
body.fs-app-2026 h3{color:var(--fa-ink);font-weight:600;letter-spacing:-.005em}
body.fs-app-2026 *:focus-visible{
  outline:2px solid var(--fa-accent);
  outline-offset:1px;
  border-radius:3px;
}
body.fs-app-2026 ::-webkit-scrollbar{width:10px;height:10px}
body.fs-app-2026 ::-webkit-scrollbar-thumb{background:#D3D6DD;border-radius:6px;border:2px solid var(--fa-bg)}

/* ------------------------------------------------------------ 2. APP SHELL */
body.fs-app-2026 #app-view.app-shell{
  display:grid !important;
  grid-template-columns:var(--fa-sb-w) minmax(0,1fr) !important;
  align-items:stretch;
  min-height:100vh;
  background:var(--fa-bg) !important;
  gap:0 !important;
}
body.fs-app-2026 .main-area{
  display:flex !important;
  flex-direction:column;
  min-width:0;
  max-width:none !important;
  margin:0 !important;
  padding:0 0 40px !important;
  background:transparent !important;
}
body.fs-app-2026 .main-area > section,
body.fs-app-2026 .main-area > .crm-view{margin-top:14px}
body.fs-app-2026 .main-area > .topbar{margin-top:0}

/* -------------------------------------------------------------- 3. SIDEBAR */
body.fs-app-2026 .sidebar{
  position:sticky;top:0;
  align-self:start;
  height:100vh;
  width:var(--fa-sb-w) !important;
  min-width:0 !important;
  background:var(--fa-sb-bg) !important;
  border-right:1px solid var(--fa-sb-edge) !important;
  padding:14px 10px !important;
  display:flex !important;
  flex-direction:column;
  gap:1px;
  box-shadow:none !important;
}
body.fs-app-2026 .sidebar-brand{
  display:flex;align-items:center;gap:9px;
  padding:6px 8px 14px !important;
  border:0 !important;
}
body.fs-app-2026 .brand-symbol{
  width:24px;height:24px;flex:none;
  border-radius:7px;
  background:linear-gradient(150deg,#16307A,#3B6FF5) !important;
  color:#fff !important;font-weight:700;font-size:12px;
  display:grid;place-items:center;
  box-shadow:0 1px 2px rgba(22,48,122,.4);
}
body.fs-app-2026 .sidebar-brand-copy strong{
  display:block;font-size:13px;font-weight:600;color:var(--fa-ink);line-height:1.15;
}
body.fs-app-2026 .sidebar-brand-copy span{font-size:10.5px;color:var(--fa-muted)}

body.fs-app-2026 .sidebar-group-label{
  padding:12px 8px 5px !important;
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--fa-muted) !important;
  background:none !important;
}
body.fs-app-2026 .sidebar-nav{display:flex;flex-direction:column;gap:1px;margin:0 !important}

body.fs-app-2026 .nav-item{
  display:flex !important;align-items:center;gap:9px;
  width:100% !important;max-width:100% !important;
  margin:0 !important;
  padding:7px 9px !important;
  border:0 !important;
  border-radius:7px !important;
  background:transparent !important;
  color:var(--fa-text-2) !important;
  font-size:13px !important;font-weight:500 !important;
  text-align:left !important;
  position:relative !important;left:auto !important;right:auto !important;
  box-shadow:none !important;outline-offset:-2px;
  transform:none !important;
  box-sizing:border-box !important;
}
body.fs-app-2026 .nav-item::after{content:none !important;display:none !important}
body.fs-app-2026 .nav-item > svg{
  width:16px !important;height:16px !important;flex:none;
  fill:none !important;stroke:currentColor !important;stroke-width:1.7 !important;
  opacity:.7;
}
body.fs-app-2026 .nav-item > span{font:inherit;color:inherit}
body.fs-app-2026 .nav-item:hover{background:rgba(20,26,40,.05) !important;color:var(--fa-ink) !important}
body.fs-app-2026 .nav-item.active{
  background:var(--fa-surface) !important;
  color:var(--fa-ink) !important;
  font-weight:600 !important;
  box-shadow:var(--fa-shadow) !important;
  border:0 !important;
}
body.fs-app-2026 .nav-item.active > svg{opacity:1;color:var(--fa-accent) !important}
body.fs-app-2026 .nav-item.active::before{
  content:"" !important;position:absolute;left:-10px;top:8px;bottom:8px;
  width:2px;border-radius:0 2px 2px 0;background:var(--fa-accent);
}

body.fs-app-2026 .sidebar-footer{
  margin-top:auto !important;
  border-top:1px solid var(--fa-sb-edge) !important;
  padding-top:10px !important;
  display:flex;flex-direction:column;gap:2px;
  background:none !important;
}
body.fs-app-2026 .sidebar-settings-link{
  display:flex;align-items:center;gap:9px;
  padding:7px 9px !important;border-radius:7px;
  color:var(--fa-text-2) !important;font-size:12.5px;text-decoration:none;
}
body.fs-app-2026 .sidebar-settings-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;opacity:.65}
body.fs-app-2026 .sidebar-settings-link:hover{background:rgba(20,26,40,.05) !important;color:var(--fa-ink) !important}

/* usuário reposicionado no rodapé pelo JS companion */
body.fs-app-2026 .sidebar-footer .fa-sb-user{
  display:flex;align-items:center;gap:8px;
  padding:7px 9px;border-radius:7px;min-width:0;
}
body.fs-app-2026 .fa-sb-user .fa-avatar{
  width:22px;height:22px;flex:none;border-radius:50%;
  background:var(--fa-accent-weak);color:var(--fa-accent-ink);
  display:grid;place-items:center;font-size:9.5px;font-weight:700;letter-spacing:.02em;
}
body.fs-app-2026 .fa-sb-user .fa-sb-user-name{
  font-size:12px;font-weight:550;color:var(--fa-ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
body.fs-app-2026 .sidebar-status{
  display:flex;align-items:center;gap:7px;
  padding:5px 9px !important;font-size:10.5px;color:var(--fa-muted) !important;
  border:0 !important;background:none !important;
}
body.fs-app-2026 .status-dot{width:6px;height:6px;border-radius:50%;background:var(--fa-ok) !important}
body.fs-app-2026 .logout-button{
  align-self:flex-start;margin-top:2px;
  background:transparent !important;border:0 !important;
  color:var(--fa-muted) !important;font-size:11.5px;font-weight:500;
  padding:5px 9px !important;border-radius:6px;
}
body.fs-app-2026 .logout-button:hover{background:var(--fa-bad-bg) !important;color:var(--fa-bad) !important}

/* --------------------------------------------------------- 4. HEADER / TOPBAR */
body.fs-app-2026 .topbar,
body.fs-app-2026 .crm-topbar{
  display:flex !important;align-items:flex-start;gap:16px;
  padding:16px var(--fa-pad-x) 0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;box-shadow:none !important;
}
body.fs-app-2026 .topbar > div:first-child{min-width:0}
body.fs-app-2026 .topbar h1,
body.fs-app-2026 .crm-topbar h1{font-size:18px !important;font-weight:650 !important;color:var(--fa-ink);margin:1px 0 0 !important}
body.fs-app-2026 .topbar p,
body.fs-app-2026 .crm-topbar p{font-size:12px !important;color:var(--fa-muted) !important;margin:2px 0 0 !important;max-width:70ch}
body.fs-app-2026 .eyebrow{
  display:inline-block;
  font-size:9.5px !important;font-weight:700 !important;letter-spacing:.09em !important;
  text-transform:uppercase;color:var(--fa-accent-ink) !important;
  margin:0 !important;
}
body.fs-app-2026 .topbar-actions{margin-left:auto;display:flex !important;align-items:center;gap:8px;flex:none}

/* pill de usuário do topbar: neutralizada (usuário real vai pro rodapé via JS) */
body.fs-app-2026 .user-pill{display:none !important}

/* ----------------------------------------------------------- 5. BOTÕES */
body.fs-app-2026 .button,
body.fs-app-2026 button.button{
  height:32px !important;min-height:0 !important;
  padding:0 12px !important;
  border-radius:var(--fa-r-sm) !important;
  border:1px solid var(--fa-line-2) !important;
  background:var(--fa-surface) !important;
  color:var(--fa-ink) !important;
  font-size:12.5px !important;font-weight:550 !important;
  display:inline-flex !important;align-items:center;gap:6px;
  white-space:nowrap;box-shadow:none !important;
  transition:background .12s,border-color .12s;
}
body.fs-app-2026 .button:hover{background:#F7F8FA !important;border-color:#CBCFD6 !important}
body.fs-app-2026 .button-primary,
body.fs-app-2026 button.button-primary{
  background:var(--fa-accent) !important;border-color:var(--fa-accent) !important;color:#fff !important;
}
body.fs-app-2026 .button-primary:hover{background:var(--fa-accent-ink) !important;border-color:var(--fa-accent-ink) !important}
body.fs-app-2026 .button-secondary{background:var(--fa-surface) !important;color:var(--fa-text) !important}
body.fs-app-2026 .text-button{
  background:none !important;border:0 !important;color:var(--fa-accent-ink) !important;
  font-size:12px !important;font-weight:550 !important;padding:4px 6px !important;height:auto !important;
}
body.fs-app-2026 .text-button:hover{text-decoration:underline}

/* IDs herdados que pintavam navy / esticavam */
body.fs-app-2026 #search-button,
body.fs-app-2026 #detail-add-crm,
body.fs-app-2026 .crm-filter-button{
  background:var(--fa-accent) !important;border-color:var(--fa-accent) !important;color:#fff !important;
  width:auto !important;flex:0 0 auto !important;
}

/* -------------------------------------------------- 6. ÁREA DE BUSCA (protagonista) */
/* linha injetada pelo JS: [ campo de busca .......... ] [ IA ] [ Buscar ] */
body.fs-app-2026 .fa-searchbar{
  display:flex;align-items:center;gap:8px;
  margin:14px var(--fa-pad-x) 0;
}
body.fs-app-2026 .fa-searchbar .field.field-wide{
  flex:1;margin:0;gap:0;position:relative;font-size:0 !important;
}
body.fs-app-2026 .fa-searchbar .field.field-wide input{
  width:100%;height:42px !important;
  font-size:14px !important;font-weight:450 !important;color:var(--fa-ink) !important;
  padding:0 14px 0 40px !important;
  border:1px solid var(--fa-line-2) !important;
  border-radius:var(--fa-r) !important;
  background:var(--fa-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%238A929E' stroke-width='1.9'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 13px center !important;
  box-shadow:var(--fa-shadow) !important;
}
body.fs-app-2026 .fa-searchbar .field.field-wide input:focus{
  border-color:var(--fa-accent) !important;
  box-shadow:0 0 0 3px var(--fa-accent-weak) !important;
}
body.fs-app-2026 .fa-searchbar #search-button{height:42px !important;padding:0 18px !important;font-size:13px !important}

/* chip de IA na barra */
body.fs-app-2026 .fa-ai-chip{
  display:inline-flex;align-items:center;gap:6px;
  height:42px;padding:0 13px;
  border:1px solid var(--fa-line-2);border-radius:var(--fa-r);
  background:var(--fa-surface);color:var(--fa-text-2);
  font-size:12.5px;font-weight:550;white-space:nowrap;cursor:pointer;
}
body.fs-app-2026 .fa-ai-chip svg{width:14px;height:14px;color:var(--fa-ai)}
body.fs-app-2026 .fa-ai-chip[aria-pressed="true"]{
  background:var(--fa-ai-weak);border-color:var(--fa-ai-line);color:#8A3E17;
}

/* painel de IA existente (#fermenta-ai-search) — compactado e recolhível */
body.fs-app-2026 .fermenta-ai-search{
  margin:8px var(--fa-pad-x) 0 !important;
  padding:14px 16px !important;
  border:1px solid var(--fa-ai-line) !important;
  border-radius:var(--fa-r) !important;
  background:var(--fa-ai-weak) !important;
  box-shadow:none !important;
  display:grid;gap:8px;
}
body.fs-app-2026 .fermenta-ai-search[hidden]{display:none !important}
body.fs-app-2026 .fermenta-ai-search h3{
  font-size:13px !important;margin:0 !important;color:#8A3E17 !important;
  display:flex;align-items:center;gap:7px;
}
body.fs-app-2026 .fermenta-ai-search > p{font-size:11.5px !important;color:#9A5836 !important;margin:0 !important}
body.fs-app-2026 .fermenta-ai-badge{
  justify-self:start !important;align-self:start !important;
  width:max-content !important;max-width:max-content !important;margin:0 !important;
  background:var(--fa-ai) !important;color:#fff !important;
  font-size:10px !important;font-weight:700;letter-spacing:.04em;
  padding:2px 7px !important;border-radius:5px !important;
}
body.fs-app-2026 .fermenta-ai-search textarea{
  width:100%;min-height:56px;resize:vertical;
  border:1px solid var(--fa-ai-line) !important;border-radius:var(--fa-r-sm) !important;
  background:var(--fa-surface) !important;
  font-family:var(--fa-font) !important;font-size:13px !important;color:var(--fa-ink) !important;
  padding:9px 11px !important;
}
body.fs-app-2026 .fermenta-ai-search textarea:focus{border-color:var(--fa-ai) !important;box-shadow:0 0 0 3px rgba(232,98,44,.15) !important;outline:0}
body.fs-app-2026 .fermenta-ai-search-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.fs-app-2026 #fermenta-ai-interpret{
  background:var(--fa-ai) !important;border-color:var(--fa-ai) !important;color:#fff !important;
}
body.fs-app-2026 #fermenta-ai-interpret:hover{background:#CF521F !important;border-color:#CF521F !important}
body.fs-app-2026 .fermenta-ai-note{font-size:10.5px !important;color:#9A5836 !important}

/* ----------------------------------------- 7. PAINÉIS — descaixar (superfície contínua) */
body.fs-app-2026 .panel,
body.fs-app-2026 .filters-panel,
body.fs-app-2026 .results-panel,
body.fs-app-2026 .crm-leads-panel,
body.fs-app-2026 .crm-layout{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
}
body.fs-app-2026 .panel::before,
body.fs-app-2026 .panel::after,
body.fs-app-2026 .filters-panel::before,
body.fs-app-2026 .results-panel::before,
body.fs-app-2026 .stat-card::before,
body.fs-app-2026 .stat-card::after{content:none !important;display:none !important;height:0 !important;border:0 !important}

body.fs-app-2026 .panel-header{
  display:flex;align-items:flex-start;gap:14px;
  padding:0 var(--fa-pad-x) !important;margin:14px 0 0 !important;
  border:0 !important;
}
body.fs-app-2026 .panel-header h2{font-size:13px !important;font-weight:600;color:var(--fa-ink);margin:0 !important}
body.fs-app-2026 .panel-header p{font-size:11.5px !important;color:var(--fa-muted) !important;margin:2px 0 0 !important}
body.fs-app-2026 .panel-header .text-button{margin-left:auto;flex:none}

/* painel de busca: header verboso e caixinha de dica saem (barra é auto-explicativa) */
body.fs-app-2026 #search-filters > .panel-header{display:none !important}
body.fs-app-2026 .filter-tip{display:none !important}

/* --------------------------------------------- 8. FILTROS AVANÇADOS (compactos/recolhíveis) */
body.fs-app-2026 .fa-adv-toggle{
  display:inline-flex;align-items:center;gap:6px;
  margin:10px var(--fa-pad-x) 0;
  background:none;border:0;cursor:pointer;
  color:var(--fa-text-2);font-size:12px;font-weight:550;padding:2px 0;
}
body.fs-app-2026 .fa-adv-toggle svg{width:13px;height:13px;transition:transform .15s}
body.fs-app-2026 .fa-adv-toggle[aria-expanded="true"] svg{transform:rotate(90deg)}
body.fs-app-2026 .fa-adv-toggle .fa-adv-count{color:var(--fa-accent-ink);font-weight:700}

body.fs-app-2026 #search-form .filters-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px 12px !important;
  margin:10px var(--fa-pad-x) 0 !important;
  padding:12px 14px !important;
  border:1px solid var(--fa-line) !important;
  border-radius:var(--fa-r) !important;
  background:var(--fa-sunken) !important;
}
body.fs-app-2026 #search-form .filters-grid .filters-grid{
  grid-column:1 / -1 !important;
  margin:0 !important;padding:0 !important;border:0 !important;background:none !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
body.fs-app-2026 #search-form.fa-adv-collapsed .filters-grid{display:none !important}

body.fs-app-2026 .field,
body.fs-app-2026 .field-wide,
body.fs-app-2026 .crm-field-full{
  display:flex !important;flex-direction:column !important;
  align-items:stretch !important;
  gap:5px !important;min-width:0 !important;
  margin:0 !important;
  font-size:10.5px !important;font-weight:650 !important;
  letter-spacing:.045em !important;text-transform:uppercase !important;
  color:var(--fa-muted) !important;text-align:left !important;
}
body.fs-app-2026 .field > svg,
body.fs-app-2026 .field-wide > svg,
body.fs-app-2026 .filters-grid label > svg{display:none !important}

body.fs-app-2026 .field input,
body.fs-app-2026 .field select,
body.fs-app-2026 .field textarea,
body.fs-app-2026 .crm-filter-form input,
body.fs-app-2026 .crm-filter-form select{
  height:32px !important;
  width:100% !important;
  border:1px solid var(--fa-line-2) !important;
  border-radius:var(--fa-r-sm) !important;
  background:var(--fa-surface) !important;
  padding:0 10px !important;
  font-family:var(--fa-font) !important;
  font-size:13px !important;font-weight:450 !important;
  text-transform:none !important;letter-spacing:normal !important;
  color:var(--fa-ink) !important;
  box-shadow:none !important;
}
body.fs-app-2026 .field textarea{height:auto !important;min-height:64px;padding:8px 10px !important}
body.fs-app-2026 .field input:focus,
body.fs-app-2026 .field select:focus,
body.fs-app-2026 .crm-filter-form input:focus,
body.fs-app-2026 .crm-filter-form select:focus{
  border-color:var(--fa-accent) !important;
  box-shadow:0 0 0 3px var(--fa-accent-weak) !important;
  outline:0 !important;
}
body.fs-app-2026 .field select,
body.fs-app-2026 .crm-filter-form select{
  appearance:none !important;-webkit-appearance:none !important;
  padding-right:28px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A929E' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 9px center !important;
}

/* botão de busca foi realocado p/ a .fa-searchbar; a caixa de ações só some
   quando o JS confirmou a realocação (senão o submit ficaria sem botão) */
body.fs-app-2026 #search-form.fa-js-ready .filter-actions{display:none !important}

/* ------------------------------------------------------- 9. KPIs EM FAIXA */
body.fs-app-2026 .stats-grid,
body.fs-app-2026 .crm-summary-grid{
  display:flex !important;
  flex-wrap:wrap;
  gap:0 !important;
  margin:14px var(--fa-pad-x) 0 !important;
  padding:0 !important;
  border:1px solid var(--fa-line) !important;
  border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;
  box-shadow:var(--fa-shadow) !important;
  overflow:hidden;
}
body.fs-app-2026 .stat-card{
  flex:1 1 150px;
  min-width:140px;
  display:block !important;
  padding:10px 18px !important;
  border:0 !important;border-left:1px solid var(--fa-line) !important;
  border-radius:0 !important;
  background:transparent !important;box-shadow:none !important;
  margin:0 !important;
}
body.fs-app-2026 .stat-card:first-child{border-left:0 !important}
body.fs-app-2026 .stat-card > span{
  display:block;font-size:10px !important;font-weight:650;letter-spacing:.05em;
  text-transform:uppercase;color:var(--fa-muted) !important;
}
body.fs-app-2026 .stat-card > strong{
  display:block;font-size:18px !important;font-weight:600 !important;color:var(--fa-ink) !important;
  margin:2px 0 0 !important;font-variant-numeric:tabular-nums;line-height:1.2;
}
body.fs-app-2026 .stat-card > small{display:block;font-size:10.5px !important;color:var(--fa-muted) !important;margin-top:1px}

/* --------------------------------------------- 10. RESULTADOS + TABELA */
body.fs-app-2026 .results-header{
  display:flex !important;align-items:flex-start;gap:14px;
  padding:0 var(--fa-pad-x) !important;margin:16px 0 0 !important;border:0 !important;
}
body.fs-app-2026 .results-header h2{font-size:13px !important;margin:0 !important}
body.fs-app-2026 #results-summary,
body.fs-app-2026 #crm-results-summary{font-size:11.5px !important;color:var(--fa-muted) !important;margin:2px 0 0 !important}
body.fs-app-2026 .results-loading{
  margin-left:auto;display:flex;align-items:center;gap:8px;
  font-size:12px !important;color:var(--fa-text-2) !important;padding:0 !important;
}
body.fs-app-2026 .saas-usage-summary{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;
  margin-top:6px !important;font-size:11px !important;color:var(--fa-text-2) !important;
}
body.fs-app-2026 .saas-usage-summary strong{color:var(--fa-ink) !important;font-size:11.5px !important}

body.fs-app-2026 .table-wrapper{
  margin:10px var(--fa-pad-x) 0 !important;
  border:1px solid var(--fa-line) !important;
  border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;
  overflow-x:auto !important;
  box-shadow:var(--fa-shadow) !important;
}
body.fs-app-2026 .table-wrapper table{
  width:100%;border-collapse:collapse;font-size:13px;
  min-width:720px;
}
body.fs-app-2026 .table-wrapper thead th{
  position:sticky;top:0;z-index:1;
  background:var(--fa-sunken) !important;
  text-align:left;
  font-size:10.5px !important;font-weight:650 !important;letter-spacing:.05em;text-transform:uppercase;
  color:var(--fa-muted) !important;
  padding:9px 14px !important;
  border-bottom:1px solid var(--fa-line-2) !important;
  white-space:nowrap;
}
body.fs-app-2026 .table-wrapper tbody td{
  padding:11px 14px !important;
  border-bottom:1px solid var(--fa-line) !important;
  color:var(--fa-text) !important;
  vertical-align:middle;
  font-size:13px !important;
}
body.fs-app-2026 .table-wrapper tbody tr:last-child td{border-bottom:0 !important}
body.fs-app-2026 .table-wrapper tbody tr:hover td{background:#FAFBFF !important}
body.fs-app-2026 .table-wrapper tbody td:first-child{color:var(--fa-ink) !important;font-weight:550}
body.fs-app-2026 .table-wrapper td .muted,
body.fs-app-2026 .table-wrapper td small{color:var(--fa-muted) !important;font-size:11.5px !important}
body.fs-app-2026 .table-wrapper td .cnpj,
body.fs-app-2026 .table-wrapper td [data-cnpj]{font-family:var(--fa-mono) !important;font-size:11.5px !important}

/* empty-state ocupa a faixa toda e centraliza (é um <td colspan>) */
body.fs-app-2026 tr:has(> td.empty-state){display:block !important;width:100%}
body.fs-app-2026 td.empty-state{
  display:block !important;width:100% !important;
  text-align:center !important;
  padding:48px 24px !important;
  border-bottom:0 !important;
}
body.fs-app-2026 td.empty-state strong{display:block;font-size:13px;color:var(--fa-ink);font-weight:600}
body.fs-app-2026 td.empty-state span{display:block;font-size:12px;color:var(--fa-muted);margin-top:4px}

body.fs-app-2026 .pagination{
  display:flex !important;align-items:center;gap:10px;
  margin:12px var(--fa-pad-x) 0 !important;padding:0 !important;
  font-size:11.5px !important;color:var(--fa-muted) !important;border:0 !important;
}
body.fs-app-2026 .pagination .button{height:28px !important;padding:0 10px !important;font-size:11.5px !important}
body.fs-app-2026 #page-information,
body.fs-app-2026 #crm-page-information{font-variant-numeric:tabular-nums}

/* --------------------------------------------------------- 11. CRM VIEW */
body.fs-app-2026 .crm-view{display:flex;flex-direction:column}
body.fs-app-2026 .crm-view.hidden{display:none !important}

body.fs-app-2026 .crm-filter-form{
  display:flex !important;flex-wrap:wrap;align-items:flex-end;gap:8px;
  margin:14px var(--fa-pad-x) 0 !important;padding:0 0 12px !important;
  border-bottom:1px solid var(--fa-line) !important;
}
body.fs-app-2026 .crm-filter-form .field{flex:0 0 auto;min-width:0}
body.fs-app-2026 .crm-filter-form .field.crm-filter-search{flex:1 1 220px}
body.fs-app-2026 .crm-filter-form .field select{min-width:130px}
body.fs-app-2026 .crm-filter-form .crm-filter-button{height:32px !important;align-self:flex-end}

/* --------------------------------------------------------- 12. BADGES / PILLS */
body.fs-app-2026 .status-badge,
body.fs-app-2026 .lead-status,
body.fs-app-2026 [class*="status-pill"],
body.fs-app-2026 .badge{
  display:inline-flex !important;align-items:center;gap:5px;
  padding:2px 8px !important;border-radius:5px !important;
  font-size:11px !important;font-weight:600 !important;
  background:var(--fa-neutral-bg) !important;color:var(--fa-text) !important;
  border:0 !important;letter-spacing:0 !important;text-transform:none !important;
}
body.fs-app-2026 .status-badge::before,
body.fs-app-2026 .lead-status::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
body.fs-app-2026 .status-badge.is-won,
body.fs-app-2026 .lead-status[data-status="fechado"],
body.fs-app-2026 .lead-status[data-status="respondeu"]{background:var(--fa-ok-bg) !important;color:var(--fa-ok) !important}
body.fs-app-2026 .status-badge.is-lost,
body.fs-app-2026 .lead-status[data-status="perdido"]{background:var(--fa-bad-bg) !important;color:var(--fa-bad) !important}
body.fs-app-2026 .lead-status[data-status="proposta"]{background:var(--fa-accent-weak) !important;color:var(--fa-accent-ink) !important}
body.fs-app-2026 .lead-status[data-status="contatado"]{background:var(--fa-warn-bg) !important;color:var(--fa-warn) !important}

/* --------------------------------------------------------- 13. OVERLAY / DRAWER (segurança) */
body.fs-app-2026 .detail-overlay{
  position:fixed !important;inset:0 !important;z-index:200 !important;
  background:rgba(16,20,30,.5) !important;backdrop-filter:blur(2px);
  display:flex !important;justify-content:flex-end;
}
body.fs-app-2026 .detail-overlay.hidden{display:none !important}
body.fs-app-2026 .detail-drawer{
  height:100vh;width:min(920px,100%);
  background:var(--fa-surface) !important;box-shadow:var(--fa-shadow-pop) !important;
  overflow-y:auto;
}

/* --------------------------------------------------------- 14. TOASTS / SPINNER */
body.fs-app-2026 .toast{
  border-radius:var(--fa-r) !important;box-shadow:var(--fa-shadow-pop) !important;
  font-size:12.5px !important;border:1px solid var(--fa-line) !important;
}
body.fs-app-2026 .mini-spinner,
body.fs-app-2026 .spinner{
  border-radius:50%;
  border:2px solid var(--fa-line-2) !important;border-top-color:var(--fa-accent) !important;
  animation:fa-spin .7s linear infinite;
}
@keyframes fa-spin{to{transform:rotate(360deg)}}

/* --------------------------------------------------------- 15. MOBILE (parcial) */
@media (max-width:900px){
  body.fs-app-2026 #app-view.app-shell{grid-template-columns:1fr !important}
  body.fs-app-2026 .sidebar{
    position:fixed !important;z-index:120;left:0;top:0;
    transform:translateX(-100%);transition:transform .2s;
  }
  body.fs-app-2026.sidebar-open .sidebar,
  body.fs-app-2026 #app-view.sidebar-open .sidebar,
  body.fs-app-2026 .sidebar.is-open{transform:none !important}
  body.fs-app-2026 .stat-card{flex:1 1 45%}
  body.fs-app-2026 .fa-searchbar{flex-wrap:wrap}
  body.fs-app-2026 .fa-searchbar .field.field-wide{flex:1 1 100%}
  body.fs-app-2026 #search-form .filters-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}

/* --------------------------------------------------------- 16. GUARDA FINAL */
/* a troca de telas do JS usa .hidden / [hidden] — nunca deixar vazar */
body.fs-app-2026 [hidden],
body.fs-app-2026 .hidden{display:none !important}

/* ========================================================================
   17. AJUSTES PÓS-QA — 2026-08-30 (QA visual em produção)
   ======================================================================== */

/* 17.1 — KPIs: mata min-height legado (132/120px) → faixa fica baixa (~64px) */
body.fs-app-2026 .stats-grid .stat-card,
body.fs-app-2026 .crm-summary-grid .stat-card{
  min-height:0 !important;height:auto !important;overflow:visible !important;
}
body.fs-app-2026 .stats-grid .stat-card::before,
body.fs-app-2026 .stats-grid .stat-card::after,
body.fs-app-2026 .crm-summary-grid .stat-card::before,
body.fs-app-2026 .crm-summary-grid .stat-card::after{content:none !important;display:none !important}
body.fs-app-2026 .panel,
body.fs-app-2026 .results-panel,
body.fs-app-2026 .filters-panel,
body.fs-app-2026 #search-results .empty-state{min-height:0 !important}

/* 17.2 — ícones decorativos injetados nos .field e nos <th> */
body.fs-app-2026 .field::before,
body.fs-app-2026 .field::after,
body.fs-app-2026 .field-wide::before,
body.fs-app-2026 .field-wide::after,
body.fs-app-2026 .crm-filter-form label::before,
body.fs-app-2026 .crm-filter-form label::after,
body.fs-app-2026 .table-wrapper thead th::before,
body.fs-app-2026 .table-wrapper thead th::after{
  content:none !important;display:none !important;
  -webkit-mask:none !important;mask:none !important;background-image:none !important;
}

/* 17.3 — empty-state ocupa a faixa toda, centralizado (é um <td colspan>) */
body.fs-app-2026 #results-body:has(td.empty-state),
body.fs-app-2026 #crm-leads-body:has(td.empty-state){display:block !important;width:100% !important}
body.fs-app-2026 #results-body:has(td.empty-state) > tr,
body.fs-app-2026 #crm-leads-body:has(td.empty-state) > tr{display:block !important;width:100% !important}
body.fs-app-2026 #results-body td.empty-state,
body.fs-app-2026 #crm-leads-body td.empty-state{
  display:flex !important;flex-direction:column !important;align-items:center !important;
  width:100% !important;min-height:0 !important;text-align:center !important;
  padding:52px 24px !important;
}
body.fs-app-2026 td.empty-state::before{content:none !important;display:none !important}

/* 17.4 — CRM: sem cabeçalho-caixa "Empresas no CRM" */
body.fs-app-2026 .crm-leads-panel > .panel-header{display:none !important}

/* 17.5 — tabela respeita as margens laterais (some o clip da direita) */
body.fs-app-2026 #app-view #search-results .table-wrapper,
body.fs-app-2026 #app-view #crm-view .table-wrapper{
  width:auto !important;max-width:none !important;
  overflow-x:auto !important;overflow-y:visible !important;
  margin-left:var(--fa-pad-x) !important;margin-right:var(--fa-pad-x) !important;
}

/* 17.6 — marca discreta no lugar do bitmap antigo */
body.fs-app-2026 .sidebar-brand .brand-symbol{
  font-size:0 !important;
  background:linear-gradient(150deg,#16307A,#3B6FF5) !important;
  border:0 !important;border-radius:7px !important;overflow:hidden;
  width:24px !important;height:24px !important;min-width:24px !important;min-height:24px !important;
}
body.fs-app-2026 .sidebar-brand .brand-symbol img,
body.fs-app-2026 .sidebar-brand .brand-symbol svg{display:none !important}
body.fs-app-2026 .sidebar-brand .brand-symbol::after{
  content:"F";font:700 12px/1 var(--fa-font);color:#fff;
}

/* 17.7 — nav: itens inativos com contraste de leitura */
body.fs-app-2026 .sidebar-nav .nav-item{color:#48505F !important}
body.fs-app-2026 .sidebar-nav .nav-item.active{color:var(--fa-ink) !important}
body.fs-app-2026 .sidebar-nav .nav-item:hover{color:var(--fa-ink) !important}

/* 17.8 — "Pontuar com IA" injetado vira ação discreta (não caixa solta) */
body.fs-app-2026 button[title^="Pontua as empresas"]{
  height:28px !important;padding:0 10px !important;
  font-size:11.5px !important;font-weight:550 !important;
  border:1px solid var(--fa-line-2) !important;border-radius:var(--fa-r-sm) !important;
  background:var(--fa-surface) !important;color:var(--fa-text) !important;
  margin:6px var(--fa-pad-x) 0 !important;
}

/* ========================================================================
   18. AJUSTES PÓS-QA #2 — seletores qualificados por ID vencem os patches
   ======================================================================== */

/* 18.1 — DESCAIXAR de vez #search-filters e #search-results
   (tinham border-radius:20px + overflow:hidden + fundo por regra de ID) */
body.fs-app-2026 #search-filters,
body.fs-app-2026 #search-filters.filters-panel,
body.fs-app-2026 #search-results,
body.fs-app-2026 #search-results.results-panel,
body.fs-app-2026 #crm-view .crm-leads-panel,
body.fs-app-2026 #crm-view .crm-layout{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
  min-height:0 !important;
}

/* 18.2 — faixa de KPIs: compacta e SEM a barrinha (inclusive a amarela do 4º) */
body.fs-app-2026 #stats-grid,
body.fs-app-2026 #stats-grid.stats-grid{
  display:flex !important;flex-wrap:wrap;gap:0 !important;
  margin:14px var(--fa-pad-x) 0 !important;
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;box-shadow:var(--fa-shadow) !important;
  overflow:hidden !important;
}
body.fs-app-2026 #stats-grid .stat-card{
  min-height:0 !important;height:auto !important;
  padding:10px 18px !important;
  border:0 !important;border-left:1px solid var(--fa-line) !important;border-radius:0 !important;
  overflow:visible !important;
}
body.fs-app-2026 #stats-grid .stat-card:first-child{border-left:0 !important}
body.fs-app-2026 #stats-grid .stat-card::before,
body.fs-app-2026 #stats-grid .stat-card::after,
body.fs-app-2026 #stats-grid .stat-card:nth-child(4)::before{
  content:none !important;display:none !important;background:none !important;height:0 !important;
}
body.fs-app-2026 #stats-grid .stat-card > span{
  font-size:10px !important;font-weight:650 !important;letter-spacing:.05em !important;
  text-transform:uppercase !important;color:var(--fa-muted) !important;
}
body.fs-app-2026 #stats-grid .stat-card > strong{
  font-size:18px !important;font-weight:600 !important;color:var(--fa-ink) !important;
  margin:2px 0 0 !important;letter-spacing:-.01em !important;
}
body.fs-app-2026 #stats-grid .stat-card > small{font-size:10.5px !important;color:var(--fa-muted) !important}

/* 18.3 — #search-filters não empurra 18px extra abaixo */
body.fs-app-2026 #search-filters{margin-bottom:0 !important}

/* ========================================================================
   19. AJUSTES PÓS-QA #3 — empty-state realmente ocupa a largura toda
   (a tabela é table-layout:fixed por regra de ID; precisa virar block)
   ======================================================================== */
body.fs-app-2026 .table-wrapper:has(td.empty-state) > table{display:block !important;width:100% !important;min-width:0 !important}
body.fs-app-2026 .table-wrapper:has(td.empty-state) > table > thead{display:none !important}
body.fs-app-2026 .table-wrapper:has(td.empty-state) > table > tbody{display:block !important;width:100% !important}
body.fs-app-2026 .table-wrapper:has(td.empty-state) > table > tbody > tr{display:block !important;width:100% !important}
body.fs-app-2026 #results-body tr:only-child > td.empty-state,
body.fs-app-2026 #crm-leads-body tr:only-child > td.empty-state,
body.fs-app-2026 td.empty-state{
  display:flex !important;flex-direction:column !important;
  align-items:center !important;justify-content:center !important;
  width:100% !important;min-height:0 !important;box-sizing:border-box !important;
  text-align:center !important;padding:52px 24px !important;border:0 !important;
}
body.fs-app-2026 td.empty-state strong{font-size:13px !important;color:var(--fa-ink) !important;font-weight:600 !important}
body.fs-app-2026 td.empty-state span{font-size:12px !important;color:var(--fa-muted) !important;margin-top:4px !important;max-width:44ch}

/* ========================================================================
   20. GUARDA DE TROCA DE TELAS — precisa vencer os seletores de ID acima
   (#stats-grid{display:flex!important} etc. estavam mantendo a tela de
   busca visível por cima da tela de CRM). Fica por ÚLTIMO no arquivo.
   ======================================================================== */
body.fs-app-2026 #search-topbar.hidden,
body.fs-app-2026 #stats-grid.hidden,
body.fs-app-2026 #stats-grid.stats-grid.hidden,
body.fs-app-2026 #search-filters.hidden,
body.fs-app-2026 #search-filters.filters-panel.hidden,
body.fs-app-2026 #search-results.hidden,
body.fs-app-2026 #search-results.results-panel.hidden,
body.fs-app-2026 #crm-view.hidden,
body.fs-app-2026 #app-view.app-shell.hidden,
body.fs-app-2026 #app-view.hidden{display:none !important}
body.fs-app-2026 #app-view .hidden,
body.fs-app-2026 #app-view [hidden]{display:none !important}

/* ========================================================================
   21. AJUSTES PÓS-QA #6 — filtros avançados: grid real de 4 colunas
   (#search-form .field tinha grid-column:span 2 herdado → só 2 por linha;
    #search-form tinha padding próprio; inputs em 42px por regra de ID)
   ======================================================================== */
body.fs-app-2026 #search-form{
  padding:0 !important;margin:0 !important;border:0 !important;
  background:none !important;box-shadow:none !important;overflow:visible !important;
}
body.fs-app-2026 #search-form .field{grid-column:auto !important}
body.fs-app-2026 #search-form .filters-grid .filters-grid .field{grid-column:auto !important}
body.fs-app-2026 #search-filters .field input,
body.fs-app-2026 #search-filters .field select,
body.fs-app-2026 #search-form .field input,
body.fs-app-2026 #search-form .field select{min-height:32px !important;height:32px !important}
body.fs-app-2026 #search-results .results-header{margin-top:12px !important}
body.fs-app-2026 #search-form .filters-grid{margin-top:10px !important}

/* filtros avançados no mobile: 2 colunas */
@media (max-width:900px){
  body.fs-app-2026 #search-form .filters-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}

/* ========================================================================
   22. POLISH — 2026-08-30 (fechamento de Busca + CRM)
   ======================================================================== */

/* 22.1 — usuário no rodapé: o .user-pill some só no topbar, não no rodapé */
body.fs-app-2026 .topbar .user-pill,
body.fs-app-2026 .topbar-actions .user-pill{display:none !important}
body.fs-app-2026 .fa-sb-user .user-pill,
body.fs-app-2026 .fa-sb-user .fa-sb-user-name{
  display:block !important;
  font-size:12px !important;font-weight:550 !important;color:var(--fa-ink) !important;
  text-transform:none !important;letter-spacing:normal !important;
  padding:0 !important;background:none !important;border:0 !important;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* 22.2 — "Dados atualizados até…" deixa de herdar caixa-alta/negrito do .field */
body.fs-app-2026 #company-data-reference{
  text-transform:none !important;letter-spacing:normal !important;
  font-weight:400 !important;font-size:10px !important;line-height:1.4 !important;
  color:var(--fa-muted) !important;margin-top:4px !important;
}

/* 22.3 — botão "Pontuar com IA" injetado: ação no topo-direito dos resultados */
body.fs-app-2026 .results-header{position:relative}
body.fs-app-2026 .fermenta-fit-btn{
  position:absolute !important;right:var(--fa-pad-x) !important;top:0 !important;
  margin:0 !important;height:28px !important;padding:0 10px !important;
  font-size:11.5px !important;
}

/* 22.4 — CRM: "Filtrar leads" alinha com os selects (30px) */
body.fs-app-2026 .crm-filter-form .crm-filter-button{height:30px !important;align-self:flex-end !important}
body.fs-app-2026 .crm-filter-form .field select,
body.fs-app-2026 .crm-filter-form .field input{height:30px !important}

/* 22.5 — chip de IA na barra: estado ligado em laranja de verdade */
body.fs-app-2026 .fa-ai-chip[aria-pressed="true"]{
  background:var(--fa-ai-weak) !important;border-color:var(--fa-ai-line) !important;color:#8A3E17 !important;
}

/* ========================================================================
   23. CRM — TABELA DE LEADS repensada (densa, ações compactas)
   crm.js monta 6 <td>: empresa (5 linhas), oferta+atividade, contato,
   <select> status, próxima ação, ações (botões cheios empilhados →
   estouravam a tabela). Aqui: 2 linhas por célula, ações em linha.
   ======================================================================== */
body.fs-app-2026 #crm-leads-body td{padding:10px 14px !important;vertical-align:middle !important;font-size:12.5px !important}

/* EMPRESA — nome + cnpj + cidade/uf; sem razão redundante nem "Responsável" */
body.fs-app-2026 #crm-leads-body .company-cell,
body.fs-app-2026 #crm-leads-body .contact-cell{display:table-cell !important;vertical-align:middle !important;min-width:0}
body.fs-app-2026 #crm-leads-body .company-cell > *{display:block}
body.fs-app-2026 #crm-leads-body .company-cell strong{font-size:13px !important;font-weight:600 !important;color:var(--fa-ink) !important;line-height:1.3 !important}
body.fs-app-2026 #crm-leads-body .company-cell > span{font-size:11px !important;color:var(--fa-muted) !important;line-height:1.35 !important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:38ch}
body.fs-app-2026 #crm-leads-body .company-cell > span:nth-of-type(1){display:none !important}      /* razao_social (redundante) */
body.fs-app-2026 #crm-leads-body .company-cell .secondary-text{display:none !important}            /* Responsável: … */

/* OFERTA — só o badge */
body.fs-app-2026 #crm-leads-body td:nth-child(2) .secondary-text{display:none !important}
body.fs-app-2026 .crm-offer-badge{
  display:inline-flex !important;align-items:center;
  padding:2px 8px !important;border-radius:5px !important;
  background:var(--fa-neutral-bg) !important;color:var(--fa-text) !important;
  font-size:11px !important;font-weight:600 !important;border:0 !important;text-transform:none !important;
}

/* CONTATO — compacto */
body.fs-app-2026 #crm-leads-body .contact-cell > *{display:block}
body.fs-app-2026 #crm-leads-body .contact-cell a{
  font-size:12px !important;color:var(--fa-accent-ink) !important;text-decoration:none;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:24ch;
}
body.fs-app-2026 #crm-leads-body .contact-cell a:hover{text-decoration:underline}
body.fs-app-2026 #crm-leads-body .contact-cell span{font-size:10.5px !important;color:var(--fa-muted) !important}

/* STATUS — select compacto */
body.fs-app-2026 .crm-status-select{
  height:28px !important;min-width:132px !important;width:auto !important;
  font-size:12px !important;font-weight:500 !important;
  border:1px solid var(--fa-line-2) !important;border-radius:6px !important;
  background:var(--fa-surface) !important;color:var(--fa-ink) !important;
  appearance:none !important;-webkit-appearance:none !important;
  padding:0 26px 0 9px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A929E' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 8px center !important;
}
body.fs-app-2026 .crm-status-select:focus{border-color:var(--fa-accent) !important;box-shadow:0 0 0 3px var(--fa-accent-weak) !important;outline:0}

/* PRÓXIMA AÇÃO */
body.fs-app-2026 #crm-leads-body td:nth-child(5){font-size:12px !important;color:var(--fa-text) !important;white-space:nowrap}
body.fs-app-2026 .crm-overdue{
  display:inline-block !important;margin-top:3px !important;
  padding:1px 6px !important;border-radius:4px !important;
  background:var(--fa-bad-bg) !important;color:var(--fa-bad) !important;
  font-size:9.5px !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.03em;
}

/* AÇÕES — linha compacta, não estoura a tabela */
body.fs-app-2026 .crm-row-actions{
  display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;
  gap:6px !important;justify-content:flex-end !important;align-items:center !important;
  white-space:nowrap;width:1% !important;
}
body.fs-app-2026 .crm-row-actions .table-action,
body.fs-app-2026 .crm-row-actions .button,
body.fs-app-2026 .crm-row-actions a.button{
  height:28px !important;min-height:0 !important;padding:0 10px !important;margin:0 !important;
  font-size:11.5px !important;font-weight:550 !important;
  border-radius:6px !important;min-width:0 !important;flex:0 0 auto !important;
  display:inline-flex !important;align-items:center;gap:5px;white-space:nowrap;
}
body.fs-app-2026 .crm-row-actions .button-primary{background:var(--fa-accent) !important;border-color:var(--fa-accent) !important;color:#fff !important}
body.fs-app-2026 .crm-row-actions .fs-crm-btn-whatsapp,
body.fs-app-2026 .crm-row-actions .button-secondary{
  background:var(--fa-surface) !important;border:1px solid var(--fa-line-2) !important;color:var(--fa-text) !important;
}

/* a tabela do CRM cresce só o necessário; wrapper rola se precisar */
body.fs-app-2026 #crm-view .table-wrapper table{min-width:900px}


/* 23.b — CRM: só um teto de altura de célula; layout auto (as ações cabem) */
body.fs-app-2026 #crm-leads-body td{max-height:none}
body.fs-app-2026 #crm-leads-body .company-cell strong{white-space:normal !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 23.c — CRM: dá espaço à coluna EMPRESA, oferta sem quebrar, bordas de linha inteiras */
body.fs-app-2026 #crm-view thead th:nth-child(1),
body.fs-app-2026 #crm-leads-body td:nth-child(1){width:30% !important;min-width:220px}
body.fs-app-2026 #crm-view thead th:nth-child(2),
body.fs-app-2026 #crm-leads-body td:nth-child(2){width:8% !important;white-space:nowrap}
body.fs-app-2026 .crm-offer-badge{white-space:nowrap !important}
body.fs-app-2026 #crm-leads-body td{border-bottom:1px solid var(--fa-line) !important;box-shadow:none !important}
body.fs-app-2026 #crm-leads-body tr:hover td{background:#FAFBFF !important}

/* ========================================================================
   24. FORMULÁRIOS/MODAIS — texto de apoio dentro de .field não vira CAIXA-ALTA
   (o .field aplica uppercase no label; frases de ajuda em <small>/<p>/.hint
    herdavam isso). Vale para todas as telas que a camada cobre.
   ======================================================================== */
body.fs-app-2026 .field small,
body.fs-app-2026 .field p,
body.fs-app-2026 .field .hint,
body.fs-app-2026 .field .field-hint,
body.fs-app-2026 .field .helper,
body.fs-app-2026 .field-wide small,
body.fs-app-2026 .field-wide p,
body.fs-app-2026 .crm-field-full small,
body.fs-app-2026 .crm-field-full p,
body.fs-app-2026 .crm-modal .field small,
body.fs-app-2026 .crm-modal .field p{
  text-transform:none !important;letter-spacing:normal !important;
  font-weight:400 !important;font-size:10.5px !important;line-height:1.4 !important;
  color:var(--fa-muted) !important;margin-top:3px !important;display:block;
}

/* modais: chrome consistente com a direção (card branco, header compacto) */
body.fs-app-2026 .crm-modal,
body.fs-app-2026 .crm-modal-overlay{
  position:fixed !important;inset:0 !important;z-index:220 !important;
  display:flex !important;align-items:center;justify-content:center;
  background:rgba(16,20,30,.5) !important;backdrop-filter:blur(2px);
}
body.fs-app-2026 .crm-modal.hidden,
body.fs-app-2026 .crm-modal-overlay.hidden{display:none !important}
body.fs-app-2026 .crm-modal-card{
  background:var(--fa-surface) !important;
  border:1px solid var(--fa-line) !important;
  border-radius:var(--fa-r) !important;
  box-shadow:var(--fa-shadow-pop) !important;
  max-width:min(920px,94vw) !important;
}
body.fs-app-2026 .crm-modal-header{
  padding:18px 22px 12px !important;border-bottom:1px solid var(--fa-line) !important;
}
body.fs-app-2026 .crm-modal-header h2,
body.fs-app-2026 .crm-modal-header h3{font-size:16px !important;font-weight:650 !important;color:var(--fa-ink) !important;margin:1px 0 0 !important}
body.fs-app-2026 .crm-modal-header .eyebrow{font-size:9.5px !important;color:var(--fa-accent-ink) !important}
body.fs-app-2026 .crm-modal-actions{
  padding:14px 22px !important;border-top:1px solid var(--fa-line) !important;
  display:flex !important;justify-content:flex-end;gap:8px;
}
body.fs-app-2026 .close-button{
  width:30px !important;height:30px !important;border-radius:7px !important;
  border:1px solid var(--fa-line-2) !important;background:var(--fa-surface) !important;
  color:var(--fa-text-2) !important;display:grid;place-items:center;font-size:15px;
}
body.fs-app-2026 .close-button:hover{background:var(--fa-neutral-bg) !important;color:var(--fa-ink) !important}

/* ficha da empresa (drawer lateral) — cabeçalho e ações na direção nova */
body.fs-app-2026 .detail-drawer{padding:0 !important}
body.fs-app-2026 .detail-header{
  position:sticky;top:0;z-index:2;
  padding:18px 22px 14px !important;
  border-bottom:1px solid var(--fa-line) !important;background:var(--fa-surface) !important;
  display:flex !important;align-items:flex-start;gap:12px;
}
body.fs-app-2026 .detail-header h2{font-size:17px !important;font-weight:650 !important;color:var(--fa-ink) !important;margin:1px 0 0 !important}
body.fs-app-2026 #detail-cnpj{font-family:var(--fa-mono) !important;font-size:11.5px !important;color:var(--fa-muted) !important;margin:3px 0 0 !important}
body.fs-app-2026 .detail-header .close-button{margin-left:auto}
body.fs-app-2026 .detail-content{padding:18px 22px !important}
body.fs-app-2026 .detail-footer{
  position:sticky;bottom:0;
  padding:14px 22px !important;border-top:1px solid var(--fa-line) !important;
  background:var(--fa-surface) !important;display:flex !important;gap:8px;justify-content:flex-end;
}

/* ========================================================================
   25. LOGIN (#login-view) — cartão único, centrado, calmo
   Todas as regras qualificadas por #login-view para vencer o
   fermenta-branding.css (#login-view .X !important).
   ======================================================================== */
body.fs-app-2026 #login-view.login-view{
  display:flex !important;align-items:center !important;justify-content:center !important;
  min-height:100vh !important;padding:24px !important;
  background:var(--fa-bg) !important;grid-template-columns:none !important;
}
body.fs-app-2026 #login-view.login-view.hidden{display:none !important}
body.fs-app-2026 #login-view .login-visual{display:none !important}       /* remove a coluna decorativa */
body.fs-app-2026 #login-view .login-card{
  width:min(390px,100%) !important;max-width:390px !important;height:auto !important;min-height:0 !important;
  background:var(--fa-surface) !important;
  border:1px solid var(--fa-line) !important;border-radius:12px !important;
  box-shadow:var(--fa-shadow) !important;
  padding:28px !important;margin:0 !important;
  display:flex !important;flex-direction:column !important;gap:13px !important;
  overflow:visible !important;
}
body.fs-app-2026 #login-view .login-brand{display:flex !important;align-items:center !important;gap:10px !important;margin:0 0 2px !important}
body.fs-app-2026 #login-view .login-brand .brand-symbol,
body.fs-app-2026 #login-view .login-brand .logo{
  width:32px !important;height:32px !important;min-width:32px !important;min-height:32px !important;
  border-radius:8px !important;overflow:hidden;flex:none;
  background:linear-gradient(150deg,#16307A,#3B6FF5) !important;color:#fff !important;
  display:grid !important;place-items:center !important;font-size:0 !important;border:0 !important;
}
body.fs-app-2026 #login-view .login-brand .brand-symbol img,
body.fs-app-2026 #login-view .login-brand .logo img,
body.fs-app-2026 #login-view .login-brand img{display:none !important}
body.fs-app-2026 #login-view .login-brand .brand-symbol::after,
body.fs-app-2026 #login-view .login-brand .logo::after{content:"F";font:700 14px/1 var(--fa-font);color:#fff}
body.fs-app-2026 #login-view .login-brand strong,
body.fs-app-2026 #login-view .login-brand span{font-size:14px !important;font-weight:600 !important;color:var(--fa-ink) !important}

body.fs-app-2026 #login-view .login-copy{margin:0 !important}
body.fs-app-2026 #login-view .login-copy .eyebrow{
  display:block;font-size:9.5px !important;font-weight:700 !important;letter-spacing:.09em !important;
  text-transform:uppercase !important;color:var(--fa-accent-ink) !important;margin:0 0 4px !important;
}
body.fs-app-2026 #login-view .login-copy h1{
  font-size:17px !important;line-height:1.3 !important;font-weight:650 !important;
  color:var(--fa-ink) !important;margin:0 !important;letter-spacing:-.005em !important;
}
body.fs-app-2026 #login-view .login-copy p{font-size:12.5px !important;color:var(--fa-muted) !important;margin:6px 0 0 !important;line-height:1.5 !important}

body.fs-app-2026 #login-view #login-form{display:flex !important;flex-direction:column !important;gap:13px !important;margin:0 !important}
body.fs-app-2026 #login-view #login-form label{
  display:flex !important;flex-direction:column !important;gap:6px !important;
  font-size:10.5px !important;font-weight:650 !important;letter-spacing:.05em !important;
  text-transform:uppercase !important;color:var(--fa-text-2) !important;
}
body.fs-app-2026 #login-view #login-form input{
  height:40px !important;width:100% !important;
  border:1px solid var(--fa-line-2) !important;border-radius:8px !important;
  padding:0 12px !important;font-size:14px !important;font-weight:400 !important;
  text-transform:none !important;letter-spacing:normal !important;
  color:var(--fa-ink) !important;background:var(--fa-surface) !important;box-shadow:none !important;
}
body.fs-app-2026 #login-view #login-form input:focus{
  border-color:var(--fa-accent) !important;box-shadow:0 0 0 3px var(--fa-accent-weak) !important;outline:0 !important;
}
body.fs-app-2026 #login-view #login-form input:-webkit-autofill{
  -webkit-text-fill-color:var(--fa-ink) !important;
  box-shadow:0 0 0 40px var(--fa-surface) inset !important;
  transition:background-color 9999s ease-in-out 0s !important;
}
body.fs-app-2026 #login-view .password-field{position:relative !important;display:flex !important}
body.fs-app-2026 #login-view .password-field input{flex:1 !important;padding-right:66px !important}
body.fs-app-2026 #login-view .password-toggle{
  position:absolute !important;right:4px !important;top:50% !important;transform:translateY(-50%) !important;
  border:0 !important;background:none !important;color:var(--fa-accent-ink) !important;
  height:30px !important;padding:0 10px !important;font-size:11.5px !important;font-weight:600 !important;border-radius:6px !important;
}
body.fs-app-2026 #login-view .password-toggle:hover{background:var(--fa-accent-weak) !important}

body.fs-app-2026 #login-view #login-form button[type=submit],
body.fs-app-2026 #login-view #login-form .button,
body.fs-app-2026 #login-view #login-form .button-full{
  width:100% !important;height:42px !important;margin:2px 0 0 !important;
  background:var(--fa-accent) !important;border:1px solid var(--fa-accent) !important;color:#fff !important;
  font-size:13.5px !important;font-weight:600 !important;border-radius:8px !important;
}
body.fs-app-2026 #login-view #login-form button[type=submit]:hover,
body.fs-app-2026 #login-view #login-form .button:hover{background:var(--fa-accent-ink) !important;border-color:var(--fa-accent-ink) !important}

body.fs-app-2026 #login-view .form-error,
body.fs-app-2026 #login-view #login-error{
  display:block;font-size:11.5px !important;color:var(--fa-bad) !important;
  background:var(--fa-bad-bg) !important;border:1px solid #F0C7C2 !important;border-radius:7px !important;
  padding:9px 11px !important;margin:0 !important;text-transform:none !important;letter-spacing:normal !important;font-weight:500 !important;
}

body.fs-app-2026 #login-view .login-links{
  display:flex !important;flex-direction:column !important;align-items:center !important;
  gap:9px !important;margin:6px 0 0 !important;text-align:center !important;
}
body.fs-app-2026 #login-view .login-links .login-link-strong,
body.fs-app-2026 #login-view .forgot-link,
body.fs-app-2026 #login-view a[href*="esqueci"]{
  font-size:12.5px !important;color:var(--fa-accent-ink) !important;text-decoration:none !important;font-weight:650 !important;
}
body.fs-app-2026 #login-view .login-links .login-link-strong:hover,
body.fs-app-2026 #login-view a[href*="esqueci"]:hover{text-decoration:underline !important}
body.fs-app-2026 #login-view .login-links .login-signup{
  font-size:12.5px !important;color:var(--fa-muted) !important;margin:0 !important;
  text-transform:none !important;letter-spacing:normal !important;font-weight:400 !important;
}
body.fs-app-2026 #login-view .login-links .login-link-back{
  font-size:12px !important;color:var(--fa-muted) !important;text-decoration:none !important;font-weight:550 !important;
}
body.fs-app-2026 #login-view .login-links .login-link-back:hover{color:var(--fa-ink) !important}

body.fs-app-2026 #login-view .fid-sso{
  margin:2px 0 0 !important;padding-top:16px !important;border-top:1px solid var(--fa-line) !important;
  display:flex !important;flex-direction:column !important;gap:8px !important;
}
body.fs-app-2026 #login-view .fid-sso .button,
body.fs-app-2026 #login-view .fid-sso button{
  width:100% !important;height:40px !important;
  background:var(--fa-surface) !important;color:var(--fa-ink) !important;
  border:1px solid var(--fa-line-2) !important;border-radius:8px !important;
  font-size:12.5px !important;font-weight:550 !important;
}
body.fs-app-2026 #login-view .fid-sso .button:hover,
body.fs-app-2026 #login-view .fid-sso button:hover{background:#F7F8FA !important;border-color:#CBCFD6 !important}

body.fs-app-2026 #login-view .login-security,
body.fs-app-2026 #login-view .login-note{
  font-size:10.5px !important;color:var(--fa-muted) !important;text-align:center !important;margin:2px 0 0 !important;line-height:1.5 !important;
}
/* separador "OU" */
body.fs-app-2026 #login-view .login-divider,
body.fs-app-2026 #login-view .or-divider{
  font-size:10px !important;color:var(--fa-muted) !important;text-transform:uppercase;letter-spacing:.1em;text-align:center;
}

/* ========================================================================
   26. AGENDA (#agenda-view, injetada por agenda.js) — repensada
   ======================================================================== */
/* não deixar a tela de Busca/CRM vazar sob a Agenda (body.agenda-mode) */
body.fs-app-2026.agenda-mode #search-topbar,
body.fs-app-2026.agenda-mode #stats-grid,
body.fs-app-2026.agenda-mode #search-filters,
body.fs-app-2026.agenda-mode #search-results,
body.fs-app-2026.agenda-mode #crm-view{display:none !important}

body.fs-app-2026 .agenda-view{display:flex !important;flex-direction:column;padding:0 !important}
body.fs-app-2026 .agenda-view.hidden{display:none !important}
body.fs-app-2026 .agenda-header{
  display:flex !important;align-items:flex-start;gap:16px;
  padding:16px var(--fa-pad-x) 0 !important;margin:0 !important;border:0 !important;background:none !important;
}
body.fs-app-2026 .agenda-header h1,
body.fs-app-2026 .agenda-header h2{font-size:18px !important;font-weight:650 !important;color:var(--fa-ink) !important;margin:1px 0 0 !important}
body.fs-app-2026 .agenda-header p{font-size:12px !important;color:var(--fa-muted) !important;margin:2px 0 0 !important}
body.fs-app-2026 .agenda-eyebrow{font-size:9.5px !important;font-weight:700 !important;letter-spacing:.09em;text-transform:uppercase;color:var(--fa-accent-ink) !important}

/* KPIs da agenda → faixa horizontal */
body.fs-app-2026 .agenda-summary{
  display:flex !important;flex-wrap:wrap;gap:0 !important;
  margin:14px var(--fa-pad-x) 0 !important;padding:0 !important;
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;box-shadow:var(--fa-shadow) !important;overflow:hidden;
}
body.fs-app-2026 .agenda-stat-card{
  flex:1 1 150px;min-width:140px;
  padding:10px 18px !important;margin:0 !important;
  border:0 !important;border-left:1px solid var(--fa-line) !important;border-radius:0 !important;
  background:transparent !important;box-shadow:none !important;
}
body.fs-app-2026 .agenda-stat-card:first-child{border-left:0 !important}
body.fs-app-2026 .agenda-stat-card::before,
body.fs-app-2026 .agenda-stat-card::after{content:none !important;display:none !important}
body.fs-app-2026 .agenda-stat-card > *:first-child{font-size:10px !important;font-weight:650 !important;letter-spacing:.05em;text-transform:uppercase;color:var(--fa-muted) !important}
body.fs-app-2026 .agenda-stat-card strong,
body.fs-app-2026 .agenda-stat-card .agenda-stat-value{font-size:18px !important;font-weight:600 !important;color:var(--fa-ink) !important;font-variant-numeric:tabular-nums}

/* abas → toolbar leve, sem caixa */
body.fs-app-2026 .agenda-tabs{
  display:flex !important;flex-wrap:wrap;gap:6px !important;
  margin:14px var(--fa-pad-x) 0 !important;padding:0 0 12px !important;
  border:0 !important;border-bottom:1px solid var(--fa-line) !important;background:none !important;
}
body.fs-app-2026 .agenda-tab{
  display:inline-flex !important;align-items:center;gap:6px;
  height:28px !important;padding:0 10px !important;border-radius:6px !important;
  border:1px solid transparent !important;background:none !important;
  font-size:12px !important;font-weight:550 !important;color:var(--fa-text-2) !important;
}
body.fs-app-2026 .agenda-tab:hover{background:var(--fa-neutral-bg) !important;color:var(--fa-ink) !important}
body.fs-app-2026 .agenda-tab.active{background:var(--fa-accent-weak) !important;color:var(--fa-accent-ink) !important;border-color:var(--fa-accent-line) !important}
body.fs-app-2026 .agenda-tab .agenda-badge,
body.fs-app-2026 .agenda-tab span:last-child{
  font-size:10.5px !important;font-weight:700 !important;color:var(--fa-muted) !important;
  background:none !important;padding:0 !important;
}

/* lista → sem caixa externa; itens como linhas */
body.fs-app-2026 .agenda-content,
body.fs-app-2026 .agenda-list{
  margin:0 var(--fa-pad-x) !important;padding:0 !important;
  border:0 !important;background:none !important;box-shadow:none !important;
}
body.fs-app-2026 .agenda-list{
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;box-shadow:var(--fa-shadow) !important;overflow:hidden;
  margin-top:14px !important;
}
body.fs-app-2026 .agenda-item{
  display:flex !important;align-items:center;gap:14px;
  padding:12px 16px !important;margin:0 !important;
  border:0 !important;border-bottom:1px solid var(--fa-line) !important;border-radius:0 !important;
  background:none !important;box-shadow:none !important;
}
body.fs-app-2026 .agenda-item:last-child{border-bottom:0 !important}
body.fs-app-2026 .agenda-item:hover{background:#FAFBFF !important}
body.fs-app-2026 .agenda-item-date{
  flex:none;min-width:88px;font-size:11.5px !important;color:var(--fa-text-2) !important;
  font-variant-numeric:tabular-nums;
}
body.fs-app-2026 .agenda-item-main{flex:1;min-width:0}
body.fs-app-2026 .agenda-item-main strong{font-size:13px !important;font-weight:600 !important;color:var(--fa-ink) !important;display:block}
body.fs-app-2026 .agenda-item-meta{font-size:11px !important;color:var(--fa-muted) !important;margin-top:1px}
body.fs-app-2026 .agenda-item-actions{flex:none;display:flex;gap:6px}
body.fs-app-2026 .agenda-item-actions .button{height:28px !important;padding:0 10px !important;font-size:11.5px !important}
body.fs-app-2026 .agenda-item.overdue .agenda-item-date{color:var(--fa-bad) !important;font-weight:600}
body.fs-app-2026 .agenda-badge{
  display:inline-flex;align-items:center;padding:2px 7px !important;border-radius:5px !important;
  font-size:10px !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.03em;
  background:var(--fa-neutral-bg) !important;color:var(--fa-text) !important;border:0 !important;
}
body.fs-app-2026 .agenda-badge.overdue,
body.fs-app-2026 .agenda-badge.pending{background:var(--fa-warn-bg) !important;color:var(--fa-warn) !important}
body.fs-app-2026 .agenda-badge.today{background:var(--fa-accent-weak) !important;color:var(--fa-accent-ink) !important}
body.fs-app-2026 .agenda-badge.meeting{background:var(--fa-ok-bg) !important;color:var(--fa-ok) !important}
body.fs-app-2026 .agenda-empty{
  padding:48px 24px !important;text-align:center !important;
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;margin-top:14px !important;
}

/* 26.b — Agenda: cards de KPI sem min-height legado; fundo do modo agenda neutro */
body.fs-app-2026 .agenda-stat-card{min-height:0 !important;height:auto !important}
body.fs-app-2026.agenda-mode,
body.fs-app-2026.signals-mode{background:var(--fa-bg) !important}
body.fs-app-2026 .agenda-content{min-height:0 !important}

/* ========================================================================
   27. SINAIS DE COMPRA (#signals-view / body.signals-mode) — repensada
   ======================================================================== */
body.fs-app-2026.signals-mode #search-topbar,
body.fs-app-2026.signals-mode #stats-grid,
body.fs-app-2026.signals-mode #search-filters,
body.fs-app-2026.signals-mode #search-results,
body.fs-app-2026.signals-mode #crm-view{display:none !important}

body.fs-app-2026 .signals-header{
  display:flex !important;align-items:flex-start;gap:16px;
  padding:16px var(--fa-pad-x) 0 !important;margin:0 !important;border:0 !important;background:none !important;
}
body.fs-app-2026 .signals-header h1,
body.fs-app-2026 .signals-header h2{font-size:18px !important;font-weight:650 !important;color:var(--fa-ink) !important;margin:1px 0 0 !important}
body.fs-app-2026 .signals-header p{font-size:12px !important;color:var(--fa-muted) !important;margin:2px 0 0 !important}
body.fs-app-2026 .signals-eyebrow{font-size:9.5px !important;font-weight:700 !important;letter-spacing:.09em;text-transform:uppercase;color:var(--fa-accent-ink) !important}
body.fs-app-2026 .signals-header-actions{margin-left:auto;display:flex;gap:8px}

/* KPIs → faixa */
body.fs-app-2026 .signals-summary,
body.fs-app-2026 .signals-stats{
  display:flex !important;flex-wrap:wrap;gap:0 !important;
  margin:14px var(--fa-pad-x) 0 !important;padding:0 !important;
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;box-shadow:var(--fa-shadow) !important;overflow:hidden;
}
body.fs-app-2026 .signals-stat{
  flex:1 1 150px;min-width:140px;padding:10px 18px !important;margin:0 !important;
  border:0 !important;border-left:1px solid var(--fa-line) !important;border-radius:0 !important;
  background:transparent !important;box-shadow:none !important;min-height:0 !important;
}
body.fs-app-2026 .signals-stat:first-child{border-left:0 !important}
body.fs-app-2026 .signals-stat::before,body.fs-app-2026 .signals-stat::after{content:none !important;display:none !important}

/* lista de sinais → cartões compactos numa superfície */
body.fs-app-2026 .signals-content,
body.fs-app-2026 .signals-list{margin:14px var(--fa-pad-x) 0 !important;padding:0 !important;border:0 !important;background:none !important;box-shadow:none !important}
body.fs-app-2026 .signals-list{display:flex !important;flex-direction:column;gap:8px}
body.fs-app-2026 .signal-card{
  display:flex !important;align-items:flex-start;gap:14px;
  padding:14px 16px !important;margin:0 !important;
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;box-shadow:var(--fa-shadow) !important;
}
body.fs-app-2026 .signal-card:hover{border-color:var(--fa-line-2) !important}
body.fs-app-2026 .signal-main{flex:1;min-width:0}
body.fs-app-2026 .signal-company,
body.fs-app-2026 .signal-heading{font-size:13.5px !important;font-weight:600 !important;color:var(--fa-ink) !important}
body.fs-app-2026 .signal-report,
body.fs-app-2026 .signal-agency{font-size:12px !important;color:var(--fa-text-2) !important;margin-top:3px !important;line-height:1.5}
body.fs-app-2026 .signal-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
body.fs-app-2026 .signal-tags > *{
  font-size:10.5px !important;font-weight:600 !important;padding:2px 7px !important;border-radius:5px !important;
  background:var(--fa-neutral-bg) !important;color:var(--fa-text) !important;border:0 !important;
}
body.fs-app-2026 .signal-score{
  flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:52px;padding:6px 8px;border-radius:8px;background:var(--fa-accent-weak) !important;
  color:var(--fa-accent-ink) !important;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;
}
body.fs-app-2026 .signal-score.alta,body.fs-app-2026 .signal-score.high{background:var(--fa-ok-bg) !important;color:var(--fa-ok) !important}
body.fs-app-2026 .signal-score.low{background:var(--fa-neutral-bg) !important;color:var(--fa-muted) !important}
body.fs-app-2026 .signal-status{
  display:inline-flex;align-items:center;gap:5px;padding:2px 8px !important;border-radius:5px !important;
  font-size:10.5px !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.03em;
  background:var(--fa-neutral-bg) !important;color:var(--fa-text) !important;border:0 !important;
}
body.fs-app-2026 .signal-status.novo,body.fs-app-2026 .signal-status.identificado{background:var(--fa-accent-weak) !important;color:var(--fa-accent-ink) !important}
body.fs-app-2026 .signal-status.crm{background:var(--fa-ok-bg) !important;color:var(--fa-ok) !important}
body.fs-app-2026 .signal-status.descartado{background:var(--fa-neutral-bg) !important;color:var(--fa-muted) !important}
body.fs-app-2026 .signal-actions{flex:none;display:flex;flex-direction:column;gap:6px}
body.fs-app-2026 .signal-actions .button{height:28px !important;padding:0 10px !important;font-size:11.5px !important;white-space:nowrap}
body.fs-app-2026 .signals-empty{
  padding:48px 24px !important;text-align:center !important;margin:14px var(--fa-pad-x) 0 !important;
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;background:var(--fa-surface) !important;
}

/* modais de agenda e sinais herdam o chrome de .crm-modal */
body.fs-app-2026 .agenda-modal-overlay,
body.fs-app-2026 .signals-modal-overlay{
  position:fixed !important;inset:0 !important;z-index:220 !important;
  display:flex !important;align-items:center;justify-content:center;
  background:rgba(16,20,30,.5) !important;backdrop-filter:blur(2px);
}
body.fs-app-2026 .agenda-modal-overlay.hidden,
body.fs-app-2026 .signals-modal-overlay.hidden{display:none !important}
body.fs-app-2026 .agenda-modal,
body.fs-app-2026 .signals-modal{
  background:var(--fa-surface) !important;border:1px solid var(--fa-line) !important;
  border-radius:var(--fa-r) !important;box-shadow:var(--fa-shadow-pop) !important;
  max-width:min(680px,94vw) !important;
}
body.fs-app-2026 .agenda-modal-header,
body.fs-app-2026 .signals-modal-header{padding:18px 22px 12px !important;border-bottom:1px solid var(--fa-line) !important}
body.fs-app-2026 .agenda-modal-footer,
body.fs-app-2026 .signals-modal-footer{padding:14px 22px !important;border-top:1px solid var(--fa-line) !important;display:flex;justify-content:flex-end;gap:8px}

/* ========================================================================
   28. CONFIGURAÇÕES (/configuracoes/, shell próprio .app + .sidebar + .nav)
   A camada base (seção 3) força a .sidebar clara; aqui o resto do shell
   de settings acompanha a mesma direção. Escopado por body.fs-app-2026.
   ======================================================================== */
body.fs-app-2026 .app{
  grid-template-columns:var(--fa-sb-w) minmax(0,1fr) !important;
  background:var(--fa-bg) !important;
}
body.fs-app-2026 .app.hidden{display:none !important}

/* sidebar de settings: clara, nav legível em fundo claro, sem amarelo */
body.fs-app-2026 .app > .sidebar{
  width:var(--fa-sb-w) !important;
  background:var(--fa-sb-bg) !important;
  border-right:1px solid var(--fa-sb-edge) !important;
  padding:14px 10px !important;
}
body.fs-app-2026 .app > .sidebar .brand strong,
body.fs-app-2026 .app > .sidebar .brand span{color:var(--fa-ink) !important}
body.fs-app-2026 .app > .sidebar .brand span{color:var(--fa-muted) !important}
body.fs-app-2026 .sidebar-section-label{
  color:var(--fa-muted) !important;font-size:10px !important;font-weight:700 !important;
  letter-spacing:.08em;text-transform:uppercase;padding:12px 8px 5px !important;
}
body.fs-app-2026 .sidebar nav{gap:1px !important}
body.fs-app-2026 .nav{
  min-height:0 !important;height:auto !important;
  padding:7px 9px !important;border-radius:7px !important;
  color:var(--fa-text-2) !important;font-size:13px !important;font-weight:500 !important;
  background:none !important;box-shadow:none !important;position:relative;
}
body.fs-app-2026 .nav svg{width:15px !important;height:15px !important;opacity:.7}
body.fs-app-2026 .nav:hover{background:rgba(20,26,40,.05) !important;color:var(--fa-ink) !important}
body.fs-app-2026 .nav.active{
  background:var(--fa-surface) !important;color:var(--fa-ink) !important;font-weight:600 !important;
  box-shadow:var(--fa-shadow) !important;
}
body.fs-app-2026 .nav.active::before{
  content:"" !important;position:absolute;left:-10px;top:8px;bottom:8px;width:2px;
  border-radius:0 2px 2px 0;background:var(--fa-accent) !important;box-shadow:none !important;
}
body.fs-app-2026 .sidebar-bottom{color:var(--fa-text-2) !important;border-top:1px solid var(--fa-sb-edge) !important;padding-top:10px !important;margin-top:8px !important}
body.fs-app-2026 .sidebar-bottom .button{width:100% !important}

/* header da página de settings */
body.fs-app-2026 .section-title h2,
body.fs-app-2026 .app h1{font-size:19px !important;font-weight:650 !important;color:var(--fa-ink) !important}
body.fs-app-2026 .section-title p{font-size:12.5px !important;color:var(--fa-muted) !important;margin:3px 0 0 !important}

/* KPIs de settings → faixa horizontal */
body.fs-app-2026 .metrics{
  display:flex !important;flex-wrap:wrap;gap:0 !important;margin-bottom:16px !important;
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;box-shadow:var(--fa-shadow) !important;overflow:hidden;
}
body.fs-app-2026 .metric{
  flex:1 1 160px;min-width:150px;
  padding:10px 18px !important;margin:0 !important;
  border:0 !important;border-left:1px solid var(--fa-line) !important;border-radius:0 !important;
  background:transparent !important;box-shadow:none !important;
}
body.fs-app-2026 .metric:first-child{border-left:0 !important}
body.fs-app-2026 .metric:hover{transform:none !important;box-shadow:none !important}
body.fs-app-2026 .metric > span{font-size:10px !important;font-weight:650 !important;letter-spacing:.05em;text-transform:uppercase;color:var(--fa-muted) !important}
body.fs-app-2026 .metric strong{font-size:17px !important;font-weight:600 !important;color:var(--fa-ink) !important;margin:2px 0 0 !important}
body.fs-app-2026 .metric small{font-size:10.5px !important;color:var(--fa-muted) !important}

/* cards de settings: mais leves */
body.fs-app-2026 .card,
body.fs-app-2026 .email-card,
body.fs-app-2026 .support-card,
body.fs-app-2026 .session-card{
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  box-shadow:var(--fa-shadow) !important;padding:18px !important;
}
body.fs-app-2026 .card h3{font-size:14px !important;font-weight:600 !important;color:var(--fa-ink) !important;margin:12px 0 6px !important}
body.fs-app-2026 .section{margin-bottom:20px !important}
body.fs-app-2026 .section.hidden{display:none !important}

/* pill de usuário no topo do settings */
body.fs-app-2026 .app .session-card,
body.fs-app-2026 .app [class*="account-pill"]{border-radius:10px !important}

/* ========================================================================
   29. BUSCA — TABELA DE RESULTADOS (#results-body) repensada
   app.js monta 6 <td>: company-cell, activity-cell, <td>local, contact-cell,
   <td>(badge+capital), <td>(Ver detalhes). Mantém table-layout:fixed do
   patch de colunas; só corrige tipografia/quebra e densidade. NUNCA usar
   min-width:0 em flex-column aqui (colapsa a coluna e quebra letra a letra).
   ======================================================================== */
body.fs-app-2026 #results-body td{
  padding:11px 14px !important;vertical-align:middle !important;
  font-size:12.5px !important;color:var(--fa-text) !important;
  word-break:normal !important;overflow-wrap:normal !important;
}
body.fs-app-2026 #results-body .company-cell,
body.fs-app-2026 #results-body .contact-cell{display:table-cell !important;vertical-align:middle !important;min-width:0}
body.fs-app-2026 #results-body .company-cell > strong,
body.fs-app-2026 #results-body .company-cell > span,
body.fs-app-2026 #results-body .company-cell > .secondary-text{display:block}
body.fs-app-2026 #results-body .company-cell strong{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:13px !important;font-weight:600 !important;color:var(--fa-ink) !important;line-height:1.3 !important;
  white-space:normal !important;word-break:normal !important;
}
body.fs-app-2026 #results-body .company-cell > span{
  display:block;font-size:11px !important;color:var(--fa-muted) !important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;
}
body.fs-app-2026 #results-body .company-cell > span:nth-of-type(1){display:none !important} /* razão redundante */
body.fs-app-2026 #results-body .secondary-text{
  display:block;font-size:10.5px !important;color:var(--fa-muted) !important;margin-top:2px;
  text-transform:none !important;letter-spacing:normal !important;font-weight:400 !important;
}
body.fs-app-2026 #results-body .activity-cell,
body.fs-app-2026 #results-body td:nth-child(3){font-size:12px !important;color:var(--fa-text) !important}
body.fs-app-2026 #results-body .contact-cell > a,
body.fs-app-2026 #results-body .contact-cell > span{display:block}
body.fs-app-2026 #results-body .contact-cell a{
  display:block;font-size:12px !important;color:var(--fa-accent-ink) !important;text-decoration:none;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
body.fs-app-2026 #results-body .contact-cell a:hover{text-decoration:underline}
body.fs-app-2026 #results-body .contact-cell span{font-size:10.5px !important;color:var(--fa-muted) !important}
body.fs-app-2026 #results-body .badge{
  display:inline-flex;align-items:center;padding:2px 8px !important;border-radius:5px !important;
  font-size:10.5px !important;font-weight:600 !important;text-transform:none !important;letter-spacing:0 !important;
  background:var(--fa-neutral-bg) !important;color:var(--fa-text) !important;border:0 !important;
}
body.fs-app-2026 #results-body .table-action{
  height:28px !important;padding:0 12px !important;font-size:11.5px !important;
  background:var(--fa-surface) !important;border:1px solid var(--fa-line-2) !important;color:var(--fa-ink) !important;
  white-space:nowrap;
}
body.fs-app-2026 #results-body .table-action:hover{background:#F7F8FA !important;border-color:#CBCFD6 !important}

/* garante colunas equilibradas na tabela de resultados */
body.fs-app-2026 #search-results table{table-layout:fixed !important;width:100% !important;min-width:0 !important}
body.fs-app-2026 #search-results thead th:nth-child(1){width:24% !important}
body.fs-app-2026 #search-results thead th:nth-child(2){width:19% !important}
body.fs-app-2026 #search-results thead th:nth-child(3){width:15% !important}
body.fs-app-2026 #search-results thead th:nth-child(4){width:18% !important}
body.fs-app-2026 #search-results thead th:nth-child(5){width:12% !important}
body.fs-app-2026 #search-results thead th:nth-child(6){width:12% !important}

/* 28.b — Configurações: marca "F" consistente (sem bitmap antigo na sidebar) */
body.fs-app-2026 .app > .sidebar .brand-symbol,
body.fs-app-2026 .app > .sidebar .logo,
body.fs-app-2026 .app > .sidebar .brand .logo{
  width:24px !important;height:24px !important;min-width:24px !important;min-height:24px !important;
  border-radius:7px !important;overflow:hidden;
  background:linear-gradient(150deg,#16307A,#3B6FF5) !important;
  font-size:0 !important;border:0 !important;
  display:grid !important;place-items:center !important;
}
body.fs-app-2026 .app > .sidebar .brand-symbol img,
body.fs-app-2026 .app > .sidebar .logo img,
body.fs-app-2026 .app > .sidebar .brand img{display:none !important}
body.fs-app-2026 .app > .sidebar .brand-symbol::after,
body.fs-app-2026 .app > .sidebar .logo::after{content:"F";font:700 12px/1 var(--fa-font);color:#fff}


/* 29.b — impede quebra agressiva herdada (overflow-wrap:anywhere) nas colunas de texto */
body.fs-app-2026 #results-body td:nth-child(1),
body.fs-app-2026 #results-body td:nth-child(2),
body.fs-app-2026 #results-body td:nth-child(3),
body.fs-app-2026 #results-body td:nth-child(4){overflow-wrap:normal !important;word-break:normal !important}

/* ========================================================================
   25.b — AUTH (esqueci-senha / redefinir-senha) — .auth-page / .auth-card
   ======================================================================== */
body.fs-app-2026 .auth-page{
  display:flex !important;align-items:center;justify-content:center;
  min-height:100vh;padding:24px;background:var(--fa-bg) !important;
}
body.fs-app-2026 .auth-card{
  width:min(400px,100%) !important;
  background:var(--fa-surface) !important;
  border:1px solid var(--fa-line) !important;border-radius:12px !important;
  box-shadow:var(--fa-shadow) !important;
  padding:30px !important;
  display:flex !important;flex-direction:column;gap:14px;
}
body.fs-app-2026 .auth-card .brand{display:flex !important;align-items:center;gap:10px;margin:0 0 2px}
body.fs-app-2026 .auth-card .brand-mark,
body.fs-app-2026 .auth-card .brand img{
  width:32px !important;height:32px !important;min-width:32px !important;border-radius:8px !important;overflow:hidden;flex:none;
  background:linear-gradient(150deg,#16307A,#3B6FF5) !important;
  display:grid !important;place-items:center;font-size:0 !important;
}
body.fs-app-2026 .auth-card .brand-mark img{display:none !important}
body.fs-app-2026 .auth-card .brand-mark::after{content:"F";font:700 14px/1 var(--fa-font);color:#fff}
body.fs-app-2026 .auth-card .brand strong,
body.fs-app-2026 .auth-card .brand span{font-size:14px !important;font-weight:600 !important;color:var(--fa-ink) !important}
body.fs-app-2026 .auth-card .brand span{color:var(--fa-muted) !important;font-weight:500 !important}
body.fs-app-2026 .auth-card .eyebrow{
  font-size:9.5px !important;font-weight:700 !important;letter-spacing:.09em !important;
  text-transform:uppercase !important;color:var(--fa-accent-ink) !important;margin:0 !important;
}
body.fs-app-2026 .auth-card h1,
body.fs-app-2026 .auth-card .intro h1{font-size:20px !important;font-weight:650 !important;color:var(--fa-ink) !important;margin:2px 0 0 !important;letter-spacing:-.01em !important}
body.fs-app-2026 .auth-card .intro p,
body.fs-app-2026 .auth-card > p{font-size:12.5px !important;color:var(--fa-muted) !important;margin:4px 0 0 !important;line-height:1.5}
body.fs-app-2026 .auth-card label{
  display:flex !important;flex-direction:column;gap:6px;
  font-size:10.5px !important;font-weight:650 !important;letter-spacing:.05em;text-transform:uppercase;color:var(--fa-text-2) !important;
}
body.fs-app-2026 .auth-card input{
  height:40px !important;border:1px solid var(--fa-line-2) !important;border-radius:8px !important;
  padding:0 12px !important;font-size:14px !important;font-weight:400 !important;
  text-transform:none !important;letter-spacing:normal !important;color:var(--fa-ink) !important;background:var(--fa-surface) !important;
}
body.fs-app-2026 .auth-card input:focus{border-color:var(--fa-accent) !important;box-shadow:0 0 0 3px var(--fa-accent-weak) !important;outline:0}
body.fs-app-2026 .auth-card .button.primary,
body.fs-app-2026 .auth-card button[type=submit]{
  width:100% !important;height:42px !important;
  background:var(--fa-accent) !important;border:1px solid var(--fa-accent) !important;color:#fff !important;
  font-size:13.5px !important;font-weight:600 !important;border-radius:8px !important;
}
body.fs-app-2026 .auth-card .button.primary:hover{background:var(--fa-accent-ink) !important;border-color:var(--fa-accent-ink) !important}
body.fs-app-2026 .auth-card .back-link{
  font-size:12px !important;color:var(--fa-accent-ink) !important;text-decoration:none !important;
  font-weight:550 !important;text-align:center;display:block;margin-top:2px;
}
body.fs-app-2026 .auth-card .back-link:hover{text-decoration:underline !important}
body.fs-app-2026 .auth-card .security-note,
body.fs-app-2026 .auth-card .message{
  font-size:10.5px !important;color:var(--fa-muted) !important;text-align:center;line-height:1.5;
  text-transform:none !important;letter-spacing:normal !important;
}
body.fs-app-2026 .auth-card .message.error,
body.fs-app-2026 .auth-card .state.error{
  background:var(--fa-bad-bg) !important;color:var(--fa-bad) !important;border:1px solid #F0C7C2 !important;
  border-radius:7px;padding:9px 11px;text-align:left;
}
body.fs-app-2026 .auth-card .message.success,
body.fs-app-2026 .auth-card .state.success{
  background:var(--fa-ok-bg) !important;color:var(--fa-ok) !important;border:1px solid #BCE3CD !important;
  border-radius:7px;padding:9px 11px;text-align:left;
}
body.fs-app-2026 .auth-card .state.hidden{display:none !important}

/* ========================================================================
   30. PÁGINAS STANDALONE — pagamentos, plano, cadastro, convite, administração
   Direção nova sem quebrar shells bespoke. Escopado por body.fs-app-2026.
   ======================================================================== */

/* marca "F" consistente em qualquer .brand-mark / .brand .logo */
body.fs-app-2026 .brand-mark,
body.fs-app-2026 .brand .logo{
  width:30px !important;height:30px !important;min-width:30px !important;min-height:30px !important;
  border-radius:8px !important;overflow:hidden;flex:none;
  background:linear-gradient(150deg,#16307A,#3B6FF5) !important;
  display:grid !important;place-items:center !important;font-size:0 !important;border:0 !important;
}
body.fs-app-2026 .brand-mark img,
body.fs-app-2026 .brand .logo img,
body.fs-app-2026 .brand > img{display:none !important}
body.fs-app-2026 .brand-mark::after,
body.fs-app-2026 .brand .logo::after{content:"F";font:700 13px/1 var(--fa-font);color:#fff}
body.fs-app-2026 .brand strong{font-size:14px !important;font-weight:600 !important;color:var(--fa-ink) !important}
body.fs-app-2026 .brand span{font-size:11px !important;color:var(--fa-muted) !important}

/* páginas centradas de 1 cartão: cadastro/convite/pagamentos/plano topo */
body.fs-app-2026 .invite-page,
body.fs-app-2026 .page{
  display:flex !important;align-items:flex-start;justify-content:center;
  min-height:100vh;padding:40px 24px;background:var(--fa-bg) !important;
}
body.fs-app-2026 .invite-card,
body.fs-app-2026 .page .content-inner{
  width:min(440px,100%) !important;
  background:var(--fa-surface) !important;border:1px solid var(--fa-line) !important;
  border-radius:12px !important;box-shadow:var(--fa-shadow) !important;padding:30px !important;
  display:flex !important;flex-direction:column;gap:14px;
}
body.fs-app-2026 .invite-card .eyebrow,
body.fs-app-2026 .page .content-inner .eyebrow,
body.fs-app-2026 .eyebrow{
  font-size:9.5px !important;font-weight:700 !important;letter-spacing:.09em !important;
  text-transform:uppercase !important;color:var(--fa-accent-ink) !important;
}
body.fs-app-2026 .invite-card h1,
body.fs-app-2026 .invite-card h2,
body.fs-app-2026 .page .content-inner h1{font-size:19px !important;font-weight:650 !important;color:var(--fa-ink) !important;margin:2px 0 0 !important}
body.fs-app-2026 .invite-card .intro p,
body.fs-app-2026 .invite-card .message,
body.fs-app-2026 .page .subtitle{font-size:12.5px !important;color:var(--fa-muted) !important;line-height:1.5}
body.fs-app-2026 .invite-card .message.error,
body.fs-app-2026 .state.error{background:var(--fa-bad-bg) !important;color:var(--fa-bad) !important;border:1px solid #F0C7C2 !important;border-radius:7px;padding:9px 11px}
body.fs-app-2026 .invite-card .message.success,
body.fs-app-2026 .state.success{background:var(--fa-ok-bg) !important;color:var(--fa-ok) !important;border:1px solid #BCE3CD !important;border-radius:7px;padding:9px 11px}
body.fs-app-2026 .state.hidden{display:none !important}

/* cadastro: features em lista limpa, plano em card sutil, form */
body.fs-app-2026 .page .feature,
body.fs-app-2026 .feature{font-size:12.5px !important;color:var(--fa-text) !important}
body.fs-app-2026 .plan-card,
body.fs-app-2026 .page .plan-card{
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  box-shadow:none !important;background:var(--fa-sunken) !important;padding:14px 16px !important;
}
body.fs-app-2026 .page .form .field label,
body.fs-app-2026 .legal-acceptance{text-transform:none !important;letter-spacing:normal !important}

/* ADMINISTRAÇÃO — shell + tabela */
body.fs-app-2026 .admin-shell{background:var(--fa-bg) !important}
body.fs-app-2026 .admin-shell .container{max-width:1160px !important;margin:0 auto !important;padding:24px !important}
body.fs-app-2026 .admin-shell .page-head h1,
body.fs-app-2026 .admin-shell h1{font-size:19px !important;font-weight:650 !important;color:var(--fa-ink) !important}
body.fs-app-2026 .admin-shell .panel{
  background:var(--fa-surface) !important;border:1px solid var(--fa-line) !important;
  border-radius:var(--fa-r) !important;box-shadow:var(--fa-shadow) !important;padding:0 !important;overflow:hidden;
}
body.fs-app-2026 .admin-shell .panel > *{padding-left:18px;padding-right:18px}
body.fs-app-2026 .admin-shell .table-wrap{overflow-x:auto;border:0 !important;padding:0 !important}
body.fs-app-2026 .admin-shell table{width:100%;border-collapse:collapse;font-size:12.5px}
body.fs-app-2026 .admin-shell thead th{
  background:var(--fa-sunken) !important;text-align:left;
  font-size:10.5px !important;font-weight:650 !important;letter-spacing:.05em;text-transform:uppercase;
  color:var(--fa-muted) !important;padding:9px 14px !important;border-bottom:1px solid var(--fa-line-2) !important;
}
body.fs-app-2026 .admin-shell tbody td{padding:11px 14px !important;border-bottom:1px solid var(--fa-line) !important;color:var(--fa-text) !important}
body.fs-app-2026 .admin-shell tbody tr:hover td{background:#FAFBFF !important}
body.fs-app-2026 .admin-shell .credential{font-family:var(--fa-mono) !important;font-size:11.5px !important}
body.fs-app-2026 .admin-shell .modal .modal-card,
body.fs-app-2026 .modal .modal-card{
  background:var(--fa-surface) !important;border:1px solid var(--fa-line) !important;
  border-radius:var(--fa-r) !important;box-shadow:var(--fa-shadow-pop) !important;
}

/* PAGAMENTOS / PLANO — topo, cartões de resumo */
body.fs-app-2026 .summary,
body.fs-app-2026 .billing-summary{
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  box-shadow:var(--fa-shadow) !important;background:var(--fa-surface) !important;
}
body.fs-app-2026 .notice{
  font-size:12px !important;border-radius:var(--fa-r) !important;
  background:var(--fa-warn-bg) !important;color:var(--fa-warn) !important;border:1px solid #EBD9B0 !important;
}
body.fs-app-2026 .updated{font-size:10.5px !important;color:var(--fa-muted) !important;text-transform:none !important;letter-spacing:normal !important}
body.fs-app-2026 .back,
body.fs-app-2026 .back-link,
body.fs-app-2026 .login-link{font-size:12px !important;color:var(--fa-accent-ink) !important;text-decoration:none !important;font-weight:550 !important}
body.fs-app-2026 .back:hover,
body.fs-app-2026 .back-link:hover{text-decoration:underline !important}

/* plano: banners e cards de direção mais leves */
body.fs-app-2026 .achievement-banner,
body.fs-app-2026 .direction-card,
body.fs-app-2026 .goal-card,
body.fs-app-2026 .identity-card,
body.fs-app-2026 .hero-card{
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  box-shadow:var(--fa-shadow) !important;
}
body.fs-app-2026 .mini-metric,
body.fs-app-2026 .metric-label{font-size:11px !important;color:var(--fa-muted) !important}

/* 30.b — cadastro: H1 controlado, coluna do plano mais leve */
body.fs-app-2026 .page .content-inner h1{font-size:22px !important;line-height:1.2 !important;margin:2px 0 0 !important}
body.fs-app-2026 .page .content-inner .subtitle{font-size:12.5px !important;color:var(--fa-muted) !important;margin:6px 0 0 !important;line-height:1.5}
body.fs-app-2026 .page .plan-summary,
body.fs-app-2026 .page aside{background:var(--fa-surface) !important;border-left:1px solid var(--fa-line) !important}
body.fs-app-2026 .page .plan-summary h2,
body.fs-app-2026 .page aside h2{font-size:20px !important;font-weight:700 !important;color:var(--fa-ink) !important}
body.fs-app-2026 .page .price,
body.fs-app-2026 .page [class*="price"]{color:var(--fa-ink) !important}

/* 30.c — nenhum eyebrow dourado sob a camada (usa o accent-ink) */
body.fs-app-2026 .eyebrow,
body.fs-app-2026 [class*="eyebrow"],
body.fs-app-2026 .plan-summary .eyebrow,
body.fs-app-2026 aside .eyebrow{color:var(--fa-accent-ink) !important}

/* ========================================================================
   31. TOOLTIPS + clareza de UX
   ======================================================================== */
body.fs-app-2026 #fa-tip-layer{
  position:absolute;z-index:9999;max-width:280px;
  background:#10151F;color:#EAF0F7;
  font-size:11.5px;line-height:1.45;font-weight:400;
  padding:8px 11px;border-radius:8px;
  box-shadow:0 6px 24px rgba(10,14,22,.28);
  pointer-events:none;
}
body.fs-app-2026 #fa-tip-layer[hidden]{display:none !important}
body.fs-app-2026 .fa-has-tip{cursor:help}
body.fs-app-2026 button.fa-has-tip,
body.fs-app-2026 .nav-item.fa-has-tip,
body.fs-app-2026 th.fa-has-tip{cursor:pointer}
/* dica visual discreta de que há ajuda */
body.fs-app-2026 #stats-grid .stat-card.fa-has-tip > span::after,
body.fs-app-2026 #crm-view thead th.fa-has-tip::after{
  content:"";display:inline-block;width:12px;height:12px;margin-left:5px;vertical-align:-2px;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A929E' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3'/%3E%3Cline x1='12' y1='17' x2='12' y2='17'/%3E%3C/svg%3E");
  opacity:.7;
}
body.fs-app-2026 .fa-empty-cta{margin-top:14px !important;height:32px !important}

/* ========================================================================
   32. CENTRAL DE E-MAILS (.email-center-*) — tabs compactas, lista legível
   ======================================================================== */
body.fs-app-2026 #email-center-view .email-center-view{display:flex !important;flex-direction:column}
body.fs-app-2026 #email-center-view .email-center-view.hidden{display:none !important}

/* faixa de tabs vira uma linha de chips discretos, rolável */
body.fs-app-2026 #email-center-view .email-center-tabs{
  display:flex !important;flex-wrap:wrap;gap:6px !important;
  margin:14px var(--fa-pad-x) 0 !important;padding:0 0 12px !important;
  border:0 !important;border-bottom:1px solid var(--fa-line) !important;background:none !important;
}
body.fs-app-2026 #email-center-view .email-center-tab{
  display:inline-flex !important;align-items:center;gap:6px;
  height:28px !important;min-height:0 !important;padding:0 10px !important;
  border:1px solid transparent !important;border-radius:6px !important;background:none !important;
  box-shadow:none !important;
  font-size:12px !important;font-weight:550 !important;color:var(--fa-text-2) !important;
}
body.fs-app-2026 #email-center-view .email-center-tab svg{width:14px !important;height:14px !important;opacity:.7}
body.fs-app-2026 #email-center-view .email-center-tab:hover{background:var(--fa-neutral-bg) !important;color:var(--fa-ink) !important}
body.fs-app-2026 #email-center-view .email-center-tab.active,
body.fs-app-2026 #email-center-view .email-center-tab[aria-selected="true"]{
  background:var(--fa-accent-weak) !important;color:var(--fa-accent-ink) !important;border-color:var(--fa-accent-line) !important;
}

/* shell: lista + preview lado a lado, superfície única */
body.fs-app-2026 #email-center-view .email-center-shell{
  display:grid !important;grid-template-columns:minmax(320px,400px) 1fr !important;gap:0 !important;
  margin:14px var(--fa-pad-x) 0 !important;
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;box-shadow:var(--fa-shadow) !important;overflow:hidden;
}
body.fs-app-2026 #email-center-view .email-center-left{border-right:1px solid var(--fa-line) !important;padding:0 !important;background:none !important;overflow-y:auto}
body.fs-app-2026 #email-center-view .email-center-right{padding:0 !important;background:none !important}
body.fs-app-2026 #email-center-view .email-center-list{display:flex !important;flex-direction:column;padding:0 !important;margin:0 !important;border:0 !important;background:none !important}

body.fs-app-2026 #email-center-view .email-message-card{
  display:block !important;padding:12px 16px !important;margin:0 !important;
  border:0 !important;border-bottom:1px solid var(--fa-line) !important;border-radius:0 !important;
  background:none !important;box-shadow:none !important;cursor:pointer;
}
body.fs-app-2026 #email-center-view .email-message-card:hover{background:#FAFBFF !important}
body.fs-app-2026 #email-center-view .email-message-card.active,
body.fs-app-2026 #email-center-view .email-message-card[aria-current="true"]{background:var(--fa-accent-weak) !important}
body.fs-app-2026 #email-center-view .email-message-top{display:flex !important;align-items:baseline;justify-content:space-between;gap:10px}
body.fs-app-2026 #email-center-view .email-message-person{font-size:12.5px !important;font-weight:600 !important;color:var(--fa-ink) !important}
body.fs-app-2026 #email-center-view .email-message-date{font-size:10.5px !important;color:var(--fa-muted) !important;white-space:nowrap}
body.fs-app-2026 #email-center-view .email-message-subject{font-size:12px !important;color:var(--fa-text) !important;margin-top:2px !important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.fs-app-2026 #email-center-view .email-message-address{font-size:10.5px !important;color:var(--fa-muted) !important;margin-top:1px !important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.fs-app-2026 #email-center-view .email-center-badge,
body.fs-app-2026 #email-center-view .email-followup-badge{
  display:inline-flex;align-items:center;gap:4px;margin-top:6px !important;
  padding:2px 7px !important;border-radius:5px !important;
  font-size:10px !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.03em;
  background:var(--fa-neutral-bg) !important;color:var(--fa-text) !important;border:0 !important;
}
body.fs-app-2026 #email-center-view .email-followup-hot{background:var(--fa-bad-bg) !important;color:var(--fa-bad) !important}
body.fs-app-2026 #email-center-view .email-followup-warm{background:var(--fa-warn-bg) !important;color:var(--fa-warn) !important}
body.fs-app-2026 #email-center-view .email-followup-normal{background:var(--fa-accent-weak) !important;color:var(--fa-accent-ink) !important}

/* preview */
body.fs-app-2026 #email-center-view .email-preview-header{padding:16px 20px !important;border-bottom:1px solid var(--fa-line) !important}
body.fs-app-2026 #email-center-view .email-preview-eyebrow{font-size:9.5px !important;color:var(--fa-accent-ink) !important;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
body.fs-app-2026 #email-center-view .email-preview-title{font-size:15px !important;font-weight:650 !important;color:var(--fa-ink) !important;margin:2px 0 0 !important}
body.fs-app-2026 #email-center-view .email-preview-meta{font-size:11.5px !important;color:var(--fa-muted) !important;margin-top:3px !important}
body.fs-app-2026 #email-center-view .email-preview-body{padding:18px 20px !important;font-size:13px !important;color:var(--fa-text) !important;line-height:1.6}
body.fs-app-2026 #email-center-view .email-preview-actions{padding:12px 20px !important;border-top:1px solid var(--fa-line) !important;display:flex;gap:8px}
body.fs-app-2026 #email-center-view .email-preview-actions .button{height:30px !important;font-size:12px !important}
body.fs-app-2026 #email-center-view .email-preview-placeholder,
body.fs-app-2026 #email-center-view .email-center-empty{padding:48px 24px !important;text-align:center !important;color:var(--fa-muted) !important;font-size:12.5px !important}
body.fs-app-2026 #email-center-view .email-center-loading,
body.fs-app-2026 #email-center-view .email-center-loading-v1{padding:32px !important;text-align:center;color:var(--fa-text-2) !important;font-size:12.5px !important}

@media (max-width:900px){
  body.fs-app-2026 #email-center-view .email-center-shell{grid-template-columns:1fr !important}
  body.fs-app-2026 #email-center-view .email-center-left{border-right:0 !important;border-bottom:1px solid var(--fa-line) !important;max-height:50vh}
}

/* ========================================================================
   33. CRM TABELA — refino de legibilidade/operação (2ª passada)
   ======================================================================== */
/* colunas: EMPRESA respira, ações estreitas */
body.fs-app-2026 #crm-view .table-wrapper table{table-layout:fixed !important;width:100% !important}
body.fs-app-2026 #crm-view thead th:nth-child(1){width:30% !important}
body.fs-app-2026 #crm-view thead th:nth-child(2){width:10% !important}
body.fs-app-2026 #crm-view thead th:nth-child(3){width:18% !important}
body.fs-app-2026 #crm-view thead th:nth-child(4){width:15% !important}
body.fs-app-2026 #crm-view thead th:nth-child(5){width:13% !important}
body.fs-app-2026 #crm-view thead th:nth-child(6){width:14% !important}
body.fs-app-2026 #crm-leads-body td{
  padding:12px 14px !important;vertical-align:middle !important;
  border-bottom:1px solid var(--fa-line) !important;box-shadow:none !important;
  overflow:hidden;
}
body.fs-app-2026 #crm-leads-body tr:hover td{background:#FAFBFF !important}
/* nome: 1 linha + reticências (não 2) para achatar a linha */
body.fs-app-2026 #crm-leads-body .company-cell strong{
  display:block !important;-webkit-line-clamp:unset !important;
  white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;
  font-size:13px !important;
}
body.fs-app-2026 #crm-leads-body .company-cell > span{font-size:10.5px !important}
/* próxima ação legível */
body.fs-app-2026 #crm-leads-body td:nth-child(5){font-size:12px !important;color:var(--fa-text) !important}
body.fs-app-2026 #crm-leads-body td:nth-child(5):empty::after,
body.fs-app-2026 #crm-leads-body td:nth-child(5) .muted{color:var(--fa-muted) !important}
/* ações: alinhadas ao centro, sem linhas fantasma */
body.fs-app-2026 #crm-leads-body .crm-row-actions{
  display:flex !important;align-items:center !important;justify-content:flex-end !important;
  gap:6px !important;height:100%;
}
body.fs-app-2026 #crm-leads-body td:last-child{border-left:0 !important}
body.fs-app-2026 #crm-leads-body .crm-row-actions .button,
body.fs-app-2026 #crm-leads-body .crm-row-actions a.button{height:28px !important;padding:0 10px !important;font-size:11.5px !important}

/* 33.b — CRM ações viram ícones (cabem na coluna, linguagem "compacta") */
body.fs-app-2026 #crm-view thead th:nth-child(6){width:96px !important}
body.fs-app-2026 #crm-leads-body td:last-child{overflow:visible !important}
body.fs-app-2026 #crm-leads-body .crm-row-actions{gap:4px !important;flex-wrap:nowrap !important}
body.fs-app-2026 #crm-leads-body .crm-row-actions .button,
body.fs-app-2026 #crm-leads-body .crm-row-actions a.button,
body.fs-app-2026 #crm-leads-body .crm-row-actions .table-action{
  width:30px !important;height:30px !important;padding:0 !important;
  display:inline-grid !important;place-items:center !important;
  font-size:0 !important;line-height:0 !important;border-radius:7px !important;
  position:relative;overflow:hidden;
}
body.fs-app-2026 #crm-leads-body .crm-row-actions .button::before,
body.fs-app-2026 #crm-leads-body .crm-row-actions a.button::before,
body.fs-app-2026 #crm-leads-body .crm-row-actions .table-action::before{
  content:"";width:15px;height:15px;display:block;background:currentColor;
  -webkit-mask:var(--fa-ic) center/contain no-repeat;mask:var(--fa-ic) center/contain no-repeat;
}
/* "Criar e-mail" -> ícone de envelope */
body.fs-app-2026 #crm-leads-body .crm-row-actions [data-crm-contact-id],
body.fs-app-2026 #crm-leads-body .crm-row-actions .button-primary{
  --fa-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
  background:transparent !important;border-color:transparent !important;color:var(--fa-accent) !important;
}
/* "Gerenciar" / abrir -> ícone genérico de ajustes / zap */
body.fs-app-2026 #crm-leads-body .crm-row-actions .button:not(.button-primary):not(.fs-crm-btn-whatsapp){
  --fa-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F4753' stroke-width='2'%3E%3Cline x1='4' y1='21' x2='4' y2='14'/%3E%3Cline x1='4' y1='10' x2='4' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12' y2='3'/%3E%3Cline x1='20' y1='21' x2='20' y2='16'/%3E%3Cline x1='20' y1='12' x2='20' y2='3'/%3E%3Cline x1='1' y1='14' x2='7' y2='14'/%3E%3Cline x1='9' y1='8' x2='15' y2='8'/%3E%3Cline x1='17' y1='16' x2='23' y2='16'/%3E%3C/svg%3E");
  background:transparent !important;border:1px solid transparent !important;color:var(--fa-text) !important;
}
body.fs-app-2026 #crm-leads-body .crm-row-actions .fs-crm-btn-whatsapp{
  --fa-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230E8A50'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.3 4.7 4.8-1.3A10 10 0 1 0 12 2Zm5.3 14.1c-.2.6-1.3 1.2-1.8 1.2-.5.1-1 .1-1.7-.1a12 12 0 0 1-5.2-4.6c-.4-.6-.9-1.5-.9-2.9 0-1.3.7-2 1-2.3.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.4 0 .6l-.4.5-.3.3c-.1.1-.3.3-.1.6.2.4.8 1.3 1.7 2 .9.8 1.7 1 2 1.2.3.1.5.1.7-.1l.7-.9c.2-.2.4-.2.6-.1l1.8.9c.3.1.5.2.5.4.1.2.1.8-.1 1.4Z'/%3E%3C/svg%3E");
  background:transparent !important;border:1px solid transparent !important;color:#0E8A50 !important;
}
/* tooltip por título nas ações-ícone (o JS já injeta aria-label) */

/* 30.d — Administração: marca F, KPIs em faixa, tabela sem clip */
body.fs-app-2026 .admin-shell .topbar{background:var(--fa-surface) !important;border-bottom:1px solid var(--fa-line) !important}
body.fs-app-2026 .admin-shell .brand{display:flex !important;align-items:center;gap:9px}
body.fs-app-2026 .admin-shell .brand img{display:none !important}
body.fs-app-2026 .admin-shell .brand::before{
  content:"F";width:28px;height:28px;flex:none;border-radius:8px;
  background:linear-gradient(150deg,#16307A,#3B6FF5);color:#fff;
  display:grid;place-items:center;font:700 13px/1 var(--fa-font);
}
body.fs-app-2026 .admin-shell .brand::after{content:"Fermenta Sales";font-size:14px;font-weight:600;color:var(--fa-ink)}
body.fs-app-2026 .admin-badge{
  font-size:9.5px !important;font-weight:700 !important;letter-spacing:.08em;text-transform:uppercase;
  color:var(--fa-accent-ink) !important;background:var(--fa-accent-weak) !important;
  padding:3px 8px !important;border-radius:5px !important;
}
body.fs-app-2026 .admin-shell .stats{
  display:flex !important;flex-wrap:wrap;gap:0 !important;margin:16px 0 !important;
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;box-shadow:var(--fa-shadow) !important;overflow:hidden;
}
body.fs-app-2026 .admin-shell .stat{
  flex:1 1 150px;min-width:140px;padding:10px 18px !important;margin:0 !important;
  border:0 !important;border-left:1px solid var(--fa-line) !important;border-radius:0 !important;
  background:transparent !important;box-shadow:none !important;
}
body.fs-app-2026 .admin-shell .stat:first-child{border-left:0 !important}
body.fs-app-2026 .admin-shell .stat-label{font-size:10px !important;font-weight:650 !important;letter-spacing:.05em;text-transform:uppercase;color:var(--fa-muted) !important}
body.fs-app-2026 .admin-shell .stat strong,
body.fs-app-2026 .admin-shell .stat > *:not(.stat-label){font-size:19px !important;font-weight:600 !important;color:var(--fa-ink) !important}
body.fs-app-2026 .admin-shell .table-wrap{width:100% !important;max-width:100% !important;overflow-x:auto !important;border:0 !important}
body.fs-app-2026 .admin-shell table{min-width:1160px}
body.fs-app-2026 .admin-shell .table-wrap{border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important}
body.fs-app-2026 .admin-shell .container{max-width:1200px !important;padding:24px !important}

/* 30.e — /plano/ (painel de crescimento pessoal): contraste no hero escuro */
body.fs-app-2026 .hero-card,
body.fs-app-2026 [class*="hero"][class*="card"]{background:linear-gradient(135deg,#0C1626,#1B3A8F) !important}
body.fs-app-2026 .hero-card *,
body.fs-app-2026 .hero-card h1,
body.fs-app-2026 .hero-card h2,
body.fs-app-2026 .hero-card p,
body.fs-app-2026 .hero-card .eyebrow{color:#EAF0F7 !important}
body.fs-app-2026 .hero-card .eyebrow{color:#9DB8FF !important}
body.fs-app-2026 .hero-card h1,
body.fs-app-2026 .hero-card h2{font-weight:700 !important}

/* ========================================================================
   34. FICHA DA EMPRESA (.ficha-*) — tabs compactas, resumo legível
   ======================================================================== */
body.fs-app-2026 #detail-overlay #detail-title,
body.fs-app-2026 #detail-title,
body.fs-app-2026 .detail-header h2{font-size:17px !important;font-weight:650 !important;letter-spacing:-.005em !important}
body.fs-app-2026 .ficha-tabs{
  display:flex !important;flex-wrap:wrap;gap:6px !important;
  padding:0 !important;margin:14px 0 0 !important;
  border:0 !important;border-bottom:1px solid var(--fa-line) !important;background:none !important;
}
body.fs-app-2026 .ficha-tab{
  display:inline-flex !important;align-items:center;gap:6px;
  height:30px !important;min-height:0 !important;padding:0 12px !important;
  border:1px solid transparent !important;border-radius:7px !important;background:none !important;box-shadow:none !important;
  font-size:12.5px !important;font-weight:550 !important;color:var(--fa-text-2) !important;
}
body.fs-app-2026 .ficha-tab:hover{background:var(--fa-neutral-bg) !important;color:var(--fa-ink) !important}
body.fs-app-2026 .ficha-tab.is-active,
body.fs-app-2026 .ficha-tab.active,
body.fs-app-2026 .ficha-tab[aria-selected="true"]{
  background:var(--fa-accent-weak) !important;color:var(--fa-accent-ink) !important;border-color:var(--fa-accent-line) !important;
}
body.fs-app-2026 .ficha-shell,
body.fs-app-2026 .ficha-panel,
body.fs-app-2026 .ficha-overview{background:none !important;border:0 !important;box-shadow:none !important;padding:0 !important}
body.fs-app-2026 .ficha-summary{
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-surface) !important;box-shadow:var(--fa-shadow) !important;padding:14px 16px !important;
  font-size:13px !important;line-height:1.6 !important;color:var(--fa-text) !important;
}
body.fs-app-2026 .detail-grid{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr)) !important;gap:12px !important}
body.fs-app-2026 .detail-field{
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r-sm) !important;
  padding:9px 12px !important;background:var(--fa-sunken) !important;
}
body.fs-app-2026 .detail-field > *:first-child{font-size:10px !important;font-weight:650 !important;letter-spacing:.05em;text-transform:uppercase;color:var(--fa-muted) !important}
body.fs-app-2026 .detail-field > *:last-child{font-size:13px !important;color:var(--fa-ink) !important;margin-top:2px !important}
body.fs-app-2026 .detail-section h3,
body.fs-app-2026 .detail-section h4{font-size:13px !important;font-weight:600 !important;color:var(--fa-ink) !important;margin:16px 0 8px !important}
body.fs-app-2026 .fit-badge{
  display:inline-flex;align-items:center;gap:5px;padding:2px 8px !important;border-radius:5px !important;
  font-size:10.5px !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.03em;border:0 !important;
}
body.fs-app-2026 .fit-badge--cold{background:var(--fa-neutral-bg) !important;color:var(--fa-muted) !important}
body.fs-app-2026 .fit-badge--warm{background:var(--fa-warn-bg) !important;color:var(--fa-warn) !important}
body.fs-app-2026 .fit-badge--hot{background:var(--fa-ok-bg) !important;color:var(--fa-ok) !important}
body.fs-app-2026 .ficha-empty,
body.fs-app-2026 .ficha-panel .empty-state{padding:40px 24px !important;text-align:center;color:var(--fa-muted) !important;font-size:12.5px !important}

/* ========================================================================
   35. MOBILE — passada abrangente (<=768px)
   ======================================================================== */
@media (max-width:768px){
  body.fs-app-2026 #app-view.app-shell{grid-template-columns:1fr !important;display:block !important}
  body.fs-app-2026 .sidebar{
    position:fixed !important;z-index:130;left:0;top:0;bottom:0;width:264px !important;
    transform:translateX(-100%);transition:transform .22s ease;
  }
  body.fs-app-2026.sidebar-open .sidebar,
  body.fs-app-2026 #app-view.sidebar-open .sidebar,
  body.fs-app-2026 .sidebar.is-open{transform:none !important}
  body.fs-app-2026 .mobile-sidebar-overlay{position:fixed;inset:0;z-index:125;background:rgba(10,14,22,.4)}
  body.fs-app-2026 .main-area{padding:0 0 32px !important}
  /* header/topbar empilha */
  body.fs-app-2026 .topbar,
  body.fs-app-2026 .crm-topbar,
  body.fs-app-2026 .agenda-header,
  body.fs-app-2026 .signals-header{flex-wrap:wrap !important;padding:14px 16px 0 !important}
  body.fs-app-2026 .topbar-actions,
  body.fs-app-2026 .agenda-header > *:last-child{width:100%;margin-left:0 !important;flex-wrap:wrap}
  /* faixas de KPI: 2 colunas */
  body.fs-app-2026 .stats-grid,
  body.fs-app-2026 .crm-summary-grid,
  body.fs-app-2026 .agenda-summary,
  body.fs-app-2026 .admin-shell .stats,
  body.fs-app-2026 .metrics,
  body.fs-app-2026 #stats-grid{margin-inline:16px !important;flex-wrap:wrap !important}
  body.fs-app-2026 .stat-card,
  body.fs-app-2026 .agenda-stat-card,
  body.fs-app-2026 .admin-shell .stat,
  body.fs-app-2026 .metric{flex:1 1 45% !important;min-width:45% !important;border-left:0 !important;border-top:1px solid var(--fa-line) !important}
  /* busca: bar quebra */
  body.fs-app-2026 .fa-searchbar{flex-wrap:wrap;margin-inline:16px !important}
  body.fs-app-2026 .fa-searchbar .field.field-wide{flex:1 1 100% !important}
  body.fs-app-2026 .fa-searchbar #search-button,
  body.fs-app-2026 .fa-ai-chip{flex:1 1 auto}
  body.fs-app-2026 #search-form .filters-grid{grid-template-columns:1fr 1fr !important;margin-inline:16px !important}
  /* toolbars/filtros do CRM e e-mails: coluna */
  body.fs-app-2026 .crm-filter-form{margin-inline:16px !important}
  body.fs-app-2026 .crm-filter-form .field{flex:1 1 100% !important}
  body.fs-app-2026 .email-center-tabs,
  body.fs-app-2026 .agenda-tabs,
  body.fs-app-2026 .ficha-tabs{overflow-x:auto;flex-wrap:nowrap !important;margin-inline:16px !important;-webkit-overflow-scrolling:touch}
  /* tabelas rolam */
  body.fs-app-2026 .table-wrapper,
  body.fs-app-2026 .admin-shell .table-wrap{margin-inline:16px !important}
  body.fs-app-2026 .table-wrapper table{min-width:640px}
  /* modais e drawers ocupam a tela */
  body.fs-app-2026 .crm-modal-card,
  body.fs-app-2026 .detail-drawer,
  body.fs-app-2026 .agenda-modal,
  body.fs-app-2026 .signals-modal{max-width:100% !important;width:100% !important;height:auto !important;max-height:92vh !important;border-radius:12px 12px 0 0 !important}
  body.fs-app-2026 .detail-overlay,
  body.fs-app-2026 .crm-modal{align-items:flex-end !important}
  /* e-mails: lista full width, preview vira tela cheia ao selecionar */
  body.fs-app-2026 #email-center-view .email-center-shell{grid-template-columns:1fr !important}
  body.fs-app-2026 #email-center-view .email-center-left{border-right:0 !important;border-bottom:1px solid var(--fa-line) !important;max-height:none}
  /* conteúdo geral com padding lateral menor */
  body.fs-app-2026 .panel-header,
  body.fs-app-2026 .results-header,
  body.fs-app-2026 .pagination,
  body.fs-app-2026 .filter-actions{margin-inline:16px !important;padding-inline:0 !important}
}

/* ========================================================================
   36. MARCA OFICIAL — usa /uploads/icone-sales.png (ícone da Fermenta Sales)
   no lugar do "F" placeholder, em toda a suíte. Carrega por último.
   (débito: PNG de 693KB — trocar por versão otimizada/SVG quando houver)
   ======================================================================== */
body.fs-app-2026 .sidebar-brand .brand-symbol,
body.fs-app-2026 #login-view .login-brand .brand-symbol,
body.fs-app-2026 .auth-card .brand-mark,
body.fs-app-2026 .brand-mark,
body.fs-app-2026 .brand .logo,
body.fs-app-2026 .app > .sidebar .brand-symbol,
body.fs-app-2026 .app > .sidebar .logo{
  background:transparent url("/uploads/icone-sales.png") center/contain no-repeat !important;
  border:0 !important;box-shadow:none !important;font-size:0 !important;
  border-radius:0 !important;color:transparent !important;
}
body.fs-app-2026 .sidebar-brand .brand-symbol::after,
body.fs-app-2026 #login-view .login-brand .brand-symbol::after,
body.fs-app-2026 .auth-card .brand-mark::after,
body.fs-app-2026 .brand-mark::after,
body.fs-app-2026 .brand .logo::after,
body.fs-app-2026 .app > .sidebar .brand-symbol::after{content:none !important;display:none !important}
body.fs-app-2026 .sidebar-brand .brand-symbol img,
body.fs-app-2026 .brand-mark img,
body.fs-app-2026 .brand img{display:none !important}

/* admin: troca o ::before "F" pela imagem */
body.fs-app-2026 .admin-shell .brand::before{
  content:"" !important;
  background:transparent url("/uploads/icone-sales.png") center/contain no-repeat !important;
  border-radius:0 !important;
}

/* tamanhos por contexto */
body.fs-app-2026 .sidebar-brand .brand-symbol,
body.fs-app-2026 .app > .sidebar .brand-symbol,
body.fs-app-2026 .app > .sidebar .logo{width:26px !important;height:26px !important;min-width:26px !important;min-height:26px !important}
body.fs-app-2026 #login-view .login-brand .brand-symbol,
body.fs-app-2026 .auth-card .brand-mark,
body.fs-app-2026 .brand-mark{width:34px !important;height:34px !important;min-width:34px !important;min-height:34px !important}
body.fs-app-2026 .admin-shell .brand::before{width:30px !important;height:30px !important}

/* 34.b — Ficha 2ª passada: tabs compactas de verdade, menos whitespace */
body.fs-app-2026 #detail-overlay .ficha-shell{display:flex !important;flex-direction:column !important;gap:12px !important}
body.fs-app-2026 #detail-overlay .ficha-tabs{
  display:flex !important;flex-wrap:wrap !important;justify-content:flex-start !important;
  gap:4px !important;margin:0 !important;padding:0 0 10px !important;
  border-bottom:1px solid var(--fa-line) !important;
}
body.fs-app-2026 #detail-overlay .ficha-tab{
  flex:0 0 auto !important;width:auto !important;
  height:30px !important;padding:0 12px !important;border-radius:7px !important;
  border:1px solid transparent !important;background:none !important;box-shadow:none !important;
  font-size:12.5px !important;font-weight:550 !important;color:var(--fa-text-2) !important;
}
body.fs-app-2026 #detail-overlay .ficha-tab.is-active,
body.fs-app-2026 #detail-overlay .ficha-tab.active{
  background:var(--fa-accent-weak) !important;color:var(--fa-accent-ink) !important;border-color:var(--fa-accent-line) !important;
}
body.fs-app-2026 #detail-overlay .ficha-summary{
  padding:12px 14px !important;font-size:12.5px !important;min-height:0 !important;
  border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important;background:var(--fa-sunken) !important;
}
body.fs-app-2026 #detail-overlay .ficha-panels{margin:0 !important;padding:0 !important}
body.fs-app-2026 #detail-overlay .ficha-panel,
body.fs-app-2026 #detail-overlay .ficha-overview{padding:0 !important;background:none !important;border:0 !important}
body.fs-app-2026 #detail-overlay .ficha-overview{
  padding:14px 16px !important;font-size:12.5px !important;color:var(--fa-muted) !important;line-height:1.55 !important;
  border:1px dashed var(--fa-line-2) !important;border-radius:var(--fa-r) !important;background:var(--fa-sunken) !important;
}
body.fs-app-2026 #detail-overlay .fermenta-intelligence-actions{
  display:flex !important;gap:8px !important;margin:0 0 12px !important;flex-wrap:wrap;
}
body.fs-app-2026 #detail-overlay .fermenta-intelligence-actions .button{height:32px !important;font-size:12px !important}
body.fs-app-2026 #detail-content{padding:16px 22px 24px !important}
/* seções de dados: menos respiro vertical */
body.fs-app-2026 #detail-content .detail-section,
body.fs-app-2026 #detail-content > section{margin-top:18px !important}
body.fs-app-2026 #detail-content .detail-section:first-child,
body.fs-app-2026 #detail-content > section:first-child{margin-top:0 !important}

/* ========================================================================
   37. E-MAIL COMPOSER + TRIAGEM IA — consistência e clareza
   ======================================================================== */
/* modal de e-mail: campos e mensagem mais justos */
body.fs-app-2026 #crm-email-body,
body.fs-app-2026 .crm-modal textarea#crm-email-body{min-height:150px !important}
body.fs-app-2026 .crm-modal .field textarea{min-height:88px !important}
/* helper de campo em caixa normal (o "OPCIONAL. USE SOMENTE..." etc) */
body.fs-app-2026 .crm-modal .field small,
body.fs-app-2026 .crm-modal .field .hint,
body.fs-app-2026 .crm-modal .field-hint,
body.fs-app-2026 .crm-modal .field span:not(.pill):not(.badge){
  text-transform:none !important;letter-spacing:normal !important;font-weight:400 !important;
  font-size:10.5px !important;color:var(--fa-muted) !important;
}
/* variáveis de personalização: chips discretos */
body.fs-app-2026 [class*="personaliz"] .button,
body.fs-app-2026 .merge-tags .button{
  height:26px !important;padding:0 9px !important;font-size:11px !important;
  background:var(--fa-surface) !important;border:1px solid var(--fa-line-2) !important;color:var(--fa-text) !important;
}

/* "Gerar rascunho com IA" — capacidade de IA, laranja Fermenta */
body.fs-app-2026 #fermenta-ai-email-draft,
body.fs-app-2026 button[data-fermenta-ai-draft],
body.fs-app-2026 .fermenta-ai-draft-btn{
  background:var(--fa-ai-weak) !important;border:1px solid var(--fa-ai-line) !important;color:#8A3E17 !important;
  font-weight:600 !important;
}

/* painel de Triagem IA — bloco consistente */
body.fs-app-2026 .fermenta-triage,
body.fs-app-2026 #fermenta-triage{
  margin:12px 0 !important;padding:14px 16px !important;
  border:1px solid var(--fa-ai-line) !important;border-radius:var(--fa-r) !important;
  background:var(--fa-ai-weak) !important;box-shadow:none !important;
  display:grid;gap:8px;
}
body.fs-app-2026 .fermenta-triage-head{display:flex !important;align-items:center;gap:8px;flex-wrap:wrap}
body.fs-app-2026 .fermenta-triage h4{
  font-size:13px !important;font-weight:600 !important;color:#8A3E17 !important;margin:0 !important;
  text-transform:none !important;letter-spacing:normal !important;
}
body.fs-app-2026 .fermenta-triage .fermenta-ai-badge{
  background:var(--fa-ai) !important;color:#fff !important;font-size:10px !important;
  padding:2px 7px !important;border-radius:5px !important;font-weight:700;letter-spacing:.03em;text-transform:none !important;
}
body.fs-app-2026 .fermenta-triage textarea,
body.fs-app-2026 .fermenta-triage-in{
  width:100%;min-height:70px;resize:vertical;
  border:1px solid var(--fa-ai-line) !important;border-radius:var(--fa-r-sm) !important;background:var(--fa-surface) !important;
  font-family:var(--fa-font) !important;font-size:13px !important;color:var(--fa-ink) !important;padding:9px 11px !important;
}
body.fs-app-2026 .fermenta-triage textarea:focus{border-color:var(--fa-ai) !important;box-shadow:0 0 0 3px rgba(232,98,44,.15) !important;outline:0}
body.fs-app-2026 .fermenta-triage [data-triage-run],
body.fs-app-2026 .fermenta-triage .button-primary{
  background:var(--fa-ai) !important;border-color:var(--fa-ai) !important;color:#fff !important;
  height:34px !important;font-size:12.5px !important;font-weight:600 !important;width:auto !important;justify-self:start;padding:0 16px !important;
}
body.fs-app-2026 .fermenta-triage [data-triage-run]:hover{background:#CF521F !important;border-color:#CF521F !important}
body.fs-app-2026 .fermenta-triage-out{font-size:12.5px !important;color:var(--fa-text) !important;line-height:1.55}
body.fs-app-2026 .fermenta-triage-out p{margin:6px 0 0 !important}
body.fs-app-2026 .fermenta-triage-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
body.fs-app-2026 .fermenta-triage-badge{
  display:inline-flex;align-items:center;padding:2px 8px !important;border-radius:5px !important;
  font-size:10.5px !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.03em;border:0 !important;
}
body.fs-app-2026 .fermenta-triage-badge--positivo{background:var(--fa-ok-bg) !important;color:var(--fa-ok) !important}
body.fs-app-2026 .fermenta-triage-badge--negativo,
body.fs-app-2026 .fermenta-triage-badge--alta{background:var(--fa-bad-bg) !important;color:var(--fa-bad) !important}
body.fs-app-2026 .fermenta-triage-badge--media{background:var(--fa-warn-bg) !important;color:var(--fa-warn) !important}
body.fs-app-2026 .fermenta-triage-badge--intent{background:var(--fa-accent-weak) !important;color:var(--fa-accent-ink) !important}

/* prévia lateral do e-mail: sóbria */
body.fs-app-2026 .crm-modal [class*="preview"],
body.fs-app-2026 .crm-modal .email-preview{background:var(--fa-sunken) !important;border:1px solid var(--fa-line) !important;border-radius:var(--fa-r) !important}

/* ========================================================================
   38. ONBOARDING "Primeiros passos" (dispensável)
   ======================================================================== */
body.fs-app-2026 #fa-onboarding{
  margin:14px var(--fa-pad-x) 0 !important;
  border:1px solid var(--fa-accent-line) !important;border-radius:var(--fa-r) !important;
  background:linear-gradient(180deg,var(--fa-accent-weak),var(--fa-surface)) !important;
  box-shadow:var(--fa-shadow) !important;padding:16px 18px !important;
}
body.fs-app-2026 .fa-onb-head{display:flex !important;align-items:flex-start;gap:12px}
body.fs-app-2026 .fa-onb-head strong{display:block;font-size:13.5px !important;font-weight:650 !important;color:var(--fa-ink) !important}
body.fs-app-2026 .fa-onb-head span{display:block;font-size:11.5px !important;color:var(--fa-text-2) !important;margin-top:2px}
body.fs-app-2026 .fa-onb-close{
  margin-left:auto;flex:none;width:26px;height:26px;border:0;background:none;
  color:var(--fa-muted);font-size:17px;border-radius:6px;line-height:1;
}
body.fs-app-2026 .fa-onb-close:hover{background:rgba(20,26,40,.06);color:var(--fa-ink)}
body.fs-app-2026 .fa-onb-prog{
  height:5px;border-radius:999px;background:var(--fa-line);overflow:hidden;margin:10px 0 0;
}
body.fs-app-2026 .fa-onb-prog > i{display:block;height:100%;background:var(--fa-accent);transition:width .25s ease}
body.fs-app-2026 .fa-onb-steps{list-style:none;margin:10px 0 0 !important;padding:0 !important;display:grid;gap:8px}
body.fs-app-2026 .fa-onb-steps li{
  display:flex !important;align-items:center;gap:11px;
  padding:10px 12px;border:1px solid var(--fa-line) !important;border-radius:var(--fa-r-sm);background:var(--fa-surface);
}
body.fs-app-2026 .fa-onb-steps li.is-done{opacity:.55}
body.fs-app-2026 .fa-onb-steps li.is-done b{text-decoration:line-through}
body.fs-app-2026 .fa-onb-check{
  flex:none;width:19px;height:19px;border:1.5px solid var(--fa-line-2);border-radius:6px;
  background:var(--fa-surface);cursor:pointer;position:relative;
}
body.fs-app-2026 .fa-onb-steps li.is-done .fa-onb-check{background:var(--fa-ok);border-color:var(--fa-ok)}
body.fs-app-2026 .fa-onb-steps li.is-done .fa-onb-check::after{
  content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
body.fs-app-2026 .fa-onb-txt{flex:1;min-width:0}
body.fs-app-2026 .fa-onb-txt b{font-size:12.5px !important;font-weight:650 !important;color:var(--fa-ink) !important;display:block}
body.fs-app-2026 .fa-onb-txt span{font-size:11.5px !important;color:var(--fa-text-2) !important;display:block;margin-top:1px;line-height:1.4}
body.fs-app-2026 .fa-onb-go{
  flex:none;align-self:center;padding:6px 12px;border-radius:7px;cursor:pointer;
  border:1px solid var(--fa-accent-line) !important;background:var(--fa-surface) !important;
  color:var(--fa-accent-ink) !important;font-size:11.5px !important;font-weight:650 !important;
}
body.fs-app-2026 .fa-onb-go:hover{background:var(--fa-accent-weak) !important}
body.fs-app-2026 .fa-onb-steps li.is-done .fa-onb-go{display:none}
@media (max-width:600px){
  body.fs-app-2026 .fa-onb-steps li{flex-wrap:wrap}
  body.fs-app-2026 .fa-onb-go{width:100%;margin-top:4px}
}
@media (max-width:768px){ body.fs-app-2026 #fa-onboarding{margin-inline:16px !important} }

/* ========================================================================
   39. ACESSIBILIDADE — contraste, foco, alvos de clique
   ======================================================================== */
/* contraste: texto "muted" real sobe para >= AA (4.5:1 em branco).
   O tom mais claro fica só para linhas decorativas/ícones. */
:root{
  --fa-muted:#6A7180;   /* era #8A929E (2.9:1) → agora ~4.6:1 */
  --fa-text-2:#535B6A;  /* reforça o secundário */
}
/* foco visível consistente em TUDO que é interativo */
body.fs-app-2026 a:focus-visible,
body.fs-app-2026 button:focus-visible,
body.fs-app-2026 [role="button"]:focus-visible,
body.fs-app-2026 input:focus-visible,
body.fs-app-2026 select:focus-visible,
body.fs-app-2026 textarea:focus-visible,
body.fs-app-2026 .nav-item:focus-visible,
body.fs-app-2026 .ficha-tab:focus-visible,
body.fs-app-2026 .email-center-tab:focus-visible,
body.fs-app-2026 .agenda-tab:focus-visible,
body.fs-app-2026 .fa-ai-chip:focus-visible,
body.fs-app-2026 .crm-status-select:focus-visible,
body.fs-app-2026 .fa-onb-check:focus-visible,
body.fs-app-2026 .crm-row-actions .button:focus-visible{
  outline:2px solid var(--fa-accent) !important;
  outline-offset:2px !important;
  border-radius:6px;
}
/* dentro da sidebar, o outline pra dentro pra não vazar */
body.fs-app-2026 .sidebar .nav-item:focus-visible,
body.fs-app-2026 .sidebar-settings-link:focus-visible{outline-offset:-2px !important}
/* alvo de clique mínimo nas ações-ícone (mantém o visual 30px, área 34) */
body.fs-app-2026 .crm-row-actions .button,
body.fs-app-2026 .crm-row-actions a.button{position:relative}
body.fs-app-2026 .crm-row-actions .button::after{content:"";position:absolute;inset:-4px}
/* placeholders com contraste suficiente */
body.fs-app-2026 input::placeholder,
body.fs-app-2026 textarea::placeholder{color:#8A929E !important;opacity:1}
/* badges/pills: garante contraste do texto sobre o fundo fraco */
body.fs-app-2026 .lead-status,
body.fs-app-2026 .status-badge,
body.fs-app-2026 .agenda-badge,
body.fs-app-2026 .signal-status{font-weight:650 !important}
/* respeita reduce-motion */
@media (prefers-reduced-motion: reduce){
  body.fs-app-2026 *,
  body.fs-app-2026 *::before,
  body.fs-app-2026 *::after{animation-duration:.001s !important;transition-duration:.001s !important}
}

/* ========================================================================
   40. AJUSTES DE PRODUTO — feedback Gabriel (2026-08-31)
   ======================================================================== */
/* nav: remove "Minha prospecção" da experiência pública (feedback Gabriel).
   O link é injetado por /private-prospecting-link-v1.js como
   <a data-private-prospecting-link href="/prospeccao/">. Escondemos pelo
   atributo exato e pelo href — o seletor antigo href*="minha-prospeccao"
   nunca casava. "Guia de prospecção" fica: uso pessoal, mas Gabriel pediu manter. */
body.fs-app-2026 a[data-private-prospecting-link],
body.fs-app-2026 .sidebar-footer a[href="/prospeccao/"],
body.fs-app-2026 .sidebar a[href^="/prospeccao"],
body.fs-app-2026 a[href*="minha-prospeccao"],
body.fs-app-2026 .nav-item[href*="minha-prospeccao"]{display:none !important}

/* "Pontuar com IA": sai da tela por padrão (recurso de poder, pouco claro).
   Continua acessível via a ficha da empresa quando fizer sentido. */
body.fs-app-2026 .fermenta-fit-btn,
body.fs-app-2026 button[title^="Pontua as empresas"]{display:none !important}

/* Criar e-mail: a IA faz o pesado. Campos manuais avançados ficam recolhidos. */
body.fs-app-2026 .crm-modal .field:has(#crm-email-servico),
body.fs-app-2026 .crm-modal .field:has(#crm-email-cenario),
body.fs-app-2026 .crm-modal .field:has(#crm-email-nicho),
body.fs-app-2026 .crm-modal .field:has(#crm-email-gancho),
body.fs-app-2026 .crm-modal .field:has([id*="etapa"]),
body.fs-app-2026 .crm-modal .field:has([id*="cenario"]),
body.fs-app-2026 .crm-modal .field:has([id*="nicho"]),
body.fs-app-2026 .crm-modal .field:has([id*="gancho"]),
body.fs-app-2026 .crm-modal .field:has([id*="servico"]){display:none !important}
body.fs-app-2026 #crm-email-modal.fa-adv-open .crm-modal .field:has([id*="etapa"]),
body.fs-app-2026 #crm-email-modal.fa-adv-open .crm-modal .field:has([id*="cenario"]),
body.fs-app-2026 #crm-email-modal.fa-adv-open .crm-modal .field:has([id*="nicho"]),
body.fs-app-2026 #crm-email-modal.fa-adv-open .crm-modal .field:has([id*="gancho"]),
body.fs-app-2026 #crm-email-modal.fa-adv-open .crm-modal .field:has([id*="servico"]){display:flex !important}
body.fs-app-2026 .fa-email-adv-toggle{
  display:inline-flex;align-items:center;gap:6px;margin:4px 0 8px;
  background:none;border:0;color:var(--fa-text-2);font-size:12px;font-weight:550;cursor:pointer;
}
body.fs-app-2026 .fa-email-adv-toggle svg{width:13px;height:13px;transition:transform .15s}
body.fs-app-2026 #crm-email-modal.fa-adv-open .fa-email-adv-toggle svg{transform:rotate(90deg)}

/* prévia do e-mail: não quebrar título palavra a palavra */
body.fs-app-2026 .email-preview-title,
body.fs-app-2026 .crm-modal [class*="preview"] h3,
body.fs-app-2026 .crm-modal [class*="preview"] h4,
body.fs-app-2026 .crm-modal [class*="preview"] strong{white-space:normal !important;word-break:normal !important;overflow-wrap:normal !important}
body.fs-app-2026 .crm-modal [class*="preview"]{min-width:220px}

/* ========================================================================
   41. SISTEMA DE ÍCONES — peso, tamanho e alvo de clique padronizados
   (feedback Gabriel 2026-08-31). Um só estilo: traço 1.75, cantos
   arredondados, grade 24. Ícones cheios (WhatsApp, marca) ficam intactos.
   ======================================================================== */
/* normaliza o traço/junção de todo ícone dentro de controles */
body.fs-app-2026 :is(button, a, .nav-item, .ficha-tab, .email-center-tab,
  .agenda-tab, .table-action, .icon-button, [role="button"]) svg{
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
/* traço consistente só onde o ícone é "de contorno" (usa currentColor) */
body.fs-app-2026 :is(button, a, .nav-item, .table-action) svg[stroke="currentColor"],
body.fs-app-2026 :is(button, a, .nav-item, .table-action) svg[fill="none"]{
  stroke-width:1.75 !important;
}
/* tamanho padrão do glifo dentro de controle com texto */
body.fs-app-2026 :is(.nav-item, .sidebar-settings-link) svg{width:18px !important;height:18px !important;flex:none}
body.fs-app-2026 :is(.ficha-tab, .email-center-tab, .agenda-tab) svg{width:15px !important;height:15px !important;flex:none}
body.fs-app-2026 .topbar-actions .button svg,
body.fs-app-2026 .detail-header .button svg{width:15px !important;height:15px !important}

/* --- botões só-ícone: alvo de clique uniforme (>=32px) + foco visível --- */
body.fs-app-2026 :is(
  .close-button, #close-detail, .crm-modal-header button, .detail-header button.icon-only,
  .agenda-modal-close, .signals-modal-close, .sidebar-toggle, .topbar .icon-button,
  .email-center-close, .modal-close, .drawer-close
){
  width:32px !important;height:32px !important;padding:0 !important;
  display:inline-grid !important;place-items:center !important;
  border-radius:8px !important;line-height:0 !important;
}
body.fs-app-2026 :is(.close-button, #close-detail, .modal-close, .drawer-close,
  .agenda-modal-close, .signals-modal-close, .email-center-close) svg{width:16px !important;height:16px !important}
body.fs-app-2026 :is(button, a).fa-has-tip:focus-visible,
body.fs-app-2026 .crm-row-actions .button:focus-visible,
body.fs-app-2026 .close-button:focus-visible,
body.fs-app-2026 .sidebar-toggle:focus-visible{
  outline:2px solid var(--fa-accent) !important;outline-offset:2px !important;
}

/* --- CRM: "Gerenciar" deixa de ser sliders (ambíguo) e vira "abrir lead" --- */
body.fs-app-2026 #crm-leads-body .crm-row-actions .button:not(.button-primary):not(.fs-crm-btn-whatsapp),
body.fs-app-2026 #crm-leads-body .crm-row-actions [data-crm-manage-id]{
  --fa-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F4753' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6'/%3E%3Cpath d='m21 3-9 9'/%3E%3Cpath d='M15 3h6v6'/%3E%3C/svg%3E") !important;
}
/* área de clique das ações da linha do CRM: 32px, foco visível */
body.fs-app-2026 #crm-leads-body .crm-row-actions .button,
body.fs-app-2026 #crm-leads-body .crm-row-actions a.button,
body.fs-app-2026 #crm-leads-body .crm-row-actions .table-action{width:32px !important;height:32px !important}
body.fs-app-2026 #crm-leads-body .crm-row-actions .button::before{width:16px;height:16px}

/* --- WhatsApp oficial: só onde É whatsapp. Em qualquer outro lugar, some --- */
body.fs-app-2026 .wa-brand-icon:not(.fs-crm-btn-whatsapp):not([href*="wa.me"]):not([href*="whatsapp"]){filter:none}

/* ------------------------------------------------------------------------
   41.b — CRM ações da linha. Dois defeitos do legado:
   (1) decisores.js aninha um <div class="crm-row-actions"> DENTRO do
       <td class="crm-row-actions"> — o WhatsApp ficava solto e abria um vão;
   (2) a seção 33 deixa o <td> como flex, que num <tr> sem altura definida
       encolhe e cola o grupo no topo da linha (linhas de contato têm 3
       linhas de texto → ~83px → ícones ~13px acima do resto).
   Solução: <td> volta a ser table-cell (vertical-align:middle nativo casa
   com o <select> de status ao lado); o wrapper aninhado vira display:contents;
   os 3 botões são caixas inline de 32px com vertical-align:middle. */
body.fs-app-2026 #crm-leads-body .crm-row-actions .crm-row-actions{
  display:contents !important;
}
body.fs-app-2026 #crm-leads-body td.crm-row-actions{
  display:table-cell !important;
  vertical-align:middle !important;   /* centra a caixa de linha (32px) na célula */
  text-align:right !important;
  white-space:nowrap !important;
  width:128px !important;
  padding:0 14px 0 8px !important;
  height:auto !important;min-height:0 !important;
  font-size:0 !important;             /* mata o whitespace entre os botões */
  line-height:0 !important;           /* sem leading -> a caixa de linha = 32px exatos */
}
body.fs-app-2026 #crm-view thead th:nth-child(6){width:128px !important}
/* cada alvo: caixa idêntica de 32px, glifo centrado.
   vertical-align:top (não middle): com font-size/line-height 0, 'middle' jogava
   os botões ~6px pra cima. Como os 3 têm a mesma altura, 'top' os deixa
   alinhados entre si e a célula (table-cell + vertical-align:middle) centra o conjunto. */
body.fs-app-2026 #crm-leads-body td.crm-row-actions .button,
body.fs-app-2026 #crm-leads-body td.crm-row-actions a.button,
body.fs-app-2026 #crm-leads-body td.crm-row-actions .table-action{
  width:32px !important;height:32px !important;padding:0 !important;
  margin:0 0 0 6px !important;
  display:inline-grid !important;place-items:center !important;
  vertical-align:top !important;box-sizing:border-box !important;
  float:none !important;position:relative !important;line-height:0 !important;
}
body.fs-app-2026 #crm-leads-body td.crm-row-actions .button::before,
body.fs-app-2026 #crm-leads-body td.crm-row-actions a.button::before,
body.fs-app-2026 #crm-leads-body td.crm-row-actions .table-action::before{
  width:16px !important;height:16px !important;margin:0 !important;align-self:center !important;
}

/* ------------------------------------------------------------------------
   41.c — ações da linha do CRM: SÓ ícone, sem caixa.
   Sem fundo/borda em repouso; hit-area 34px; hover = fundo suave;
   foco = anel acessível. WhatsApp = verde discreto no próprio glifo;
   e-mail = azul; abrir = neutro. Alinhamento por grid, sem hacks.
   Este bloco é o último — vence as seções 33.b / 41.b anteriores.
   ---------------------------------------------------------------------- */
body.fs-app-2026 #crm-leads-body td.crm-row-actions .button,
body.fs-app-2026 #crm-leads-body td.crm-row-actions a.button,
body.fs-app-2026 #crm-leads-body td.crm-row-actions .table-action{
  width:34px !important;height:34px !important;margin:0 0 0 2px !important;padding:0 !important;
  display:inline-grid !important;place-items:center !important;vertical-align:middle !important;
  background:transparent !important;border:1px solid transparent !important;box-shadow:none !important;
  border-radius:8px !important;color:var(--fa-text) !important;overflow:visible !important;
  transition:background .12s ease,color .12s ease !important;
}
body.fs-app-2026 #crm-leads-body td.crm-row-actions .button:hover,
body.fs-app-2026 #crm-leads-body td.crm-row-actions a.button:hover,
body.fs-app-2026 #crm-leads-body td.crm-row-actions .table-action:hover{
  background:var(--fa-line) !important;color:var(--fa-ink) !important;
}
body.fs-app-2026 #crm-leads-body td.crm-row-actions .button:focus-visible,
body.fs-app-2026 #crm-leads-body td.crm-row-actions a.button:focus-visible,
body.fs-app-2026 #crm-leads-body td.crm-row-actions .table-action:focus-visible{
  outline:2px solid var(--fa-accent) !important;outline-offset:2px !important;
}
body.fs-app-2026 #crm-leads-body td.crm-row-actions .button::before,
body.fs-app-2026 #crm-leads-body td.crm-row-actions a.button::before,
body.fs-app-2026 #crm-leads-body td.crm-row-actions .table-action::before{
  width:17px !important;height:17px !important;background:currentColor !important;
}
/* e-mail = glifo azul */
body.fs-app-2026 #crm-leads-body td.crm-row-actions [data-crm-contact-id],
body.fs-app-2026 #crm-leads-body td.crm-row-actions .button-primary{
  background:transparent !important;border-color:transparent !important;color:var(--fa-accent) !important;
}
body.fs-app-2026 #crm-leads-body td.crm-row-actions [data-crm-contact-id]:hover,
body.fs-app-2026 #crm-leads-body td.crm-row-actions .button-primary:hover{
  background:var(--fa-accent-weak) !important;color:var(--fa-accent-ink) !important;
}
/* WhatsApp = verde discreto, sem caixa verde.
   'a.fs-crm-btn-whatsapp' p/ vencer 'td.crm-row-actions a.button{color:var(--fa-text)}'. */
body.fs-app-2026 #crm-leads-body td.crm-row-actions a.fs-crm-btn-whatsapp,
body.fs-app-2026 #crm-leads-body td.crm-row-actions .fs-crm-btn-whatsapp{
  background:transparent !important;border-color:transparent !important;color:#0E8A50 !important;
}
body.fs-app-2026 #crm-leads-body td.crm-row-actions a.fs-crm-btn-whatsapp:hover,
body.fs-app-2026 #crm-leads-body td.crm-row-actions .fs-crm-btn-whatsapp:hover{
  background:var(--fa-ok-bg) !important;color:#0E8A50 !important;
}

/* ------------------------------------------------------------------------
   6.b — BARRA DE BUSCA: altura única para input + 3 botões.
   Antes: input 32px, "Buscar com IA" 42px, "Envio personalizado" 32px
   (injetado pelo bulk-email.js, nunca recebeu regra), "Pesquisar" 42px —
   e desalinhados verticalmente. Token único, um só ponto de verdade.
   Este bloco é o último → vence as regras anteriores da seção 6.
   ---------------------------------------------------------------------- */
:root{ --fa-searchh:44px; }
body.fs-app-2026 .fa-searchbar{
  display:flex !important;align-items:center !important;gap:8px !important;flex-wrap:wrap;
}
body.fs-app-2026 .fa-searchbar > *{ align-self:center !important; }
body.fs-app-2026 .fa-searchbar .field.field-wide{
  flex:1 1 320px !important;min-width:0 !important;margin:0 !important;
  height:var(--fa-searchh) !important;
  display:flex !important;flex-direction:row !important;
  align-items:center !important;justify-content:stretch !important;
  gap:0 !important;font-size:0 !important;
}
/* o rótulo redundante ("Empresa, CNPJ ou atividade") sai da barra — o placeholder já diz */
body.fs-app-2026 .fa-searchbar .field.field-wide > *:not(input){display:none !important;}
body.fs-app-2026 .fa-searchbar .field.field-wide input,
body.fs-app-2026 .fa-searchbar #filter-query,
body.fs-app-2026 .fa-searchbar #search-button,
body.fs-app-2026 .fa-searchbar .fa-ai-chip,
body.fs-app-2026 .fa-searchbar .fs-bulk-launch,
body.fs-app-2026 .fa-searchbar .button{
  height:var(--fa-searchh) !important;min-height:var(--fa-searchh) !important;
  box-sizing:border-box !important;line-height:1 !important;
  display:inline-flex !important;align-items:center !important;
  font-size:13px !important;
}
body.fs-app-2026 .fa-searchbar .field.field-wide input,
body.fs-app-2026 .fa-searchbar #filter-query{
  display:block !important;width:100% !important;
  padding-top:0 !important;padding-bottom:0 !important;
}
/* vence body.fs-app-2026 #search-filters .field input (1,2,2) — este é (1,3,2) */
body.fs-app-2026 .fa-searchbar .field-wide input#filter-query{
  height:var(--fa-searchh) !important;
  min-height:var(--fa-searchh) !important;
  max-height:var(--fa-searchh) !important;
}
body.fs-app-2026 .fa-searchbar #search-button,
body.fs-app-2026 .fa-searchbar .fa-ai-chip,
body.fs-app-2026 .fa-searchbar .fs-bulk-launch{
  padding:0 16px !important;white-space:nowrap !important;justify-content:center !important;
}
body.fs-app-2026 .fa-searchbar .fa-ai-chip svg,
body.fs-app-2026 .fa-searchbar #search-button svg,
body.fs-app-2026 .fa-searchbar .fs-bulk-launch svg{
  width:15px !important;height:15px !important;flex:none;
}
@media (max-width:720px){
  body.fs-app-2026 .fa-searchbar .field.field-wide{flex:1 1 100% !important;}
  body.fs-app-2026 .fa-searchbar #search-button,
  body.fs-app-2026 .fa-searchbar .fa-ai-chip,
  body.fs-app-2026 .fa-searchbar .fs-bulk-launch{flex:1 1 auto;}
}

/* ===== §NL — chips de busca interpretada ("Entendi: Odontologia · Goiânia/GO") */
.fa-nl-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.fa-nl-chips__lab{font-size:12px;color:var(--fa-text-soft,#6a7180);font-weight:600}
.fa-nl-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 6px 0 10px;
  border:1px solid var(--fa-accent-line,#c9d6ef);background:var(--fa-accent-wash,#eef3fd);
  color:var(--fa-accent-hi,#1e3fbf);border-radius:999px;font-size:12px;font-weight:600}
.fa-nl-chip__x{border:0;background:none;color:inherit;font-size:15px;line-height:1;cursor:pointer;
  padding:0 2px;opacity:.7}
.fa-nl-chip__x:hover{opacity:1}

/* chip de INFERÊNCIA/IA — visualmente distinto do filtro da base */
.fa-nl-chip--ia{border-color:var(--fa-line,#e6e8ec);background:var(--fa-surface,#fff);
  color:var(--fa-text,#3f4753);border-style:dashed;cursor:help}
.fa-nl-chip__tag{font-size:9px;font-weight:800;letter-spacing:.06em;background:var(--fa-ai,#7b3fe4);
  color:#fff;border-radius:3px;padding:1px 4px;margin-right:2px}

/* chip de PREFERÊNCIA — só melhora o ranking, não filtra */
.fa-nl-chip--pref{border-color:var(--fa-line,#e6e8ec);background:var(--fa-surface,#fff);
  color:var(--fa-text-soft,#6a7180);border-style:dotted;cursor:help}
.fa-nl-chip--pref .fa-nl-chip__tag{background:#6a7180}

/* trecho não aplicado — aviso discreto, nunca vira filtro */
.fa-nl-chips__un{font-size:11px;color:var(--fa-text-soft,#8a909c);font-style:italic;cursor:help}

/* ========================================================================
   34. CRM LEADS — lista harmônica (hover claro, linhas com respiro)
   Sobrescreve o hover quase-invisível #FAFBFF e blinda a cor do texto.
   ======================================================================== */
body.fs-app-2026 #crm-view .crm-table-wrapper{
  border:1px solid var(--fa-line) !important;border-radius:14px !important;
  background:var(--fa-surface) !important;overflow:hidden !important;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 12px 34px -22px rgba(16,20,28,.22),0 2px 8px -4px rgba(16,20,28,.07) !important;
}
body.fs-app-2026 #crm-view .crm-table-wrapper thead th{
  background:linear-gradient(180deg,#fff,#FBFCFE) !important;
  border-bottom:1px solid var(--fa-line) !important;
  font-size:11px !important;font-weight:700 !important;letter-spacing:.05em !important;
  text-transform:uppercase !important;color:var(--fa-muted) !important;padding:12px 14px !important;
}
body.fs-app-2026 #crm-leads-body td{
  padding:13px 14px !important;border-bottom:1px solid var(--fa-line) !important;
  transition:background .13s ease !important;
}
body.fs-app-2026 #crm-leads-body tr:last-child td{border-bottom:0 !important}
body.fs-app-2026 #crm-leads-body tr:hover td{background:rgba(37,99,235,.05) !important}
body.fs-app-2026 #crm-leads-body tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--fa-accent) !important}
/* blinda a legibilidade em qualquer estado (hover/foco/dark do SO) */
body.fs-app-2026 #crm-leads-body td,
body.fs-app-2026 #crm-leads-body tr:hover td{color:var(--fa-text) !important}
body.fs-app-2026 #crm-leads-body .company-cell strong,
body.fs-app-2026 #crm-leads-body tr:hover .company-cell strong{color:var(--fa-ink) !important}
body.fs-app-2026 #crm-leads-body tr:hover .company-cell > span{color:var(--fa-muted) !important}

/* ========================================================================
   35. Card "Descreva sua empresa para a IA" (home da busca — ex-guia)
   ======================================================================== */
body.fs-app-2026 #fa-onboarding.fa-onb-prompt textarea{
  width:100%;margin-top:12px;padding:11px 13px;border:1px solid var(--fa-line);
  border-radius:10px;background:rgba(255,255,255,.94);font:inherit;font-size:13px;
  color:var(--fa-ink);line-height:1.5;resize:vertical;min-height:104px;
  box-shadow:0 1px 2px rgba(16,20,28,.04) inset;
}
body.fs-app-2026 #fa-onboarding.fa-onb-prompt textarea:focus{
  outline:0;border-color:var(--fa-accent);background:#fff;
  box-shadow:0 0 0 3px rgba(37,99,235,.13),0 1px 2px rgba(16,20,28,.05) inset;
}
body.fs-app-2026 .fa-onb-prompt-actions{
  display:flex;align-items:center;gap:14px;margin-top:11px;flex-wrap:wrap;
}
body.fs-app-2026 .fa-onb-save{
  height:34px;padding:0 18px;border:0;border-radius:8px;cursor:pointer;
  font:inherit;font-size:12.5px;font-weight:650;color:#fff;
  background:linear-gradient(180deg,#4C74FF 0%,#2563EB 55%,#1D4FD8 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.28) inset,0 8px 20px -6px rgba(37,99,235,.5),0 2px 6px -2px rgba(37,99,235,.4);
  transition:transform .14s cubic-bezier(.2,0,0,1),filter .2s;
}
body.fs-app-2026 .fa-onb-save:hover{filter:brightness(1.05);transform:translateY(-1px)}
body.fs-app-2026 .fa-onb-save:disabled{opacity:.6;transform:none;filter:none;cursor:default}
body.fs-app-2026 .fa-onb-more{font-size:12px;color:var(--fa-accent-hi,#1e3fbf);text-decoration:none}
body.fs-app-2026 .fa-onb-more:hover{text-decoration:underline}
body.fs-app-2026 .fa-onb-status{font-size:11.5px;color:var(--fa-text-2)}
body.fs-app-2026 .fa-onb-status.is-ok{color:var(--fa-ok,#0e8a50)}
body.fs-app-2026 .fa-onb-status.is-err{color:var(--fa-bad,#c0392b)}
body.fs-app-2026 #fa-onboarding.fa-onb-prompt.is-filled{
  background:linear-gradient(180deg,#F6FAF7,var(--fa-surface)) !important;
  border-color:var(--fa-line) !important;
}
