/* v3.3.87: typography ajustada pra proporcionalidade */
:root{
  --navy:#053087;--navy-d:#012877;--navy-l:#1a4fa8;--navy-10:rgba(5,48,135,.10);
  --green:#05AB41;--green-d:#019C39;--green-10:rgba(5,171,65,.10);
  --gold:#F5A623;--gold-d:#D4851A;--gold-10:rgba(253,210,22,.12);
  --red:#E53E3E;--red-10:rgba(229,62,62,.08);
  --amber:#F59E0B;--amber-10:rgba(245,158,11,.10);
  --purple:#7C3AED;
  --w:#fff;--g50:#F9F9F9;--g100:#F2F2F2;--g150:#EBEBEB;--g200:#E0E0E0;
  --g300:#BDBDBD;--g400:#9E9E9E;--g500:#757575;--g600:#616161;
  --g700:#424242;--g800:#212121;
  --font:-apple-system,"Inter",sans-serif;
  --r:8px;--rsm:6px;--rlg:12px;
  --sh:0 1px 3px rgba(0,0,0,.08);--sh2:0 4px 12px rgba(0,0,0,.10);--sh3:0 8px 24px rgba(0,0,0,.14);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
html,body{height:100%;font-family:var(--font);font-size:13.5px;color:var(--g800);background:#011a4a;overflow:hidden}

/* LOGIN */
/* ═══════════════════════════════════════════════════════════
   LOGIN SCREEN — Command Center aesthetic (v9)
   Navy profundo + acentos dourados + verde IKKI
   Typography: Manrope (display) + IBM Plex Sans (body)
   ═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap');

#login-screen{
  position:fixed;inset:0;z-index:99999;
  background:#010d2c;
  background-image:
    radial-gradient(ellipse 80% 50% at 15% 90%, rgba(5,171,65,.15) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 90% 10%, rgba(245,166,35,.12) 0%, transparent 55%),
    radial-gradient(ellipse 60% 80% at 100% 100%, rgba(124,58,237,.08) 0%, transparent 60%);
  display:flex;align-items:stretch;overflow:hidden;
  font-family:'IBM Plex Sans', -apple-system, sans-serif;
}

/* COLUNA ESQUERDA — Hero */
.l-left{
  flex:1.5;  /* 60% */
  display:flex;flex-direction:column;
  padding:44px 56px;
  position:relative;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.06);
}

/* Grid sutil ao fundo */
.l-bg-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 60% 80% at 50% 40%, #000 30%, transparent 75%);
  pointer-events:none;
}

/* Glows ambientes */
.l-bg-glow-1{
  position:absolute;top:-200px;right:-150px;width:500px;height:500px;
  background:radial-gradient(circle, rgba(245,166,35,.18) 0%, transparent 60%);
  filter:blur(60px);pointer-events:none;
  animation:l-float 16s ease-in-out infinite;
}
.l-bg-glow-2{
  position:absolute;bottom:-200px;left:-180px;width:600px;height:600px;
  background:radial-gradient(circle, rgba(5,171,65,.18) 0%, transparent 60%);
  filter:blur(70px);pointer-events:none;
  animation:l-float 20s ease-in-out infinite reverse;
}
.l-bg-glow-3{
  position:absolute;top:40%;left:30%;width:320px;height:320px;
  background:radial-gradient(circle, rgba(59,130,246,.08) 0%, transparent 70%);
  filter:blur(50px);pointer-events:none;
  animation:l-float 24s ease-in-out infinite;
}
@keyframes l-float{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(40px,-30px)}
}

/* Top: status bar */
.l-hero-top{
  display:flex;align-items:center;gap:10px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.02);
  backdrop-filter:blur(8px);
  width:fit-content;
  position:relative;z-index:2;
  animation:l-fadein .6s ease-out both;
}
.l-pulse-dot{
  width:8px;height:8px;border-radius:50%;
  background:#05AB41;
  box-shadow:0 0 0 0 rgba(5,171,65,.6);
  animation:l-pulse 1.8s ease-out infinite;
}
@keyframes l-pulse{
  0%{box-shadow:0 0 0 0 rgba(5,171,65,.6)}
  80%,100%{box-shadow:0 0 0 10px rgba(5,171,65,0)}
}

/* Centro: manifesto */
.l-hero-center{
  flex:1;display:flex;flex-direction:column;justify-content:center;
  position:relative;z-index:2;
  max-width:620px;
  animation:l-fadein .9s .1s ease-out both;
}

/* Logo block */
.l-logo-block{
  display:flex;align-items:center;gap:18px;margin-bottom:48px;
}
.l-logo-symbol{
  filter:drop-shadow(0 0 24px rgba(245,166,35,.3));
  animation:l-rotate 40s linear infinite;
}
@keyframes l-rotate{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}
.l-logo-text{display:flex;flex-direction:column;gap:2px}
.l-brandname{
  font-family:'Manrope', sans-serif;
  font-size:28px;font-weight:800;color:#fff;
  letter-spacing:-.5px;line-height:1;
}
.l-brandname-accent{
  background:linear-gradient(135deg,#F5A623,#05AB41);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  font-weight:800;
}
.l-brandtag{
  font-size:11px;font-weight:500;color:rgba(255,255,255,.4);
  letter-spacing:1.2px;text-transform:uppercase;
}

/* Manifesto grande */
.l-manifesto{
  font-family:'Manrope', sans-serif;
  font-size:clamp(34px, 4.2vw, 56px);
  font-weight:700;color:#fff;
  line-height:1.05;letter-spacing:-1.8px;
  margin:0 0 22px;
}
.l-manifesto-hi{
  background:linear-gradient(135deg,#F5A623 0%,#ffcf6b 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  font-style:italic;
}
.l-manifesto-hi2{
  background:linear-gradient(135deg,#05AB41 0%,#6dd89a 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  font-style:italic;
}
.l-manifesto-sub{
  font-size:15px;font-weight:400;color:rgba(255,255,255,.6);
  line-height:1.65;max-width:480px;margin:0 0 44px;
  font-family:'IBM Plex Sans', sans-serif;
}

/* Features grid */
.l-features-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
  max-width:540px;
}
.l-feat{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.015);
  backdrop-filter:blur(8px);
  transition:all .2s ease;
}
.l-feat:hover{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.035);
  transform:translateY(-2px);
}
.l-feat-ic{
  width:36px;height:36px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  font-size:17px;font-weight:700;
  flex-shrink:0;
}
.l-feat-txt{display:flex;flex-direction:column;min-width:0}
.l-feat-nome{
  font-family:'Manrope', sans-serif;
  font-size:13px;font-weight:700;color:#fff;
  letter-spacing:-.2px;
}
.l-feat-desc{
  font-size:11px;color:rgba(255,255,255,.45);
  margin-top:1px;
}

/* Bottom: ticker + copy */
.l-hero-bottom{
  position:relative;z-index:2;
  padding-top:24px;border-top:1px solid rgba(255,255,255,.06);
  animation:l-fadein 1.2s .3s ease-out both;
}
.l-ticker{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-family:'IBM Plex Sans', sans-serif;
  margin-bottom:10px;
}
.l-ticker-item{display:inline-flex;align-items:baseline;gap:6px}
.l-ticker-num{
  font-family:'Manrope', sans-serif;
  font-size:17px;font-weight:800;
  color:#05AB41;
  letter-spacing:-.5px;
}
.l-ticker-lbl{
  font-size:11px;color:rgba(255,255,255,.4);
}
.l-ticker-sep{color:rgba(255,255,255,.15);font-size:12px}
.l-copy{
  font-size:10px;color:rgba(255,255,255,.25);
  letter-spacing:.5px;
}

/* COLUNA DIREITA — Formulario */
.l-right{
  width:460px;min-width:420px;
  display:flex;flex-direction:column;justify-content:flex-start;
  padding:36px 48px;
  overflow-y:auto;max-height:100vh;
  background:rgba(0,0,0,.2);
  backdrop-filter:blur(12px);
  position:relative;
  border-left:1px solid rgba(255,255,255,.05);
}
.l-right-inner{
  display:flex;flex-direction:column;justify-content:center;
  min-height:100%;padding:12px 0;
  animation:l-fadein .7s .2s ease-out both;
}

/* Badge versão canto superior direito */
.l-right-header{
  display:flex;justify-content:flex-end;margin-bottom:36px;
}
.l-version-badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 11px;
  font-size:10px;letter-spacing:.8px;
  color:rgba(255,255,255,.45);
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.02);
}
.l-version-dot{
  width:6px;height:6px;border-radius:50%;
  background:#F5A623;
  box-shadow:0 0 8px rgba(245,166,35,.8);
}

@media(max-width:900px){
  .l-left{display:none}
  .l-right{width:100%;min-width:0;padding:32px 24px;border-left:none}
  #login-screen{background:#011a4a}
}

.l-title{
  font-family:'Manrope', sans-serif;
  font-size:26px;font-weight:800;color:#fff;
  margin-bottom:6px;letter-spacing:-.7px;
}
.l-sub{
  font-size:13px;color:rgba(255,255,255,.45);
  margin-bottom:28px;
  font-family:'IBM Plex Sans', sans-serif;
}
.ls{display:none}.ls.act{display:block}

@keyframes l-fadein{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
.lf{margin-bottom:14px}
.ll{display:block;font-size:10px;font-weight:700;color:rgba(255,255,255,.35);letter-spacing:.8px;text-transform:uppercase;margin-bottom:5px}
.li{width:100%;padding:11px 14px;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.12);
  border-radius:10px;font-size:13px;font-family:inherit;color:rgba(255,255,255,.9);outline:none;transition:all .15s}
.li:focus{border-color:rgba(245,166,35,.6);background:rgba(255,255,255,.10)}
.li-ta{width:100%;padding:10px 14px;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.12);
  border-radius:10px;font-size:13px;font-family:inherit;color:rgba(255,255,255,.9);outline:none;resize:none;height:60px}
.lbtn{
  width:100%;padding:13px;
  background:linear-gradient(135deg,#F5A623 0%,#D4851A 100%);
  border:none;border-radius:10px;font-size:14px;font-weight:700;font-family:inherit;
  color:#fff;cursor:pointer;transition:all .2s;margin-top:4px;
  box-shadow:0 4px 16px rgba(245,166,35,.3);
}
.lbtn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(245,166,35,.45)}
.lbtn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.lbtn-g{
  width:100%;padding:12px;margin-bottom:16px;
  background:rgba(255,255,255,.95);border:none;border-radius:10px;
  font-size:13px;font-weight:600;font-family:inherit;color:#3c4043;
  cursor:pointer;transition:all .2s;
  display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
}
.lbtn-g:hover{background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.3)}
.lbtn-link{width:100%;padding:11px;background:none;border:1.5px solid rgba(255,255,255,.15);
  border-radius:10px;font-size:13px;font-family:inherit;color:rgba(255,255,255,.6);
  cursor:pointer;transition:all .2s;margin-top:8px}
.lbtn-link:hover{border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.85)}
.lsep{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:11px;color:rgba(255,255,255,.2)}
.lsep::before,.lsep::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.12)}
.llink{text-align:center;margin-top:14px;font-size:12px;color:rgba(255,255,255,.3)}
.llink a{color:rgba(245,166,35,.8);cursor:pointer;text-decoration:none;border-bottom:1px solid rgba(245,166,35,.3)}
.llink a:hover{color:#F5A623;border-bottom-color:#F5A623}
.lmsg{font-size:11px;color:rgba(245,166,35,.7);margin-top:6px;font-weight:600;display:none}
/* Empresa badge */
.l-emp-badge{
  display:flex;align-items:center;gap:10px;padding:10px 14px;
  background:rgba(255,255,255,.07);border:1.5px solid rgba(245,166,35,.3);
  border-radius:10px;margin-bottom:14px;
}
.l-emp-ic{font-size:18px}
.l-emp-nome{font-size:13px;font-weight:600;color:rgba(255,255,255,.9)}
.l-emp-cod{font-size:10px;color:rgba(255,255,255,.38);margin-top:1px}
/* SMS */
.ph-row{display:flex;gap:8px}
.ph-ddi{width:90px;padding:11px 8px;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.12);
  border-radius:10px;color:rgba(255,255,255,.9);font-size:13px;outline:none;cursor:pointer;flex-shrink:0}
.sms-digs{display:flex;gap:7px;justify-content:center;margin:8px 0 12px}
.sd{width:44px;height:54px;text-align:center;background:rgba(255,255,255,.08);
  border:2px solid rgba(255,255,255,.15);border-radius:10px;
  color:rgba(255,255,255,.95);font-size:24px;font-weight:700;font-family:monospace;
  outline:none;transition:all .15s;caret-color:transparent}
.sd:focus{border-color:rgba(245,166,35,.7);background:rgba(255,255,255,.13)}
.sd.ok{border-color:rgba(5,171,65,.7);background:rgba(5,171,65,.08)}
.sms-sep{font-size:26px;color:rgba(255,255,255,.2);line-height:54px}
.sms-info{text-align:center;font-size:12px;color:rgba(255,255,255,.35);margin-bottom:12px}
.sms-hint{font-size:11px;text-align:center;color:rgba(255,255,255,.2);margin-top:8px}
.sms-hint b{color:rgba(245,166,35,.65);font-family:monospace;letter-spacing:3px}
/* Aguardando */
.aguard-box{text-align:center;padding:20px 0}
.aguard-icon{font-size:48px;margin-bottom:14px}
.aguard-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:8px}
.aguard-txt{font-size:13px;color:rgba(255,255,255,.45);line-height:1.6}
.aguard-note{margin-top:16px;padding:12px 16px;background:rgba(245,166,35,.08);
  border:1px solid rgba(245,166,35,.2);border-radius:10px;font-size:12px;color:rgba(255,255,255,.5)}
/* Recuperar senha */
.recover-box{background:rgba(5,171,65,.08);border:1px solid rgba(5,171,65,.2);
  border-radius:10px;padding:14px 16px;margin-bottom:14px;font-size:12px;
  color:rgba(255,255,255,.6);line-height:1.6}
