/* ═══════════════════════════════════════════════════════════
   LAYOUT.CSS — Max Corretora — Recriado do zero 2026-06-12
   Estrutura: sidebar fixed esquerda | topbar sticky topo | conteúdo
   ═══════════════════════════════════════════════════════════ */

/* ── LOGIN ───────────────────────────────────────────────── */
#login{position:fixed;inset:0;background:linear-gradient(135deg,#1e3a8a,#4f46e5);display:flex;align-items:center;justify-content:center;z-index:1000}
.login-box{background:#fff;border-radius:20px;padding:36px 32px;width:92%;max-width:400px;box-shadow:0 24px 64px rgba(0,0,0,.25)}
.login-box h1{font-size:26px;font-weight:900;color:#1e3a8a;text-align:center;margin-bottom:4px}
.login-box .sub{font-size:12.5px;color:#64748b;text-align:center;margin-bottom:24px}
.login-box label{font-size:11px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:5px}
.login-box input{width:100%;border:1.5px solid #e2e8f0;border-radius:10px;padding:11px 14px;font-size:14px;outline:none;margin-bottom:14px;box-sizing:border-box;transition:border .2s}
.login-box input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.1)}
.login-box button{width:100%;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:10px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;margin-top:4px}
.login-box button:hover{opacity:.92}
.login-box .err{color:#dc2626;font-size:12px;margin-top:8px;text-align:center;min-height:16px}

/* ── LOADING ─────────────────────────────────────────────── */
#carregando{position:fixed;inset:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:900}
#carregando.hidden{display:none}
.spin{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#4f46e5;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── SIDEBAR ─────────────────────────────────────────────── */
/* Mobile: escondido, abre ao clicar hamburger */
#sidebar{position:fixed;left:0;top:0;width:264px;height:100vh;background:#fff;border-right:1px solid #e2e8f0;z-index:400;overflow-y:auto;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px rgba(0,0,0,.08)}
#sidebar.open{transform:translateX(0)}
#sb-overlay{position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:399;display:none;backdrop-filter:blur(2px)}
#sb-overlay.show{display:block}
.sb-hdr{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 14px;border-bottom:1px solid #f1f5f9;flex-shrink:0}
.sb-logo{font-size:17px;font-weight:900;color:#4f46e5;letter-spacing:-1px}
.sb-close{background:none;border:none;font-size:22px;cursor:pointer;color:#94a3b8;padding:2px 8px;border-radius:6px;line-height:1}
.sb-close:hover{background:#f1f5f9;color:#374151}
.sb-section-h{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#94a3b8;padding:14px 16px 5px}
/* Gating por papel: elementos só do admin (Resumo/painel, etc.) */
body:not(.is-admin) .admin-only{display:none!important}
.sb-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;color:#374151;font-size:13.5px;font-weight:500;border:none;background:none;width:100%;text-align:left;transition:all .15s;border-radius:0}
.sb-item:hover{background:#f8fafc;color:#4f46e5}
.sb-item.active{background:linear-gradient(90deg,#ede9fe,#faf5ff);color:#4f46e5;border-left:3px solid #4f46e5;font-weight:700}
.sb-icon{font-size:18px;width:26px;text-align:center;flex-shrink:0}
.sb-badge{margin-left:auto;background:#e0e7ff;color:#4f46e5;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;min-width:28px;text-align:center}
.sb-divider{height:1px;background:#f1f5f9;margin:6px 12px}
.sb-footer{margin-top:auto;padding:16px;font-size:11px;color:#94a3b8;text-align:center;border-top:1px solid #f1f5f9}

/* ── TOPBAR (sticky, empurra o conteúdo para baixo) ──────── */
/* Está no fluxo normal do documento — fica acima de tudo sem fix */
#app-topbar{position:sticky;top:0;height:48px;background:#fff;border-bottom:1px solid #e2e8f0;display:none;align-items:center;justify-content:flex-end;gap:10px;padding:0 20px;z-index:300;box-shadow:0 1px 3px rgba(0,0,0,.06)}
#app-topbar.visible{display:flex}
.topbar-user{font-size:13px;font-weight:600;color:#374151}
.topbar-role{font-size:10px;font-weight:700;padding:2px 9px;border-radius:12px;background:#ede9fe;color:#4f46e5;text-transform:uppercase;letter-spacing:.5px}
.topbar-role.admin{background:#dbeafe;color:#1d4ed8}
.topbar-btn{padding:5px 12px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#374151;transition:all .15s;white-space:nowrap}
.topbar-btn:hover{background:#f8fafc}
.topbar-btn.danger{border-color:#fecaca;color:#dc2626}
.topbar-btn.danger:hover{background:#fef2f2}

/* ── DESKTOP: sidebar sempre visível, conteúdo deslocado ── */
@media (min-width:900px){
  /* Sidebar: sempre visível, sem botão fechar */
  #sidebar{transform:translateX(0)!important;box-shadow:1px 0 0 #e2e8f0}
  #sb-overlay{display:none!important}
  .sb-close{display:none}
  #hdr-menu-btn{display:none!important}
  .secao-hmbgr{display:none}

  /* Topbar: fica à direita do sidebar (margin-left para sticky funcionar) */
  #app-topbar{margin-left:264px}

  /* Todas as seções ficam à direita do sidebar */
  #section-clientes,#section-rede,#section-simonassi,
  #section-vonder,#section-fortlev,#section-admin{margin-left:264px}

  /* Parceiro section headers: ficam grudados logo abaixo da topbar ao scrollar */
  .secao-header{position:sticky;top:48px;z-index:200;background:#fff}

  /* Admin headers */
  .admin-header{position:sticky;top:48px;z-index:200;background:#fff}
  .admin-tabbar{position:sticky;top:calc(48px + 53px);z-index:190;background:#fff}
}

/* Mobile: hamburger aparece na topbar */
#topbar-menu-btn{display:none}
@media (max-width:899px){
  #topbar-menu-btn{display:flex!important}
  #hdr-menu-btn{display:flex!important}
}

/* ══ HEADER (Clientes Gerais) — sticky abaixo da topbar ═══ */
#hdr{background:#fff;border-bottom:1px solid #dde3ea;padding:13px 24px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 4px rgba(0,0,0,.07);position:sticky;top:48px;z-index:200}
#hdr h1{font-size:16px;font-weight:700;color:#0f172a;white-space:nowrap}
.cnt-badge{background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}
#hdr-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
#hdr-menu-btn{cursor:pointer;padding:6px;border-radius:8px;transition:background .15s;display:flex;align-items:center}
#hdr-menu-btn:hover{background:#f0f4ff}

/* ══ VIEWBAR ════════════════════════════════════════════════ */
#viewbar{background:#fff;border-bottom:1px solid #dde3ea;padding:0 24px;display:flex;gap:0;position:sticky;top:calc(48px + 53px);z-index:190;overflow-x:auto}
.vbtn{padding:11px 14px;font-size:13px;font-weight:600;color:#64748b;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.vbtn:hover{color:#1e293b}
.vbtn.active{color:#1d4ed8;border-bottom-color:#1d4ed8}
.vbtn .vc{background:#f1f5f9;color:#475569;font-size:11px;padding:2px 7px;border-radius:10px;font-weight:600}
.vbtn.active .vc{background:#dbeafe;color:#1d4ed8}

/* ══ TABS ═══════════════════════════════════════════════════ */
#tabs{background:#f8fafc;border-bottom:1px solid #dde3ea;padding:0 24px;display:flex;gap:2px;position:sticky;top:calc(48px + 53px + 44px);z-index:180;overflow-x:auto;font-size:12.5px}
.tab{padding:9px 13px;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:500}
.tab:hover{color:#1e293b}
.tab.active{color:#1d4ed8;border-bottom-color:#1d4ed8;font-weight:700}
.tab .tc{background:#e2e8f0;color:#475569;font-size:10px;padding:1px 6px;border-radius:9px;font-weight:600}
.tab.active .tc{background:#dbeafe;color:#1d4ed8}

/* ══ CARDS KPI ══════════════════════════════════════════════ */
#cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding:14px 24px;background:#fff;border-bottom:1px solid #dde3ea}
.card{background:#f8fafc;border:1px solid #dde3ea;border-radius:8px;padding:11px 14px}
.clabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#64748b;margin-bottom:4px}
.cval{font-size:24px;font-weight:800;line-height:1}
.csub{font-size:10px;color:#94a3b8;margin-top:3px}
.cb{color:#1d4ed8}.cg{color:#059669}.cr{color:#dc2626}.cy{color:#d97706}.cgo{color:#b45309}.ct{color:#0891b2}.cu{color:#9c0006}.cp{color:#7c3aed}

/* ══ FILTER BAR ═════════════════════════════════════════════ */
#fbar{background:#fff;border-bottom:1px solid #dde3ea;padding:9px 24px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;position:sticky;top:calc(48px + 53px + 44px + 42px);z-index:170}
#fbar input,#fbar select{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:5px 10px;font-size:12px;outline:none}
#fbar input:focus,#fbar select:focus{border-color:#3b82f6;background:#fff}
.fq{flex:1;min-width:200px}

/* ══ BUTTONS ════════════════════════════════════════════════ */
.btn{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.btn:hover{background:#1d4ed8}
.btn-ghost{background:#fff;color:#374151;border:1px solid #d1d5db;font-weight:500}
.btn-xs{padding:2px 7px;font-size:10.5px;border-radius:4px}
.btn-wpp{background:#22c55e;color:#fff}.btn-tel{background:#3b82f6}.btn-mail{background:#8b5cf6}
.btn-teams{background:#5b5fc7}.btn-skype{background:#00aff0}

/* ══ TABLE AREA ═════════════════════════════════════════════ */
#area{padding:14px 24px 36px;min-height:60vh}
#rinfo{font-size:12px;color:#64748b;margin-bottom:8px;font-weight:500}
.tbox{border:1px solid #dde3ea;border-radius:8px;overflow:hidden;background:#fff}
.tscroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:1500px}
thead th{background:#f8fafc;color:#475569;font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.55px;padding:8px 9px;border-bottom:1px solid #e2e8f0;white-space:nowrap;text-align:left}
tbody tr{border-bottom:1px solid #f1f5f9}
tbody tr:hover{background:#f0f7ff}
tbody tr.contato-feito{opacity:.5}
td{padding:7px 9px;vertical-align:top;line-height:1.45;max-width:230px;word-break:break-word}
td.cn{font-weight:600;color:#0f172a;font-size:12.5px}

/* ══ BADGES ═════════════════════════════════════════════════ */
.badge{display:inline-block;padding:2px 7px;border-radius:18px;font-size:10.5px;font-weight:700;white-space:nowrap}
.bpf{background:#ede9fe;color:#5b21b6}.bpj{background:#fef3c7;color:#92400e}
.ba{background:#dcfce7;color:#166534}.bm{background:#fef9c3;color:#854d0e}.bb{background:#f1f5f9;color:#64748b}
.bpot{background:#fef3c7;color:#92400e;font-weight:700}.bpotm{background:#e0f2fe;color:#075985}
.bvenc{background:#fee2e2;color:#991b1b}.bven2{background:#fef9c3;color:#854d0e}.bvig{background:#dcfce7;color:#166534}
.bseg{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10.5px;font-weight:600}
.bs-vida{background:#fee2e2;color:#991b1b}.bs-saude{background:#dbeafe;color:#1e40af}
.bs-dental{background:#cffafe;color:#155e75}.bs-resid{background:#fed7aa;color:#9a3412}
.bs-prev{background:#e9d5ff;color:#6b21a8}.bs-auto{background:#fde68a;color:#92400e}
.bs-equip{background:#bbf7d0;color:#15803d}.bs-re{background:#c7d2fe;color:#3730a3}
.bs-nao{background:#f1f5f9;color:#94a3b8}
.pill{display:inline-block;padding:2px 7px;border-radius:4px;font-size:11px;margin:1px 2px 1px 0;white-space:nowrap;font-weight:500}
.pwpp{background:#dcfce7;color:#166534}.ptel{background:#dbeafe;color:#1e40af}
.pmail{background:#e0f2fe;color:#075985}.ploc{background:#f1f5f9;color:#475569}
.pdoc-cpf{background:#ede9fe;color:#5b21b6}.pdoc-cnpj{background:#fef3c7;color:#92400e}
.acao-txt{font-size:11.5px;color:#475569;line-height:1.4}

/* ══ PAGINATION ═════════════════════════════════════════════ */
#pgn{display:flex;align-items:center;gap:5px;padding:11px 14px;flex-wrap:wrap;border-top:1px solid #e2e8f0;background:#f8fafc}
#pgn button{background:#fff;border:1px solid #d1d5db;color:#374151;border-radius:5px;padding:3px 9px;cursor:pointer;font-size:12px;min-width:30px}
#pgn button.active{background:#2563eb;border-color:#2563eb;color:#fff}
#pgn button:disabled{opacity:.3;pointer-events:none}
.pinfo{font-size:11.5px;color:#64748b;margin-left:auto}

/* ══ KANBAN ═════════════════════════════════════════════════ */
#kanban{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;padding:14px 24px;min-height:70vh;overflow-x:auto}
.col-kb{background:#f1f5f9;border-radius:8px;padding:10px;min-height:300px}
.col-kb h3{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:#475569;margin-bottom:9px;padding-bottom:7px;border-bottom:2px solid #cbd5e1;display:flex;justify-content:space-between;align-items:center}
.col-kb h3 .kc{background:#fff;border-radius:10px;padding:1px 8px;font-size:10px;color:#1d4ed8;font-weight:700}
.col-kb.estagio-novo h3{border-bottom-color:#94a3b8}
.col-kb.estagio-tentativa h3{border-bottom-color:#3b82f6}
.col-kb.estagio-cotacao h3{border-bottom-color:#06b6d4}
.col-kb.estagio-proposta h3{border-bottom-color:#f59e0b}
.col-kb.estagio-agendamento h3{border-bottom-color:#8b5cf6}
.col-kb.estagio-convertida h3{border-bottom-color:#10b981}
.col-kb.estagio-perdida h3{border-bottom-color:#ef4444}
.kcard{background:#fff;border:1px solid #e2e8f0;border-radius:7px;padding:9px 11px;margin-bottom:8px;cursor:grab;font-size:12px}
.kcard:hover{box-shadow:0 3px 10px rgba(0,0,0,.08)}
.kcard.dragging{opacity:.5}
.kcard .kn{font-weight:600;color:#0f172a;margin-bottom:3px;font-size:12px}
.kcard .ktags{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}
.col-kb.dragover{background:#dbeafe}

/* ══ CALENDAR ═══════════════════════════════════════════════ */
#cal{padding:14px 24px}
#cal-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
#cal-head h2{font-size:18px;color:#0f172a}
#cal-head button{background:#fff;border:1px solid #d1d5db;border-radius:5px;padding:5px 10px;cursor:pointer;font-size:13px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;background:#fff;padding:14px;border-radius:8px;border:1px solid #e2e8f0}
.cal-day-h{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;text-align:center;padding:5px}
.cal-day{min-height:88px;border:1px solid #f1f5f9;border-radius:5px;padding:5px;font-size:11px;background:#f8fafc;cursor:pointer}
.cal-day:hover{background:#eff6ff}
.cal-day.empty{opacity:.3}
.cal-day.hoje{background:#dbeafe;border-color:#3b82f6;font-weight:700}
.cal-day .cd-num{font-weight:700;color:#0f172a;font-size:12px;margin-bottom:3px}
.cal-day .cd-evt{font-size:9.5px;color:#1d4ed8;margin-bottom:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-day.tem-evt{background:#eff6ff}
.cal-day.tem-nota{border-bottom:2px solid #6366f1}
.nota-dot{color:#6366f1;font-size:8px;margin-left:2px;vertical-align:top}

/* ══ PRODUTIVIDADE ══════════════════════════════════════════ */
#prod{padding:14px 24px}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:24px}
.prod-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:18px}
.prod-card h4{font-size:11.5px;text-transform:uppercase;color:#64748b;margin-bottom:10px;letter-spacing:.6px}
.prod-card .pv{font-size:32px;font-weight:800;color:#0f172a}
.prod-card .pd{font-size:11.5px;color:#64748b;margin-top:4px}
.prod-card.alta .pv{color:#059669}
.prod-card.media .pv{color:#d97706}
#heatmap{background:#fff;padding:18px;border-radius:8px;border:1px solid #e2e8f0}
#heatmap canvas{max-height:240px}

/* ══ DRAWER ═════════════════════════════════════════════════ */
#drawer{position:fixed;top:0;right:-560px;width:520px;max-width:96vw;height:100vh;background:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.15);transition:right .25s;z-index:500;overflow-y:auto;padding:22px 24px}
#drawer.open{right:0}
#drawer h2{font-size:18px;margin-bottom:3px;color:#0f172a;line-height:1.2;padding-right:30px}
#drawer .dsub{font-size:11.5px;color:#64748b;margin-bottom:14px}
#drawer .drow{padding:8px 0;border-bottom:1px solid #f1f5f9;display:flex;gap:11px;font-size:12.5px}
#drawer .dlbl{font-weight:600;color:#475569;min-width:115px;font-size:11px;text-transform:uppercase;letter-spacing:.4px}
#drawer .dval{flex:1;color:#0f172a;word-break:break-word}
#drawer .dclose{position:absolute;top:14px;right:14px;background:none;border:none;font-size:24px;cursor:pointer;color:#94a3b8;padding:4px 10px;border-radius:6px}
#drawer .dactions{display:flex;gap:6px;margin:14px 0;flex-wrap:wrap}
#drawer textarea{width:100%;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px;font-size:13px;min-height:64px;resize:vertical;outline:none;font-family:'Segoe UI',sans-serif}
#drawer .dsec-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:#475569;font-weight:700;margin:14px 0 6px}
#tags-area{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.tag-chip{background:#dbeafe;color:#1d4ed8;border-radius:16px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:5px}
.tag-chip .tag-x{cursor:pointer;opacity:.6;font-size:13px}
#tag-input{background:#f8fafc;border:1px solid #cbd5e1;border-radius:5px;padding:4px 8px;font-size:11.5px;width:100%;margin-top:5px}
.log-item{background:#f8fafc;border-left:3px solid #3b82f6;padding:7px 10px;margin-bottom:6px;border-radius:0 5px 5px 0;font-size:12px}
.log-item.atendeu{border-left-color:#10b981}
.log-item.nao-atendeu{border-left-color:#f59e0b}
.log-item.recusou{border-left-color:#ef4444}
.log-item .li-h{font-weight:600;color:#0f172a;font-size:11.5px;margin-bottom:2px}
.log-item .li-d{font-size:10.5px;color:#64748b}
.log-add{display:flex;gap:5px;margin-top:6px;align-items:center;flex-wrap:wrap}
.log-add select,.log-add input{font-size:11.5px;padding:4px 7px;border:1px solid #cbd5e1;border-radius:4px;background:#f8fafc}
.log-add input{flex:1;min-width:120px}
#tpl-msg-list{display:flex;flex-direction:column;gap:5px}
.tpl-btn{background:#f8fafc;border:1px solid #cbd5e1;color:#1e293b;border-radius:5px;padding:6px 9px;font-size:11.5px;cursor:pointer;text-align:left}
.tpl-btn:hover{background:#dbeafe;border-color:#3b82f6}

/* ══ OVERLAY / TOAST ════════════════════════════════════════ */
#overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .25s;z-index:499}
#overlay.show{opacity:1;pointer-events:auto}
#toast{position:fixed;bottom:22px;right:22px;background:#059669;color:#fff;padding:9px 17px;border-radius:7px;font-size:13px;font-weight:600;z-index:9999;box-shadow:0 4px 18px rgba(0,0,0,.18);transform:translateY(56px);opacity:0;transition:transform .22s,opacity .22s;pointer-events:none}
#toast.show{transform:translateY(0);opacity:1}
.empty{text-align:center;padding:48px 20px;color:#94a3b8}
.tag-fone-bad{background:#fee2e2;color:#991b1b;border-radius:3px;padding:0 4px;font-size:9px;margin-left:4px}
.tag-fone-ok{background:#dcfce7;color:#166534;border-radius:3px;padding:0 4px;font-size:9px;margin-left:4px}

/* ══ SECTIONS ═══════════════════════════════════════════════ */
#section-clientes{display:block}
#section-rede,#section-simonassi,#section-vonder,#section-fortlev,#section-admin{display:none}
.secao-header{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid #e2e8f0;background:#fff;flex-wrap:wrap}
.secao-title{font-size:18px;font-weight:800;color:#0f172a}
.secao-badge{background:#ede9fe;color:#6366f1;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px}
.d-edit{width:100%;border:none;background:transparent;color:#0f172a;font-size:12.5px;padding:2px 6px;border-radius:5px;font-family:inherit;outline:none;transition:background .15s,border .15s}
.d-edit:hover{background:#f8fafc}
.d-edit:focus{background:#f5f3ff;border-bottom:2px solid #6366f1;color:#0f172a}
.d-save-chip{font-size:10px;color:#059669;font-weight:700;margin-left:6px;opacity:0;transition:opacity .3s}
.d-save-chip.show{opacity:1}

/* ══ MODAL NOVO LEAD ════════════════════════════════════════ */
#modal-novo-lead{position:fixed;inset:0;z-index:600;background:rgba(15,23,42,.5);display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
#modal-novo-lead.open{display:flex}
.mnl-box{background:#fff;border-radius:20px;padding:28px;width:92%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.15)}
.mnl-title{font-size:18px;font-weight:800;color:#0f172a;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.mnl-field{margin-bottom:14px}
.mnl-label{font-size:11px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;display:block}
.mnl-input{width:100%;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;font-size:13px;font-family:inherit;outline:none;transition:border .2s,box-shadow .2s;box-sizing:border-box}
.mnl-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.mnl-destino{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.mnl-dest-btn{padding:12px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;text-align:center;font-size:12px;font-weight:600;color:#475569;transition:all .2s;background:#fff}
.mnl-dest-btn.sel{border-color:#6366f1;background:#f5f3ff;color:#4f46e5}
.mnl-dest-btn:hover{border-color:#a5b4fc}
.mnl-actions{display:flex;gap:10px;margin-top:20px}
.mnl-btn-cancel{flex:1;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;font-size:14px;color:#374151;font-weight:500}
.mnl-btn-save{flex:2;padding:12px;border:none;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;cursor:pointer;font-size:14px;font-weight:700;box-shadow:0 4px 12px rgba(99,102,241,.3)}

/* ══ BULK BAR ═══════════════════════════════════════════════ */
#bulk-bar{display:none;align-items:center;gap:8px;background:#1e40af;color:#fff;padding:8px 24px;font-size:13px;position:sticky;top:calc(48px + 53px + 44px + 42px + 46px);z-index:160}
#bulk-bar button{background:#fff;color:#1e40af;border:none;border-radius:5px;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer}
#bulk-bar button:hover{background:#dbeafe}
.bulk-chk{margin-right:6px;cursor:pointer;width:14px;height:14px}

/* ══ MAPA BRASIL ════════════════════════════════════════════ */
.map-tooltip{background:#0f172a!important;color:#fff!important;border:none!important;border-radius:6px!important;font-size:12px!important;font-weight:500!important;padding:6px 10px!important;box-shadow:0 4px 12px rgba(0,0,0,.2)!important}
.map-tooltip::before{border-top-color:#0f172a!important}

/* ══ CREDENTIAL GENERATOR ═══════════════════════════════════ */
.cred-gen-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px;margin-top:10px}
.cred-gen-row{display:flex;align-items:center;gap:8px;margin-top:6px}
.cred-gen-val{flex:1;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font-family:monospace;font-size:13px;background:#fff;color:#0f172a}
.cred-copy-btn{padding:6px 12px;border:1px solid #16a34a;border-radius:6px;background:#dcfce7;color:#16a34a;cursor:pointer;font-size:12px;font-weight:600}
.cred-copy-btn:hover{background:#bbf7d0}

/* ══ MODO FOCO ══════════════════════════════════════════════ */
body.foco #hdr,body.foco #viewbar,body.foco #tabs,body.foco #cards,body.foco #fbar,body.foco #pgn,body.foco thead,body.foco .c-act{display:none!important}
body.foco #area{padding:60px 20%;max-width:900px;margin:auto}
body.foco::after{content:'Modo Foco — Esc para sair';position:fixed;top:10px;right:10px;background:#1e40af;color:#fff;padding:6px 12px;border-radius:5px;font-size:11px;z-index:9999}
