/* =========================================================================
   PAINEL COMERCIAL — Design System exclusivo (preto, branco, vermelho)
   Cursor com ponta vermelha + glow, fundo com grid/glow animado,
   reveals ao rolar a página (ScrollMagic) e micro-interações em tudo.
   ========================================================================= */

:root{ }

#csa-comercial-root{ position:relative; }
body.csa-comercial-fullpage-active{ margin:0 !important; overflow:hidden; }
body.csa-comercial-fullpage-active #csa-comercial-root{
  position:fixed; inset:0; z-index:100000; overflow-y:auto; -webkit-overflow-scrolling:touch;
}
body.csa-comercial-fullpage-active.admin-bar #csa-comercial-root{ top:32px; }
@media(max-width:782px){ body.csa-comercial-fullpage-active.admin-bar #csa-comercial-root{ top:46px; } }
body.csa-comercial-fullpage-active > header, body.csa-comercial-fullpage-active > footer,
body.csa-comercial-fullpage-active .site-header, body.csa-comercial-fullpage-active .site-footer,
body.csa-comercial-fullpage-active #masthead, body.csa-comercial-fullpage-active #colophon,
body.csa-comercial-fullpage-active > nav, body.csa-comercial-fullpage-active #page > *:not(#csa-comercial-root){
  display:none !important;
}

.csa-comercial-scope{
  --com-bg:#07070a; --com-bg-2:#0d0d12; --com-surface:#111116; --com-surface-2:#17171d;
  --com-border:rgba(255,255,255,.09); --com-border-soft:rgba(255,255,255,.055);
  --com-white:#f7f7fa; --com-white-dim:rgba(247,247,250,.66); --com-white-faint:rgba(247,247,250,.4);
  --com-red:#ff1f3d; --com-red-2:#ff4d3d; --com-red-dark:#b3001f; --com-red-glow:rgba(255,31,61,.55);
  --com-black:#000000;
  --com-radius:18px; --com-radius-sm:12px; --com-radius-lg:26px;
  --com-ease:cubic-bezier(.16,1,.3,1);
  --com-shadow:0 20px 60px -20px rgba(0,0,0,.65);
  font-family:'Poppins','Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--com-white);
  background:var(--com-bg);
  min-height:100vh;
  position:relative;
  overflow-x:hidden;
  cursor:none;
  -webkit-font-smoothing:antialiased;
}
html[data-csa-comercial-theme="claro"] .csa-comercial-scope{
  --com-bg:#fbfbfc; --com-bg-2:#f2f2f5; --com-surface:#ffffff; --com-surface-2:#f6f6f8;
  --com-border:rgba(10,10,15,.1); --com-border-soft:rgba(10,10,15,.06);
  --com-white:#0a0a0d; --com-white-dim:rgba(10,10,13,.66); --com-white-faint:rgba(10,10,13,.42);
}
.csa-comercial-scope, .csa-comercial-scope *{ box-sizing:border-box; }
.csa-comercial-scope ::selection{ background:var(--com-red); color:#fff; }

/* Some ambientes de touch não têm cursor customizado — mostra o cursor padrão. */
@media (hover:none), (pointer:coarse){ .csa-comercial-scope{ cursor:auto; } }

/* ---------- cursor customizado: ponta vermelha + halo que segue o mouse ---------- */
.csa-com-cursor{
  position:fixed; top:0; left:0; width:34px; height:34px; border-radius:50%;
  border:1.5px solid var(--com-red); pointer-events:none; z-index:99999;
  transform:translate(-50%,-50%); transition:width .18s var(--com-ease), height .18s var(--com-ease), opacity .2s ease, border-color .2s ease;
  box-shadow:0 0 24px 2px var(--com-red-glow);
  mix-blend-mode:difference;
}
.csa-com-cursor-dot{
  position:fixed; top:0; left:0; width:6px; height:6px; border-radius:50%; background:var(--com-red);
  pointer-events:none; z-index:99999; transform:translate(-50%,-50%); box-shadow:0 0 10px 2px var(--com-red-glow);
}
.csa-com-cursor.is-active{ width:52px; height:52px; border-color:var(--com-red-2); }
@media (hover:none), (pointer:coarse){ .csa-com-cursor, .csa-com-cursor-dot{ display:none; } }

/* ---------- fundo: grid sutil + glows vermelhos animados + noise ---------- */
.csa-com-grid-fx{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(var(--com-border-soft) 1px,transparent 1px), linear-gradient(90deg,var(--com-border-soft) 1px,transparent 1px);
  background-size:42px 42px; mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 40%,transparent 100%);
}
.csa-com-glow{ position:absolute; z-index:0; pointer-events:none; border-radius:50%; filter:blur(90px); opacity:.55; animation:csaComFloat 14s ease-in-out infinite; }
.csa-com-glow-a{ width:520px; height:520px; background:var(--com-red); top:-180px; left:-120px; animation-delay:0s; }
.csa-com-glow-b{ width:420px; height:420px; background:var(--com-red-dark); bottom:-160px; right:-80px; animation-delay:-6s; }
@keyframes csaComFloat{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(40px,-30px) scale(1.08); } }
.csa-com-noise{
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ---------- reveal ao rolar (classes acionadas pelo ScrollMagic) ---------- */
[data-csa-reveal]{ opacity:0; transform:translateY(28px); transition:opacity .7s var(--com-ease), transform .7s var(--com-ease); }
[data-csa-reveal].csa-com-in{ opacity:1; transform:translateY(0); }

/* ---------- botões ---------- */
.csa-com-btn{
  position:relative; display:inline-flex; align-items:center; gap:8px; padding:11px 20px; border-radius:999px;
  font-weight:600; font-size:13px; letter-spacing:.2px; color:var(--com-white); background:var(--com-surface-2);
  border:1px solid var(--com-border); cursor:pointer; text-decoration:none; overflow:hidden;
  transition:transform .22s var(--com-ease), box-shadow .22s var(--com-ease), border-color .22s var(--com-ease), background .22s var(--com-ease);
}
.csa-com-btn:hover{ transform:translateY(-2px); border-color:var(--com-red); box-shadow:0 10px 26px -10px var(--com-red-glow); color:var(--com-white); }
.csa-com-btn:active{ transform:translateY(0) scale(.97); }
.csa-com-btn-primary{
  background:linear-gradient(135deg,var(--com-red),var(--com-red-dark)); border:none; color:#fff !important;
  box-shadow:0 12px 30px -12px var(--com-red-glow); animation:csaComPulse 2.8s ease-in-out infinite;
}
.csa-com-btn-primary:hover{ animation-play-state:paused; box-shadow:0 16px 36px -10px var(--com-red-glow); }
@keyframes csaComPulse{ 0%,100%{ box-shadow:0 12px 30px -12px var(--com-red-glow),0 0 0 0 var(--com-red-glow);} 50%{ box-shadow:0 12px 34px -10px var(--com-red-glow),0 0 0 7px transparent; } }
.csa-com-icon-btn{
  width:42px; height:42px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--com-surface-2); border:1px solid var(--com-border); color:var(--com-white); cursor:pointer; position:relative;
  transition:transform .2s var(--com-ease), border-color .2s var(--com-ease), box-shadow .2s var(--com-ease);
}
.csa-com-icon-btn:hover{ transform:translateY(-2px) rotate(-6deg); border-color:var(--com-red); box-shadow:0 10px 22px -10px var(--com-red-glow); }
.csa-com-theme-moon{ display:none; } html[data-csa-comercial-theme="claro"] .csa-com-theme-sun{ display:none; } html[data-csa-comercial-theme="claro"] .csa-com-theme-moon{ display:inline; }
.csa-com-notif-dot{ position:absolute; top:4px; right:4px; width:9px; height:9px; border-radius:50%; background:var(--com-red); box-shadow:0 0 8px 2px var(--com-red-glow); display:none; }