.ph-err{font-size:11px;color:#F5A623;font-weight:600;margin-top:-8px;margin-bottom:8px;display:none}
.ph-saved-hint{font-size:11px;color:rgba(5,171,65,.8);font-weight:600;margin-bottom:8px;text-align:center;display:none}

/* APP */
#app{display:none;height:100vh;flex-direction:column;background:var(--g50)}
.hdr{height:52px;background:var(--w);border-bottom:1px solid var(--g200);display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0;box-shadow:var(--sh);z-index:300;position:relative}
.hdr-l{display:flex;align-items:center;gap:12px}
.hdr-nav{display:flex;gap:1px}
.hn{padding:5px 12px;border-radius:var(--rsm);font-size:13px;color:var(--g500);cursor:pointer;border:none;background:none;font-family:var(--font);transition:all .12s;white-space:nowrap}
.hn:hover{background:var(--g100);color:var(--g800)}.hn.act{background:var(--navy);color:var(--w);font-weight:500}
.hdr-r{display:flex;align-items:center;gap:10px}
.ai-pill{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--green);background:var(--green-10);padding:3px 10px;border-radius:10px}
.ai-dot{width:5px;height:5px;border-radius:50%;background:var(--green);animation:blink 2s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.u-chip{display:flex;align-items:center;gap:7px;padding:3px 10px 3px 3px;border-radius:20px;background:var(--g50);border:1px solid var(--g200);cursor:pointer}
.u-chip:hover{background:var(--g100)}
.u-av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}
.u-name{font-size:12px;font-weight:500;color:var(--g800)}.u-role-lbl{font-size:10px;color:var(--g400)}
.notif-wrap{position:relative;cursor:pointer;padding:5px;border-radius:var(--rsm)}
.notif-wrap:hover{background:var(--g100)}
.notif-cnt{position:absolute;top:1px;right:1px;min-width:14px;height:14px;background:var(--red);border-radius:7px;font-size:8px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 2px}
.app-body{display:flex;flex:1;overflow:hidden}
.sidebar{width:200px;min-width:200px;background:var(--w);border-right:1px solid var(--g200);overflow-y:auto;padding:12px 8px;display:flex;flex-direction:column}
.sg-label{font-size:10px;font-weight:700;color:var(--g300);letter-spacing:.8px;text-transform:uppercase;padding:3px 8px 6px}
.si{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--rsm);cursor:pointer;font-size:13px;color:var(--g500);transition:all .1s;border:none;background:none;width:100%;text-align:left;font-family:var(--font)}
.si:hover{background:var(--g100);color:var(--g800)}.si.act{background:var(--navy-10);color:var(--navy);font-weight:500}
.si-ic{font-size:14px;width:18px;text-align:center;flex-shrink:0}
.si-b{margin-left:auto;font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px}
.sb-n{background:var(--navy-10);color:var(--navy)}.sb-g{background:var(--green-10);color:var(--green-d)}.sb-r{background:var(--red-10);color:var(--red)}.sb-gd{background:var(--gold-10);color:var(--gold-d)}
.sdiv{height:1px;background:var(--g150);margin:6px 0}
.si-sub{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 28px;border-radius:var(--rsm);cursor:pointer;font-size:12px;color:var(--g400);transition:all .1s;border:none;background:none;width:100%;text-align:left;font-family:var(--font)}
.si-sub:hover{background:var(--g100);color:var(--g700)}.si-sub.act{background:var(--navy-10);color:var(--navy);font-weight:500}
.si-sub .si-ic{font-size:12px;width:16px;text-align:center;flex-shrink:0}
.si-group{margin-bottom:2px}
.si-group-hdr{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--rsm);cursor:pointer;font-size:13px;color:var(--g700) !important;transition:all .1s;border:none;background:none;width:100%;text-align:left;font-family:var(--font);font-weight:500}
.si-group-hdr:hover{background:var(--g100) !important;color:var(--g800) !important}
.si-group-hdr.act,.si-group-hdr.open{color:var(--g800) !important;font-weight:600}
.si-group-hdr .si-ic{color:inherit !important}
.si-group-body{display:none;padding-bottom:2px}
.si-group-body.open{display:block}
.si-chevron{margin-left:auto;font-size:10px;color:var(--g300);transition:transform .2s}
.si-group-hdr.open .si-chevron{transform:rotate(90deg)}
/* v16.21: botão "Minha Conta" — texto sempre preto em todos os temas (pedido usuário) */
.si[data-panel="minha-conta"], .si[data-panel="minha-conta"] #sidebar-user-name, .si[data-panel="minha-conta"] .si-ic { color:#000 !important }
.si[data-panel="minha-conta"]:hover, .si[data-panel="minha-conta"]:hover #sidebar-user-name { color:#000 !important; background:var(--g100) }
.si[data-panel="minha-conta"].act, .si[data-panel="minha-conta"].act #sidebar-user-name { color:#000 !important; background:var(--navy-10); font-weight:600 }
.content{flex:1;overflow-y:auto;background:var(--g50)}
.panel{display:none;padding:22px}.panel.act{display:block}
.ph{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.ph-title{font-size:17px;font-weight:500;color:var(--g800);letter-spacing:-.4px;margin-bottom:2px}
.ph-sub{font-size:12px;color:var(--g400)}.ph-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:var(--rsm);font-size:12.5px;font-weight:500;cursor:pointer;border:none;font-family:var(--font);transition:all .15s;white-space:nowrap}
.btn:disabled{opacity:.45;cursor:not-allowed}
.b-primary{background:var(--navy);color:#fff}.b-primary:hover{background:var(--navy-d)}
.b-success{background:var(--green);color:#fff}.b-success:hover{background:var(--green-d)}
.b-danger{background:var(--red);color:#fff}.b-gold{background:var(--gold);color:var(--navy-d);font-weight:700}
.b-ghost{background:none;color:var(--g600);border:1px solid var(--g200)}.b-ghost:hover{background:var(--g100)}
.b-light{background:var(--g100);color:var(--g700)}.b-light:hover{background:var(--g200)}
.b-sm{padding:5px 10px;font-size:11.5px}.b-xs{padding:3px 8px;font-size:10.5px}
.card{background:var(--w);border:1px solid var(--g200);border-radius:var(--r);box-shadow:var(--sh)}
.card-p{padding:18px}
.card-hdr{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--g150)}
.card-title{font-size:13px;font-weight:600;color:var(--g800)}
.mrow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.mc{background:var(--w);border:1px solid var(--g200);border-radius:var(--r);padding:16px;box-shadow:var(--sh);position:relative;overflow:hidden}
.mc::after{content:"";position:absolute;top:0;left:0;right:0;height:3px}
.mc.mn::after{background:var(--navy)}.mc.mg::after{background:var(--green)}.mc.mgd::after{background:var(--gold)}.mc.mr::after{background:var(--red)}
.mc-lbl{font-size:10px;font-weight:600;color:var(--g400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.mc-val{font-size:24px;font-weight:500;color:var(--g800);letter-spacing:-.5px;line-height:1;margin-bottom:4px}
.mc-sub{font-size:11px;color:var(--green);font-weight:500}.mc-sub.dn{color:var(--red)}
.alert-box{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-radius:var(--r);margin-bottom:16px}
.alert-sdr{background:#fff8e1;border:1.5px solid var(--amber);animation:glow 2.5s ease infinite}
.alert-info{background:#e8f4fd;border:1px solid #90caf9}
.alert-ok{background:var(--green-10);border:1px solid var(--green)}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.3)}50%{box-shadow:0 0 0 5px rgba(245,158,11,0)}}
.alert-ic{font-size:18px;flex-shrink:0;margin-top:1px}.alert-body{flex:1}
.alert-title{font-size:13px;font-weight:600;color:#92400E;margin-bottom:3px}
.alert-txt{font-size:12px;color:#B45309;line-height:1.45}.alert-acts{display:flex;gap:7px;flex-shrink:0}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9000;display:none;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal{background:var(--w);border-radius:var(--rlg);width:580px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--sh3)}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--g200)}
.modal-title{font-size:15px;font-weight:600;color:var(--g800)}
.modal-body{padding:22px}.modal-ftr{display:flex;gap:8px;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--g200)}
.modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--g400);padding:2px 6px;border-radius:4px}
.modal-close:hover{background:var(--g100);color:var(--g700)}

/* FORMS */
.fg{margin-bottom:14px}.fg-row{display:grid;gap:12px;margin-bottom:14px}.fg-2{grid-template-columns:1fr 1fr}.fg-3{grid-template-columns:1fr 1fr 1fr}
.fl{display:block;font-size:11px;font-weight:600;color:var(--g600);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px}
.fl .req{color:var(--red)}
.fi,.fs,.fta{width:100%;border:1px solid var(--g200);border-radius:var(--rsm);padding:9px 12px;font-size:13px;font-family:var(--font);color:var(--g800);background:var(--w);outline:none;transition:border .15s}
.fi:focus,.fs:focus,.fta:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(5,48,135,.08)}
.fi:read-only{background:var(--g50);color:var(--g500)}
.fta{resize:vertical;min-height:72px}
.fs{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239E9E9E'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.f-hint{font-size:11px;color:var(--g400);margin-top:4px}.f-error{font-size:11px;color:var(--red);margin-top:4px}
.f-check{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--g700)}
.f-check input{width:15px;height:15px;accent-color:var(--navy);cursor:pointer}

/* v3.3.36: modal de lead compacto — fontes/padding menores, melhor uso da tela */
.lead-modal-compact .fg{margin-bottom:8px}
.lead-modal-compact .fg-row{gap:8px;margin-bottom:8px}
.lead-modal-compact .fl{font-size:10px;margin-bottom:3px;letter-spacing:.3px}
.lead-modal-compact .fi,
.lead-modal-compact .fs,
.lead-modal-compact .fta{padding:6px 9px;font-size:12px}
.lead-modal-compact .fta{min-height:60px}
.lead-modal-compact .ledit-pane{padding:10px 0 4px 0}
.lead-modal-compact .ledit-tab{padding:8px 12px;font-size:12px}
.lead-modal-compact .modal-body{padding:8px 18px 14px 18px}
.lead-modal-compact .f-hint{font-size:10px}

/* TABLE */
/* v3.3.42: removido overflow:hidden da .tbl — bloqueava position:sticky do thead
   (sticky precisa de ancestor scrollable visível, e overflow:hidden corta o contexto).
   Border-radius continua via wrapper (.gridx-wrap, .tbl-wrap) que tem overflow:auto. */
.tbl{width:100%;border-collapse:collapse;font-size:12px;background:var(--w);border-radius:var(--r)}
/* v3.3.41: sticky header GLOBAL pra TODAS as .tbl — header fica fixo no topo
   ao scrollar dentro do wrapper. Funciona quando .tbl está num container
   com overflow:auto (gridx-wrap, leads-table-wrap, modal-body etc). */
.tbl thead th{position:sticky;top:0;z-index:5;background:linear-gradient(180deg,#fcfcfd,#f5f7fa);box-shadow:0 1px 0 var(--g200)}
.tbl thead th[scope="row"]{position:relative;z-index:auto}
[data-theme="escuro"] .tbl thead th{background:linear-gradient(180deg,#1f2937,#111827);color:var(--g200);box-shadow:0 1px 0 #374151}

/* ─── GRIDX (v3.3.23) — wrapper genérico pra qualquer .tbl ──────────
   Scroll H+V automático, header sticky, column picker e sort no click.
   Aplicado pelo gridx.js a toda tabela .tbl que não tem opt-out via
   data-gridx="off". ───────────────────────────────────────────────── */
.gridx-wrap{position:relative;border:1px solid var(--g200);border-radius:8px;overflow:auto;max-height:60vh;background:var(--w);scrollbar-width:thin}
.gridx-wrap::-webkit-scrollbar{width:8px;height:8px}
.gridx-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}
.gridx-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8}
.gridx-wrap > .tbl{border-radius:0;font-size:12px}
.gridx-wrap > .tbl thead th{position:sticky;top:0;z-index:5;background:linear-gradient(180deg,#fcfcfd,#f5f7fa);box-shadow:0 1px 0 var(--g200);white-space:nowrap;cursor:pointer;user-select:none;padding:8px 10px}
.gridx-wrap > .tbl thead th[data-gridx-nosort]{cursor:default}
.gridx-wrap > .tbl thead th .gridx-sort-ic{font-size:10px;color:var(--g400);margin-left:4px;display:inline-block;width:8px}
.gridx-wrap > .tbl thead th.gridx-sorted-asc .gridx-sort-ic::before{content:"▲";color:var(--navy)}
.gridx-wrap > .tbl thead th.gridx-sorted-desc .gridx-sort-ic::before{content:"▼";color:var(--navy)}
.gridx-wrap > .tbl tbody td{padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.gridx-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:6px;padding:6px 8px;background:#fafbfc;border-bottom:1px solid var(--g100);position:sticky;top:0;z-index:6}
.gridx-colbtn{font-size:11px;padding:3px 8px;border:1px solid var(--g200);background:var(--w);border-radius:4px;cursor:pointer;color:var(--g700)}
.gridx-colbtn:hover{background:var(--g50)}
.gridx-colmenu{position:absolute;right:8px;top:36px;background:var(--w);border:1px solid var(--g200);border-radius:6px;padding:8px 10px;z-index:20;box-shadow:0 4px 16px rgba(0,0,0,.1);max-height:300px;overflow-y:auto;min-width:160px}
.gridx-colmenu label{display:flex;align-items:center;gap:6px;font-size:12px;padding:3px 0;color:var(--g700);cursor:pointer}
.gridx-colmenu label:hover{color:var(--g900)}
.gridx-hidden{display:none !important}

/* v3.0.26: thead sticky + colunas redimensionáveis */
#leads-table-wrap{scrollbar-width:thin}
#leads-table-wrap::-webkit-scrollbar{width:10px;height:10px}
#leads-table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:5px}
#leads-table-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8}
#leads-table thead th{position:sticky;top:0;z-index:5;background:linear-gradient(180deg,#fcfcfd,#f5f7fa);box-shadow:0 1px 0 var(--g200)}
#leads-table thead th.lgrid-fixed-left{z-index:6}
/* v3.3.55: resize via handle .col-resizer (CSS resize:horizontal nao funciona bem em sticky/flex) */
.tbl-resizable th{overflow:visible;min-width:80px;max-width:800px;position:relative}
/* Colunas pequenas: checkbox + ações tem min-width próprio */
.tbl-resizable th.lgrid-fixed-left{min-width:36px;resize:none}
.tbl-resizable th.col-acoes{min-width:72px}
/* Garantir título visível: padding-right pra não colar no resizer */
.tbl-resizable th{padding-right:14px}
/* v3.3.58: handle visível com listra cinza no canto direito + cursor explícito.
   touch-action:none é crítico — sem isso o navegador pode interpretar o drag como scroll. */
/* v3.3.67: coluna # (numero sequencial) na grade da campanha */
.camp-grid .c-idx{width:42px;text-align:center;background:#fafbfc}
.camp-grid th.c-idx{padding:9px 6px}
.camp-grid td.c-idx{padding:6px}
/* v3.3.83: estilo consistente pros pré-requisitos colapsáveis dos cards de integração */
.int-prereqs{margin-bottom:10px;background:#FFF7E6;border:1px solid #F5C97B;border-radius:6px;overflow:hidden}
.int-prereqs > summary{padding:10px 12px;cursor:pointer;font-size:12px;font-weight:600;color:#92400E;user-select:none;list-style:none}
.int-prereqs > summary::-webkit-details-marker{display:none}
.int-prereqs > summary::before{content:"▶ ";display:inline-block;transition:transform .2s;margin-right:4px}
.int-prereqs[open] > summary::before{transform:rotate(90deg)}
.int-prereqs > summary:hover{background:rgba(245,201,123,.15)}
.int-prereqs-body{padding:10px 14px;font-size:11.5px;color:#78350F;line-height:1.7;border-top:1px solid #F5C97B;background:#fffdf7}
.int-prereqs-body code{background:#fff;padding:2px 6px;border:1px solid #fcd34d;border-radius:3px;font-size:11px}
.int-prereqs-body a{color:#0a66c2;font-weight:600}

.col-resizer{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;background:transparent;z-index:20;touch-action:none;pointer-events:auto;user-select:none}
.col-resizer::after{content:"";position:absolute;top:25%;right:3px;height:50%;width:2px;background:var(--g300);border-radius:1px;transition:background .15s}
.col-resizer:hover::after{background:var(--navy)}
.col-resizer.resizing::after,.col-resizer:active::after{background:var(--navy);width:3px}
/* v3.3.55: oculta colunas opcionais por default ATÉ o JS rodar e aplicar prefs.
   Sobrescrito por LGRID._STYLE_ID quando coluna está marcada. */
#leads-table th.col-coderp:not(.lgrid-shown), #leads-table td.col-coderp:not(.lgrid-shown),
#leads-table th.col-cidade:not(.lgrid-shown), #leads-table td.col-cidade:not(.lgrid-shown),
#leads-table th.col-higienizado:not(.lgrid-shown), #leads-table td.col-higienizado:not(.lgrid-shown),
#leads-table th.col-mobile:not(.lgrid-shown), #leads-table td.col-mobile:not(.lgrid-shown),
#leads-table th.col-linkedin:not(.lgrid-shown), #leads-table td.col-linkedin:not(.lgrid-shown),
#leads-table th.col-website:not(.lgrid-shown), #leads-table td.col-website:not(.lgrid-shown),
#leads-table th.col-origem:not(.lgrid-shown), #leads-table td.col-origem:not(.lgrid-shown),
#leads-table th.col-prob:not(.lgrid-shown), #leads-table td.col-prob:not(.lgrid-shown),
#leads-table th.col-fat:not(.lgrid-shown), #leads-table td.col-fat:not(.lgrid-shown),
#leads-table th.col-func:not(.lgrid-shown), #leads-table td.col-func:not(.lgrid-shown),
#leads-table th.col-dor:not(.lgrid-shown), #leads-table td.col-dor:not(.lgrid-shown),
#leads-table th.col-tags:not(.lgrid-shown), #leads-table td.col-tags:not(.lgrid-shown),
#leads-table th.col-campanhas:not(.lgrid-shown), #leads-table td.col-campanhas:not(.lgrid-shown),
#leads-table th.col-updated:not(.lgrid-shown), #leads-table td.col-updated:not(.lgrid-shown){display:none}
.tbl-resizable td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:400px}
.tbl-resizable td.col-nome{white-space:normal;max-width:300px}
.tbl-resizable td.col-acoes{white-space:nowrap}

/* Colunas fixas (checkbox + ações) — sempre visíveis no início, mesmo com scroll */
.tbl th.lgrid-fixed-left, .tbl td.lgrid-fixed-left{position:sticky;left:0;z-index:3;background:#fff}
.tbl th.lgrid-fixed-left{background:linear-gradient(180deg,#fcfcfd,#f5f7fa);z-index:4;box-shadow:2px 0 4px -2px rgba(0,0,0,.08)}
.tbl tbody tr:nth-child(even) td.lgrid-fixed-left{background:#fafbfc}
.tbl tbody tr:hover td.lgrid-fixed-left{background:#eaf1fb}
.tbl tr.sel-row td.lgrid-fixed-left{background:#dbeafe !important}
/* v3.3.55: botões empilhados verticalmente — coluna mais estreita */
.tbl td.col-acoes{padding:5px 6px}
.tbl td.col-acoes button{font-size:10px;padding:2px 6px;margin:0;white-space:nowrap;display:block;width:100%;text-align:center}
.tbl td.col-acoes button + button{margin-top:3px}
.tbl th.col-acoes{padding:9px 6px;text-align:center}
.tbl-actions{display:flex;flex-direction:column;gap:3px;opacity:1;transition:opacity .1s;align-items:stretch}

.tbl th{text-align:left;padding:10px 14px;font-size:10.5px;font-weight:700;color:var(--g500);letter-spacing:.6px;text-transform:uppercase;border-bottom:2px solid var(--g200);background:linear-gradient(180deg,#fcfcfd,#f5f7fa);white-space:nowrap;position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--g200)}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--g100);color:var(--g700);vertical-align:middle;transition:background .12s ease;font-size:12px}
.tbl tbody tr:nth-child(even) td{background:#fafbfc}
.tbl tr:hover td{background:var(--navy-10) !important}
.tbl tr.lead-alerta td{background:rgba(239,68,68,.04) !important;border-left:3px solid var(--red)}
.tbl tr.lead-alerta:hover td{background:rgba(239,68,68,.08) !important}
.tbl tr.lead-alerta td:first-child{border-left:3px solid var(--red)}
.alerta-badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;color:var(--red);background:rgba(239,68,68,.1);padding:1px 6px;border-radius:8px;margin-left:5px}
/* v3.3.55: regra antiga sobrescrita pela versão flex-direction:column acima */
.u-status-aprovado{background:var(--green-10);color:var(--green-d);font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px}
.u-status-pendente{background:rgba(245,158,11,.12);color:#92400E;font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px}
.u-status-inativo{background:var(--g100);color:var(--g400);font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px}
.pending-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(245,158,11,.06);border:1px solid rgba(245,158,11,.2);border-radius:var(--r);margin-bottom:8px}
.tbl tr:hover .tbl-actions{opacity:1}
.tbl tbody tr{cursor:pointer}
.tbl th.sortable{cursor:pointer;user-select:none}
.tbl th[draggable="true"]{cursor:grab;position:relative}
.tbl th[draggable="true"]:hover::before{content:"⋮⋮";position:absolute;left:3px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--g300);pointer-events:none}
.tbl th[draggable="true"]:active{cursor:grabbing}
.tbl th.col-drag-over{background:var(--navy-10) !important;border-left:2px solid var(--navy)}
.col-filter-pop{position:absolute;top:100%;left:0;min-width:180px;background:var(--w);border:1px solid var(--g200);border-radius:var(--r);box-shadow:var(--sh2);z-index:600;padding:8px;display:none;margin-top:2px}
.col-filter-pop.open{display:block}
.col-filter-pop input{width:100%;border:1px solid var(--g200);border-radius:var(--rsm);padding:5px 8px;font-size:12px;font-family:var(--font);box-sizing:border-box}
.tbl th.sortable:hover{color:var(--navy);background:var(--navy-10)}
.tbl th .sort-ic{display:inline-block;margin-left:4px;opacity:.35;font-size:9px}
.tbl th.sort-asc .sort-ic::after{content:"▲";opacity:1}
.tbl th.sort-desc .sort-ic::after{content:"▼";opacity:1}
.tbl tr.sel-row td{background:var(--navy-10) !important;font-weight:500}
.col-picker{position:relative;display:inline-block}
.col-picker-menu{position:absolute;top:100%;right:0;background:var(--w);border:1px solid var(--g200);border-radius:var(--r);box-shadow:var(--sh2);z-index:500;min-width:220px;max-height:420px;overflow-y:auto;padding:8px 0;display:none}
.col-picker-menu.open{display:block}
.col-picker-menu label{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:12px;cursor:pointer;color:var(--g700)}
.col-picker-menu label:hover{background:var(--g50)}
.col-picker-menu label input{cursor:pointer;accent-color:var(--navy)}
.leads-ldp{border:1px solid var(--g200);border-radius:var(--r);box-shadow:var(--sh2);overflow:hidden;display:none;margin-top:12px}
.leads-ldp .ldp-hdr{padding:14px 20px;background:var(--navy);color:#fff;display:flex;align-items:flex-start;justify-content:space-between}
.leads-ldp .ldp-name{font-size:16px;font-weight:600}
.leads-ldp .ldp-meta{font-size:11px;opacity:.7;margin-top:2px}
.leads-ldp .ldp-tabs{display:flex;border-bottom:1px solid var(--g200)}
.leads-ldp .ldp-tab{padding:9px 18px;font-size:12px;font-weight:500;color:var(--g400);cursor:pointer;border-bottom:2px solid transparent;transition:all .12s;border-top:none;border-left:none;border-right:none;background:none;font-family:var(--font)}
.leads-ldp .ldp-tab.act{color:var(--navy);border-bottom-color:var(--navy)}
.leads-ldp .ldp-body{padding:18px 20px}

/* KANBAN */
.kb-board{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;min-height:400px}
.kb-col{min-width:255px;width:255px;flex-shrink:0;background:var(--g100);border:1px solid var(--g200);border-radius:var(--r)}
.kb-col.drag-over{background:var(--navy-10);border-color:var(--navy)}
.kb-col-hdr{padding:10px 12px;border-bottom:1px solid var(--g200);background:var(--w);border-radius:var(--r) var(--r) 0 0;display:flex;align-items:center;justify-content:space-between}
.kb-col-title{font-size:10px;font-weight:700;color:var(--g500);text-transform:uppercase;letter-spacing:.6px}
.kb-cnt{font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;background:var(--g200);color:var(--g600)}
.kb-cnt.green{background:var(--green-10);color:var(--green-d)}
.kb-col-body{padding:8px;min-height:100px}
.kb-card{background:var(--w);border:1px solid var(--g200);border-radius:var(--r);margin-bottom:8px;cursor:pointer;transition:all .12s;box-shadow:var(--sh);position:relative;overflow:hidden}
.kb-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}
.kc-dist::before{background:var(--navy)}.kc-ind::before{background:var(--gold-d)}.kc-log::before{background:var(--green)}.kc-sau::before{background:#7C3AED}.kc-won::before{background:var(--green)}
.kb-card:hover{border-color:var(--navy-l);box-shadow:var(--sh2);transform:translateY(-1px)}
.kb-card.sel{border-color:var(--navy);box-shadow:0 0 0 2px rgba(5,48,135,.15)}
.kb-card-top{padding:11px 13px 9px}
.kb-card-name{font-size:13px;font-weight:600;color:var(--g800);margin-bottom:2px}
.kb-card-co{font-size:11px;color:var(--g400);margin-bottom:8px}
.kb-badges{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}
.kb-badge{font-size:8px;font-weight:700;padding:2px 6px;border-radius:4px}
.badge-ai{background:var(--navy-10);color:var(--navy)}
.badge-hot{background:rgba(245,158,11,.15);color:#92400E;animation:blink 1.5s ease infinite}
.kb-scores{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:9px}
.kb-sc-lbl{font-size:8px;color:var(--g400);font-weight:600;text-transform:uppercase;margin-bottom:2px}
.kb-sc-bar{height:3px;background:var(--g150);border-radius:2px;overflow:hidden;margin-bottom:2px}
.kb-sc-fill{height:100%;border-radius:2px}
.sc-n{background:var(--navy)}.sc-g{background:var(--green)}.sc-gd{background:var(--gold-d)}
.kb-sc-num{font-size:9px;font-weight:700;color:var(--g500)}
.kb-card-fin{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.kb-mrr{font-size:13px;font-weight:700;color:var(--green-d)}
.kb-prob{font-size:11px;color:var(--g400)}.kb-prob.high{color:var(--green-d);font-weight:600}.kb-prob.med{color:var(--amber)}
.kb-card-meta{display:flex;align-items:center;gap:6px}
.kb-av{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;color:#fff}
.kb-owner{font-size:10px;color:var(--g400)}.kb-timer{margin-left:auto;font-size:9px;font-weight:600;color:var(--g400)}
.kb-timer.warn{color:var(--amber)}.kb-timer.crit{color:var(--red)}
.kb-card-footer{background:var(--g50);border-top:1px solid var(--g150);padding:7px 13px;display:flex;align-items:center;gap:7px}
.kb-card-footer.urg{background:var(--amber-10);border-top-color:rgba(245,158,11,.2)}
.kf-ic{font-size:11px;flex-shrink:0}.kf-txt{font-size:10px;color:var(--g600);flex:1;line-height:1.35}
.kf-time{font-size:9px;font-weight:600;color:var(--navy);flex-shrink:0}
.kf-time.w{color:var(--amber)}.kf-time.c{color:var(--red)}
.kb-add-btn{width:100%;padding:7px;border:1.5px dashed var(--g300);border-radius:var(--r);background:none;font-size:11px;color:var(--g400);cursor:pointer;text-align:center;margin:2px 0;transition:all .12s;font-family:var(--font)}
.kb-add-btn:hover{border-color:var(--navy);color:var(--navy);background:var(--navy-10)}
.kb-col.compact .kb-card-footer{display:none}
.kb-col.compact .kb-scores{display:none}
.kb-col.compact .kb-badges{display:none}
.kb-col.compact .kb-card-fin{margin-bottom:4px}
.kb-col.compact .kb-card-co{margin-bottom:4px}
.kb-col.compact .kb-card-top{padding:8px 10px}
.kb-col.col-dragging{opacity:.4;border:2px dashed var(--navy)}
.kb-col-hdr{cursor:default}
.kb-col-hdr.col-drag-handle{cursor:grab}
.kb-filter-bar{display:none;gap:8px;padding:8px 0 4px;flex-wrap:wrap;align-items:center}
.kb-filter-bar select,.kb-filter-bar input{padding:5px 8px;border:1px solid var(--g200);border-radius:var(--rsm);font-size:12px;font-family:var(--font);background:var(--w);color:var(--g800)}
.kb-filter-bar label{font-size:11px;font-weight:600;color:var(--g500)}
.kb-filter-bar .btn{height:28px;padding:0 10px;font-size:11px}

/* LEAD DETAIL */
.ldp{background:var(--w);border:1px solid var(--g200);border-radius:var(--r);box-shadow:var(--sh2);margin-top:0;overflow:hidden;display:none;min-height:200px}
.ldp-resizer{height:6px;background:var(--g150);cursor:ns-resize;position:relative;user-select:none;flex-shrink:0;border-radius:3px;margin:4px 0}
.ldp-resizer:hover,.ldp-resizer.dragging{background:var(--navy-l)}
.ldp-resizer::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:32px;height:2px;background:var(--g300);border-radius:2px}
.ldp-resizer::after{content:"";position:absolute;left:50%;top:calc(50% + 4px);transform:translate(-50%,-50%);width:32px;height:2px;background:var(--g300);border-radius:2px}
#panel-kanban.act{display:flex !important;flex-direction:column}
.kb-main{flex:1;overflow-y:auto;min-height:160px}
.ldp-hdr{padding:14px 20px;background:var(--navy);color:#fff;display:flex;align-items:flex-start;justify-content:space-between}
.ldp-name{font-size:16px;font-weight:600}.ldp-meta{font-size:11px;opacity:.7;margin-top:2px}
.ldp-tabs{display:flex;border-bottom:1px solid var(--g200)}
.ldp-tab{padding:9px 18px;font-size:12px;font-weight:500;color:var(--g400);cursor:pointer;border-bottom:2px solid transparent;transition:all .12s;border-top:none;border-left:none;border-right:none;background:none;font-family:var(--font)}
.ldp-tab.act{color:var(--navy);border-bottom-color:var(--navy)}
.ldp-body{padding:18px 20px}

/* ═══ ADMINISTRAÇÃO — menu vertical (superadmin) ═══ */
.adm-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:0;
  min-height:600px;
  border:1px solid var(--g200);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.adm-sidebar{
  background:linear-gradient(180deg, #f8fafc, #fff);
  border-right:1px solid var(--g200);
  padding:18px 0;
}
.adm-hdr{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 18px 4px;
  font-size:15px;
  font-weight:700;
  color:var(--g800);
}
.adm-hdr-icon{font-size:18px}
.adm-hdr-sub{
  padding:0 18px 16px;
  font-size:11px;
  color:var(--g500);
  border-bottom:1px solid var(--g100);
  margin-bottom:12px;
}
.adm-nav{display:flex;flex-direction:column}
.adm-nav-item{
  display:grid;
  grid-template-columns:28px 1fr;
  grid-template-rows:auto auto;
  grid-column-gap:10px;
  align-items:center;
  padding:10px 18px;
  border:none;
  background:transparent;
  text-align:left;
  cursor:pointer;
  font-family:var(--font);
  color:var(--g600);
  border-left:3px solid transparent;
  transition:all .15s cubic-bezier(.4,0,.2,1);
}
.adm-nav-item:hover{
  background:var(--g50);
  color:var(--g800);
  border-left-color:var(--g300);
}
.adm-nav-item.act{
  background:linear-gradient(90deg, rgba(5,48,135,.08), transparent 80%);
  color:var(--navy);
  border-left-color:var(--navy);
}
.adm-nav-item.act .adm-nav-label{font-weight:700}
.adm-nav-icon{
  grid-row:1/3;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.adm-nav-label{
  grid-column:2;
  font-size:13px;
  font-weight:500;
}
.adm-nav-desc{
  grid-column:2;
  font-size:10.5px;
  color:var(--g400);
  margin-top:-2px;
}
.adm-nav-item.act .adm-nav-desc{color:var(--navy);opacity:.65}
.adm-content{
  padding:20px 24px;
  overflow-y:auto;
  background:#fff;
}
.adm-placeholder{
  text-align:center;
  padding:60px 20px;
  color:var(--g400);
  font-size:13px;
}

/* ═══ CFG TABS — scroll horizontal com setas + gradiente fade ═══ */
.cfg-tabs-wrap{
  position:relative;
  display:flex;
  align-items:stretch;
  border-bottom:1px solid var(--g200);
  margin-bottom:20px;
  background:linear-gradient(to bottom, transparent, var(--g50) 120%);
}
.cfg-tabs-wrap .ldp-tab{
  white-space:nowrap;
  flex-shrink:0;
  padding:10px 16px;
  font-size:12.5px;
  font-weight:500;
  color:var(--g500);
  border-radius:0;
  position:relative;
  transition:all .18s cubic-bezier(.4,0,.2,1);
}
.cfg-tabs-wrap .ldp-tab:hover{
  color:var(--g700);
  background:rgba(0,0,0,.03);
}
.cfg-tabs-wrap .ldp-tab.act{
  color:var(--navy);
  font-weight:600;
  background:linear-gradient(to bottom, rgba(5,48,135,.04), transparent 60%);
}
.cfg-tabs-wrap .ldp-tab.act::after{
  content:'';
  position:absolute;
  left:8px; right:8px; bottom:-1px;
  height:2.5px;
  background:linear-gradient(90deg, var(--navy), #2563eb);
  border-radius:2px 2px 0 0;
}
.cfg-tabs-scroll{
  flex:1;
  display:flex;
  gap:0;
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:2px 28px;
  mask-image:linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
.cfg-tabs-scroll::-webkit-scrollbar{display:none}

.cfg-tabs-arrow{
  position:absolute;
  top:0; bottom:1px;
  width:28px;
  border:none;
  background:#fff;
  color:var(--g500);
  font-size:22px;
  font-weight:300;
  cursor:pointer;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .15s, background .15s;
  padding:0;
}
.cfg-tabs-arrow:hover{color:var(--navy);background:var(--g50)}
.cfg-tabs-arrow:active{background:var(--g100)}
.cfg-tabs-arrow-left{left:0;border-right:1px solid var(--g100)}
.cfg-tabs-arrow-right{right:0;border-left:1px solid var(--g100)}

/* Esconder seta quando não tem mais scroll pra aquela direção */
.cfg-tabs-arrow.disabled{opacity:.25;pointer-events:none}

/* TABS DO MODAL-LEAD (abas internas de edição) */
.ledit-tabs{display:flex;gap:0;border-bottom:1px solid var(--g200);margin:-4px -20px 14px;padding:0 12px;overflow-x:auto;flex-shrink:0}
.ledit-tab{padding:10px 14px;font-size:12px;font-weight:500;color:var(--g500);cursor:pointer;border:none;border-bottom:2px solid transparent;background:none;font-family:var(--font);white-space:nowrap;transition:all .12s}
.ledit-tab:hover{color:var(--g700);background:var(--g50)}
.ledit-tab.act{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}
.ledit-pane{display:none}
.ledit-pane.act{display:block}
/* Timeline compacta dentro da aba Negociações */
.ledit-neg-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--g100)}
.ledit-neg-item:last-child{border-bottom:none}
.ledit-neg-ico{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--navy-10);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:14px}
.ledit-neg-body{flex:1;min-width:0}
.ledit-neg-tit{font-size:12px;font-weight:600;color:var(--g800);margin-bottom:2px}
.ledit-neg-meta{font-size:10px;color:var(--g500);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ledit-neg-camp{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:600;background:var(--navy-10);color:var(--navy);cursor:pointer;transition:background .12s}
.ledit-neg-camp:hover{background:var(--navy-10);filter:brightness(.95)}
.ledit-neg-camp.unresolved{background:var(--g100);color:var(--g500);cursor:default}
.ledit-neg-txt{font-size:11px;color:var(--g600);margin-top:4px;white-space:pre-wrap;line-height:1.4}
.ledit-neg-empty{text-align:center;padding:40px 20px;color:var(--g400);font-size:12px}
.ledit-neg-group-hdr{font-size:10px;font-weight:700;color:var(--g500);text-transform:uppercase;letter-spacing:.6px;margin:14px 0 4px;padding-bottom:4px;border-bottom:1px dashed var(--g200)}
.ledit-neg-group-hdr:first-child{margin-top:0}

/* TIMELINE HISTÓRICO */
.tl{position:relative;padding-left:24px}
.tl::before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--g150)}
.tl-item{position:relative;margin-bottom:16px}
.tl-dot{position:absolute;left:-20px;top:3px;width:12px;height:12px;border-radius:50%;border:2px solid var(--w);box-shadow:0 0 0 2px var(--g200);background:var(--g300)}
.tl-dot.tipo-nota{background:var(--navy)}.tl-dot.tipo-tarefa{background:var(--amber)}.tl-dot.tipo-tarefa.done{background:var(--green)}
.tl-dot.tipo-contato{background:var(--green)}.tl-dot.tipo-ia{background:#7C3AED}.tl-dot.tipo-email{background:#06b6d4}
.tl-dot.tipo-sistema{background:var(--g300)}.tl-dot.tipo-reuniao{background:#f97316}.tl-dot.tipo-proposta{background:#ec4899}
.tl-card{background:var(--w);border:1px solid var(--g200);border-radius:var(--r);padding:10px 13px;position:relative}
.tl-card:hover .tl-actions{opacity:1}
.tl-card.tipo-tarefa{border-left:3px solid var(--amber)}
.tl-card.tipo-tarefa.done{border-left-color:var(--green);opacity:.75}
.tl-card.tipo-ia{border-left:3px solid #7C3AED}
.tl-card.tipo-contato{border-left:3px solid var(--green)}
.tl-card.tipo-reuniao{border-left:3px solid #f97316}
.tl-hdr{display:flex;align-items:center;gap:7px;margin-bottom:4px}
.tl-tipo{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:10px;background:var(--g100);color:var(--g500)}
.tl-tipo.tipo-nota{background:var(--navy-10);color:var(--navy)}
.tl-tipo.tipo-tarefa{background:rgba(245,158,11,.12);color:#92400E}
.tl-tipo.tipo-contato{background:var(--green-10);color:var(--green-d)}
.tl-tipo.tipo-ia{background:rgba(124,58,237,.1);color:#5B21B6}
.tl-tipo.tipo-email{background:rgba(6,182,212,.1);color:#0e7490}
.tl-tipo.tipo-reuniao{background:rgba(249,115,22,.1);color:#c2410c}
.tl-tipo.tipo-proposta{background:rgba(236,72,153,.1);color:#9d174d}
.tl-titulo{font-size:13px;font-weight:600;color:var(--g800);flex:1}
.tl-ts{font-size:10px;color:var(--g400);white-space:nowrap}
.tl-user{font-size:10px;color:var(--g500)}
.tl-texto{font-size:12px;color:var(--g600);line-height:1.5;margin-top:4px}
.tl-actions{position:absolute;top:8px;right:10px;display:flex;gap:4px;opacity:0;transition:opacity .15s}
.tl-actions button{background:none;border:none;font-size:11px;color:var(--g400);cursor:pointer;padding:2px 5px;border-radius:3px}
.tl-actions button:hover{background:var(--g100);color:var(--navy)}
.tl-tarefa-chk{width:14px;height:14px;cursor:pointer;flex-shrink:0;accent-color:var(--green)}
.tl-add-bar{display:grid;grid-template-columns:140px 1fr;gap:8px;margin-bottom:8px}
.tl-add-bar select,.tl-add-bar input{font-size:12px;border:1px solid var(--g200);border-radius:var(--rsm);padding:5px 8px;background:var(--w);color:var(--g800);font-family:var(--font)}
.tl-add-textarea{width:100%;border:1px solid var(--g200);border-radius:var(--rsm);padding:8px 10px;font-size:12px;font-family:var(--font);resize:vertical;min-height:60px;color:var(--g800)}
.tl-add-textarea:focus{outline:none;border-color:var(--navy)}
.tl-empty{text-align:center;padding:32px 16px;color:var(--g400);font-size:13px}
.tl-attach{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.tl-file{display:inline-flex;align-items:center;gap:5px;background:var(--g50);border:1px solid var(--g200);border-radius:var(--rsm);padding:4px 9px;font-size:11px;color:var(--navy);cursor:pointer;text-decoration:none;max-width:240px}
.tl-file:hover{background:var(--navy-10);border-color:var(--navy)}
.tl-file-ic{font-size:13px;flex-shrink:0}
.tl-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.tl-img-preview{max-width:200px;max-height:140px;border-radius:var(--rsm);border:1px solid var(--g200);cursor:pointer;margin-top:6px;display:block}
.hist-attach-row{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}
.hist-attach-row input[type=file]{font-size:11px;flex:1}
.hist-gdrive-row{display:flex;gap:6px;align-items:center;margin-top:5px}
.hist-gdrive-row input{flex:1;font-size:12px;border:1px solid var(--g200);border-radius:var(--rsm);padding:5px 8px;font-family:var(--font)}
/* PERFIL / MINHA CONTA */
.perfil-avatar-wrap{position:relative;width:80px;height:80px;margin:0 auto 16px}
.perfil-avatar{width:80px;height:80px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;border:3px solid rgba(5,48,135,.2)}
.perfil-avatar-badge{position:absolute;bottom:0;right:0;width:22px;height:22px;border-radius:50%;background:var(--green);border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:9px}
.perfil-card{background:var(--w);border:1px solid var(--g200);border-radius:var(--r);overflow:hidden}
.perfil-banner{height:80px;background:linear-gradient(135deg,var(--navy) 0%,#1e40af 100%);position:relative}
.perfil-info-wrap{padding:0 20px 20px;margin-top:-40px}
.perfil-stat{text-align:center;padding:12px;background:var(--g50);border-radius:var(--r);border:1px solid var(--g200)}
.perfil-stat-val{font-size:22px;font-weight:700;color:var(--navy)}
.perfil-stat-lbl{font-size:10px;color:var(--g400);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}
/* ═══ MARKETING STUDIO ═══ */
.mkt-cal-cell{min-height:90px;border:1px solid var(--g100);padding:4px;position:relative;transition:background .15s;cursor:pointer}
.mkt-cal-cell:hover{background:var(--g50)}
.mkt-cal-cell.drag-over{background:rgba(5,48,135,.08);border-color:var(--navy)}
.mkt-cal-cell.today{background:rgba(5,171,65,.05);border-color:var(--green)}
.mkt-post-chip{font-size:10px;padding:2px 6px;border-radius:4px;margin-bottom:2px;cursor:grab;display:flex;align-items:center;gap:4px;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}
.mkt-post-chip:active{cursor:grabbing;opacity:.7}
.mkt-post-chip.dragging{opacity:.4}
.mkt-post-chip input[type=checkbox]{width:11px;height:11px;cursor:pointer;accent-color:var(--navy);flex-shrink:0}
.mkt-bulk-bar{display:none;position:sticky;top:0;z-index:10;background:var(--navy);color:#fff;padding:8px 16px;border-radius:var(--r);margin-bottom:8px;align-items:center;gap:10px}
.mkt-bulk-bar.show{display:flex}
.mkt-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.mkt-media-card{border:1px solid var(--g200);border-radius:var(--r);overflow:hidden;position:relative;cursor:pointer;transition:box-shadow .15s}
.mkt-media-card:hover{box-shadow:var(--sh2)}
.mkt-media-thumb{width:100%;aspect-ratio:1;object-fit:cover;background:var(--g100);display:flex;align-items:center;justify-content:center;font-size:32px}
.mkt-media-info{padding:6px 8px;font-size:10px;color:var(--g500)}
.mkt-media-sel{position:absolute;top:6px;left:6px}
.mkt-status-chip{font-size:9px;font-weight:700;padding:2px 7px;border-radius:8px;text-transform:uppercase;letter-spacing:.4px}
.mkt-status-rascunho{background:#f1f5f9;color:#64748b}
.mkt-status-pronto{background:#d1fae5;color:#065f46}
.mkt-status-agendado{background:#dbeafe;color:#1e40af}
.mkt-status-publicado{background:#f0fdf4;color:#166534}
.mkt-ai-gen-card{border:2px dashed var(--g200);border-radius:var(--r);padding:20px;text-align:center;cursor:pointer;transition:all .15s}
.mkt-ai-gen-card:hover{border-color:var(--navy);background:var(--g50)}

/* ═════════════════════════════════════════════════════════════ */
/*  v16.23 — MOBILE RESPONSIVE COMPLETO                           */
/*  Breakpoints: 768px (tablet/phone) + 480px (phone pequeno)     */
/* ═════════════════════════════════════════════════════════════ */

/* ─── Hamburger button (só aparece no mobile) ─── */
.mobile-hamburger {
  display: none;
  position: fixed;
  top: 10px; left: 10px;
  z-index: 1002;
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: 8px;
  width: 42px; height: 42px;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
}
.mobile-hamburger:active { transform: scale(.94) }

/* Overlay do drawer */
.mobile-drawer-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15,23,42,.55);
  z-index: 1000;
  opacity: 0;
  transition: opacity .2s;
}
.mobile-drawer-overlay.open {
  display: block;
  opacity: 1;
}

@media (max-width: 768px) {
  /* Hamburger visível + app full height */
  .mobile-hamburger { display: flex; align-items: center; justify-content: center; }
  #app { flex-direction: column; overflow-x: hidden; }

  /* ── HEADER TOP ── esconde navegação horizontal (usa sidebar drawer) */
  .top-header,
  header nav,
  .hnav,
  .hn-group {
    display: none !important;
  }
  /* Mantém só logo + user */
  header {
    padding: 8px 12px 8px 60px !important;  /* espaço pro hamburger */
    min-height: 54px;
    align-items: center;
  }

  /* ── SIDEBAR como DRAWER deslizante ── */
  .sidebar, aside.sidebar, #sidebar-wrap, aside {
    position: fixed !important;
    top: 0; left: 0; bottom: 0;
    width: 82vw !important;
    max-width: 320px !important;
    min-width: 0 !important;
    height: 100vh !important;
    z-index: 1001;
    overflow-y: auto !important;
    overflow-x: hidden;
    flex-direction: column !important;
    transform: translateX(-100%);
    transition: transform .28s cubic-bezier(.4,0,.2,1);
    border-right: 1px solid var(--g200) !important;
    border-top: none !important;
    padding: 60px 10px 20px !important;
    box-shadow: 4px 0 24px rgba(0,0,0,.15);
  }
  .sidebar.open, aside.sidebar.open, #sidebar-wrap.open, aside.open {
    transform: translateX(0);
  }
  /* Restaura itens sidebar (a regra velha tava transformando em bottom nav) */
  aside .si-group-label,
  aside .si-sdiv,
  aside .si-group {
    display: block !important;
  }
  aside .si {
    flex-direction: row !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    min-width: 0 !important;
    text-align: left !important;
    border-radius: 8px !important;
    width: 100% !important;
  }
  aside .si-ic { font-size: 16px !important; margin: 0 !important; }

  /* ── CONTEÚDO PRINCIPAL ── */
  #main-content,
  .app-body,
  .main-area {
    margin-left: 0 !important;
    padding-bottom: 20px !important;
    padding-top: 4px !important;
    width: 100% !important;
    overflow-x: hidden;
  }
  .panel {
    padding: 14px 10px !important;
    overflow-x: auto;
  }
  .panel.act { overflow-x: auto; }

  /* ── HEADERS de página (ph) ── */
  .ph {
    flex-direction: column !important;
    gap: 12px !important;
    align-items: flex-start !important;
  }
  .ph-title { font-size: 20px !important; }
  .ph-sub { font-size: 12px !important; }
  .ph-acts {
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100%;
    justify-content: flex-start;
  }
  .ph-acts .btn {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 12px !important;
    padding: 8px 10px !important;
  }

  /* ── FORMULÁRIOS ── mobile sempre 1 coluna */
  .mrow, .f-row, .fg-row, .fg-row.fg-2, .fg-row.fg-3 {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .fg { width: 100% !important; }
  .fi, .fs, textarea.fi { font-size: 14px !important; padding: 10px 12px !important; }

  /* ── BOTÕES no mobile ── clique fácil */
  .btn { min-height: 38px; font-size: 13px; }
  .btn.b-sm, .btn.b-xs { min-height: 32px; font-size: 12px; }

  /* ── MODAIS full-screen mobile ── */
  .modal,
  [id^="modal-"] > div,
  div[style*="position:fixed"][style*="background:#fff"] {
    width: 100vw !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    height: auto;
    border-radius: 0 !important;
    overflow-y: auto !important;
  }

  /* ── TABELAS em mode cards ── */
  .tbl {
    font-size: 12px;
    display: block;
    width: 100%;
  }
  .tbl thead {
    display: none;  /* some o header em mobile */
  }
  .tbl tbody { display: block; }
  .tbl tr {
    display: block;
    margin-bottom: 10px;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--g200);
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
  }
  .tbl td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0 !important;
    border: none !important;
    font-size: 13px;
    gap: 10px;
    text-align: right;
  }
  .tbl td::before {
    content: attr(data-label);
    font-weight: 600;
    color: var(--g600);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .3px;
    text-align: left;
    flex-shrink: 0;
  }
  /* Células de ação — botões em linha embaixo */
  .tbl td.tbl-actions, .tbl td:last-child {
    justify-content: flex-end;
    border-top: 1px solid var(--g100) !important;
    margin-top: 6px;
    padding-top: 8px !important;
  }
  .tbl td.tbl-actions::before, .tbl td:last-child::before { display: none; }

  /* ── KANBAN mobile ── scroll horizontal com snap */
  .kb-board {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 8px !important;
    padding-bottom: 8px;
  }
  .kb-board > * {
    flex: 0 0 85vw !important;
    max-width: 85vw !important;
    scroll-snap-align: start;
  }
  .kb-col, .kb-column {
    min-height: 60vh;
    max-height: 75vh;
    overflow-y: auto;
  }
  .kb-filter-bar {
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
  }
  .kb-filter-bar select, .kb-filter-bar input {
    min-width: 120px;
    font-size: 12px;
  }
  .kb-neg-selector {
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
  }
  .kb-neg-select {
    min-width: 180px;
    max-width: 100%;
    font-size: 12px;
  }
  /* Indicador de scroll Kanban */
  .kb-board::-webkit-scrollbar { height: 6px; }
  .kb-board::-webkit-scrollbar-thumb { background: var(--g300); border-radius: 3px; }

  /* ── LEAD DETAIL panel — fullscreen em mobile ── */
  .leads-ldp, .ldp-wrap, #ldp-wrap {
    width: 100vw !important;
    height: 100vh !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 900;
    overflow-y: auto;
  }
  .ldp-tab {
    font-size: 12px;
    padding: 8px 10px !important;
  }

  /* ── INTEGRAÇÕES cards 1 coluna ── */
  .int-grid, .integ-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .int-card {
    padding: 14px !important;
  }

  /* ── DASHBOARD cards empilhados ── */
  .dash-grid, .dash-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .dash-card-wrap { margin-bottom: 8px; }

  /* ── CONFIG tabs scrollam horizontalmente ── */
  .cfg-tabs-row, .cfg-tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .cfg-tabs-row > *, .cfg-tabs > * {
    flex-shrink: 0;
    white-space: nowrap;
  }

  /* ── PERMISSÕES grid ── */
  .perm-grid { grid-template-columns: 1fr !important; }

  /* ── BULK actions bar ── */
  .bulk-actions-bar, #bulk-actions-bar {
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 10px !important;
  }
  .bulk-actions-bar > *, #bulk-actions-bar > * {
    font-size: 12px !important;
  }

  /* ── LOGIN screen mobile ── */
  #login-screen { flex-direction: column; padding: 20px; }
  .l-left { display: none; }
  .l-right { width: 100% !important; padding: 30px 20px !important; }

  /* ── SCRIPTS / DEMAIS TELAS ── scroll correto */
  [id^="panel-"] { overflow-x: auto; }
}

/* ── PHONE pequeno (≤480px) ── ajustes extras ── */
@media (max-width: 480px) {
  .ph-title { font-size: 18px !important; }
  .panel { padding: 10px 8px !important; }
  .btn { font-size: 12px !important; padding: 7px 10px !important; }
  .btn.b-sm { font-size: 11px !important; padding: 6px 8px !important; }

  /* Modais: padding menor */
  .modal, [id^="modal-"] > div { padding: 14px !important; }

  /* Kanban: 92vw em celular pequeno (só cabe 1) */
  .kb-board > * { flex: 0 0 92vw !important; max-width: 92vw !important; }

  /* Tabela card: padding menor */
  .tbl tr { padding: 10px; }

  /* Chips e tags: escalar */
  .chip, .tag, .badge { font-size: 10px !important; padding: 2px 6px !important; }
}

/* ═════════════════════════════════════════════════════════════ */
/*  FIM MOBILE RESPONSIVE v16.23                                  */
/* ═════════════════════════════════════════════════════════════ */
@media(max-width:480px){
  .mrow{grid-template-columns:1fr!important}
  .ph-title{font-size:16px}
  aside .si span:not(.si-ic){display:none}
  aside .si-ic{font-size:20px}
}

/* ═══ PERMISSÕES DE USUÁRIO ═══ */
.perm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.perm-module{background:var(--g50);border:1px solid var(--g200);border-radius:var(--r);padding:12px;transition:border-color .15s}
.perm-module:hover{border-color:var(--navy)}
.perm-module-title{font-size:11px;font-weight:700;color:var(--g700);text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.perm-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--g100);font-size:12px;color:var(--g600)}
.perm-row:last-child{border-bottom:none}
.perm-toggle{width:36px;height:20px;background:var(--g300);border:none;border-radius:10px;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}
.perm-toggle.on{background:var(--navy)}
.perm-toggle::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.perm-toggle.on::after{left:18px}

/* DASHBOARD CARDS DRAG/COLLAPSE */
.dash-card-wrap{border:1px solid var(--g200);border-radius:var(--r);background:var(--w);margin-bottom:10px;transition:box-shadow .15s;cursor:grab}
.dash-card-wrap:active{cursor:grabbing;box-shadow:var(--sh2)}
.dash-card-wrap.collapsed .dash-card-body{display:none}
.dash-card-wrap.hidden{display:none}
.dash-card-hdr{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--g100);gap:8px;user-select:none}
.dash-card-hdr-title{font-size:13px;font-weight:600;color:var(--g800);flex:1}
.dash-card-hdr-acts{display:flex;gap:4px}
.dash-card-hdr-btn{background:none;border:none;cursor:pointer;color:var(--g400);font-size:14px;padding:2px 5px;border-radius:4px;line-height:1}
.dash-card-hdr-btn:hover{background:var(--g100);color:var(--g700)}
.dash-card-body{padding:14px}
.dash-drag-over{border:2px dashed var(--navy);background:var(--navy-10)}
/* DASH FILTRO USUÁRIO */
.dash-user-filter{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--g50);border-bottom:1px solid var(--g200);flex-wrap:wrap}
.dash-user-filter-label{font-size:11px;font-weight:600;color:var(--g500);text-transform:uppercase;letter-spacing:.4px}
/* MODAL CAMPANHA ABAS */
.camp-tab-nav{display:flex;border-bottom:1px solid var(--g200);margin-bottom:16px}
.camp-tab-btn{padding:8px 16px;font-size:12px;font-weight:500;color:var(--g400);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;font-family:var(--font);transition:all .12s}
.camp-tab-btn.act{color:var(--navy);border-bottom-color:var(--navy)}
.camp-tab-pane{display:none}.camp-tab-pane.act{display:block}
/* STATUS VISUAL */
.camp-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
/* LEAD SELECTOR NO MODAL */
.camp-lead-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--g200);border-radius:var(--rsm);margin-bottom:5px;cursor:pointer;transition:background .1s}
.camp-lead-item:hover{background:var(--g50)}
.camp-lead-item.checked{background:var(--navy-10);border-color:rgba(5,48,135,.2)}
.camp-lead-chk{width:16px;height:16px;accent-color:var(--navy);cursor:pointer;flex-shrink:0}
/* KANBAN POR NEGOCIAÇÃO */
.superadmin-only{display:none}
body.super-admin-mode .superadmin-only{display:block}
.kb-ia-col .kb-col-hdr{border-left-width:3px!important}
.kb-ia-col{background:rgba(124,58,237,.03)}
.notif-wrap{position:relative;cursor:pointer;padding:6px 10px;border-radius:var(--rsm);transition:background .15s}
.notif-wrap:hover{background:var(--g100)}
.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:480px;background:var(--w);border:1px solid var(--g200);border-radius:var(--r);box-shadow:var(--sh2);z-index:9000;overflow:hidden;display:none;flex-direction:column}
.notif-panel.open{display:flex}
.notif-panel-hdr{padding:12px 16px;border-bottom:1px solid var(--g200);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.notif-list{overflow-y:auto;flex:1;max-height:380px}
.notif-item{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--g100);cursor:pointer;transition:background .1s}
.notif-item:hover{background:var(--g50)}
.notif-item.unread{background:rgba(5,48,135,.03);border-left:3px solid var(--navy)}
.notif-ic{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.notif-body{flex:1;min-width:0}
.notif-title{font-size:12px;font-weight:600;color:var(--g800);line-height:1.3}
.notif-sub{font-size:11px;color:var(--g400);margin-top:2px}
.notif-time{font-size:10px;color:var(--g300);flex-shrink:0;margin-top:2px}
.kb-neg-selector{background:var(--g50);border-bottom:1px solid var(--g200);padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kb-neg-filter-label{font-size:11px;font-weight:600;color:var(--g500);text-transform:uppercase;letter-spacing:.4px}
.kb-neg-select{font-size:12px;border:1px solid var(--g200);border-radius:var(--rsm);padding:4px 8px;font-family:var(--font);background:var(--w);color:var(--g800)}
.kb-neg-badge{font-size:10px;background:var(--navy-10);color:var(--navy);padding:2px 8px;border-radius:8px;font-weight:600}
/* HIST PROTEGIDO */
.tl-actions .btn-del-prot{display:none!important}
.super-admin-mode .tl-actions .btn-del-prot{display:inline-flex!important}
/* NEGOCIAÇÕES */
.camp-detail{background:var(--w);border:1px solid var(--g200);border-radius:var(--r);box-shadow:var(--sh2);margin-top:14px;overflow:hidden;display:none}
.camp-detail-hdr{padding:14px 20px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between}
.camp-detail-title{font-size:15px;font-weight:600}
.camp-detail-sub{font-size:11px;opacity:.7;margin-top:2px}
.camp-detail-tabs{display:flex;border-bottom:1px solid var(--g200)}
.camp-detail-tab{padding:9px 18px;font-size:12px;font-weight:500;color:var(--g400);cursor:pointer;border-bottom:2px solid transparent;border-top:none;border-left:none;border-right:none;background:none;font-family:var(--font);transition:all .12s}
.camp-detail-tab.act{color:var(--navy);border-bottom-color:var(--navy)}
.camp-detail-body{padding:18px 20px}
.neg-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--w);border:1px solid var(--g200);border-radius:var(--r);cursor:pointer;transition:background .1s;margin-bottom:6px}
.neg-row:hover{background:var(--g50)}
.neg-row.sel{background:var(--navy-10);border-color:var(--navy)}
.neg-avatar{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.neg-info{flex:1;min-width:0}
.neg-nome{font-size:13px;font-weight:600;color:var(--g800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.neg-empresa{font-size:11px;color:var(--g400)}
.neg-stage{font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px}
.neg-mrr{font-size:13px;font-weight:700;color:var(--green-d)}
.neg-hist-panel{background:var(--g50);border:1px solid var(--g200);border-radius:var(--r);padding:14px;margin-top:12px}
.camp-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.camp-kpi{background:var(--g50);border:1px solid var(--g200);border-radius:var(--r);padding:10px 12px}
.camp-kpi-lbl{font-size:10px;color:var(--g400);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
.camp-kpi-val{font-size:18px;font-weight:700;color:var(--g800)}
/* CONTEXT MENU */
.ctx-menu{position:fixed;background:var(--w);border:1px solid var(--g200);border-radius:var(--r);box-shadow:var(--sh2);z-index:9999;min-width:200px;padding:4px 0;display:none}
.ctx-menu.open{display:block}
.ctx-item{padding:8px 16px;font-size:13px;color:var(--g700);cursor:pointer;display:flex;align-items:center;gap:8px}
.ctx-item:hover{background:var(--g50);color:var(--navy)}
.ctx-sep{height:1px;background:var(--g150);margin:3px 0}

/* OUTPUT */

.op{background:var(--w);border:1px solid var(--g200);border-radius:var(--r);overflow:hidden}
.op-hdr{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--g50);border-bottom:1px solid var(--g150)}
.op-lbl{font-size:10px;font-weight:700;color:var(--g500);text-transform:uppercase;letter-spacing:.5px}
.op-body{padding:14px 16px;font-size:13px;line-height:1.8;color:var(--g700);white-space:pre-wrap;min-height:120px}
.op-body.loading{color:var(--g400);font-style:italic}
.spin-ic{display:inline-block;width:12px;height:12px;border:2px solid var(--g200);border-top-color:var(--navy);border-radius:50%;animation:spin .7s linear infinite;margin-right:6px;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
.cpb{font-size:11px;color:var(--g500);background:var(--w);border:1px solid var(--g200);border-radius:var(--rsm);padding:3px 10px;cursor:pointer;font-family:var(--font)}
.cpb:hover{border-color:var(--navy);color:var(--navy)}.cpb.done{border-color:var(--green);color:var(--green)}

/* CONVERSATIONS */
.cv-layout{display:grid;grid-template-columns:260px 1fr 250px;height:calc(100vh - 175px);gap:1px;background:var(--g200);border:1px solid var(--g200);border-radius:var(--r);overflow:hidden}
.cv-list{background:var(--w);display:flex;flex-direction:column;overflow:hidden}
.cv-list-hdr{padding:10px 14px;border-bottom:1px solid var(--g100);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.cv-filters{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--g100);flex-shrink:0}
.cvf{padding:3px 9px;border-radius:10px;font-size:10px;font-weight:600;cursor:pointer;border:1px solid var(--g200);background:none;color:var(--g500);font-family:var(--font)}
.cvf.act{background:var(--navy);color:#fff;border-color:var(--navy)}
.cv-list-body{flex:1;overflow-y:auto}
.cv-item{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border-bottom:1px solid var(--g50);cursor:pointer;transition:background .1s}
.cv-item:hover{background:var(--g50)}.cv-item.act{background:var(--navy-10);border-right:2px solid var(--navy)}
.cvi-av{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}
.cvi-info{flex:1;min-width:0}
.cvi-name{font-size:12px;font-weight:500;color:var(--g800);margin-bottom:1px;display:flex;align-items:center;gap:4px}
.cvi-prev{font-size:11px;color:var(--g400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cvi-meta{text-align:right;flex-shrink:0}
.cvi-time{font-size:9px;color:var(--g400);margin-bottom:3px}
.cvi-ch{font-size:8px;font-weight:700;padding:1px 5px;border-radius:3px}
.ch-li{background:var(--navy-10);color:var(--navy)}.ch-wa{background:rgba(37,211,102,.1);color:#128C7E}.ch-ig{background:rgba(193,53,132,.1);color:#C13584}.ch-em{background:var(--g100);color:var(--g500)}
.cv-unread{width:7px;height:7px;border-radius:50%;background:var(--navy);margin-left:auto;margin-top:2px}
.cv-chat{display:flex;flex-direction:column;background:var(--g50)}
.cv-chat-hdr{padding:10px 14px;background:var(--w);border-bottom:1px solid var(--g200);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;flex-wrap:wrap;gap:8px}
.cv-status{font-size:9px;font-weight:700;padding:3px 9px;border-radius:10px}
.cv-status.auto{background:var(--green-10);color:var(--green-d)}.cv-status.sdr{background:var(--amber-10);color:#92400E;animation:blink 1.5s ease infinite}
.msgs-area{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
/* ── HELP SYSTEM ── */
.help-fab{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;border:none;font-size:18px;cursor:pointer;box-shadow:0 4px 16px rgba(5,48,135,.35);z-index:900;display:flex;align-items:center;justify-content:center;transition:transform .2s}
.help-fab:hover{transform:scale(1.1)}
.help-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1500;display:none;align-items:center;justify-content:center}
.help-modal.open{display:flex}
.help-box{background:#fff;border-radius:16px;width:560px;max-width:96vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}
.help-hdr{background:linear-gradient(135deg,#053087,#7C3AED);padding:18px 20px;color:#fff}
.help-hdr-title{font-size:16px;font-weight:700}
.help-tabs{display:flex;gap:0;background:var(--g50);border-bottom:1px solid var(--g200);overflow-x:auto}
.help-tab{padding:10px 16px;font-size:11px;font-weight:600;color:var(--g500);border:none;background:none;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}
.help-tab.act{color:var(--navy);border-bottom-color:var(--navy)}
.help-content{padding:16px 20px;overflow-y:auto;flex:1}
.help-step{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--g50)}
.help-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.help-step-text{font-size:12px;color:var(--g700);line-height:1.6}
/* ── MARKETING STUDIO ── */
.mkt-tab{background:rgba(255,255,255,.1);border:none;color:rgba(255,255,255,.7);padding:7px 14px;border-radius:8px 8px 0 0;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}
.mkt-tab.act{background:#fff;color:#053087}
.mkt-tab:hover:not(.act){background:rgba(255,255,255,.2);color:#fff}
.mkt-panel{display:none}.mkt-panel.act{display:block}
.mkt-tpl-btn{background:#fff;border:1px solid var(--g200);color:var(--g700);padding:6px 14px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}
.mkt-tpl-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.mkt-quick-btn{background:var(--g50);border:1px solid var(--g200);color:var(--g700);padding:7px 14px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}
.mkt-quick-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.mkt-filt{background:var(--g50);border:1px solid var(--g200);color:var(--g600);padding:5px 12px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer}
.mkt-filt.act{background:var(--navy);color:#fff;border-color:var(--navy)}
.mkt-content-card{background:#fff;border:1px solid var(--g200);border-radius:10px;overflow:hidden;transition:box-shadow .15s}
.mkt-content-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.mkt-cal-day{background:#fff;border:1px solid var(--g200);border-radius:8px;min-height:72px;padding:6px;font-size:10px}
.mkt-cal-day.hoje{border-color:var(--navy);background:rgba(5,48,135,.04)}
.mkt-cal-day.outro-mes{background:var(--g50);opacity:.6}
.mkt-cal-dot{width:100%;padding:2px 5px;border-radius:3px;color:#fff;font-size:9px;font-weight:600;margin-top:2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkt-pub-item{background:var(--g50);border:1px solid var(--g200);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px;font-size:12px}
.msg{max-width:74%}.msg-in{align-self:flex-start}.msg-out{align-self:flex-end}
.msg-bubble{padding:9px 13px;border-radius:var(--r);font-size:12px;line-height:1.6}
.msg-bubble.in{background:var(--w);border:1px solid var(--g200);color:var(--g700)}.msg-bubble.out{background:var(--navy);color:#fff}
.msg-time{font-size:9px;color:var(--g400);margin-top:3px}.msg-time.r{text-align:right}
.ai-badge{font-size:8px;font-weight:700;background:var(--gold-10);color:var(--gold-d);padding:1px 5px;border-radius:4px}
.ai-detect{display:flex;align-items:flex-start;gap:8px;background:var(--amber-10);border:1px solid rgba(245,158,11,.3);border-radius:var(--r);padding:8px 12px;font-size:11px;color:#92400E;margin:3px 0}
.cv-input-area{background:var(--w);border-top:1px solid var(--g200);padding:10px 12px;flex-shrink:0}
.cv-textarea{width:100%;border:1px solid var(--g200);border-radius:var(--rsm);padding:8px 12px;font-size:12px;font-family:var(--font);resize:none;min-height:38px;max-height:90px;outline:none;color:var(--g800);background:var(--g50)}
.cv-textarea:focus{border-color:var(--navy);background:var(--w)}
.cv-quick{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.cqb{padding:3px 9px;border-radius:10px;font-size:10px;background:var(--g50);border:1px solid var(--g200);color:var(--g600);cursor:pointer;font-family:var(--font)}
.cqb:hover{background:var(--navy-10);border-color:var(--navy-l);color:var(--navy)}
.cv-ip{background:var(--w);padding:14px;overflow-y:auto;border-left:1px solid var(--g200)}
.cip-title{font-size:9px;font-weight:700;color:var(--g400);text-transform:uppercase;letter-spacing:.6px;margin:14px 0 8px}
.cip-title:first-child{margin-top:0}
.cip-row{margin-bottom:7px}.cip-lbl{font-size:10px;color:var(--g400);margin-bottom:1px}.cip-val{font-size:12px;color:var(--g700);font-weight:500}
.ai-stage-box{background:var(--navy-10);border:1px solid rgba(5,48,135,.15);border-radius:var(--rsm);padding:10px 12px;margin-bottom:14px}
.ai-stage-t{font-size:9px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.ai-stage-v{font-size:13px;font-weight:600;color:var(--g800)}.ai-stage-n{font-size:11px;color:var(--g500);margin-top:2px}
.log-item{display:flex;gap:7px;align-items:flex-start;margin-bottom:8px}
.log-dot{width:6px;height:6px;border-radius:50%;background:var(--g300);flex-shrink:0;margin-top:4px}
.log-dot.n{background:var(--navy)}.log-dot.g{background:var(--green)}.log-dot.r{background:var(--red)}.log-dot.gd{background:var(--gold-d)}
.log-txt{font-size:11px;color:var(--g600);line-height:1.4}.log-time{font-size:9px;color:var(--g400);margin-top:1px}

/* CALENDAR */
.cal-grid{display:grid;grid-template-columns:1fr 300px;gap:14px;height:calc(100vh - 178px)}
.cal-embed{border:1px solid var(--g200);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.cal-embed iframe{width:100%;height:100%;border:none}
.cal-side{display:flex;flex-direction:column;gap:12px;overflow-y:auto}
.cal-ev{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--g100)}
.cal-ev:last-child{border-bottom:none}
.cal-day{text-align:center;min-width:36px}
.cal-day-n{font-size:20px;font-weight:500;color:var(--navy);line-height:1}.cal-day-m{font-size:9px;color:var(--g400);text-transform:uppercase}
.cal-ev-info{flex:1}.cal-ev-title{font-size:12px;font-weight:500;color:var(--g800);margin-bottom:2px}.cal-ev-time{font-size:11px;color:var(--g500);margin-bottom:4px}
.cal-ev-tag{font-size:9px;font-weight:700;padding:2px 7px;border-radius:8px;display:inline-block}
.et-demo{background:var(--navy-10);color:var(--navy)}.et-meet{background:var(--green-10);color:var(--green-d)}.et-ma{background:var(--red-10);color:var(--red)}.et-reuniao{background:var(--gold-10);color:var(--gold-d)}

/* INTEGRACOES */
.int-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.int-card{background:var(--w);border:1px solid var(--g200);border-radius:var(--r);padding:18px;box-shadow:var(--sh)}
.int-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}
.int-logo{font-size:13px;font-weight:600;color:var(--g800)}
.int-pill{font-size:9px;font-weight:700;padding:3px 9px;border-radius:10px}
.int-ok{background:var(--green-10);color:var(--green-d)}.int-cfg{background:var(--gold-10);color:var(--gold-d)}.int-err{background:var(--red-10);color:var(--red)}
.int-desc{font-size:12px;color:var(--g500);margin-bottom:12px;line-height:1.5}

/* MISC */
.camp-prog-bar{height:4px;background:var(--g150);border-radius:2px;overflow:hidden;margin:8px 0 4px}
.camp-prog-fill{height:100%;border-radius:2px;background:var(--navy)}
.seq-track{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px}
.seq-node{min-width:90px;background:var(--w);border:1px solid var(--g200);border-radius:var(--r);padding:9px 11px;position:relative;flex-shrink:0;box-shadow:var(--sh)}
.seq-node::after{content:">";position:absolute;right:-8px;top:50%;transform:translateY(-50%);color:var(--g300);font-size:12px}
.seq-node:last-child::after{display:none}
.seq-day{font-size:18px;font-weight:500;color:var(--navy);line-height:1;margin-bottom:2px}
.seq-title{font-size:10px;font-weight:500;color:var(--g700);margin-bottom:1px}.seq-ch{font-size:9px;color:var(--g400)}
.seq-b{display:inline-block;font-size:8px;font-weight:700;padding:2px 5px;border-radius:6px;margin-top:4px}
.sb-ai{background:var(--green-10);color:var(--green-d)}.sb-man{background:var(--gold-10);color:var(--gold-d)}
.chip{display:inline-flex;align-items:center;font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px}
.c-n{background:var(--navy-10);color:var(--navy)}.c-g{background:var(--green-10);color:var(--green-d)}.c-gd{background:var(--gold-10);color:var(--gold-d)}.c-r{background:var(--red-10);color:var(--red)}.c-gr{background:var(--g100);color:var(--g600)}.c-p{background:rgba(124,58,237,.1);color:#7C3AED}
.drop-zone{border:2px dashed var(--g300);border-radius:var(--r);padding:32px;text-align:center;cursor:pointer;transition:all .2s}
.drop-zone:hover,.drop-zone.drag{border-color:var(--navy);background:var(--navy-10)}
.pending-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--g150);font-size:13px}
.log-entry{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--g100);font-size:12px}
.dv{height:1px;background:var(--g150);margin:14px 0}
@media(max-width:900px){.mrow{grid-template-columns:1fr 1fr}.sidebar{display:none}.cv-layout{grid-template-columns:1fr}.int-grid{grid-template-columns:1fr}}

/* COMUNICACAO INTERNA */
.comm-user-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--rsm);cursor:pointer;transition:background .1s;margin-bottom:4px}
.comm-user-item:hover{background:var(--g50)}
.comm-hist-item{padding:8px 12px;border-radius:var(--rsm);cursor:pointer;transition:background .1s;margin-bottom:2px}
.comm-hist-item:hover{background:var(--g100)}
.comm-hist-item.act{background:var(--navy-10);border-left:3px solid var(--navy)}
.comm-msg-out{align-self:flex-end}
.comm-msg-out .comm-bubble{background:var(--navy);color:#fff}
.comm-bubble{padding:9px 14px;border-radius:var(--r);font-size:12px;line-height:1.6;max-width:500px}
.comm-bubble.in{background:#fff;border:1px solid var(--g200);color:var(--g700)}
.wa-sent-badge{font-size:8px;font-weight:700;padding:1px 5px;border-radius:4px;background:rgba(37,211,102,.15);color:#128C7E;margin-left:6px}

/* MULTIEMPRESA */
.l-empresa-badge{
  display:flex;align-items:center;gap:8px;padding:10px 14px;
  background:rgba(245,166,35,.12);border:1px solid rgba(245,166,35,.3);
  border-radius:var(--r);margin-bottom:16px;
}
.l-empresa-ic{font-size:18px}
.l-empresa-info{flex:1}
.l-empresa-name{font-size:13px;font-weight:600;color:rgba(255,255,255,.85)}
.l-empresa-code{font-size:10px;color:rgba(255,255,255,.45);font-family:monospace;margin-top:1px}


/* ═══ TEMAS ═══ */
[data-theme="escuro"]{
  --navy:#4f8ef7;--navy-d:#3070d4;--navy-l:#6fa8f9;--navy-10:rgba(79,142,247,.15);
  --green:#2ecc71;--green-d:#27ae60;--green-10:rgba(46,204,113,.15);
  --gold:#f39c12;--gold-d:#d68910;--gold-10:rgba(243,156,18,.15);
  --red:#e74c3c;--red-10:rgba(231,76,60,.15);--amber:#e67e22;
  --w:#1e1e2e;--g50:#252538;--g100:#2d2d44;--g200:#3d3d58;--g300:#5a5a7a;
  --g400:#8888aa;--g500:#aaaacc;--g600:#ccccdd;--g700:#ddddee;--g800:#eeeef8;
}
[data-theme="escuro"] body,html[data-theme="escuro"]{background:#12121f!important;color:var(--g700)}
[data-theme="escuro"] header{background:#1a1a2e!important;border-bottom-color:var(--g200)}
[data-theme="escuro"] .sidebar{background:#1a1a2e!important;border-right-color:var(--g200)}
[data-theme="escuro"] .card,[data-theme="escuro"] .int-card{background:var(--w);border-color:var(--g200)}
[data-theme="escuro"] .panel,[data-theme="escuro"] .content{background:#17172a}
[data-theme="escuro"] .fi,[data-theme="escuro"] .fs,[data-theme="escuro"] .fta{background:var(--g50);border-color:var(--g200);color:var(--g700)}
[data-theme="escuro"] .tbl th{background:var(--g50);color:var(--g500)}
[data-theme="escuro"] .tbl tr:hover td{background:var(--g50)}
[data-theme="escuro"] .ph{border-bottom-color:var(--g200)}
[data-theme="escuro"] .kb-col{background:var(--w);border-color:var(--g200)}
[data-theme="escuro"] .kb-card{background:var(--g50);border-color:var(--g200);color:var(--g700)}

[data-theme="money"]{
  --navy:#1a6632;--navy-d:#0f4a22;--navy-l:#2e8b47;--navy-10:rgba(26,102,50,.15);
  --green:#2e8b47;--green-d:#1a6632;--green-10:rgba(46,139,71,.15);
  --gold:#c8860a;--gold-d:#a06808;--gold-10:rgba(200,134,10,.15);
  --red:#c0392b;--amber:#d4860a;
  --w:#fffdf7;--g50:#f9f6ee;--g100:#f0ead8;--g200:#ddd0b8;--g300:#c0a878;
  --g400:#9a8060;--g500:#705a3a;--g600:#4a3a20;--g700:#2e2210;--g800:#1a1208;
}
[data-theme="money"] body{background:#f5f0e0!important}
[data-theme="money"] .sidebar{background:#1a6632!important}
[data-theme="money"] .si,[data-theme="money"] .si-sub{color:#d4edda!important}
[data-theme="money"] .si-group-hdr{color:#b8e0c2!important;font-weight:600!important}
[data-theme="money"] .si-group-hdr.open,[data-theme="money"] .si-group-hdr.act{color:#fff!important}
[data-theme="money"] .si.act,[data-theme="money"] .si-sub.act{background:rgba(255,255,255,.2)!important;color:#fff!important}
[data-theme="money"] header{background:#1a6632!important;border-color:#0f4a22}
[data-theme="money"] .hn,[data-theme="money"] .u-name,[data-theme="money"] .u-role-lbl,[data-theme="money"] .si-ic{color:#fff!important}
[data-theme="money"] .notif-wrap{color:#d4edda}
[data-theme="money"] .card,[data-theme="money"] .int-card{background:var(--w);border-color:var(--g200)}
[data-theme="money"] .panel,[data-theme="money"] .content{background:#f5f0e0}
[data-theme="money"] .fi,[data-theme="money"] .fs,[data-theme="money"] .fta{background:var(--w);border-color:var(--g200);color:var(--g700)}
[data-theme="money"] .tbl th{background:var(--g50);color:var(--g500)}
[data-theme="money"] .tbl tr:hover td{background:var(--g50)}
[data-theme="money"] .ph{border-bottom-color:var(--g200)}
[data-theme="money"] .kb-col{background:var(--w);border-color:var(--g200)}
[data-theme="money"] .kb-card{background:var(--g50);border-color:var(--g200);color:var(--g700)}

[data-theme="oceano"]{
  --navy:#0d5a98;--navy-d:#094a80;--navy-l:#1878c0;--navy-10:rgba(13,90,152,.15);
  --green:#00897b;--green-d:#00695c;--green-10:rgba(0,137,123,.15);
  --gold:#f57c00;--amber:#f57c00;--red:#c0392b;
  --w:#f0f8ff;--g50:#e8f4fd;--g100:#d0e8f8;--g200:#a8d4f0;--g300:#70b8e8;
  --g400:#3898d8;--g500:#1a78c0;--g600:#0d5a98;--g700:#084070;--g800:#042848;
}
[data-theme="oceano"] body{background:#e0f0ff!important}
[data-theme="oceano"] .sidebar{background:#042848!important}
[data-theme="oceano"] .si,[data-theme="oceano"] .si-sub{color:#a8d4f0!important}
[data-theme="oceano"] .si-group-hdr{color:#8ec5ed!important;font-weight:600!important}
[data-theme="oceano"] .si-group-hdr.open,[data-theme="oceano"] .si-group-hdr.act{color:#fff!important}
[data-theme="oceano"] .si.act,[data-theme="oceano"] .si-sub.act{background:rgba(255,255,255,.2)!important;color:#fff!important}
[data-theme="oceano"] header{background:#042848!important;border-color:#084070}
[data-theme="oceano"] .hn,[data-theme="oceano"] .u-name,[data-theme="oceano"] .u-role-lbl,[data-theme="oceano"] .si-ic{color:#fff!important}
[data-theme="oceano"] .notif-wrap{color:#a8d4f0}
[data-theme="oceano"] .card,[data-theme="oceano"] .int-card{background:var(--w);border-color:var(--g200)}
[data-theme="oceano"] .panel,[data-theme="oceano"] .content{background:#e0f0ff}
[data-theme="oceano"] .fi,[data-theme="oceano"] .fs,[data-theme="oceano"] .fta{background:var(--w);border-color:var(--g200);color:var(--g700)}
[data-theme="oceano"] .tbl th{background:var(--g50);color:var(--g500)}
[data-theme="oceano"] .tbl tr:hover td{background:var(--g50)}
[data-theme="oceano"] .ph{border-bottom-color:var(--g200)}
[data-theme="oceano"] .kb-col{background:var(--w);border-color:var(--g200)}
[data-theme="oceano"] .kb-card{background:var(--g50);border-color:var(--g200);color:var(--g700)}

[data-theme="roxo"]{
  --navy:#6200ea;--navy-d:#4a00b4;--navy-l:#7c22f8;--navy-10:rgba(98,0,234,.15);
  --green:#00bcd4;--green-d:#0097a7;--green-10:rgba(0,188,212,.15);
  --gold:#ff6d00;--amber:#ff6d00;--red:#f44336;
  --w:#fdfaff;--g50:#f5eeff;--g100:#ead8ff;--g200:#d4aaff;--g300:#b87aff;
  --g400:#9a50f0;--g500:#7c30d8;--g600:#5e18b8;--g700:#440a90;--g800:#2c0068;
}
[data-theme="roxo"] body{background:#f0e8ff!important}
[data-theme="roxo"] .sidebar{background:#2c0068!important}
[data-theme="roxo"] .si,[data-theme="roxo"] .si-sub{color:#e8d5ff!important}
[data-theme="roxo"] .si-group-hdr{color:#fff!important;font-weight:600!important}
[data-theme="roxo"] .si-group-hdr.open,[data-theme="roxo"] .si-group-hdr.act{color:#fff!important;background:rgba(255,255,255,.1)!important}
[data-theme="roxo"] .si.act,[data-theme="roxo"] .si-sub.act{background:rgba(255,255,255,.2)!important;color:#fff!important}
[data-theme="roxo"] header{background:#2c0068!important;border-color:#440a90}
[data-theme="roxo"] .hn,[data-theme="roxo"] .u-name,[data-theme="roxo"] .u-role-lbl,[data-theme="roxo"] .si-ic{color:#fff!important}
[data-theme="roxo"] .notif-wrap{color:#d4aaff}
[data-theme="roxo"] .card,[data-theme="roxo"] .int-card{background:var(--w);border-color:var(--g200)}
[data-theme="roxo"] .panel,[data-theme="roxo"] .content{background:#f0e8ff}
[data-theme="roxo"] .fi,[data-theme="roxo"] .fs,[data-theme="roxo"] .fta{background:var(--w);border-color:var(--g200);color:var(--g700)}
[data-theme="roxo"] .tbl th{background:var(--g50);color:var(--g500)}
[data-theme="roxo"] .tbl tr:hover td{background:var(--g50)}
[data-theme="roxo"] .ph{border-bottom-color:var(--g200)}
[data-theme="roxo"] .kb-col{background:var(--w);border-color:var(--g200)}
[data-theme="roxo"] .kb-card{background:var(--g50);border-color:var(--g200);color:var(--g700)}

[data-theme="claro"],html:not([data-theme]){
  --navy:#053087;--navy-d:#012877;--navy-l:#1a4fa8;--navy-10:rgba(5,48,135,.10);
  --green:#05AB41;--green-d:#019C39;--green-10:rgba(5,171,65,.10);
  --w:#ffffff;--g50:#f8fafc;
}

/* ═══ Proposta A: EMAIL / ROUTING / EXPORT ═══ */
.tpl-row, .rt-row {
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; border:1px solid var(--g200); border-radius:8px;
  margin-bottom:8px; background:#fff; transition:.15s;
}
.tpl-row:hover, .rt-row:hover { border-color:var(--navy); box-shadow:var(--sh); }
.tpl-info, .rt-info { flex:1; min-width:0 }
.tpl-nome, .rt-nome { font-size:13px; font-weight:600; color:var(--g800); margin-bottom:2px; }
.tpl-meta { font-size:11px; color:var(--g500); }
.tpl-chip {
  display:inline-block; padding:2px 7px; font-size:10px; font-weight:600;
  border-radius:6px; background:var(--g100); color:var(--g600); margin-right:6px;
}
.tpl-chip.cat-prospect  { background:#e0f2fe; color:#075985; }
.tpl-chip.cat-follow    { background:#fef3c7; color:#92400e; }
.tpl-chip.cat-demo      { background:#dcfce7; color:#166534; }
.tpl-chip.cat-proposta  { background:#f3e8ff; color:#6b21a8; }
.tpl-chip.cat-fechamento{ background:#fee2e2; color:#991b1b; }
.tpl-chip.cat-nurturing { background:#cffafe; color:#164e63; }
.tpl-actions, .rt-actions { display:flex; gap:4px; flex-shrink:0 }
.rt-prio {
  width:36px; height:36px; border-radius:8px;
  background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:700; flex-shrink:0;
}
.rt-acao { font-weight:500; color:var(--navy); font-size:11px; margin-left:6px; }
.rt-conds { font-size:11px; color:var(--g500); margin-top:3px; line-height:1.5; }
.rt-conds code {
  background:var(--g100); padding:1px 6px; border-radius:4px;
  font-size:10px; color:var(--navy); font-family:ui-monospace,monospace;
}
.exp-stats { display:flex; gap:10px; flex-wrap:wrap; }
.exp-stat-box {
  flex:1; min-width:120px; padding:14px; border-radius:8px;
  background:var(--g50); border:1px solid var(--g200);
}
.exp-stat-val { font-size:24px; font-weight:700; color:var(--navy); line-height:1 }
.exp-stat-lbl { font-size:11px; color:var(--g500); margin-top:4px }

/* ═══ Forecasting ═══ */
.fc-kpi {
  background: var(--w); border: 1px solid var(--g200); border-radius: 8px;
  padding: 14px 16px;
}
.fc-kpi-lbl { font-size: 11px; color: var(--g500); text-transform: uppercase; letter-spacing: .4px; margin-bottom: 6px; }
.fc-kpi-val { font-size: 22px; font-weight: 700; color: var(--navy); line-height: 1.2; }
.fc-kpi-sub { font-size: 11px; color: var(--g400); margin-top: 4px; }
.fc-tbl { width: 100%; border-collapse: collapse; font-size: 12px; }
.fc-tbl th { text-align: left; padding: 6px 8px; font-size: 10px; color: var(--g500); text-transform: uppercase; letter-spacing: .4px; border-bottom: 1px solid var(--g200); font-weight: 600; }
.fc-tbl td { padding: 8px; border-bottom: 1px solid var(--g100); }
.fc-tbl tr:hover td { background: var(--g50); }

/* ═══ Custom Fields ═══ */
.cf-row {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border: 1px solid var(--g200); border-radius: 8px;
  margin-bottom: 8px; background: #fff; transition: .15s;
}
.cf-row:hover { border-color: var(--navy); box-shadow: var(--sh); }
.cf-info { flex: 1; min-width: 0; }
.cf-label { font-size: 13px; font-weight: 600; color: var(--g800); margin-bottom: 3px; }
.cf-meta { font-size: 11px; color: var(--g500); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cf-meta code { background: var(--g100); padding: 1px 6px; border-radius: 4px; font-family: ui-monospace,monospace; color: var(--navy); font-size: 10px; }
.cf-actions { display: flex; gap: 4px; flex-shrink: 0; }

/* ═══ Kanban card — enriquecimento ═══ */
.kb-card-camp {
  font-size: 10px; color: var(--navy); background: var(--navy-10);
  padding: 2px 7px; border-radius: 5px; margin-bottom: 5px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-weight: 500;
}
.kb-card-last {
  font-size: 10px; color: var(--g500); margin-top: 4px;
  padding-top: 4px; border-top: 1px dashed var(--g200);
}
.kb-card-next {
  font-size: 10px; color: var(--amber); font-weight: 500; margin-top: 2px;
  background: var(--amber-10); padding: 2px 6px; border-radius: 4px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.kb-card-cf{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 4px;padding-top:6px;border-top:1px dashed var(--g200)}
.kb-cf-chip{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:2px 6px;background:var(--navy-10);color:var(--navy);border-radius:4px;max-width:140px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.kb-cf-lbl{font-weight:600;opacity:.7}
.kb-cf-val{font-weight:500}
[data-theme="escuro"] .kb-cf-chip{background:rgba(74,120,216,.2);color:var(--g700)}
[data-theme="escuro"] .kb-card-cf{border-top-color:var(--g200)}

/* ═══ Sistema (SuperAdmin) ═══ */
.sist-kpi {
  background: var(--g50); border: 1px solid var(--g200);
  border-radius: 8px; padding: 12px 14px;
}
.sist-kpi-lbl { font-size: 10px; color: var(--g500); text-transform: uppercase; letter-spacing: .4px; margin-bottom: 6px; }
.sist-kpi-val { font-size: 18px; font-weight: 700; color: var(--navy); line-height: 1.2; font-family: ui-monospace,monospace; }


/* ═══ FCCFG — Editor de parâmetros Forecast ═══ */
.fc-cfg-tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.fc-cfg-tbl th { text-align: left; padding: 10px 8px; font-size: 11px; color: var(--g500); text-transform: uppercase; letter-spacing: .4px; border-bottom: 2px solid var(--g200); font-weight: 600; background: var(--g50); }
.fc-cfg-tbl td { padding: 8px; border-bottom: 1px solid var(--g100); }
.fc-cfg-tbl tr:hover td { background: var(--g50); }
.fc-cfg-tbl tr.fc-cfg-custom td { background: var(--gold-10); }
.fc-cfg-tbl tr.fc-cfg-custom:hover td { background: var(--gold-10); }
.fc-cfg-est { font-weight: 500; color: var(--g800); }
.fc-cfg-badge { display: inline-block; padding: 1px 6px; background: var(--gold); color: #fff; font-size: 9px; border-radius: 4px; font-weight: 600; margin-left: 6px; }
.fi-sm { height: 30px; padding: 4px 8px; font-size: 12px; width: 100%; }

/* ═══════════════════════════════════════════════════════════════
   TEMA ESCURO — REESCRITA COMPLETA
   O tema anterior quebrava legibilidade. Agora usa palette consistente.
   ═══════════════════════════════════════════════════════════════ */
[data-theme="escuro"] {
  --navy: #4A78D8;
  --navy-d: #3A68C8;
  --navy-l: #6A8DDF;
  --navy-10: rgba(74,120,216,.15);
  --green: #2ECC71;
  --green-d: #27AE60;
  --green-10: rgba(46,204,113,.15);
  --gold: #F5A623;
  --gold-d: #D4851A;
  --gold-10: rgba(245,166,35,.15);
  --red: #E74C3C;
  --red-10: rgba(231,76,60,.15);
  --amber: #F39C12;
  --amber-10: rgba(243,156,18,.15);
  --purple: #9B6DFF;
  /* Escala de cinzas INVERTIDA para escuro */
  --w:    #1E1E2E;    /* "branco" vira fundo de cards escuro */
  --g50:  #25253A;    /* fundo secundário */
  --g100: #2F2F48;
  --g150: #353553;
  --g200: #3F3F5E;    /* bordas */
  --g300: #5A5A7A;
  --g400: #8888A8;    /* texto muted */
  --g500: #A8A8C5;
  --g600: #C0C0D8;
  --g700: #D8D8EA;
  --g800: #EDEDF5;    /* texto principal — claro em fundo escuro */
}
/* Fundos principais do app no escuro */
[data-theme="escuro"] body, html[data-theme="escuro"] { background: #12121F !important; color: var(--g800); }
[data-theme="escuro"] #app { background: #12121F; }
[data-theme="escuro"] .content, [data-theme="escuro"] .panel { background: #17172A; }
[data-theme="escuro"] header, [data-theme="escuro"] .hdr { background: #1A1A2E !important; border-bottom-color: var(--g200); }
[data-theme="escuro"] .sidebar { background: #1A1A2E !important; border-right-color: var(--g200); }
[data-theme="escuro"] .card, [data-theme="escuro"] .int-card { background: var(--w); border-color: var(--g200); color: var(--g800); }
[data-theme="escuro"] .card-title, [data-theme="escuro"] .ph-title { color: var(--g800); }
[data-theme="escuro"] .ph-sub { color: var(--g400); }
/* Botões e inputs no escuro */
[data-theme="escuro"] .fi, [data-theme="escuro"] .fs, [data-theme="escuro"] .fta { background: var(--g50); border-color: var(--g200); color: var(--g800); }
[data-theme="escuro"] .fi:focus, [data-theme="escuro"] .fs:focus, [data-theme="escuro"] .fta:focus { border-color: var(--navy); outline: none; }
[data-theme="escuro"] .fl { color: var(--g600); }
[data-theme="escuro"] .f-hint { color: var(--g400); }
[data-theme="escuro"] .btn.b-ghost { background: transparent; color: var(--g700); border-color: var(--g200); }
[data-theme="escuro"] .btn.b-ghost:hover { background: var(--g100); color: var(--g800); }
/* Tabelas no escuro */
[data-theme="escuro"] .tbl { background: var(--w); }
[data-theme="escuro"] .tbl th { background: var(--g50); color: var(--g500); border-color: var(--g200); }
[data-theme="escuro"] .tbl td { color: var(--g700); border-color: var(--g150); }
[data-theme="escuro"] .tbl tr:hover td { background: var(--g50); }
/* Kanban no escuro */
[data-theme="escuro"] .kb-col { background: var(--w); border-color: var(--g200); }
[data-theme="escuro"] .kb-col-hdr { background: var(--g50); }
[data-theme="escuro"] .kb-col-title { color: var(--g700); }
[data-theme="escuro"] .kb-card { background: var(--g50); border-color: var(--g200); color: var(--g800); }
[data-theme="escuro"] .kb-card:hover { background: var(--g100); }
[data-theme="escuro"] .kb-card-name { color: var(--g800); }
[data-theme="escuro"] .kb-card-co { color: var(--g500); }
[data-theme="escuro"] .kb-card-last { color: var(--g400); border-top-color: var(--g200); }
[data-theme="escuro"] .kb-mrr { color: var(--green); }
[data-theme="escuro"] .kb-add-btn { background: var(--g50); color: var(--g400); border-color: var(--g200); }
[data-theme="escuro"] .kb-add-btn:hover { background: var(--g100); color: var(--g700); }
/* Sidebar items no escuro */
[data-theme="escuro"] .si { color: var(--g500); }
[data-theme="escuro"] .si:hover { background: var(--g100); color: var(--g800); }
[data-theme="escuro"] .si.act { background: var(--navy-10); color: var(--navy); }
[data-theme="escuro"] .si-sub { color: var(--g400); }
[data-theme="escuro"] .si-sub:hover { background: var(--g100); color: var(--g700); }
[data-theme="escuro"] .si-sub.act { background: var(--navy-10); color: var(--navy); }
[data-theme="escuro"] .si-group-hdr { color: var(--g600); font-weight: 500; }
[data-theme="escuro"] .si-group-hdr:hover { background: var(--g100); color: var(--g800); }
[data-theme="escuro"] .si-group-hdr.act, [data-theme="escuro"] .si-group-hdr.open { color: var(--g800); font-weight: 600; }
[data-theme="escuro"] .si-group-hdr .si-ic { color: var(--g600) !important; }
[data-theme="escuro"] .sg-label { color: var(--g400); }
[data-theme="escuro"] .sdiv { background: var(--g200); }
/* Menu topo no escuro */
[data-theme="escuro"] .hn { color: var(--g500); }
[data-theme="escuro"] .hn:hover { background: var(--g100); color: var(--g800); }
[data-theme="escuro"] .hn.act { background: var(--navy); color: #fff; }
/* Chips e badges no escuro */
[data-theme="escuro"] .u-chip { background: var(--g50); border-color: var(--g200); }
[data-theme="escuro"] .u-chip:hover { background: var(--g100); }
[data-theme="escuro"] .u-name { color: var(--g800); }
/* Modais no escuro */
[data-theme="escuro"] .modal { background: var(--w); color: var(--g800); }
[data-theme="escuro"] .modal-hdr { border-bottom-color: var(--g200); }
[data-theme="escuro"] .modal-ftr { border-top-color: var(--g200); }
[data-theme="escuro"] .modal-title { color: var(--g800); }
/* LDP (detalhe do lead) no escuro */
[data-theme="escuro"] .ldp { background: var(--w); }
[data-theme="escuro"] .ldp-tab { color: var(--g500); }
[data-theme="escuro"] .ldp-tab:hover { color: var(--g700); }
[data-theme="escuro"] .ldp-tab.act { color: var(--navy); border-bottom-color: var(--navy); }
/* Links gerais no escuro */
[data-theme="escuro"] a { color: var(--navy-l); }
/* Ícones dos selects no escuro */
[data-theme="escuro"] select.fs { color: var(--g800); }
/* Scrollbars no escuro (webkit) */
[data-theme="escuro"] ::-webkit-scrollbar { width: 10px; height: 10px; }
[data-theme="escuro"] ::-webkit-scrollbar-track { background: var(--g50); }
[data-theme="escuro"] ::-webkit-scrollbar-thumb { background: var(--g200); border-radius: 5px; }
[data-theme="escuro"] ::-webkit-scrollbar-thumb:hover { background: var(--g300); }
/* Garantir que code blocks no escuro sejam legíveis */
[data-theme="escuro"] code { background: var(--g100); color: var(--gold); }

/* ═══════════════════════════════════════════════════════════════
   TEMA CLARO — pequenos ajustes de legibilidade
   ═══════════════════════════════════════════════════════════════ */
/* Textos que estavam sumindo no claro: garantir contraste suficiente */
.kb-card-last { color: var(--g600) !important; } /* era g500 — melhor em claro */
.kb-card-camp { color: var(--navy-d); }
.f-hint { color: var(--g500); }
/* Cards de KPI de Forecast — melhor contraste em claro */
.fc-kpi-val { color: var(--navy) !important; }


/* ═══ Modal Supabase Auth ═══ */
.sb-tab {
  padding: 8px 12px; border: none; background: transparent; cursor: pointer;
  font-size: 12px; color: var(--g500); border-bottom: 2px solid transparent;
  font-family: inherit; transition: .15s;
}
.sb-tab:hover { color: var(--g800); }
.sb-tab.act { color: var(--navy); border-bottom-color: var(--navy); font-weight: 500; }
.sb-tab-panel { min-height: 250px; }


/* ═══ Supabase Config Panel ═══ */
.sb-stat {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border-radius: 8px; border: 1px solid var(--g200);
  background: var(--g50);
}
.sb-stat-ok { border-color: rgba(5,171,65,.3); background: var(--green-10); }
.sb-stat-warn { border-color: rgba(245,166,35,.3); background: var(--amber-10); }
.sb-stat-err { border-color: rgba(231,76,60,.3); background: var(--red-10); }
.sb-stat-info { border-color: rgba(5,48,135,.3); background: var(--navy-10); }
.sb-stat-ic { font-size: 18px; font-weight: 700; flex-shrink: 0; width: 24px; text-align: center; }
.sb-stat-ok .sb-stat-ic { color: var(--green-d); }
.sb-stat-warn .sb-stat-ic { color: var(--amber); }
.sb-stat-err .sb-stat-ic { color: var(--red); }
.sb-stat-info .sb-stat-ic { color: var(--navy); }
.sb-stat-lbl { font-size: 11px; color: var(--g500); text-transform: uppercase; letter-spacing: .4px; font-weight: 600; }
.sb-stat-val { font-size: 13px; color: var(--g800); margin-top: 2px; word-break: break-all; }


/* ═════════════════════════════════════════════════════════════════
   FIX CORES TEMA ESCURO — cobertura expandida
   ═════════════════════════════════════════════════════════════════ */
[data-theme="escuro"] .ldp-tab { color: var(--g500); border-bottom-color: transparent; }
[data-theme="escuro"] .ldp-tab:hover { color: var(--g700); background: var(--g100); }
[data-theme="escuro"] .ldp-tab.act { color: var(--navy-l); border-bottom-color: var(--navy-l); background: transparent; }
[data-theme="escuro"] .ldp-tabs { border-bottom-color: var(--g200); }

/* Header interno do painel */
[data-theme="escuro"] .hn { color: var(--g500); background: transparent; }
[data-theme="escuro"] .hn:hover { color: var(--g700); background: var(--g100); }
[data-theme="escuro"] .hn.act { color: var(--navy-l); background: var(--navy-10); }

/* Chips (status) */
[data-theme="escuro"] .chip { color: var(--g700); }
[data-theme="escuro"] .c-n { background: var(--navy-10); color: var(--navy-l); }
[data-theme="escuro"] .c-g { background: var(--green-10); color: var(--green); }
[data-theme="escuro"] .c-gd { background: var(--gold-10); color: var(--gold); }
[data-theme="escuro"] .c-r { background: var(--red-10); color: var(--red); }
[data-theme="escuro"] .c-gr { background: var(--g100); color: var(--g500); }

/* Dropdown de usuário */
[data-theme="escuro"] .u-chip { background: var(--g50); border: 1px solid var(--g200); }
[data-theme="escuro"] .u-name { color: var(--g800); }
[data-theme="escuro"] .u-role-lbl { color: var(--g400); }

/* Cards de KPI e tabelas de custo */
[data-theme="escuro"] .sist-kpi { background: var(--g50); border-color: var(--g200); }
[data-theme="escuro"] .sist-kpi-val { color: var(--navy-l); }

/* Chips notif */
[data-theme="escuro"] .ai-pill { background: var(--green-10); color: var(--green); }

/* Empty states */
[data-theme="escuro"] .tl-empty { color: var(--g400); }

/* ═══ FASE 3 - SaaS UI ═══ */
.req{color:var(--red);font-weight:700;margin-left:2px}
.fl{display:block;font-size:11px;color:var(--g600);font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}
#modal-onboarding{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
#modal-onboarding > div{animation:slideUp .35s cubic-bezier(0.16, 1, 0.3, 1)}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
[data-theme="escuro"] #modal-onboarding > div,[data-theme="escuro"] #modal-autom-editor > div{background:var(--w);color:var(--g800)}
[data-theme="escuro"] #modal-onboarding label[style*="background"],[data-theme="escuro"] #modal-autom-editor label[style*="background"]{background:var(--g50)!important;color:var(--g700)!important}

/* Hover nos cards de plano */
#planos-painel .card,#planos-painel > div > div{transition:transform .15s,box-shadow .15s}
#planos-painel > div > div:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.08)}


/* ══ CAMPANHA MODAL V2 — reforma completa ═══════════════════ */
.camp-modal-v2 .modal-body { padding: 18px 22px 0; max-height: calc(92vh - 120px); overflow-y: auto; }
.camp-modal-v2 .modal-ftr { padding: 12px 22px; background: var(--g50); border-top: 1px solid var(--g200); }

/* Badges das abas */
.camp-tab-badge {
  font-size: 10px;
  background: var(--navy-10);
  color: var(--navy);
  padding: 1px 7px;
  border-radius: 10px;
  font-weight: 700;
  margin-left: 4px;
  display: inline-block;
  min-width: 16px;
  text-align: center;
}

/* Divisor entre seções */
.camp-divisor {
  height: 1px;
  background: linear-gradient(to right, transparent, var(--g200), transparent);
  margin: 20px 0;
}

/* Grid wrap para tabelas — v3.3.22: scroll horizontal + fontes menores */
.camp-grid-wrap {
  background: var(--w);
  border: 1px solid var(--g200);
  border-radius: 8px;
  max-height: 320px;
  overflow-x: auto;
  overflow-y: auto;
}
.camp-grid-wrap::-webkit-scrollbar { width: 8px; height: 8px; }
.camp-grid-wrap::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.camp-grid-wrap::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Tabelas dentro do modal de campanha — v3.3.22: fontes mais compactas */
.camp-grid {
  width: 100%;
  border-collapse: collapse;
  font-size: 11.5px;
}
.camp-grid thead th {
  background: var(--g50);
  color: var(--g600);
  font-weight: 600;
  text-align: left;
  padding: 6px 8px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-bottom: 1px solid var(--g200);
  position: sticky;
  top: 0;
  z-index: 2;
  white-space: nowrap;
}
.camp-grid tbody td {
  padding: 6px 8px;
  border-bottom: 1px solid var(--g100);
  vertical-align: middle;
  white-space: nowrap;
}
.camp-grid tbody tr:last-child td { border-bottom: none; }
.camp-grid tbody tr:hover { background: var(--g50); }

/* Check cell */
.camp-grid .c-chk { width: 32px; text-align: center; }
.camp-grid .c-chk input[type=checkbox] { cursor: pointer; width: 15px; height: 15px; accent-color: var(--navy); }

/* Colunas Nome e Empresa */
.camp-grid .c-nome { font-weight: 600; color: var(--g800); }
.camp-grid .c-empresa { color: var(--g600); font-size: 12px; }

/* Badge de status/estágio */
.camp-grid .pill {
  display: inline-block;
  padding: 2px 8px;
  background: var(--g100);
  color: var(--g700);
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
}

/* Avatar em equipe */
.camp-equipe-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-bottom: 1px solid var(--g100);
}
.camp-equipe-row:last-child { border-bottom: none; }
.camp-equipe-row:hover { background: var(--g50); }
.camp-role-pill {
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: .3px;
}
.camp-role-Owner { background: rgba(245, 158, 11, .15); color: #B45309; }
.camp-role-SDR { background: rgba(59, 130, 246, .15); color: #1D4ED8; }
.camp-role-Closer { background: rgba(239, 68, 68, .15); color: #B91C1C; }
.camp-role-Support { background: rgba(5, 171, 65, .15); color: #047857; }
.camp-role-Viewer { background: rgba(107, 114, 128, .15); color: #374151; }

/* Dashboard da campanha */
.camp-dash-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
.camp-kpi {
  background: var(--w);
  border: 1px solid var(--g200);
  border-radius: 8px;
  padding: 14px;
  border-left: 4px solid var(--navy);
}
.camp-kpi-lbl {
  font-size: 10px;
  color: var(--g500);
  text-transform: uppercase;
  letter-spacing: .5px;
  font-weight: 600;
}
.camp-kpi-val {
  font-size: 24px;
  font-weight: 800;
  color: var(--g800);
  margin-top: 4px;
}
.camp-kpi-sub {
  font-size: 10px;
  color: var(--g400);
  margin-top: 2px;
}
.camp-kpi.k-green { border-left-color: var(--green); }
.camp-kpi.k-green .camp-kpi-val { color: var(--green-d); }
.camp-kpi.k-amber { border-left-color: var(--amber); }
.camp-kpi.k-amber .camp-kpi-val { color: var(--gold-d, #B45309); }
.camp-kpi.k-red { border-left-color: var(--red); }
.camp-kpi.k-red .camp-kpi-val { color: var(--red); }

/* Barra de progresso */
.camp-progress {
  width: 100%;
  height: 8px;
  background: var(--g100);
  border-radius: 10px;
  overflow: hidden;
  margin: 6px 0 2px;
}
.camp-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #059669, #10B981);
  transition: width .4s ease;
}

/* Input/select pequeno */
.fi-xs, .fs-xs { padding: 6px 10px; font-size: 12px; height: 30px; }
.fi-sm, .fs-sm { padding: 8px 10px; font-size: 12.5px; height: 34px; }

/* Empty state */
.camp-empty {
  text-align: center;
  padding: 32px 20px;
  color: var(--g400);
  font-size: 13px;
}
.camp-empty-icon { font-size: 36px; margin-bottom: 8px; opacity: .5; }

/* v15 — Bulk-select no Kanban */
.kb-card-chk {
  position: absolute !important;
  top: 6px;
  right: 6px;
  width: 16px;
  height: 16px;
  cursor: pointer;
  z-index: 5;
  accent-color: #053087;
  opacity: 0.5;
  transition: opacity .15s;
}
.kb-card:hover .kb-card-chk,
.kb-card-chk:checked { opacity: 1; }
.kb-card:has(.kb-card-chk:checked) {
  border-color: #053087;
  box-shadow: 0 0 0 2px rgba(5,48,135,.2), var(--sh2);
}

/* ═══════════════════════════════════════════════════════════════════
   5 TEMAS NOVOS — cores atraentes e não cansativas pra trabalhar
   ═══════════════════════════════════════════════════════════════════ */

/* 🌿 SAGE — verde-sage + creme, calmo e moderno (muito usado em SaaS B2B) */
[data-theme="sage"]{
  --navy: #4a7856; --navy-l: #6b9b7a; --navy-10: rgba(74,120,86,.12);
  --green: #588157; --green-d: #3a5a40; --green-10: rgba(88,129,87,.12);
  --gold: #bc6c25; --gold-10: rgba(188,108,37,.12);
  --red: #bc4749; --red-10: rgba(188,71,73,.12);
  --g50: #f5f3ee; --g100: #e8e4d9; --g200: #d4cfc0; --g300: #b5ad9a;
  --g400: #8a8470; --g500: #6b6557; --g600: #4d4940; --g700: #35322d; --g800: #26241f;
  --w: #fafaf5; --nav-bg: #4a7856;
}
[data-theme="sage"] body{background:#f0eee6!important}
[data-theme="sage"] header{background:#4a7856!important;border-color:#3a5a40}
[data-theme="sage"] .sidebar{background:#3a5a40!important}
[data-theme="sage"] .si,[data-theme="sage"] .si-sub{color:#c9d6c8!important}
[data-theme="sage"] .si-group-hdr{color:#e0e8de!important;font-weight:600!important}
[data-theme="sage"] .si-group-hdr.open,[data-theme="sage"] .si-group-hdr.act{color:#fff!important}
[data-theme="sage"] .si.act,[data-theme="sage"] .si-sub.act{background:rgba(255,255,255,.18)!important;color:#fff!important}
[data-theme="sage"] .hn,[data-theme="sage"] .u-name,[data-theme="sage"] .u-role-lbl,[data-theme="sage"] .si-ic{color:#fff!important}
[data-theme="sage"] .panel,[data-theme="sage"] .content{background:#f0eee6}
[data-theme="sage"] .card,[data-theme="sage"] .int-card,[data-theme="sage"] .kb-col{background:var(--w);border-color:var(--g200)}
[data-theme="sage"] .kb-card{background:var(--g50);border-color:var(--g200);color:var(--g700)}
[data-theme="sage"] .fi,[data-theme="sage"] .fs,[data-theme="sage"] .fta{background:var(--w);border-color:var(--g200);color:var(--g700)}
[data-theme="sage"] .tbl th{background:var(--g50);color:var(--g500)}
[data-theme="sage"] .tbl tr:hover td{background:var(--g50)}
[data-theme="sage"] .ph{border-bottom-color:var(--g200)}

/* ❄️ NORDIC — off-white + carvão escuro, inspirado no design nórdico */
[data-theme="nordic"]{
  --navy: #2d3142; --navy-l: #4f5d75; --navy-10: rgba(45,49,66,.1);
  --green: #7c9885; --green-d: #5a7866; --green-10: rgba(124,152,133,.1);
  --gold: #d4a373; --gold-10: rgba(212,163,115,.1);
  --red: #bf4342; --red-10: rgba(191,67,66,.1);
  --g50: #f4f4f2; --g100: #e8e8e4; --g200: #d5d5cf; --g300: #b8b8b0;
  --g400: #8c8c82; --g500: #6b6b60; --g600: #4d4d44; --g700: #33332d; --g800: #1f1f1b;
  --w: #fcfcfa; --nav-bg: #2d3142;
}
[data-theme="nordic"] body{background:#f0f0ec!important}
[data-theme="nordic"] header{background:#2d3142!important;border-color:#1f232f}
[data-theme="nordic"] .sidebar{background:#23263b!important}
[data-theme="nordic"] .si,[data-theme="nordic"] .si-sub{color:#b8bfd1!important}
[data-theme="nordic"] .si-group-hdr{color:#d4dae8!important;font-weight:600!important}
[data-theme="nordic"] .si-group-hdr.open,[data-theme="nordic"] .si-group-hdr.act{color:#fff!important}
[data-theme="nordic"] .si.act,[data-theme="nordic"] .si-sub.act{background:rgba(255,255,255,.16)!important;color:#fff!important}
[data-theme="nordic"] .hn,[data-theme="nordic"] .u-name,[data-theme="nordic"] .u-role-lbl,[data-theme="nordic"] .si-ic{color:#fff!important}
[data-theme="nordic"] .panel,[data-theme="nordic"] .content{background:#f0f0ec}
[data-theme="nordic"] .card,[data-theme="nordic"] .int-card,[data-theme="nordic"] .kb-col{background:var(--w);border-color:var(--g200)}
[data-theme="nordic"] .kb-card{background:var(--g50);border-color:var(--g200);color:var(--g700)}
[data-theme="nordic"] .fi,[data-theme="nordic"] .fs,[data-theme="nordic"] .fta{background:var(--w);border-color:var(--g200);color:var(--g700)}
[data-theme="nordic"] .tbl th{background:var(--g50);color:var(--g500)}
[data-theme="nordic"] .tbl tr:hover td{background:var(--g50)}
[data-theme="nordic"] .ph{border-bottom-color:var(--g200)}

/* 🏜 TERRA — tons terrosos, quente e acolhedor (ideal pra horas longas) */
[data-theme="terra"]{
  --navy: #8b4513; --navy-l: #a0522d; --navy-10: rgba(139,69,19,.12);
  --green: #6b8e4e; --green-d: #4f6b3a; --green-10: rgba(107,142,78,.12);
  --gold: #d4a017; --gold-10: rgba(212,160,23,.12);
  --red: #a0402c; --red-10: rgba(160,64,44,.12);
  --g50: #f7f2ea; --g100: #ede4d4; --g200: #d9cdb5; --g300: #b8a888;
  --g400: #8c7f62; --g500: #6b604a; --g600: #4d4538; --g700: #332d22; --g800: #221e17;
  --w: #fdf9f2; --nav-bg: #8b4513;
}
[data-theme="terra"] body{background:#f4ede0!important}
[data-theme="terra"] header{background:#8b4513!important;border-color:#6b3410}
[data-theme="terra"] .sidebar{background:#6b3410!important}
[data-theme="terra"] .si,[data-theme="terra"] .si-sub{color:#e8d7b8!important}
[data-theme="terra"] .si-group-hdr{color:#f2e4c8!important;font-weight:600!important}
[data-theme="terra"] .si-group-hdr.open,[data-theme="terra"] .si-group-hdr.act{color:#fff!important}
[data-theme="terra"] .si.act,[data-theme="terra"] .si-sub.act{background:rgba(255,255,255,.18)!important;color:#fff!important}
[data-theme="terra"] .hn,[data-theme="terra"] .u-name,[data-theme="terra"] .u-role-lbl,[data-theme="terra"] .si-ic{color:#fff!important}
[data-theme="terra"] .panel,[data-theme="terra"] .content{background:#f4ede0}
[data-theme="terra"] .card,[data-theme="terra"] .int-card,[data-theme="terra"] .kb-col{background:var(--w);border-color:var(--g200)}
[data-theme="terra"] .kb-card{background:var(--g50);border-color:var(--g200);color:var(--g700)}
[data-theme="terra"] .fi,[data-theme="terra"] .fs,[data-theme="terra"] .fta{background:var(--w);border-color:var(--g200);color:var(--g700)}
[data-theme="terra"] .tbl th{background:var(--g50);color:var(--g500)}
[data-theme="terra"] .tbl tr:hover td{background:var(--g50)}
[data-theme="terra"] .ph{border-bottom-color:var(--g200)}

/* 🌌 INDIGO — indigo suave + lavanda, profissional e sofisticado */
[data-theme="indigo"]{
  --navy: #4f46e5; --navy-l: #6366f1; --navy-10: rgba(79,70,229,.1);
  --green: #10b981; --green-d: #059669; --green-10: rgba(16,185,129,.1);
  --gold: #f59e0b; --gold-10: rgba(245,158,11,.1);
  --red: #ef4444; --red-10: rgba(239,68,68,.1);
  --g50: #f5f5fb; --g100: #e8e8f3; --g200: #d4d4e6; --g300: #b5b5cf;
  --g400: #8a8ab0; --g500: #6b6b91; --g600: #4d4d70; --g700: #33334f; --g800: #1f1f33;
  --w: #fafaff; --nav-bg: #4f46e5;
}
[data-theme="indigo"] body{background:#eeeefa!important}
[data-theme="indigo"] header{background:#4f46e5!important;border-color:#3730a3}
[data-theme="indigo"] .sidebar{background:#3730a3!important}
[data-theme="indigo"] .si,[data-theme="indigo"] .si-sub{color:#c7c9f1!important}
[data-theme="indigo"] .si-group-hdr{color:#dadcf7!important;font-weight:600!important}
[data-theme="indigo"] .si-group-hdr.open,[data-theme="indigo"] .si-group-hdr.act{color:#fff!important}
[data-theme="indigo"] .si.act,[data-theme="indigo"] .si-sub.act{background:rgba(255,255,255,.18)!important;color:#fff!important}
[data-theme="indigo"] .hn,[data-theme="indigo"] .u-name,[data-theme="indigo"] .u-role-lbl,[data-theme="indigo"] .si-ic{color:#fff!important}
[data-theme="indigo"] .panel,[data-theme="indigo"] .content{background:#eeeefa}
[data-theme="indigo"] .card,[data-theme="indigo"] .int-card,[data-theme="indigo"] .kb-col{background:var(--w);border-color:var(--g200)}
[data-theme="indigo"] .kb-card{background:var(--g50);border-color:var(--g200);color:var(--g700)}
[data-theme="indigo"] .fi,[data-theme="indigo"] .fs,[data-theme="indigo"] .fta{background:var(--w);border-color:var(--g200);color:var(--g700)}
[data-theme="indigo"] .tbl th{background:var(--g50);color:var(--g500)}
[data-theme="indigo"] .tbl tr:hover td{background:var(--g50)}
[data-theme="indigo"] .ph{border-bottom-color:var(--g200)}

/* ✏ GRAFITE — cinza carvão + ocre, sóbrio e elegante */
[data-theme="grafite"]{
  --navy: #3c3c3c; --navy-l: #5c5c5c; --navy-10: rgba(60,60,60,.1);
  --green: #6b8e4e; --green-d: #4f6b3a; --green-10: rgba(107,142,78,.12);
  --gold: #c9952a; --gold-10: rgba(201,149,42,.12);
  --red: #b84848; --red-10: rgba(184,72,72,.1);
  --g50: #f3f3f1; --g100: #e5e5e1; --g200: #c9c9c3; --g300: #a6a69d;
  --g400: #7c7c73; --g500: #5e5e56; --g600: #44443e; --g700: #2d2d29; --g800: #1c1c1a;
  --w: #faf9f6; --nav-bg: #3c3c3c;
}
[data-theme="grafite"] body{background:#eeeeeb!important}
[data-theme="grafite"] header{background:#2d2d2d!important;border-color:#1e1e1e}
[data-theme="grafite"] .sidebar{background:#1e1e1e!important}
[data-theme="grafite"] .si,[data-theme="grafite"] .si-sub{color:#b8b8b3!important}
[data-theme="grafite"] .si-group-hdr{color:#d4d4cf!important;font-weight:600!important}
[data-theme="grafite"] .si-group-hdr.open,[data-theme="grafite"] .si-group-hdr.act{color:#fff!important}
[data-theme="grafite"] .si.act,[data-theme="grafite"] .si-sub.act{background:rgba(201,149,42,.25)!important;color:#fff!important}
[data-theme="grafite"] .hn,[data-theme="grafite"] .u-name,[data-theme="grafite"] .u-role-lbl,[data-theme="grafite"] .si-ic{color:#fff!important}
[data-theme="grafite"] .panel,[data-theme="grafite"] .content{background:#eeeeeb}
[data-theme="grafite"] .card,[data-theme="grafite"] .int-card,[data-theme="grafite"] .kb-col{background:var(--w);border-color:var(--g200)}
[data-theme="grafite"] .kb-card{background:var(--g50);border-color:var(--g200);color:var(--g700)}
[data-theme="grafite"] .fi,[data-theme="grafite"] .fs,[data-theme="grafite"] .fta{background:var(--w);border-color:var(--g200);color:var(--g700)}
[data-theme="grafite"] .tbl th{background:var(--g50);color:var(--g500)}
[data-theme="grafite"] .tbl tr:hover td{background:var(--g50)}
[data-theme="grafite"] .ph{border-bottom-color:var(--g200)}