.csa-com-select, .csa-com-input{
  background:var(--com-surface-2); border:1px solid var(--com-border); color:var(--com-white); border-radius:12px;
  padding:11px 14px; font-size:13px; width:100%; transition:border-color .2s ease, box-shadow .2s ease;
}
.csa-com-select{ width:auto; }
.csa-com-input:focus, .csa-com-select:focus{ outline:none; border-color:var(--com-red); box-shadow:0 0 0 3px var(--com-red-glow); }
.csa-com-input-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
#csaComFormVenda{ display:flex; flex-direction:column; gap:10px; }

/* ---------- LOGIN ---------- */
.csa-com-login-scope{ display:flex; align-items:center; justify-content:center; min-height:100vh; padding:20px; }
.csa-com-login-wrap{ position:relative; z-index:2; max-width:420px; width:100%; text-align:center; }
.csa-com-login-brand{ margin-bottom:26px; display:flex; align-items:center; justify-content:center; gap:10px; }
.csa-com-brand-mark{ color:var(--com-red); font-size:20px; text-shadow:0 0 14px var(--com-red-glow); animation:csaComBlink 2.4s ease-in-out infinite; }
@keyframes csaComBlink{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }
.csa-com-brand-text{ font-size:13px; letter-spacing:3px; color:var(--com-white-dim); text-transform:uppercase; }
.csa-com-brand-text strong{ color:var(--com-white); }
.csa-com-login-card{
  background:var(--com-surface); border:1px solid var(--com-border); border-radius:var(--com-radius-lg);
  padding:38px 32px; box-shadow:var(--com-shadow); position:relative;
}
.csa-com-login-card::before{
  content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; z-index:-1;
  background:linear-gradient(135deg,var(--com-red),transparent 40%,transparent 60%,var(--com-red));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:.5;
}
.csa-com-login-title{ font-size:22px; font-weight:800; margin:0 0 8px; letter-spacing:-.02em; }
.csa-com-login-title span{ color:var(--com-red); }
.csa-com-login-sub{ color:var(--com-white-dim); font-size:13px; margin:0 0 22px; line-height:1.5; }
.csa-com-alert{ background:rgba(255,31,61,.12); border:1px solid var(--com-red); color:#ff9aa6; border-radius:10px; padding:10px 14px; font-size:12.5px; margin-bottom:16px; }
#csa-com-loginform p{ text-align:left; margin:0 0 12px; }
#csa-com-loginform label{ display:block; font-size:11.5px; color:var(--com-white-faint); margin-bottom:6px; text-transform:uppercase; letter-spacing:.6px; }
#csa-com-loginform input[type="text"], #csa-com-loginform input[type="password"]{
  width:100%; padding:12px 14px; border-radius:11px; border:1px solid var(--com-border); background:var(--com-bg-2); color:var(--com-white); font-size:14px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
#csa-com-loginform input[type="text"]:focus, #csa-com-loginform input[type="password"]:focus{ outline:none; border-color:var(--com-red); box-shadow:0 0 0 3px var(--com-red-glow); }
#csa-com-loginform .login-remember{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--com-white-faint); }
#csa-com-loginform .login-remember label{ display:flex; align-items:center; gap:8px; text-transform:none; font-size:12px; margin:0; }
#csa-com-loginform .login-submit input[type="submit"]{
  width:100%; padding:13px 14px; border-radius:11px; border:none; cursor:pointer; font-weight:700; font-size:14px; color:#fff;
  background:linear-gradient(135deg,var(--com-red),var(--com-red-dark)); box-shadow:0 14px 32px -12px var(--com-red-glow);
  animation:csaComPulse 2.8s ease-in-out infinite; transition:transform .2s var(--com-ease);
}
#csa-com-loginform .login-submit input[type="submit"]:hover{ transform:translateY(-2px); animation-play-state:paused; }
.csa-com-login-foot{ margin-top:20px; font-size:12.5px; color:var(--com-white-faint); }
.csa-com-login-foot a{ color:var(--com-red-2); text-decoration:none; font-weight:600; }
.csa-com-login-foot a:hover{ text-decoration:underline; }
.csa-com-login-legend{ margin-top:22px; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--com-white-faint); }

/* ---------- mensagens de acesso (restrito/desativado/cliente) ---------- */
.csa-com-msg-screen{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px; position:relative; z-index:2; }
.csa-com-msg-card{ max-width:420px; text-align:center; background:var(--com-surface); border:1px solid var(--com-border); border-radius:var(--com-radius-lg); padding:34px; box-shadow:var(--com-shadow); }
.csa-com-msg-card h2{ margin:0 0 10px; font-size:19px; }
.csa-com-msg-card p{ color:var(--com-white-dim); font-size:13.5px; margin:0 0 20px; line-height:1.6; }

/* ---------- SHELL / TOPO ---------- */
.csa-com-shell{ position:relative; z-index:2; max-width:1180px; margin:0 auto; padding:26px 22px 140px; }
.csa-com-top{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.csa-com-brand{ display:flex; align-items:center; gap:12px; }
.csa-com-avatar{
  width:38px; height:38px; border-radius:50%; object-fit:cover; flex-shrink:0;
  border:2px solid var(--com-red); box-shadow:0 0 0 3px rgba(225,28,52,.15);
}
.csa-com-brand div{ display:flex; flex-direction:column; }
.csa-com-brand-sub{ font-size:11.5px; color:var(--com-white-faint); margin-top:2px; }
.csa-com-top-actions{ display:flex; align-items:center; gap:10px; position:relative; }
.csa-com-notif-panel{
  display:none; position:absolute; top:52px; right:100px; width:300px; max-height:340px; overflow-y:auto; z-index:60;
  background:var(--com-surface); border:1px solid var(--com-border); border-radius:14px; padding:12px; box-shadow:var(--com-shadow);
}
.csa-com-notif-panel.open{ display:block; animation:csaComScaleIn .2s var(--com-ease) both; }
@keyframes csaComScaleIn{ from{ opacity:0; transform:scale(.94) translateY(-6px);} to{ opacity:1; transform:scale(1) translateY(0);} }
.csa-com-notif-item{ padding:10px 4px; border-bottom:1px solid var(--com-border-soft); font-size:12.5px; color:var(--com-white-dim); }
.csa-com-notif-item small{ display:block; margin-top:4px; color:var(--com-white-faint); }

/* ---------- NAV ---------- */
.csa-com-nav{ display:flex; gap:6px; background:var(--com-surface); border:1px solid var(--com-border); border-radius:999px; padding:6px; margin-bottom:26px; overflow-x:auto; }
.csa-com-nav button{
  flex:0 0 auto; background:none; border:none; color:var(--com-white-faint); padding:10px 18px; border-radius:999px; font-size:12.5px; font-weight:600;
  cursor:pointer; letter-spacing:.2px; transition:color .2s ease, background .2s ease, box-shadow .2s ease;
}
.csa-com-nav button:hover{ color:var(--com-white); }
.csa-com-nav button.active{ color:#fff; background:linear-gradient(135deg,var(--com-red),var(--com-red-dark)); box-shadow:0 8px 20px -10px var(--com-red-glow); }

.csa-com-view{ display:none; animation:csaComFadeUp .5s var(--com-ease) both; }
.csa-com-view.active{ display:block; }
.csa-com-contrato-overlay{ margin-top:8px; scroll-margin-top:20px; }
@keyframes csaComFadeUp{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:translateY(0);} }

/* ---------- HERO / meta do mês ---------- */
.csa-com-hero{
  display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:center; background:var(--com-surface);
  border:1px solid var(--com-border); border-radius:var(--com-radius-lg); padding:30px; margin-bottom:22px; box-shadow:var(--com-shadow);
  position:relative; overflow:hidden;
}
.csa-com-hero::after{ content:""; position:absolute; width:300px; height:300px; background:var(--com-red); filter:blur(120px); opacity:.18; top:-140px; right:-100px; pointer-events:none; }
.csa-com-ring-wrap{ position:relative; width:160px; height:160px; flex:0 0 auto; }
.csa-com-ring{ width:160px; height:160px; transform:rotate(-90deg); }
.csa-com-ring-bg{ fill:none; stroke:var(--com-border); stroke-width:10; }
.csa-com-ring-fg{ fill:none; stroke:var(--com-red); stroke-width:10; stroke-linecap:round; stroke-dasharray:439.8; stroke-dashoffset:439.8; transition:stroke-dashoffset 1.1s var(--com-ease); filter:drop-shadow(0 0 8px var(--com-red-glow)); }
.csa-com-ring-center{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.csa-com-ring-pct{ font-size:26px; font-weight:800; }
.csa-com-ring-label{ font-size:10.5px; color:var(--com-white-faint); text-transform:uppercase; letter-spacing:1px; }
.csa-com-hero-tier{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.5px; color:var(--com-red-2); text-transform:uppercase; margin-bottom:6px; }
.csa-com-hero-title{ font-size:32px; font-weight:800; margin:0 0 4px; letter-spacing:-.02em; }
.csa-com-hero-sub{ font-size:13px; color:var(--com-white-dim); margin:0 0 16px; }
.csa-com-hero-sub span{ color:var(--com-white); font-weight:600; }
.csa-com-hero-bar-wrap{ height:10px; background:var(--com-surface-2); border-radius:10px; overflow:hidden; margin-bottom:10px; }
.csa-com-hero-bar{ height:100%; width:0%; background:linear-gradient(90deg,var(--com-red),var(--com-red-2)); border-radius:10px; transition:width 1.1s var(--com-ease); box-shadow:0 0 12px var(--com-red-glow); }
.csa-com-hero-dias{ font-size:11.5px; color:var(--com-white-faint); margin:0; }
@media (max-width:640px){ .csa-com-hero{ grid-template-columns:1fr; text-align:center; } .csa-com-ring-wrap{ margin:0 auto; } }

/* ---------- STATS GRID ---------- */
.csa-com-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; margin-bottom:22px; }
.csa-com-stat{
  background:var(--com-surface); border:1px solid var(--com-border); border-radius:var(--com-radius); padding:18px 20px;
  transition:transform .25s var(--com-ease), border-color .25s var(--com-ease), box-shadow .25s var(--com-ease);
}
.csa-com-stat:hover{ transform:translateY(-4px); border-color:var(--com-red); box-shadow:0 14px 30px -14px var(--com-red-glow); }
.csa-com-stat .num{ font-size:22px; font-weight:800; letter-spacing:-.02em; }
.csa-com-stat .name{ font-size:11.5px; color:var(--com-white-faint); margin-top:4px; text-transform:uppercase; letter-spacing:.4px; }

/* ---------- GRID 2 col ---------- */
.csa-com-grid2{ display:grid; grid-template-columns:1.4fr 1fr; gap:16px; }
@media (max-width:820px){ .csa-com-grid2{ grid-template-columns:1fr; } }

.csa-com-card{ background:var(--com-surface); border:1px solid var(--com-border); border-radius:var(--com-radius-lg); padding:22px; margin-bottom:16px; box-shadow:var(--com-shadow); }
.csa-com-card h3{ margin:0 0 16px; font-size:14px; font-weight:700; }
#csaComChartMeta{ width:100%; height:200px; display:block; }

/* ---------- TABELAS ---------- */
.csa-com-table-wrap{ overflow-x:auto; }
.csa-com-table{ width:100%; border-collapse:collapse; font-size:13px; }
.csa-com-table th{ text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--com-white-faint); padding:10px 12px; border-bottom:1px solid var(--com-border); }
.csa-com-table td{ padding:12px; border-bottom:1px solid var(--com-border-soft); color:var(--com-white-dim); }
.csa-com-table tr:hover td{ color:var(--com-white); background:var(--com-surface-2); }
.csa-com-chip{ display:inline-flex; padding:4px 10px; border-radius:999px; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; }
.csa-com-chip.ganha{ background:rgba(31,168,88,.15); color:#3ddc84; }
.csa-com-chip.perdida{ background:rgba(255,31,61,.15); color:#ff5a71; }
.csa-com-chip.em_negociacao{ background:rgba(255,159,10,.15); color:#ffb340; }
.csa-com-mini-del{ background:none; border:none; color:var(--com-white-faint); cursor:pointer; font-size:14px; }
.csa-com-mini-del:hover{ color:var(--com-red); }

/* ---------- ATIVIDADES ---------- */
.csa-com-atv-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; }
.csa-com-atv-btn{
  background:var(--com-surface-2); border:1px solid var(--com-border); border-radius:var(--com-radius); padding:18px; text-align:center;
  cursor:pointer; color:var(--com-white); transition:transform .2s var(--com-ease), border-color .2s var(--com-ease), box-shadow .2s var(--com-ease);
}
.csa-com-atv-btn:hover{ transform:translateY(-3px); border-color:var(--com-red); box-shadow:0 12px 26px -14px var(--com-red-glow); }
.csa-com-atv-btn .ico{ font-size:24px; display:block; margin-bottom:8px; }
.csa-com-atv-btn .lbl{ font-size:12px; color:var(--com-white-dim); }
.csa-com-atv-row{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.csa-com-atv-row .lbl{ width:150px; font-size:12.5px; color:var(--com-white-dim); flex:0 0 auto; }
.csa-com-atv-row .bar-wrap{ flex:1; height:8px; background:var(--com-surface-2); border-radius:8px; overflow:hidden; }
.csa-com-atv-row .bar{ height:100%; background:linear-gradient(90deg,var(--com-red),var(--com-red-2)); border-radius:8px; transition:width .8s var(--com-ease); }
.csa-com-atv-row .val{ width:70px; text-align:right; font-size:12px; color:var(--com-white-faint); flex:0 0 auto; }

/* ---------- RANKING ---------- */
.csa-com-rank-row{
  display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:var(--com-radius); background:var(--com-surface-2);
  border:1px solid var(--com-border); margin-bottom:10px; transition:transform .2s var(--com-ease), border-color .2s var(--com-ease);
}
.csa-com-rank-row:hover{ transform:translateX(4px); border-color:var(--com-red); }
.csa-com-rank-row.me{ border-color:var(--com-red); box-shadow:0 0 0 1px var(--com-red-glow); }
.csa-com-rank-pos{ width:30px; font-weight:800; font-size:15px; color:var(--com-white-faint); flex:0 0 auto; }
.csa-com-rank-row:nth-child(1) .csa-com-rank-pos{ color:#ffd24d; }
.csa-com-rank-row:nth-child(2) .csa-com-rank-pos{ color:#d6d6de; }
.csa-com-rank-row:nth-child(3) .csa-com-rank-pos{ color:#d9944c; }
.csa-com-rank-name{ flex:1; font-size:13px; font-weight:600; }
.csa-com-rank-name small{ display:block; font-weight:400; color:var(--com-white-faint); font-size:11px; margin-top:2px; }
.csa-com-rank-pct{ font-weight:800; font-size:14px; color:var(--com-red-2); flex:0 0 auto; }

/* ---------- DOCK (mobile) ---------- */
.csa-com-dock{
  position:fixed; left:50%; bottom:16px; transform:translateX(-50%); z-index:80; display:none;
  background:rgba(17,17,22,.85); backdrop-filter:blur(16px); border:1px solid var(--com-border); border-radius:22px;
  padding:8px; gap:4px; box-shadow:0 20px 50px -16px rgba(0,0,0,.6);
  max-width:96vw; overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.csa-com-dock button{ flex:0 0 auto; background:none; border:none; color:var(--com-white-faint); display:flex; flex-direction:column; align-items:center; gap:2px; font-size:9.5px; padding:8px 12px; border-radius:14px; cursor:pointer; }
.csa-com-dock button span{ font-size:17px; }
.csa-com-dock button.active{ color:#fff; background:linear-gradient(135deg,var(--com-red),var(--com-red-dark)); }
@media (max-width:760px){
  .csa-com-nav{ display:none; }
  .csa-com-dock{ display:flex; }
  .csa-com-shell{ padding-bottom:120px; }
}

/* ---------- Toasts ---------- */
.csa-com-toast-wrap{ position:fixed; right:18px; bottom:18px; z-index:99998; display:flex; flex-direction:column; gap:10px; }
.csa-com-toast{
  background:var(--com-surface); border:1px solid var(--com-border); border-left:3px solid var(--com-red); border-radius:12px;
  padding:12px 16px; min-width:220px; box-shadow:var(--com-shadow); animation:csaComToastIn .3s var(--com-ease) both;
}
.csa-com-toast b{ display:block; font-size:13px; margin-bottom:2px; }
.csa-com-toast span{ font-size:11.5px; color:var(--com-white-faint); }
@keyframes csaComToastIn{ from{ opacity:0; transform:translateX(30px);} to{ opacity:1; transform:translateX(0);} }

.csa-com-empty{ text-align:center; padding:28px; color:var(--com-white-faint); font-size:12.5px; }

/* ---------- NOVOS LEADS (CRM) ---------- */
.csa-com-lead-hint{ font-size:12px; color:var(--com-white-faint); margin:-6px 0 16px; }
.csa-field-com{ display:flex; flex-direction:column; gap:6px; }
.csa-field-com label{ font-size:11px; font-weight:600; color:var(--com-white-faint); text-transform:uppercase; letter-spacing:.4px; }
.csa-com-lead-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
.csa-com-lead-span2{ grid-column:span 2; }
@media (max-width:820px){ .csa-com-lead-grid{ grid-template-columns:repeat(2,1fr); } .csa-com-lead-span2{ grid-column:span 2; } }
@media (max-width:560px){ .csa-com-lead-grid{ grid-template-columns:1fr; } .csa-com-lead-span2{ grid-column:span 1; } }
textarea.csa-com-input{ resize:vertical; min-height:64px; font-family:inherit; }
.csa-com-lead-form-actions{ display:flex; gap:10px; flex-wrap:wrap; }

.csa-com-lead-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.csa-com-lead-filters{ display:flex; gap:10px; flex-wrap:wrap; }
.csa-com-lead-filters .csa-com-select{ width:auto; }

.csa-com-lead-list{ display:flex; flex-direction:column; gap:10px; }
.csa-com-lead-card{
  background:var(--com-surface-2); border:1px solid var(--com-border); border-left:4px solid var(--com-white-faint);
  border-radius:var(--com-radius-sm); padding:14px 18px; transition:transform .2s var(--com-ease), box-shadow .2s var(--com-ease), border-color .2s var(--com-ease);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px;
}
.csa-com-lead-card > .csa-com-lead-top{ flex:1 1 260px; margin:0; }
.csa-com-lead-card .csa-com-lead-resp,
.csa-com-lead-card .csa-com-lead-contatos,
.csa-com-lead-card .csa-com-lead-obs,
.csa-com-lead-card .csa-com-lead-lembrete{ flex-basis:100%; }
.csa-com-lead-card .csa-com-lead-actions{ flex:0 0 auto; margin-left:auto; }
.csa-com-lead-card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px -16px rgba(0,0,0,.5); }
.csa-com-lead-card.interesse-quente{ border-left-color:var(--com-red); }
.csa-com-lead-card.interesse-medio{ border-left-color:#ffb340; }
.csa-com-lead-card.interesse-frio{ border-left-color:#4fa3d6; }
.csa-com-lead-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:6px; }
.csa-com-lead-empresa{ font-size:14.5px; font-weight:700; }
.csa-com-lead-vendedor{ font-weight:400; color:var(--com-white-faint); }
.csa-com-lead-resp{ font-size:12px; color:var(--com-white-dim); margin-bottom:8px; }
.csa-com-lead-origem{ display:inline-block; font-size:11px; color:var(--com-white-faint,rgba(255,255,255,.5)); background:rgba(255,255,255,.06); padding:3px 9px; border-radius:999px; margin-bottom:8px; }
.csa-com-chip.nivel-quente{ background:rgba(255,31,61,.15); color:var(--com-red-2); }
.csa-com-chip.nivel-medio{ background:rgba(255,159,10,.15); color:#ffb340; }
.csa-com-chip.nivel-frio{ background:rgba(79,163,214,.15); color:#4fa3d6; }
.csa-com-lead-contatos{ display:flex; flex-wrap:wrap; gap:8px 14px; margin-bottom:10px; }
.csa-com-lead-contato{ font-size:11.5px; color:var(--com-white-dim); text-decoration:none; }
.csa-com-lead-contato:hover{ color:var(--com-red-2); }
.csa-com-lead-contato.faint{ color:var(--com-white-faint); font-style:italic; }
.csa-com-lead-obs{
  font-size:12px; color:var(--com-white-dim); background:var(--com-surface); border:1px solid var(--com-border-soft);
  border-radius:10px; padding:10px 12px; margin-bottom:10px; white-space:pre-wrap;
}
.csa-com-lead-lembrete{ font-size:11.5px; color:var(--com-red-2); margin-bottom:12px; }
.csa-com-lead-actions{ display:flex; flex-wrap:wrap; gap:8px; }
.csa-com-lead-actions .csa-com-btn{ padding:8px 14px; font-size:12px; }

/* ---------- PROPOSTAS ---------- */
.csa-com-proposta-divisor{ border:none; border-top:1px solid var(--com-border-soft); margin:6px 0 18px; }
.csa-com-check-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:10px 16px; }
.csa-com-check-inline{
  display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--com-white-dim); cursor:pointer;
  font-weight:400; text-transform:none; letter-spacing:normal;
}
.csa-com-check-inline input{ width:16px; height:16px; accent-color:var(--com-red); cursor:pointer; }
.csa-com-chip.status-proposta_criada, .csa-com-chip.status-rascunho{ background:rgba(148,163,184,.15); color:#94a3b8; }
.csa-com-chip.status-proposta_enviada, .csa-com-chip.status-enviada{ background:rgba(79,163,214,.15); color:#4fa3d6; }
.csa-com-chip.status-aguardando_resposta, .csa-com-chip.status-visualizada{ background:rgba(255,159,10,.15); color:#ffb340; }
.csa-com-chip.status-negociacao, .csa-com-chip.status-aceita{ background:rgba(175,120,255,.15); color:#b98bff; }
.csa-com-chip.status-contrato, .csa-com-chip.status-assinada{ background:rgba(79,214,181,.15); color:#4fd6b5; }
.csa-com-chip.status-pagamento{ background:rgba(52,199,89,.15); color:#34c759; }
.csa-com-chip.status-finalizado{ background:rgba(52,199,89,.22); color:#34c759; }
.csa-com-chip.status-perdido, .csa-com-chip.status-cancelada, .csa-com-chip.status-expirada{ background:rgba(255,31,61,.15); color:var(--com-red-2); }

/* IMPORTANTE: nada de max-height/overflow aqui — o card cresce livremente no fluxo da página.
   Isso corrige o PDF que baixava só a metade (o html2canvas só capturava a área visível do scroll). */
.csa-com-contrato{
  background:#fff; color:#1a1a1a; padding:0 0 32px; border-radius:14px; font-size:13px; line-height:1.65;
  box-shadow:0 20px 50px -20px rgba(0,0,0,.5); box-sizing:border-box; width:100%;
}
.csa-com-contrato *{ box-sizing:border-box; word-break:break-word; overflow-wrap:break-word; }
.csa-com-contrato-topo{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:22px 32px 16px; border-bottom:3px solid #b3001f;
}
.csa-com-contrato-logo-wrap{ display:flex; align-items:center; }
.csa-com-contrato-logo-wrap img{ height:52px; max-width:220px; object-fit:contain; }
.csa-com-contrato-contato{ text-align:right; font-size:12px; color:#333; }
.csa-com-contrato-contato strong{ display:block; font-size:16px; color:#111; letter-spacing:.2px; }
.csa-com-contrato-razao{ padding:12px 32px 0; font-size:11.5px; color:#444; }
.csa-com-contrato-razao p{ margin:0 0 3px; }
.csa-com-contrato-banner{
  margin:16px 32px 0; background:linear-gradient(135deg,#ff1f3d,#b3001f); color:#fff; text-align:center;
  font-weight:700; font-size:14px; letter-spacing:.4px; padding:12px 18px; border-radius:999px;
  box-shadow:0 10px 24px -10px rgba(179,0,31,.55);
}
.csa-com-contrato-corpo{ padding:22px 32px 0; }
.csa-com-contrato-cabecalho{ text-align:center; margin-bottom:18px; }
.csa-com-contrato-cabecalho h2{ margin:0 0 6px; font-size:18px; letter-spacing:.4px; }
.csa-com-contrato-cabecalho p{ margin:0; color:#555; font-size:12px; }
.csa-com-contrato-partes p, .csa-com-contrato-resumo p{ margin:0 0 8px; }
.csa-com-contrato-resumo{ background:#f6f6f8; border-radius:10px; padding:12px 16px; margin:14px 0 18px; }
.csa-com-contrato-clausula{ margin-bottom:14px; page-break-inside:avoid; break-inside:avoid; }
.csa-com-contrato-clausula h4{ margin:0 0 4px; font-size:13px; }
.csa-com-contrato-clausula p{ margin:0; color:#333; }
.csa-com-contrato-assinaturas{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:34px; text-align:center; page-break-inside:avoid; }
.csa-com-contrato-assinaturas .linha-assinatura span{ display:block; margin:0 auto 10px; width:88%; border-top:1px solid #555; }
.csa-com-contrato-assinaturas .linha-assinatura small{ color:#555; }
@media (max-width:640px){
  .csa-com-contrato-topo{ flex-direction:column; align-items:flex-start; gap:10px; }
  .csa-com-contrato-contato{ text-align:left; }
}

/* ---------- CLIENTES EFETIVADOS (kanban) ---------- */
.csa-com-efet-board{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; align-items:start; }
@media (max-width:980px){ .csa-com-efet-board{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .csa-com-efet-board{ grid-template-columns:1fr; } }
.csa-com-efet-col{ background:var(--com-surface); border:1px solid var(--com-border); border-radius:var(--com-radius); padding:12px; min-height:120px; }
.csa-com-efet-col-head{
  display:flex; align-items:center; justify-content:space-between; font-size:11.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:.4px; color:var(--com-white-faint); padding:4px 6px 12px; border-bottom:1px solid var(--com-border-soft); margin-bottom:12px;
}
.csa-com-efet-col-body{ display:flex; flex-direction:column; gap:12px; min-height:60px; border-radius:12px; transition:background .18s ease; }
.csa-com-efet-col-body.dragover{ background:rgba(255,31,61,.08); outline:1.5px dashed var(--com-red); }
.csa-com-efet-card{
  background:var(--com-surface-2); border:1px solid var(--com-border); border-radius:var(--com-radius-sm); padding:14px 16px;
  cursor:grab; transition:transform .18s var(--com-ease), box-shadow .18s var(--com-ease), opacity .18s ease;
}
.csa-com-efet-card:hover{ transform:translateY(-2px); box-shadow:0 12px 26px -14px rgba(0,0,0,.55); }
.csa-com-efet-card.dragging{ opacity:.4; }
.csa-com-efet-cobranca{ display:flex; align-items:center; gap:8px; margin-top:10px; font-size:11.5px; color:var(--com-white-faint); }
.csa-com-efet-cobranca .csa-com-select{ width:auto; padding:6px 10px; font-size:11.5px; }

/* ---------- CLIENTES EM NEGOCIAÇÃO (kanban de propostas) ---------- */
.csa-com-negoc-board{ display:flex; gap:14px; align-items:start; overflow-x:auto; padding-bottom:6px; }
.csa-com-negoc-col{
  background:var(--com-surface); border:1px solid var(--com-border); border-radius:var(--com-radius); padding:12px;
  min-height:120px; flex:0 0 240px; width:240px;
}
.csa-com-negoc-col.is-perdido{ border-color:rgba(255,31,61,.35); }
.csa-com-negoc-col.is-perdido .csa-com-efet-col-head{ color:var(--com-red-2); }
.csa-com-negoc-col-body{ display:flex; flex-direction:column; gap:12px; min-height:60px; border-radius:12px; transition:background .18s ease; }
.csa-com-negoc-col-body.dragover{ background:rgba(255,31,61,.08); outline:1.5px dashed var(--com-red); }
.csa-com-negoc-card{
  background:var(--com-surface-2); border:1px solid var(--com-border); border-radius:var(--com-radius-sm); padding:14px 16px;
  cursor:grab; transition:transform .18s var(--com-ease), box-shadow .18s var(--com-ease), opacity .18s ease;
}
.csa-com-negoc-card:hover{ transform:translateY(-2px); box-shadow:0 12px 26px -14px rgba(0,0,0,.55); }
.csa-com-negoc-card.dragging{ opacity:.4; }
@media (max-width:600px){ .csa-com-negoc-col{ flex:0 0 200px; width:200px; } }

/* ---------- RESUMO: funil de vendas detalhado (etapa por etapa) ---------- */
.csa-com-funil-counts{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-bottom:16px; }
@media (max-width:820px){ .csa-com-funil-counts{ grid-template-columns:repeat(2,1fr); } }
.csa-com-funil-count{
  background:var(--com-surface-2); border:1px solid var(--com-border); border-radius:var(--com-radius-sm);
  padding:14px 16px; text-align:center;
}
.csa-com-funil-count .num{ font-size:22px; font-weight:800; }
.csa-com-funil-count .name{ font-size:11px; color:var(--com-white-faint); text-transform:uppercase; letter-spacing:.4px; margin-top:4px; }
.csa-com-funil-count.is-lead .num{ color:#4fa3d6; }
.csa-com-funil-count.is-proposta .num{ color:#94a3b8; }
.csa-com-funil-count.is-negociacao .num{ color:#b98bff; }
.csa-com-funil-count.is-perdido .num{ color:var(--com-red-2); }
.csa-com-funil-count.is-cliente .num{ color:#34c759; }

.csa-com-funil-list{ display:flex; flex-direction:column; gap:8px; }
.csa-com-funil-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  background:var(--com-surface-2); border:1px solid var(--com-border); border-left:3px solid var(--com-white-faint);
  border-radius:10px; padding:12px 16px;
}
.csa-com-funil-row.is-lead{ border-left-color:#4fa3d6; }
.csa-com-funil-row.is-proposta{ border-left-color:#94a3b8; }
.csa-com-funil-row.is-negociacao{ border-left-color:#b98bff; }
.csa-com-funil-row.is-perdido{ border-left-color:var(--com-red-2); opacity:.7; }
.csa-com-funil-row.is-cliente{ border-left-color:#34c759; }
.csa-com-funil-row .empresa{ font-weight:700; font-size:13.5px; min-width:160px; }
.csa-com-funil-row .estagio{ font-size:12px; color:var(--com-white-dim); }
.csa-com-funil-row .previsao{ font-size:12px; color:var(--com-white-faint); text-align:right; }
.csa-com-funil-row .previsao strong{ color:var(--com-white); }

/* ---------- CLIENTE ARTWEB (lista, com subabas) ---------- */
.csa-com-subtabs{ display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.csa-com-subtab{
  padding:9px 18px; border-radius:999px; border:1px solid var(--com-border); background:var(--com-surface-2);
  color:var(--com-white-dim); font-weight:600; font-size:12.5px; cursor:pointer; transition:all .2s var(--com-ease);
}
.csa-com-subtab:hover{ border-color:var(--com-red); color:var(--com-white); }
.csa-com-subtab.active{ background:linear-gradient(135deg,var(--com-red),var(--com-red-dark)); border-color:transparent; color:#fff; }

.csa-com-cliente-list{ display:flex; flex-direction:column; gap:14px; }
.csa-com-cliente-card{
  background:var(--com-surface-2); border:1px solid var(--com-border); border-left:4px solid #34c759;
  border-radius:var(--com-radius-sm); padding:18px 20px; transition:box-shadow .2s var(--com-ease);
}
.csa-com-cliente-card:hover{ box-shadow:0 14px 30px -18px rgba(0,0,0,.5); }
.csa-com-cliente-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:10px; }
.csa-com-cliente-nome{ font-size:15.5px; font-weight:700; }
.csa-com-cliente-badge{
  font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; padding:4px 10px; border-radius:999px;
  background:rgba(52,199,89,.15); color:#34c759;
}
.csa-com-cliente-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px 20px; margin-bottom:12px; }
.csa-com-cliente-info b{ display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.4px; color:var(--com-white-faint); margin-bottom:3px; }
.csa-com-cliente-info span{ font-size:13px; color:var(--com-white); }
.csa-com-cliente-info span.alerta{ color:var(--com-red-2); font-weight:700; }
.csa-com-cliente-servicos{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.csa-com-cliente-servico-chip{ font-size:11px; background:var(--com-surface); border:1px solid var(--com-border-soft); color:var(--com-white-dim); padding:4px 10px; border-radius:999px; }
.csa-com-cliente-footer{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:12px; border-top:1px solid var(--com-border-soft); }
.csa-com-cliente-producao{ display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--com-white-faint); }
.csa-com-cliente-producao select, .csa-com-cliente-cobranca select{ width:auto; padding:6px 10px; font-size:11.5px; }
.csa-com-cliente-cobranca{ display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--com-white-faint); }
.csa-com-cliente-acoes{ display:flex; gap:8px; }


/* ============================= Central de Inteligência Comercial (Fase 1) ============================= */
.csa-com-ia-header{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:18px; }
.csa-com-ia-score{
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-width:150px;
  padding:14px 22px; border-radius:var(--com-radius); border:1px solid var(--com-border);
  background:linear-gradient(160deg,rgba(255,31,61,.14),rgba(255,31,61,.02));
}
.csa-com-ia-score-num{ font-size:34px; font-weight:800; color:var(--com-white); line-height:1; }
.csa-com-ia-score-max{ font-size:14px; color:var(--com-white-faint); margin-left:2px; }
.csa-com-ia-score-label{ display:block; margin-top:6px; font-size:11px; text-transform:uppercase; letter-spacing:.4px; color:var(--com-red-2); font-weight:700; }

.csa-com-ia-notas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.csa-com-ia-nota-item{
  flex:1; min-width:140px; background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm);
  padding:14px 16px; font-size:11.5px; color:var(--com-white-faint); text-transform:uppercase; letter-spacing:.4px;
}
.csa-com-ia-nota-item span{ display:block; font-size:24px; font-weight:800; color:var(--com-white); text-transform:none; letter-spacing:0; margin-bottom:2px; }

.csa-com-ia-badges{ display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 22px; }

.csa-com-ia-report{
  font-size:13.5px; line-height:1.7; color:var(--com-white-dim); background:var(--com-surface-2);
  border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm); padding:16px 18px; margin:10px 0 22px;
}

.csa-com-ia-sugestoes{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin-bottom:6px; }
.csa-com-ia-sugestao{
  background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm);
  padding:12px 14px; display:flex; flex-direction:column; gap:4px;
}
.csa-com-ia-sugestao strong{ font-size:13px; color:var(--com-white); }
.csa-com-ia-sugestao span{ font-size:12px; color:var(--com-white-faint); line-height:1.5; }

/* ============================= Pesquisa Inteligente / cards de empresa (Fase 2 - Google Places) ============================= */
.csa-com-input-row{ display:flex; gap:10px; flex-wrap:wrap; }
.csa-com-input-row .csa-com-input{ min-width:220px; }

.csa-com-ia-resultados-grid{
  display:flex; flex-direction:column; gap:12px; margin-top:18px;
}
.csa-com-ia-empresa-card{
  background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm);
  padding:16px; display:flex; flex-wrap:wrap; align-items:flex-start; gap:14px 18px;
  transition:border-color .2s ease, transform .2s ease;
}
.csa-com-ia-empresa-card:hover{ border-color:var(--com-red-2); transform:translateY(-2px); }
.csa-com-ia-empresa-info{ flex:1 1 320px; min-width:260px; display:flex; flex-direction:column; gap:3px; }
.csa-com-ia-empresa-card .csa-com-lead-form-actions{ flex:0 0 100%; margin-top:0 !important; }
.csa-com-ia-diagnostico-inline{ flex:0 0 100%; }
.csa-com-ia-empresa-foto{ width:100%; height:120px; object-fit:cover; border-radius:8px; margin-bottom:8px; background:var(--com-surface); }
.csa-com-ia-empresa-foto-vazia{ display:flex; align-items:center; justify-content:center; font-size:34px; color:var(--com-white-faint); }
.csa-com-ia-empresa-info h4{ margin:0 0 2px; font-size:14.5px; color:var(--com-white); }
.csa-com-ia-empresa-categoria{ display:block; font-size:11.5px; color:var(--com-white-faint); text-transform:uppercase; letter-spacing:.3px; margin-bottom:4px; }
.csa-com-ia-empresa-rating{ display:block; font-size:12.5px; color:var(--com-white-dim); margin-bottom:4px; }
.csa-com-ia-empresa-endereco{ display:block; font-size:12px; color:var(--com-white-faint); line-height:1.4; }

.csa-com-ia-diagnostico-inline{ display:flex; gap:8px; margin-top:8px; }

/* ============================= Prioridades e presença digital (diagnóstico expandido) ============================= */
.csa-com-ia-prioridade{ border-radius:var(--com-radius-sm); padding:10px 14px; margin-bottom:8px; border:1px solid var(--com-border-soft); background:var(--com-surface-2); }
.csa-com-ia-prioridade strong{ display:block; margin-bottom:4px; font-size:12.5px; }
.csa-com-ia-prioridade ul{ margin:0; padding-left:18px; font-size:12.5px; color:var(--com-white-dim); }
.csa-com-ia-prioridade-alta{ border-left:3px solid #ff4d4d; }
.csa-com-ia-prioridade-media{ border-left:3px solid #f5b642; }
.csa-com-ia-prioridade-baixa{ border-left:3px solid #37c26a; }

.csa-com-ia-presenca{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; margin:10px 0 22px; }
.csa-com-ia-presenca-item{ background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm); padding:10px 12px; font-size:12.5px; }

/* ============================= Captador de Leads IA: favoritar, objeções, perguntas ============================= */
.csa-ia-fav-btn{ background:none; border:none; cursor:pointer; font-size:16px; vertical-align:middle; padding:0 2px; }
.csa-com-ia-objecoes{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; margin-bottom:6px; }
.csa-com-ia-objecao{ background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm); padding:12px 14px; display:flex; flex-direction:column; gap:6px; }
.csa-com-ia-objecao strong{ font-size:12.5px; color:var(--com-white); }
.csa-com-ia-objecao span{ font-size:12px; color:var(--com-white-faint); line-height:1.5; }
.csa-com-ia-perguntas{ font-size:13px; color:var(--com-white-dim); line-height:1.9; padding-left:20px; margin:10px 0 22px; }

/* ============================= Central de Áudios IA ============================= */
.csa-com-audio-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:10px; margin-bottom:18px; }
.csa-com-audio-stat{
  background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm);
  padding:12px; text-align:center; display:flex; flex-direction:column; gap:2px;
}
.csa-com-audio-stat-ico{ font-size:18px; }
.csa-com-audio-stat b{ font-size:17px; color:var(--com-white); }
.csa-com-audio-stat small{ font-size:10.5px; color:var(--com-white-faint); text-transform:uppercase; letter-spacing:.3px; }

.csa-com-audio-drop{
  border:2px dashed var(--com-border); border-radius:var(--com-radius); padding:26px 18px; text-align:center;
  transition:border-color .2s var(--com-ease), background .2s var(--com-ease); cursor:pointer; background:var(--com-surface-2);
}
.csa-com-audio-drop.dragover{ border-color:var(--com-red); background:rgba(255,31,61,.06); }
.csa-com-audio-drop-inner p{ margin:10px 0; font-size:13.5px; color:var(--com-white-dim); }
.csa-com-audio-drop-icon{ font-size:32px; }
.csa-com-audio-upload-list{ margin-top:12px; display:flex; flex-direction:column; gap:8px; }
.csa-com-audio-uploading{
  font-size:12.5px; color:var(--com-white-dim); background:var(--com-surface-2); border:1px solid var(--com-border-soft);
  border-radius:var(--com-radius-sm); padding:10px 14px; animation:csaComAudioPulse 1.4s ease-in-out infinite;
}
@keyframes csaComAudioPulse{ 0%,100%{ opacity:.65; } 50%{ opacity:1; } }

.csa-com-audio-toolbar{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.csa-com-audio-toolbar .csa-com-input{ flex:2 1 260px; }
.csa-com-audio-toolbar .csa-com-select{ flex:1 1 160px; }

.csa-com-audio-list{ display:flex; flex-direction:column; gap:14px; }
.csa-com-audio-card{
  background:var(--com-surface); border:1px solid var(--com-border); border-radius:var(--com-radius-lg);
  padding:18px; box-shadow:var(--com-shadow); position:relative;
}
.csa-com-audio-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:10px; }
.csa-com-audio-nome{ margin:0 0 4px; font-size:15px; }
.csa-com-audio-meta{ display:flex; flex-wrap:wrap; gap:10px; font-size:11.5px; color:var(--com-white-faint); }
.csa-com-audio-head-right{ display:flex; align-items:center; gap:8px; flex-shrink:0; }

.csa-com-audio-badge{
  font-size:10.5px; padding:4px 9px; border-radius:20px; border:1px solid var(--com-border-soft); white-space:nowrap;
  background:var(--com-surface-2); color:var(--com-white-dim);
}
.csa-com-audio-badge-pendente{ color:#f5b642; border-color:rgba(245,182,66,.4); }
.csa-com-audio-badge-processando{ color:#6c8ef5; border-color:rgba(108,142,245,.4); }
.csa-com-audio-badge-concluido{ color:#37c26a; border-color:rgba(55,194,106,.4); }
.csa-com-audio-badge-erro{ color:var(--com-red-2); border-color:rgba(255,77,61,.4); }

.csa-com-audio-fav{
  background:none; border:1px solid var(--com-border-soft); border-radius:50%; width:32px; height:32px; cursor:pointer;
  font-size:14px; opacity:.4; transition:opacity .2s ease, transform .2s ease;
}
.csa-com-audio-fav.active{ opacity:1; transform:scale(1.1); }

.csa-com-audio-player{ width:100%; margin:6px 0 6px; }
.csa-com-audio-speed{ display:flex; gap:6px; margin-bottom:10px; }
.csa-com-audio-speed button{
  background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:8px; padding:3px 9px;
  font-size:11px; color:var(--com-white-dim); cursor:pointer;
}
.csa-com-audio-speed button.active{ background:linear-gradient(135deg,var(--com-red),var(--com-red-dark)); border-color:transparent; color:#fff; }

.csa-com-audio-tipo-row{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.csa-com-audio-tipo{
  font-size:11px; text-transform:uppercase; letter-spacing:.3px; background:var(--com-surface-2);
  border:1px solid var(--com-border-soft); border-radius:20px; padding:3px 10px; color:var(--com-white-dim);
}
.csa-com-audio-estrelas{ font-size:13px; letter-spacing:1px; }

.csa-com-audio-resumo{ font-size:13px; color:var(--com-white-dim); line-height:1.6; margin:0 0 10px; }
.csa-com-audio-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.csa-com-audio-chip{
  font-size:11px; background:rgba(108,142,245,.12); color:#8fa6ff; border:1px solid rgba(108,142,245,.3);
  border-radius:20px; padding:3px 10px;
}
.csa-com-audio-chip-obj{ background:rgba(255,176,32,.12); color:#ffb020; border-color:rgba(255,176,32,.3); }

.csa-com-audio-tom{ display:flex; flex-wrap:wrap; gap:10px; font-size:11px; color:var(--com-white-faint); margin-bottom:10px; }

.csa-com-audio-reescrito{
  background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-left:3px solid var(--com-red);
  border-radius:var(--com-radius-sm); padding:12px 14px; margin-bottom:10px;
}
.csa-com-audio-reescrito b{ display:block; font-size:11.5px; margin-bottom:6px; color:var(--com-white); }
.csa-com-audio-reescrito p{ margin:0; font-size:13px; color:var(--com-white-dim); line-height:1.6; }

.csa-com-audio-transcricao{
  background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm);
  padding:12px 14px; margin-bottom:10px;
}
.csa-com-audio-transcricao b{ display:block; font-size:11.5px; margin-bottom:6px; }
.csa-com-audio-transcricao p{ margin:0; font-size:12.5px; color:var(--com-white-faint); line-height:1.6; white-space:pre-wrap; }

.csa-com-audio-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.csa-com-audio-tag{
  font-size:10.5px; background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:20px;
  padding:2px 9px; color:var(--com-white-faint);
}

.csa-com-audio-edit{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px; margin-bottom:10px; }

.csa-com-audio-actions{ display:flex; flex-wrap:wrap; gap:8px; position:relative; }
.csa-com-audio-actions button, .csa-com-audio-actions a{
  background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:20px; padding:7px 13px;
  font-size:12px; color:var(--com-white-dim); cursor:pointer; text-decoration:none; transition:border-color .2s ease, color .2s ease;
}
.csa-com-audio-actions button:hover, .csa-com-audio-actions a:hover{ border-color:var(--com-red); color:var(--com-white); }
.csa-com-audio-danger:hover{ border-color:#ff4d4d !important; color:#ff4d4d !important; }

.csa-com-audio-share-pop{
  position:absolute; bottom:52px; right:0; background:var(--com-surface); border:1px solid var(--com-border);
  border-radius:var(--com-radius-sm); box-shadow:var(--com-shadow); padding:8px; display:flex; flex-direction:column; gap:4px; z-index:5;
}
.csa-com-audio-share-pop button{
  background:none; border:none; text-align:left; padding:8px 12px; font-size:12.5px; color:var(--com-white-dim);
  cursor:pointer; border-radius:8px; white-space:nowrap;
}
.csa-com-audio-share-pop button:hover{ background:var(--com-surface-2); color:var(--com-white); }

.csa-com-audio-rank-row{
  display:grid; grid-template-columns:36px 1fr auto 120px; align-items:center; gap:10px; padding:10px 6px;
  border-bottom:1px solid var(--com-border-soft); font-size:13px;
}
.csa-com-audio-rank-row:last-child{ border-bottom:none; }
.csa-com-audio-rank-pos{ font-weight:700; color:var(--com-red-2); }
.csa-com-audio-rank-name small{ color:var(--com-white-faint); font-weight:400; }
.csa-com-audio-rank-tipo{ font-size:11px; color:var(--com-white-faint); text-align:right; }

@media (max-width:720px){
  .csa-com-audio-toolbar{ flex-direction:column; }
  .csa-com-audio-actions{ gap:6px; }
  .csa-com-audio-rank-row{ grid-template-columns:26px 1fr; }
  .csa-com-audio-rank-tipo{ display:none; }
}

/* ---------- fila de upload com botão "Enviar" ---------- */
.csa-com-audio-fila-item{
  display:flex; align-items:center; gap:10px; background:var(--com-surface-2); border:1px solid var(--com-border-soft);
  border-radius:var(--com-radius-sm); padding:8px 12px; font-size:12.5px; color:var(--com-white-dim);
}
.csa-com-audio-fila-nome{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csa-com-audio-fila-tamanho{ color:var(--com-white-faint); font-size:11px; }
.csa-com-audio-fila-item button{
  background:none; border:none; color:var(--com-white-faint); cursor:pointer; font-size:13px; padding:2px 6px; border-radius:6px;
}
.csa-com-audio-fila-item button:hover{ color:var(--com-red-2); background:rgba(255,31,61,.1); }
.csa-com-audio-upload-actions{ display:flex; gap:10px; margin-top:10px; }

/* ============================= Disparo WhatsApp ============================= */
.csa-com-wa-modelos-mini{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.csa-com-wa-modelo-chip{
  font-size:11.5px; background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:20px;
  padding:4px 6px 4px 12px; color:var(--com-white-dim); display:inline-flex; align-items:center; gap:6px;
}
.csa-com-wa-modelo-chip button{ background:none; border:none; color:var(--com-white-faint); cursor:pointer; padding:2px 4px; }
.csa-com-wa-modelo-chip button:hover{ color:var(--com-red-2); }

.csa-com-wa-leads-list{ display:flex; flex-direction:column; gap:6px; max-height:360px; overflow-y:auto; }
.csa-com-wa-lead-row{
  display:grid; grid-template-columns:22px 1.4fr 1.4fr 1fr .8fr; align-items:center; gap:10px;
  background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm);
  padding:9px 12px; font-size:12.5px; color:var(--com-white-dim); cursor:pointer; transition:border-color .2s ease;
}
.csa-com-wa-lead-row:hover{ border-color:var(--com-red-2); }
.csa-com-wa-lead-nome{ color:var(--com-white); font-weight:600; }
.csa-com-wa-lead-empresa, .csa-com-wa-lead-fone{ color:var(--com-white-faint); }
.csa-com-wa-lead-status{ font-size:10.5px; text-transform:uppercase; letter-spacing:.3px; text-align:right; }

.csa-com-wa-progress-bar{ height:8px; border-radius:20px; background:var(--com-surface-2); overflow:hidden; }
.csa-com-wa-progress-fill{ height:100%; width:0; background:linear-gradient(90deg,var(--com-red),var(--com-red-2)); transition:width .3s ease; }

.csa-com-wa-log{ margin-top:10px; max-height:260px; overflow-y:auto; display:flex; flex-direction:column-reverse; gap:6px; }
.csa-com-wa-log-item{
  font-size:12px; background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm);
  padding:8px 12px; color:var(--com-white-dim);
}
.csa-com-wa-log-item.ok{ border-left:3px solid #37c26a; }
.csa-com-wa-log-item.erro{ border-left:3px solid var(--com-red-2); }
.csa-com-wa-log-item small{ color:var(--com-white-faint); margin-left:4px; }

.csa-com-wa-camp-row{
  display:grid; grid-template-columns:1.6fr .8fr 1.4fr 1fr; align-items:center; gap:10px;
  padding:10px 6px; border-bottom:1px solid var(--com-border-soft); font-size:12.5px; color:var(--com-white-dim); cursor:pointer;
}
.csa-com-wa-camp-row:last-child{ border-bottom:none; }
.csa-com-wa-camp-row:hover{ color:var(--com-white); }
.csa-com-wa-camp-nome{ color:var(--com-white); font-weight:600; }
.csa-com-wa-detalhe{
  margin-top:14px; background:var(--com-surface-2); border:1px solid var(--com-border-soft); border-radius:var(--com-radius-sm);
  padding:14px; max-height:340px; overflow-y:auto;
}
.csa-com-wa-detalhe h4{ margin:0 0 10px; }

@media (max-width:720px){
  .csa-com-wa-lead-row{ grid-template-columns:20px 1fr 1fr; }
  .csa-com-wa-lead-status{ display:none; }
  .csa-com-wa-camp-row{ grid-template-columns:1fr 1fr; }
  .csa-com-wa-camp-row span:nth-child(3), .csa-com-wa-camp-row span:nth-child(4){ display:none; }
}
