/* Estilos do CRM (tela principal). 29/10: saíram do kanban.html para o navegador guardar e não baixar de novo a cada abertura. */
  :root {
    --rosa: #fa2b6a; --preto: #000000;
    --fundo: #f3f2f5; --painel: #ffffff; --painel2: #f8f7fa; --coluna: #ecebef; --linha: #e7e5eb;
    --texto: #0c0c0f; --suave: #6f6d78; --rosa-suave: #ffe4ed; --rosa-texto: #c8104a;
    --verde: #12a150; --verde-suave: #dcf5e6; --verde-texto: #0b7a3b; --amarelo: #e19a00; --amarelo-suave: #fff3d6;
    --amarelo-texto: #8a5a00; --cinza: #a6a4ae; --trilho: #ecebef; --ativo-bg: #000000; --ativo-tx: #ffffff;
    --sombra: 0 1px 2px rgba(10, 8, 20, .04), 0 6px 20px rgba(10, 8, 20, .05); --r: 20px;
  }
  :root[data-theme="dark"] {
    --fundo: #070709; --painel: #131317; --painel2: #1a1a1f; --coluna: #0f0f13; --linha: #25252c;
    --texto: #f2f2f5; --suave: #9b99a6; --rosa-suave: #3b1222; --rosa-texto: #ff7aa2;
    --verde-suave: #0e2a1b; --verde-texto: #5fdb94; --amarelo-suave: #2f250c; --amarelo-texto: #f3c35a;
    --cinza: #5d5b66; --trilho: #24242b; --ativo-bg: var(--rosa); --ativo-tx: #ffffff;
    --sombra: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .25);
  }
  * { box-sizing: border-box; }
  [hidden] { display: none !important; }
  html, body { margin: 0; background: var(--fundo); color: var(--texto); font-family: Manrope, Inter, system-ui, -apple-system, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
  body { background-image: radial-gradient(1200px 500px at 100% -10%, color-mix(in srgb, var(--rosa) 7%, transparent), transparent 60%); background-repeat: no-repeat; }
  h1, h2, h3, h4, .kpi b, .grande b, .etapa b, .pos b, .gauge .val, .cx3 b, .dia-zoom .barra-grande b, .faixa b { font-family: Sora, Manrope, system-ui, sans-serif; letter-spacing: -.02em; }
  .logo-img { display: block; height: 30px; width: auto; }
  .marca-crm { display: flex; align-items: center; gap: 12px; position: relative; }
  .crm-tag { font: 800 22px Sora, Manrope, system-ui, sans-serif; color: #fff; letter-spacing: .02em; line-height: 1;
    padding-left: 12px; border-left: 2px solid var(--rosa); }
  html.wl header.hero .logo-img { height: 40px; max-width: 240px; object-fit: contain; object-position: left center; }
  ::selection { background: var(--rosa); color: #fff; }
  .btn:focus-visible, .pill:focus-visible, .menu button:focus-visible, .card:focus-visible, .campo:focus-visible, .etapa:focus-visible, .kpi.link:focus-visible { outline: 2px solid var(--rosa); outline-offset: 2px; }
  :where(button, a, summary, select, [tabindex]):focus-visible { outline: 2px solid var(--rosa); outline-offset: 2px; }  /* 29/10: quem usa o teclado sempre vê onde está */
  .btn { transition: transform .12s ease, filter .15s ease, background .15s ease, border-color .15s ease; }
  .btn:active { transform: translateY(1px); }
  .btn.rosa { background: linear-gradient(135deg, var(--marca-claro, #ff4f7b), var(--rosa) 55%, var(--marca-escuro, #9e0b34)); box-shadow: 0 8px 20px -8px rgba(var(--marca-rgb, 250, 43, 106), .7); }
  .btn.rosa:hover { filter: brightness(1.07); }
  .entra { animation: sobe .35s ease both; }
  @keyframes sobe { from { opacity: 0; transform: translateY(8px); } }
  .meu-ola { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
  .meu-ola h2 { font-size: 22px; margin: 0; }
  .meu-ola p { margin: 4px 0 0; color: var(--suave); font-size: 13.5px; }
  .meu-rank { display: inline-flex; align-items: center; gap: 10px; border-radius: 14px; padding: 10px 14px; background: var(--painel); border: 1px solid var(--linha); box-shadow: var(--sombra); font-size: 13px; }
  .meu-rank b { font: 800 22px Sora, sans-serif; color: var(--rosa); }
  .fazer-item { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; width: 100%; text-align: left; font: inherit; color: inherit;
    background: var(--painel2); border: 1px solid var(--linha); border-left: 4px solid var(--pc); border-radius: 12px; padding: 10px 12px; margin-bottom: 6px; cursor: pointer; }
  .fazer-item:hover { border-color: var(--pc); }
  .fazer-item .d { min-width: 48px; text-align: center; } .fazer-item .d b { display: block; font: 800 18px Sora, sans-serif; color: var(--amarelo-texto); } .fazer-item .d small { font-size: 10.5px; color: var(--suave); }
  .fazer-item.forte .d b { color: var(--rosa-texto); }
  .fazer-item .nm b { display: block; font-size: 13.5px; overflow-wrap: anywhere; } .fazer-item .nm small { font-size: 12px; color: var(--suave); }
  html.carregando body::before { content: ''; position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 1000; pointer-events: none;
    background: linear-gradient(90deg, transparent, var(--rosa), transparent) no-repeat; background-size: 40% 100%; animation: carregaBarra 1s linear infinite; }
  html.carregando .wrap > section:not([hidden]) { opacity: .65; transition: opacity .2s; }
  @keyframes carregaBarra { from { background-position: -60% 0; } to { background-position: 160% 0; } }
  @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
  .kpi { position: relative; overflow: hidden; }
  .kpi::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 3px; border-radius: 0 4px 4px 0; background: var(--linha); }
  .kpi:first-child::before { background: var(--rosa); }
  .kpi.destaque::before { background: var(--verde); }
  .kpi.link { cursor: pointer; transition: transform .12s, border-color .15s, box-shadow .15s; font: inherit; color: inherit; text-align: left; }
  .kpi.link:hover { transform: translateY(-2px); border-color: var(--rosa); box-shadow: 0 14px 30px -16px rgba(var(--marca-rgb, 250, 43, 106), .35); }
  .kpi.link::after { content: "→"; position: absolute; right: 14px; top: 12px; color: var(--suave); font-weight: 700; opacity: 0; transition: opacity .15s; }
  .kpi.link:hover::after { opacity: 1; }
  .kpi.link.on { border-color: var(--rosa); box-shadow: 0 0 0 2px var(--rosa); }
  .coluna.apagada { opacity: .3; }
  .coluna.pisca { animation: pisca 1.4s ease; }
  @keyframes pisca { 30%, 70% { box-shadow: 0 0 0 3px var(--rosa); } }
  button, input, select, textarea { font: inherit; color: inherit; }
  /* 26/10: listas de seleção legíveis nos dois temas (no Windows a lista abria branca com o texto claro do tema escuro) */
  :root { color-scheme: light; } :root[data-theme="dark"] { color-scheme: dark; }
  select option, select optgroup { background-color: var(--painel); color: var(--texto); }
  .mono { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 12px; }
  .wrap { max-width: 1440px; margin: 0 auto; padding: 18px 28px 140px; }  /* 29/10: espaço no fim para os botões Hoje e Assistente não cobrirem o último item */
  .esp { flex: 1; }
  .suave { color: var(--suave); }

  /* ---------- topo (sempre escuro, cores da Contact) */
  .hero { position: relative; overflow: hidden; border-radius: 26px; color: #fff; padding: 26px 30px 28px;
    background: radial-gradient(ellipse 55% 120% at 82% 0%, rgba(var(--marca-rgb, 250, 43, 106), .55), transparent 60%),
                radial-gradient(ellipse 30% 60% at 0% 100%, rgba(120, 60, 255, .18), transparent 70%),
                linear-gradient(115deg, #000 0%, #0b080d 55%, var(--hero-fim, #2a0a17) 100%);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .18); border: 1px solid rgba(255, 255, 255, .07); }
  .hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
    background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: 34px 34px; mask-image: linear-gradient(90deg, transparent 30%, #000 75%); }
  .hero > * { position: relative; }
  .hero > #tema { position: absolute; top: 22px; right: 24px; z-index: 2; }
  @media (max-width: 640px) { .hero > #tema { top: 16px; right: 16px; padding: 7px 11px; font-size: 12px; } }
  .logo { font-weight: 800; font-size: 30px; letter-spacing: -.03em; line-height: 1; }
  .logo .o { display: inline-block; width: .62em; height: .62em; border: .14em solid var(--rosa); border-radius: 50%; margin: 0 .02em; vertical-align: -.02em; }
  .hero h1 { font-size: clamp(30px, 4vw, 44px); letter-spacing: -.03em; margin: 14px 0 8px; line-height: 1.05; }
  .hero-base { display: flex; align-items: flex-end; gap: 18px; flex-wrap: wrap; }
  .hero p { margin: 0; color: rgba(255, 255, 255, .62); font-size: 14px; max-width: 460px; line-height: 1.5; }
  .pills { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; margin-left: auto; }
  .pill { display: inline-flex; align-items: center; gap: 8px; border-radius: 12px; padding: 9px 14px; font-size: 13px; font-weight: 500;
    background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); color: #fff; cursor: pointer; white-space: nowrap; }
  .pill:hover { background: rgba(255, 255, 255, .11); }
  .pill.info { cursor: default; font-size: 12px; color: rgba(255, 255, 255, .8); }
  .pill.info:hover { background: rgba(255, 255, 255, .06); }
  .pill.rosa { background: var(--rosa); border-color: var(--rosa); font-weight: 600; }
  .pill.rosa:hover { background: #ff4a80; }
  .pill .av { width: 20px; height: 20px; font-size: 10px; }
  .ponto { width: 8px; height: 8px; border-radius: 50%; background: #2bd47a; box-shadow: 0 0 0 3px rgba(43, 212, 122, .2); }
  .drop { position: relative; }
  .pop { position: fixed; z-index: 30; width: 360px; max-width: 92vw; background: var(--painel); color: var(--texto);
    border: 1px solid var(--linha); border-radius: 18px; box-shadow: 0 24px 60px rgba(0, 0, 0, .28); padding: 12px; }
  .pop h4 { margin: 4px 6px 2px; font-size: 14px; }
  .pop .dica { margin: 0 6px 10px; display: block; }
  .pop input[type=search] { width: 100%; margin-bottom: 8px; }
  .pop .lista { max-height: 360px; overflow-y: auto; }
  .pop.escolha { width: 560px; }
  .grade-pipes { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 6px; max-height: 380px; overflow-y: auto; }
  .grade-pipes button { display: flex; justify-content: space-between; align-items: center; gap: 8px; text-align: left; border: 1px solid var(--linha);
    background: var(--painel2); border-radius: 12px; padding: 9px 12px; cursor: pointer; font-size: 13px; }
  .grade-pipes button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .grade-pipes button b { font-size: 12px; color: var(--suave); font-weight: 600; }
  .grade-pipes button:hover { border-color: var(--rosa); }
  .grade-pipes button.ativo { background: var(--ativo-bg); color: var(--ativo-tx); border-color: var(--ativo-bg); }
  .grade-pipes button.ativo b { color: inherit; }
  .menu button b { font-weight: 700; }
  .bolinha-pipe { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--pc); flex: none; }
  .faixa { display: flex; align-items: center; gap: 12px; border-radius: 16px; padding: 12px 16px; margin-bottom: 14px;
    background: color-mix(in srgb, var(--pc) 12%, var(--painel)); border: 1px solid color-mix(in srgb, var(--pc) 45%, transparent); }
  .faixa .bolinha-pipe { width: 14px; height: 14px; box-shadow: 0 0 0 4px color-mix(in srgb, var(--pc) 25%, transparent); }
  .faixa b { font-size: 16px; letter-spacing: -.01em; }
  .faixa span { font-size: 12.5px; color: var(--suave); }
  .faixa .trocar { margin-left: auto; }
  .selo { display: inline-flex; align-items: center; gap: 7px; border-radius: 99px; padding: 4px 11px 4px 9px; font-size: 12px; font-weight: 600;
    background: color-mix(in srgb, var(--pc) 14%, transparent); color: var(--texto); border: 1px solid color-mix(in srgb, var(--pc) 45%, transparent); margin-bottom: 8px; }
  #confirma { width: min(440px, 92vw); }
  .card .lapis { border: 0; background: transparent; color: var(--suave); cursor: pointer; font-size: 13px; padding: 2px 4px; border-radius: 6px; margin-left: 2px; }
  .card .lapis:hover { background: var(--painel2); color: var(--texto); }
  .card.arq { opacity: .6; }
  .faixa .acoes-pipe { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
  .faixa .acoes-pipe + .trocar { margin-left: 0; }
  @media (max-width: 640px) { .faixa { flex-wrap: wrap; } .faixa .acoes-pipe { margin-left: 0; width: 100%; } .faixa .acoes-pipe .btn-fila { order: -1; flex: 1 1 100%; justify-content: center; } }
  #mPipe { width: min(680px, 96vw); }
  .cols-edit { display: flex; flex-direction: column; gap: 6px; }
  .col-edit { display: grid; grid-template-columns: auto 1fr auto auto; gap: 8px; align-items: center; background: var(--painel2); border: 1px solid var(--linha); border-radius: 12px; padding: 6px 8px; }
  .col-edit input { border: 1px solid var(--linha); background: var(--painel); border-radius: 9px; padding: 6px 10px; font-size: 13.5px; width: 100%; }
  .col-edit .setas { display: flex; flex-direction: column; }
  .col-edit .setas button, .col-edit .x { border: 0; background: transparent; color: var(--suave); cursor: pointer; font-size: 12px; line-height: 1; padding: 2px 6px; }
  .col-edit .x { font-size: 15px; }
  .col-edit .x:disabled, .col-edit .setas button:disabled { opacity: .25; cursor: default; }
  .tipo { font-size: 11px; border-radius: 99px; padding: 2px 8px; background: var(--painel); border: 1px solid var(--linha); color: var(--suave); white-space: nowrap; }
  .lapis-pipe { border: 0; background: transparent; color: var(--suave); cursor: pointer; font-size: 13px; padding: 3px 7px; border-radius: 8px; line-height: 1; }
  .lapis-pipe:hover { background: var(--painel); color: var(--texto); }
  .grade-pipes button.ativo .lapis-pipe { color: inherit; }
  .lapis-col { border: 0; background: transparent; color: var(--suave); cursor: pointer; font-size: 13px; padding: 2px 6px; border-radius: 7px; margin-left: 2px; line-height: 1; opacity: .55; }
  .coluna:hover .lapis-col { opacity: 1; }
  .lapis-col:hover { background: var(--painel); color: var(--texto); }
  #mCol { width: min(460px, 92vw); }
  #mCol .botoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  .btn:disabled { opacity: .4; cursor: default; }
  .btn.perigo { background: var(--rosa-suave); color: var(--rosa-texto); border: 1px solid color-mix(in srgb, var(--rosa) 35%, transparent); }
  .cores { display: flex; gap: 8px; flex-wrap: wrap; }
  .cores label { width: 28px; height: 28px; border-radius: 50%; background: var(--c); cursor: pointer; display: grid; place-items: center; border: 2px solid transparent; margin: 0; }
  .cores input { display: none; }
  .cores input:checked + span { width: 12px; height: 12px; border-radius: 50%; background: #fff; }
  .cores label:has(input:checked) { border-color: var(--texto); }
  .secao { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--suave); margin: 18px 0 8px; }
  dialog .acoes .esq { margin-right: auto; }
  .bloco-reuniao { margin-top: 14px; border: 1px solid color-mix(in srgb, var(--verde) 40%, transparent); background: var(--verde-suave); border-radius: 14px; padding: 12px 14px; }
  .bloco-reuniao h4 { margin: 0 0 10px; font-size: 13px; color: var(--verde-texto); }
  .bloco-reuniao .g3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
  .bloco-reuniao input:not([type=checkbox]), .bloco-reuniao select { width: 100%; }
  .convite { font-size: 12.5px; margin-top: 10px; color: var(--verde-texto); line-height: 1.5; }
  .convite.erro { color: var(--rosa-texto); }
  .jn-uteis { margin: 0 0 16px; padding: 10px 14px; border-radius: 12px; background: var(--rosa-suave, #fde7ef); color: var(--texto, #16121c); font-size: 13.5px; line-height: 1.5; }
  .oc-marca { margin: 0 0 14px; }
  .cad-col { margin: 10px 0 4px; padding: 12px 14px; border: 1px solid var(--linha); border-radius: 14px; background: var(--painel2); }
  .cad-col .cc-cab { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; flex-wrap: wrap; }
  .cad-col .cc-cab span { font-size: 12.5px; font-weight: 700; color: var(--amarelo-texto); } .cad-col .cc-cab span.ok { color: var(--verde-texto); }
  .cad-col .cc-itens { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 6px; }
  .cad-col .cc-it { border: 1px solid var(--linha); background: var(--painel); color: var(--texto); border-radius: 99px; padding: 7px 13px; font-weight: 700; font-size: 13px; cursor: pointer; }
  .cad-col .cc-it.feito { background: var(--verde-suave); border-color: var(--verde); color: var(--verde-texto); }
  .cad-col .cc-it:disabled { cursor: default; opacity: .7; }
  .tag.cad-falta { background: var(--amarelo-suave); color: var(--amarelo-texto); } .tag.cad-ok { background: var(--verde-suave); color: var(--verde-texto); }
  /* 27/10 (3.12): perdido marcado, retorno com protocolo, trava do follow, unir leads, agenda e lembretes */
  .tag.perder { background: var(--rosa-suave); color: var(--rosa-texto); } .tag.trava { background: var(--painel2); color: var(--suave); border: 1px dashed var(--linha); }
  .aviso-perder { margin: 10px 0 4px; padding: 10px 14px; border-radius: 14px; background: var(--rosa-suave); color: var(--rosa-texto); font-size: 13px; font-weight: 600; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
  .aviso-perder button { margin-left: auto; }
  .bloco-retorno { margin: 10px 0 4px; padding: 12px 14px; border: 1px solid var(--linha); border-radius: 14px; background: var(--painel2); }
  .bloco-retorno b { font-size: 13px; } .bloco-retorno .dica { margin: 2px 0 8px; }
  .bloco-retorno .linha-ret { display: flex; gap: 8px; } .bloco-retorno .linha-ret input { flex: 1; min-width: 0; }
  .bloco-retorno.ok { background: var(--verde-suave); border-color: transparent; color: var(--verde-texto); font-size: 13px; font-weight: 600; }
  dialog .acoes .esq:has(+ .esq2:not([hidden])) { margin-right: 0; } dialog .acoes .esq2 { margin-right: auto; }
  @media (max-width: 640px) { dialog .acoes { flex-wrap: wrap; padding: 10px 14px; gap: 6px; } dialog .acoes .btn { flex: 1 1 auto; padding: 9px 10px; font-size: 13px; }
    dialog .acoes .esq, dialog .acoes .esq2 { margin-right: 0; } #modal .acoes #mSalvar { flex-basis: 100%; order: -1; } dialog .acoes .so-pc { display: none; } }
  .seg button[data-v="perdido"].on { background: var(--rosa); color: #fff; border-color: var(--rosa); }
  .perda-atv { display: grid; gap: 6px; margin-top: 8px; font-size: 13px; } .perda-atv > label { display: flex; gap: 6px; align-items: center; font-weight: 500; }
  .prova-perda { display: grid; gap: 8px; margin-top: 12px; padding: 12px; border: 1px dashed color-mix(in srgb, var(--rosa) 45%, var(--linha)); border-radius: 14px; background: var(--painel2); }
  .prova-perda > label { font-weight: 700; font-size: 13px; } .prova-perda .campo { width: 100%; }
  .prova-perda .prova-print { margin: 0; } .prova-perda .prova-print[hidden], .prova-perda [hidden] { display: none !important; }
  .prova-prev { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--suave); }
  .prova-prev img { width: 64px; height: 48px; object-fit: cover; border-radius: 8px; border: 1px solid var(--linha); }
  .prova-prev span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .unir-lista { display: grid; gap: 6px; margin-top: 8px; max-height: 240px; overflow: auto; }
  .unir-it { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 9px 12px; border: 1px solid var(--linha); border-radius: 12px; background: var(--painel); cursor: pointer; text-align: left; color: var(--texto); font: inherit; width: 100%; }
  .unir-it:hover { border-color: var(--rosa); } .unir-it.on { border-color: var(--rosa); box-shadow: 0 0 0 2px color-mix(in srgb, var(--rosa) 25%, transparent); }
  .unir-it small { color: var(--suave); display: block; font-size: 12px; }
  .unir-par { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
  .unir-par > div { border: 1px solid var(--linha); border-radius: 14px; padding: 10px 12px; min-height: 64px; font-size: 13px; background: var(--painel2); }
  .unir-par b { display: block; } .unir-par small { color: var(--suave); }
  .ag-it.evt { background: color-mix(in srgb, #7c5cff 14%, var(--painel)); border-left-color: #7c5cff; }
  .ag-it.goo { background: color-mix(in srgb, #2f7bf6 12%, var(--painel)); border-left-color: #2f7bf6; cursor: default; }
  .ag-dia { cursor: pointer; } .ag-dia:hover { border-color: color-mix(in srgb, var(--rosa) 45%, var(--linha)); }
  .ag-dia .ag-add { border: 0; background: var(--rosa-suave); color: var(--rosa-texto); font-weight: 800; cursor: pointer; font-size: 14px; line-height: 1;
    width: 24px; height: 24px; border-radius: 8px; display: grid; place-items: center; margin-left: auto; flex: none; }
  .ag-dia .ag-n small + .ag-add { margin-left: 4px; }
  .ag-dia .ag-add:hover { background: var(--rosa); color: #fff; }
  .an-dia { display: grid; gap: 6px; margin: 0 0 12px; max-height: 210px; overflow: auto; }
  .an-dia .ag-it { font-size: 12.5px; padding: 6px 9px; } .an-dia .vazio-dia { font-size: 13px; color: var(--suave); }
  .goo-st { display: flex; gap: 8px; align-items: center; font-size: 12.5px; color: var(--suave); }
  .goo-st .ponto-g { width: 8px; height: 8px; border-radius: 50%; background: var(--cinza); } .goo-st .ponto-g.on { background: var(--verde); } .goo-st .ponto-g.erro { background: var(--rosa); }
  .goo-caixa { border: 1px solid var(--linha); border-radius: 14px; padding: 14px; margin-top: 10px; background: var(--painel2); font-size: 13.5px; line-height: 1.5; }
  .goo-caixa ol { margin: 6px 0 8px 18px; padding: 0; } .goo-caixa input { width: 100%; margin-top: 6px; }
  /* widget "Hoje" no canto inferior direito */
  .hoje-btn { position: fixed; right: 18px; bottom: 18px; z-index: 40; display: flex; align-items: center; gap: 8px; border: 0; border-radius: 99px; padding: 11px 16px;
    background: var(--ativo-bg); color: var(--ativo-tx); font: 700 13.5px Manrope, Inter, system-ui, sans-serif; cursor: pointer; box-shadow: 0 10px 28px rgba(0,0,0,.25); }
  .hoje-btn .n { background: var(--rosa); color: #fff; border-radius: 99px; min-width: 20px; height: 20px; padding: 0 6px; display: grid; place-items: center; font-size: 11.5px; }
  .hoje-painel { position: fixed; right: 18px; bottom: 74px; z-index: 41; width: min(380px, calc(100vw - 32px)); max-height: min(70vh, 560px); display: flex; flex-direction: column;
    background: var(--painel); color: var(--texto); border: 1px solid var(--linha); border-radius: 18px; box-shadow: 0 18px 50px rgba(0,0,0,.28); overflow: hidden; }
  .hoje-painel header { display: flex; align-items: center; gap: 8px; padding: 14px 16px 10px; border-bottom: 1px solid var(--linha); }
  .hoje-painel header h4 { margin: 0; font: 800 15px Sora, sans-serif; }
  .hoje-painel header small { color: var(--suave); flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .hoje-painel header button { white-space: nowrap; flex: none; }
  .hoje-lista { overflow: auto; padding: 8px 10px 12px; display: grid; gap: 6px; }
  .hoje-it { display: grid; grid-template-columns: 54px 1fr auto; gap: 8px; align-items: center; padding: 8px 8px; border-radius: 12px; border: 1px solid var(--linha); font-size: 13px; }
  .hoje-it .h { font: 700 12.5px 'JetBrains Mono', monospace; color: var(--suave); } .hoje-it.atras { border-color: color-mix(in srgb, var(--rosa) 55%, var(--linha)); }
  .hoje-it.atras .h { color: var(--rosa-texto); } .hoje-it .h em { display: block; font: 800 9.5px Manrope, sans-serif; text-transform: uppercase; letter-spacing: .04em; font-style: normal; margin-top: 1px; } .hoje-it .t { min-width: 0; } .hoje-it .t b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .hoje-it .t small { color: var(--suave); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .hoje-it[data-card] .t { cursor: pointer; }
  .hoje-it.k-reuniao { border-left: 3px solid var(--verde); } .hoje-it.k-evento { border-left: 3px solid #7c5cff; } .hoje-it.k-google { border-left: 3px solid #2f7bf6; }
  /* lembretes: cartões no canto direito da tela */
  .lembretes-tela { position: fixed; right: 18px; top: 76px; z-index: 60; display: grid; gap: 10px; width: min(340px, calc(100vw - 32px)); pointer-events: none; }
  .lembrete { pointer-events: auto; position: relative; background: var(--painel); color: var(--texto); border: 1px solid var(--linha); border-left: 4px solid var(--rosa); border-radius: 14px;
    padding: 12px 38px 12px 14px; box-shadow: 0 14px 36px rgba(0,0,0,.22); font-size: 13px; animation: lemEntra .35s cubic-bezier(.2,.8,.2,1);
    transition: opacity .6s ease, transform .6s ease; }
  .lembrete.clica { cursor: pointer; } .lembrete.clica:hover { border-color: var(--rosa); }
  .lembrete.agora { border-left-color: var(--amarelo); }
  .lembrete.saindo { opacity: 0; transform: translateX(120%); }
  .lembrete small { color: var(--suave); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 11px; }
  .lembrete b { display: block; margin: 3px 0 2px; font-size: 14px; }
  .lembrete .abrir { color: var(--rosa-texto); font-weight: 700; font-size: 12px; margin-top: 6px; }
  .lembrete .x { position: absolute; top: 8px; right: 8px; width: 24px; height: 24px; border: 0; border-radius: 8px; background: transparent; color: var(--suave);
    font-size: 15px; line-height: 1; cursor: pointer; display: grid; place-items: center; }
  .lembrete .x:hover { background: var(--painel2); color: var(--texto); }
  @keyframes lemEntra { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: none; } }
  .fila-esc { display: grid; gap: 8px; margin-top: 10px; }
  .fila-esc button { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--linha); background: var(--painel); color: var(--texto); font: inherit; cursor: pointer; text-align: left; }
  .fila-esc button:hover, .fila-esc button.atual { border-color: var(--rosa); } .fila-esc small { color: var(--suave); }
  @media (max-width: 640px) { .hoje-btn { right: 12px; bottom: 12px; } .hoje-painel { right: 12px; bottom: 66px; } .lembretes-tela { right: 12px; top: 64px; } .unir-par { grid-template-columns: 1fr; } }
  @media print { .hoje-btn, .hoje-painel, .lembretes-tela { display: none !important; } }
  .jornada { background: var(--painel); border: 1px solid var(--linha); border-radius: 22px; padding: 22px 24px; box-shadow: var(--sombra); margin: 0 0 14px; }
  .jn-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
  .jn-cab h3 { margin: 0; font-size: 26px; font-weight: 800; } .jn-cab p { margin: 4px 0 0; color: var(--suave); font-size: 14.5px; }
  .jn-dia { text-align: right; } .jn-dia b { display: block; font: 800 22px Sora, sans-serif; color: var(--rosa-texto); } .jn-dia span { font-size: 12px; color: var(--suave); }
  .jn-linha { position: relative; height: 40px; margin: 22px 18px 6px 18px; }
  .jn-trilho { position: absolute; left: 0; right: 0; top: 18px; height: 4px; border-radius: 99px; background: color-mix(in srgb, var(--rosa) 18%, var(--trilho)); overflow: hidden; }
  .jn-cheio { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: 99px; transition: width 1.8s cubic-bezier(.2, .8, .2, 1);
    background: linear-gradient(90deg, var(--marca-claro, #ff4f7b), var(--rosa), var(--marca-claro, #ff8fb0), var(--rosa)); background-size: 200% 100%; animation: jnBrilho 2.4s linear infinite; }
  @keyframes jnBrilho { from { background-position: 0 0; } to { background-position: -200% 0; } }
  .jn-bola { position: absolute; top: 0; transform: translateX(-50%); width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
    font: 800 13px Sora, sans-serif; background: var(--rosa-suave); color: var(--texto); border: 2px solid var(--painel); box-shadow: 0 0 0 1px color-mix(in srgb, var(--rosa) 30%, transparent); }
  .jn-bola.ok { background: var(--rosa); color: #fff; }
  .jn-bola.agora { background: var(--rosa-suave); box-shadow: 0 0 0 2px var(--rosa); animation: jnPulso 2s ease-in-out infinite; }
  @keyframes jnPulso { 50% { box-shadow: 0 0 0 7px color-mix(in srgb, var(--rosa) 22%, transparent), 0 0 0 2px var(--rosa); } }
  .jn-fases { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 8px; }
  .jn-fase { border: 1px solid var(--linha); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; min-width: 0; background: var(--painel); }
  .jn-fase small { font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--rosa-texto); }
  .jn-fase h4 { margin: 10px 0 10px; font-size: 21px; font-weight: 800; padding-bottom: 12px; border-bottom: 1px solid var(--linha); }
  .jn-fase p { margin: 0 0 14px; color: var(--suave); font-size: 14px; line-height: 1.5; flex: 1; }
  .jn-nota { font-size: 12.5px; color: var(--suave); background: var(--painel2); border-radius: 10px; padding: 9px 11px; }
  .jn-fase.destaque { border-color: color-mix(in srgb, var(--rosa) 45%, transparent); } .jn-fase.destaque .jn-nota { background: var(--rosa-suave); color: var(--rosa-texto); font-weight: 800; }
  .jn-fase.atual { border-color: var(--rosa); box-shadow: 0 0 0 3px color-mix(in srgb, var(--rosa) 14%, transparent); }
  .jn-fase.feita { opacity: .75; }
  .jn-imp { display: flex; gap: 22px; align-items: center; margin-top: 14px; padding: 12px 18px; border: 1px solid color-mix(in srgb, var(--rosa) 25%, var(--linha)); border-radius: 14px; background: color-mix(in srgb, var(--rosa-suave) 45%, var(--painel)); font-size: 13.5px; }
  .jn-imp b { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--rosa-texto); white-space: nowrap; }
  @media (max-width: 900px) { .jn-fases { grid-template-columns: 1fr 1fr; } .jn-imp { flex-direction: column; align-items: flex-start; gap: 6px; } }
  @media (max-width: 560px) { .jn-fases { grid-template-columns: 1fr; } .jn-bola { width: 32px; height: 32px; font-size: 11px; } .jn-trilho { top: 14px; } }
  .ag-hoje { margin-bottom: 16px; }
  .ag-hoje summary { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; flex-wrap: wrap; }
  .ag-hoje summary::-webkit-details-marker { display: none; }
  .ag-hoje summary h3 { margin: 0; font-size: 15px; }
  .ag-hoje summary small { color: var(--suave); font-size: 12.5px; }
  .ag-hoje-l { margin-top: 12px; max-height: 320px; overflow-y: auto; }
  .resumo-agenda .ra-num { display: flex; gap: 10px; flex-wrap: wrap; }
  .resumo-agenda .ra-num > div { flex: 1; min-width: 120px; background: var(--painel2); border: 1px solid var(--linha); border-radius: 14px; padding: 12px 14px; }
  .resumo-agenda .ra-num b { display: block; font-size: 24px; font-weight: 800; }
  .resumo-agenda .ra-num b a { color: inherit; }
  .resumo-agenda .ra-num small { color: var(--suave); font-size: 12px; }
  .resumo-agenda .ra-num .ruim b { color: var(--rosa-texto); }
  .meta-in { width: 90px; padding: 6px 10px; }
  .alx { display: flex; align-items: center; gap: 14px; padding: 12px 4px; border-bottom: 1px solid var(--linha); }
  .alx:last-child { border-bottom: 0; }
  .alx-d { flex: none; width: 48px; text-align: center; border-radius: 12px; background: var(--painel2); border: 1px solid var(--linha); padding: 5px 0; }
  .alx-d b { display: block; font-size: 18px; line-height: 1.1; } .alx-d small { font-size: 11px; color: var(--suave); text-transform: uppercase; }
  .alx.prox .alx-d { background: var(--rosa-suave); border-color: transparent; color: var(--rosa-texto); }
  .alx-t { flex: 1; min-width: 0; } .alx-t b { display: block; font-size: 14.5px; } .alx-t small { color: var(--suave); font-size: 12.5px; text-transform: none; }
  .alx-mes { margin: 16px 0 4px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--suave); }
  .alx-mes:first-child { margin-top: 0; }
  .gs-doc { display: flex; align-items: center; gap: 14px; padding: 10px 4px; border-bottom: 1px solid var(--linha); }
  .gs-doc:last-of-type { border-bottom: 0; }
  .gs-ic { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-size: 17px; font-weight: 800; background: var(--painel2); border: 1px solid var(--linha); color: var(--suave); }
  .gs-ic.gs-listas { background: var(--rosa-suave); border-color: transparent; color: var(--rosa-texto); }
  .gs-abas { margin: 4px 0 14px; } .gs-clis { margin-bottom: 14px; }
  .pb-corpo.gs-pb { max-height: none; overflow: visible; }
  .mt-row { display: grid; grid-template-columns: minmax(150px, 1.2fr) 2fr auto 140px; gap: 14px; align-items: center; padding: 10px 2px; border-bottom: 1px solid var(--linha); }
  .mt-row:last-child { border-bottom: 0; }
  .mt-n b { display: block; font-size: 14px; } .mt-n small { color: var(--suave); font-size: 12px; }
  .mt-v b { font-size: 16px; } .mt-v span { color: var(--suave); }
  .mt-s { font-size: 12.5px; font-weight: 600; text-align: right; } .mt-s.ok { color: var(--verde-texto); } .mt-s.atr { color: var(--amarelo-texto); }
  @media (max-width: 700px) { .mt-row { grid-template-columns: 1fr auto; } .mt-b { grid-column: 1 / -1; grid-row: 2; } .mt-s { text-align: left; } }
  /* notas de atualização */
  .atz-wrap { max-width: 920px; display: flex; flex-direction: column; gap: 14px; }
  .atz-topo { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 18px; padding: 22px 24px; }
  .atz-topo .t1 { flex: 1 1 320px; min-width: 0; }
  .atz-topo small.rot { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rosa-texto); margin-bottom: 6px; }
  .atz-topo h2 { margin: 0 0 6px; font-size: 22px; line-height: 1.25; }
  .atz-topo p { margin: 0; color: var(--suave); font-size: 14px; line-height: 1.55; }
  .atz-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
  .atz-acoes a { text-decoration: none; display: inline-flex; align-items: center; gap: 7px; }
  .atz-acoes svg { width: 16px; height: 16px; }
  .atz-cont { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
  .atz-filtro { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
  .atz-filtro .suave { font-size: 12.5px; }
  .atz-tipo { display: inline-flex; align-items: center; flex: none; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 2px 8px; border-radius: 99px; line-height: 1.6; }
  .atz-tipo.novo { background: var(--verde-suave); color: var(--verde-texto); }
  .atz-tipo.melhoria { background: var(--rosa-suave); color: var(--rosa-texto); }
  .atz-tipo.correcao { background: var(--amarelo-suave); color: var(--amarelo-texto); }
  details.atz { padding: 0; overflow: hidden; }
  details.atz > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px; padding: 16px 20px; }
  details.atz > summary::-webkit-details-marker { display: none; }
  details.atz > summary::after { content: ""; width: 9px; height: 9px; flex: none; margin-left: auto; border-right: 2px solid var(--suave); border-bottom: 2px solid var(--suave); transform: rotate(45deg); transition: transform .2s; }
  details.atz[open] > summary::after { transform: rotate(-135deg); }
  details.atz.atual { border-color: color-mix(in srgb, var(--rosa) 45%, var(--linha)); }
  .atz-v { flex: none; min-width: 58px; text-align: center; font-weight: 800; font-size: 13.5px; padding: 7px 10px; border-radius: 12px; background: var(--rosa-suave); color: var(--rosa-texto); }
  details.atz.atual .atz-v { background: var(--rosa); color: #fff; }
  .atz-cab { min-width: 0; } .atz-cab h3 { margin: 0; font-size: 16px; line-height: 1.35; } .atz-cab small { color: var(--suave); font-size: 12.5px; }
  .atz-corpo { padding: 0 20px 18px 92px; }
  .atz-res { margin: 0 0 4px; color: var(--suave); font-size: 14px; line-height: 1.55; }
  .atz-g h4 { margin: 16px 0 8px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--suave); }
  .atz-g ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 9px; }
  .atz-g li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.55; }
  .atz-g li .atz-tipo { margin-top: 2px; min-width: 78px; justify-content: center; }
  .atz-g li b { font-weight: 650; }
  @media (max-width: 640px) { .atz-corpo { padding: 0 16px 16px; } details.atz > summary { padding: 14px 16px; } .atz-g li { flex-direction: column; gap: 4px; } }
  .seg-eq { display: inline-flex; background: var(--trilho); border-radius: 999px; padding: 3px; }
  .seg-eq button { border: 0; background: none; padding: 5px 12px; border-radius: 999px; font: inherit; font-size: 12.5px; font-weight: 600; color: var(--suave); cursor: pointer; }
  .seg-eq button.on { background: var(--painel); color: var(--texto); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
  .rank-agentes { max-height: 300px; overflow-y: auto; padding-right: 4px; }
  .rank-agentes .pos-r { display: inline-block; min-width: 26px; font-weight: 800; color: var(--suave); font-size: 12px; }
  .rank-agentes .hbar:nth-child(-n+3) .pos-r { color: var(--rosa-texto); }
  .perda-topo { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; margin-bottom: 14px; padding: 12px 14px; border-radius: 14px; background: var(--painel2); border: 1px solid var(--linha); }
  .perda-topo b { display: block; font: 800 26px Sora, Manrope, sans-serif; color: var(--rosa-texto); line-height: 1.1; } .perda-topo span { font-size: 12px; color: var(--suave); }
  .perda-princ { border-left: 1px solid var(--linha); padding-left: 14px; min-width: 0; } .perda-princ small { display: block; font-size: 11px; font-weight: 700; color: var(--suave); text-transform: uppercase; letter-spacing: .06em; }
  .perda-princ strong { display: block; font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .oc-hero { background: var(--painel); border: 1px solid var(--linha); border-radius: 22px; padding: 24px 26px; box-shadow: var(--sombra); margin: 18px 0 14px; }
  .oc-tag { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--rosa-texto); background: var(--rosa-suave); padding: 4px 10px; border-radius: 99px; }
  .oc-hero h2 { margin: 12px 0 6px; font-size: 24px; } .oc-hero h2 small { font: 600 14px Manrope, sans-serif; color: var(--suave); margin-left: 6px; }
  .oc-hero p { margin: 0; color: var(--suave); font-size: 15px; line-height: 1.5; max-width: 760px; }
  .oc-ini { margin-top: 10px; font-size: 13.5px; color: var(--suave); }
  .oc-barra { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 16px; } .oc-barra i { height: 8px; border-radius: 99px; background: var(--trilho); }
  .oc-barra i.ok { background: var(--verde); } .oc-barra i.agora { background: linear-gradient(90deg, var(--marca-claro, #ff4f7b), var(--rosa)); }
  .oc-docs { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
  .oc-docs a { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--linha); border-radius: 14px; text-decoration: none; color: var(--texto); background: var(--painel2); }
  .oc-docs a:hover { border-color: var(--rosa); } .oc-docs span { font-size: 12.5px; color: var(--rosa-texto); font-weight: 700; }
  .oc-dias { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .oc-dia { background: var(--painel); border: 1px solid var(--linha); border-radius: 18px; padding: 16px; box-shadow: var(--sombra); }
  .oc-dia.atual { border-color: var(--rosa); box-shadow: 0 0 0 3px color-mix(in srgb, var(--rosa) 15%, transparent); } .oc-dia.proximo { opacity: .7; }
  .oc-dia-top { display: flex; align-items: center; gap: 10px; } .oc-dia-top small { display: block; color: var(--suave); font-size: 12.5px; }
  .oc-num { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; font-weight: 800; background: var(--trilho); flex: none; }
  .oc-dia.feito .oc-num { background: var(--verde); color: #fff; } .oc-dia.atual .oc-num { background: var(--rosa); color: #fff; }
  .oc-st { margin-left: auto; font-size: 11.5px; font-weight: 800; color: var(--suave); white-space: nowrap; }
  .oc-dia.feito .oc-st { color: var(--verde-texto); } .oc-dia.atual .oc-st { color: var(--rosa-texto); }
  .oc-dia p { font-size: 13.5px; color: var(--suave); line-height: 1.5; margin: 10px 0; }
  .oc-dia ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13.5px; } .oc-dia li { color: var(--suave); } .oc-dia li.ok { color: var(--verde-texto); font-weight: 600; }
  @media (max-width: 900px) { .oc-dias { grid-template-columns: 1fr; } }
  .card .agenda { font-size: 10.5px; font-weight: 700; margin-left: auto; padding: 1px 7px; border-radius: 99px; background: var(--verde-suave); color: var(--verde-texto); }
  .card .agenda.erro { background: var(--rosa-suave); color: var(--rosa-texto); }
  textarea.campo { resize: vertical; }
  #confirma p { font-size: 14px; line-height: 1.55; margin: 8px 0 0; }
  .pipe { display: flex; align-items: center; gap: 10px; padding: 9px 8px; border-radius: 12px; }
  .pipe:hover { background: var(--painel2); }
  .pipe b { font-size: 13.5px; font-weight: 600; display: block; }
  .pipe small { font-size: 11.5px; color: var(--suave); }
  .switch { position: relative; display: inline-block; vertical-align: middle; width: 38px; height: 22px; flex: none; margin-left: auto; }
  .switch input { opacity: 0; width: 0; height: 0; }
  .switch span { position: absolute; inset: 0; background: var(--trilho); border-radius: 99px; cursor: pointer; transition: .15s; }
  .switch span::before { content: ""; position: absolute; width: 16px; height: 16px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: .15s; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
  .switch input:checked + span { background: var(--rosa); }
  .switch input:checked + span::before { transform: translateX(16px); }

  /* ---------- menu */
  .menu { display: flex; gap: 2px; background: var(--painel); padding: 5px; border-radius: 14px; box-shadow: var(--sombra);
    width: max-content; max-width: 100%; overflow-x: auto; margin: 18px auto 18px; border: 1px solid var(--linha); scrollbar-width: thin; }
  .menu button { border: 0; background: transparent; padding: 8px 15px; border-radius: 10px; cursor: pointer; white-space: nowrap; color: var(--suave); font-size: 13px; font-weight: 500; }
  .menu button:hover { color: var(--texto); }
  .menu button.ativo { background: var(--ativo-bg); color: var(--ativo-tx); font-weight: 600; }
  .menu .sep { width: 1px; background: var(--linha); margin: 6px 4px; flex: none; }

  /* ---------- blocos comuns */
  .bloco { background: var(--painel); border-radius: var(--r); padding: 20px 22px; box-shadow: var(--sombra); border: 1px solid var(--linha); min-width: 0; }
  .bh { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 14px; }
  .bh h3 { font-size: 14.5px; margin: 0; font-weight: 600; }
  .bh small { font-size: 11.5px; color: var(--suave); text-align: right; }
  @media (max-width: 640px) { .bh { flex-wrap: wrap; } .bh h3 { flex: 1 0 auto; } .bh > small { flex-basis: 100%; text-align: left; order: 3; margin-top: -8px; } }
  .g21 { display: grid; grid-template-columns: 1.55fr 1fr; gap: 16px; margin-bottom: 16px; }
  .g11 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
  .barra { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 14px; }
  .barra h2 { font-size: 15px; font-weight: 500; margin: 0; }
  .barra h2 b { font-weight: 700; }
  .campo { border: 1px solid var(--linha); background: var(--painel); border-radius: 12px; padding: 8px 12px; font-size: 13.5px; outline: none; }
  .campo:focus { border-color: var(--rosa); }
  .dica { font-size: 12px; color: var(--suave); }
  .btn { border: 0; border-radius: 12px; padding: 9px 16px; background: var(--ativo-bg); color: var(--ativo-tx); cursor: pointer; font-weight: 600; font-size: 13.5px; }
  .btn.rosa { background: var(--rosa); color: #fff; }
  .btn.btn-fila { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 7px 20px 7px 7px; border: 0; border-radius: 99px; color: #fff !important; font-weight: 800; font-size: 14px; line-height: 1; opacity: 1 !important; white-space: nowrap; vertical-align: middle;
    background: linear-gradient(135deg, var(--rosa), var(--marca-escuro, #c0134f)); box-shadow: 0 8px 22px rgba(var(--marca-rgb, 250, 43, 106), .38); transition: transform .15s, box-shadow .15s; }
  .btn.btn-fila:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(var(--marca-rgb, 250, 43, 106), .48); }
  .btn.btn-fila .play { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--rosa); flex: none; }
  .btn.btn-fila .play svg { width: 14px; height: 14px; display: block; }
  .btn.btn-fila b { font-weight: 800; opacity: .85; color: inherit !important; }
  .btn.btn-fila > span:last-child { color: #fff !important; font-size: 14px; font-weight: 800; line-height: 1; display: inline-flex; align-items: center; gap: 4px; }
  @keyframes filaPulso { 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .55); } 50% { box-shadow: 0 0 0 6px rgba(255, 255, 255, 0); } }
  @media (prefers-reduced-motion: reduce) { .btn.btn-fila .play { animation: none; } }
  #subtitulo:empty, #dica:empty { display: none; }
  .comparar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 18px; margin: 4px 0 14px; padding: 10px 12px; border-radius: 14px; background: var(--painel2); }
  .comparar > div { display: flex; flex-direction: column; } .comparar small { font-size: 11px; color: var(--suave); font-weight: 700; }
  .comparar b { font-size: 16px; } .comparar .vs { margin-left: auto; font-size: 11px; color: var(--suave); }
  .delta { font-size: 11.5px; font-weight: 800; color: var(--suave); } .delta.up { color: var(--verde-texto, #12a150); } .delta.down { color: var(--rosa-texto); }
  .oc-rx summary { cursor: pointer; list-style: none; } .oc-rx summary::-webkit-details-marker { display: none; }
  .oc-rx summary::after { content: ' ▾'; color: var(--suave); } .oc-rx[open] summary::after { content: ' ▴'; }
  .oc-rx-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 12px; }
  .oc-rx-g h4 { margin: 0 0 6px; font-size: 13px; color: var(--rosa-texto); }
  .oc-rx-l { padding: 4px 0; } .oc-rx-l small { color: var(--suave); font-weight: 700; font-size: 11.5px; } .oc-rx-l p { margin: 1px 0 0; font-size: 13.5px; white-space: pre-wrap; overflow-wrap: anywhere; }
  @media (max-width: 900px) { .oc-rx-g { grid-template-columns: 1fr; } }
  .ch-ico { position: relative; display: inline-grid; place-items: center; width: 40px; height: 36px; border-radius: 12px; cursor: pointer; padding: 0; flex: none;
    border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .08); color: #fff; }
  .ch-ico:hover { background: rgba(255, 255, 255, .16); }
  .ch-ico svg { width: 18px; height: 18px; }
  .ch-ico .n { position: absolute; top: -6px; right: -6px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 99px; background: #fff; color: #16121c;
    font: 800 11px/19px Manrope, system-ui, sans-serif; text-align: center; box-shadow: 0 0 0 2px #120d18; }
  .ch-ico .n[hidden] { display: none; }
  .pill.chegadas.tem-novo b { color: #fff; background: var(--rosa); border-radius: 99px; padding: 1px 7px; }
  .ch-ico.pulso { animation: chPulso 1.2s ease 2; }
  @keyframes chPulso { 50% { box-shadow: 0 0 0 6px rgba(255, 255, 255, .25); } }
  .btn-barra { cursor: pointer; font-weight: 600; white-space: nowrap; width: auto; }
  .btn-barra.on { background: var(--rosa); color: #fff; border-color: var(--rosa); }
  .pop .fil { display: flex; align-items: center; gap: 8px; padding: 8px 8px; border-radius: 10px; cursor: pointer; }
  .pop .fil:hover { background: var(--painel2); }
  .pop .fil b { font-weight: 600; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .pop .fil small { color: var(--suave); font-size: 11px; }
  .pop .fil .x { border: 0; background: none; color: var(--suave); cursor: pointer; font-size: 14px; padding: 2px 6px; border-radius: 6px; }
  .pop .fil .x:hover { background: var(--rosa-suave); color: var(--rosa-texto); }
  .pop .acoes-pop { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--linha); margin-top: 8px; padding-top: 10px; }
  .pop .acoes-pop .linha { display: flex; gap: 6px; }
  .pop .acoes-pop input[type=text] { flex: 1; }
  .pop .col-op { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 8px; cursor: pointer; font-size: 13.5px; }
  .pop .col-op:hover { background: var(--painel2); }
  .card.selecionavel { cursor: pointer; position: relative; }
  .card .ck-sel { position: absolute; top: 10px; right: 10px; width: 20px; height: 20px; border-radius: 6px; border: 2px solid var(--linha); background: var(--painel); display: grid; place-items: center; z-index: 2; }
  .card.marcado { outline: 2px solid var(--rosa); outline-offset: -2px; }
  .card.marcado .ck-sel { background: var(--rosa); border-color: var(--rosa); }
  .card.marcado .ck-sel::after { content: ''; width: 9px; height: 5px; border: 2.5px solid #fff; border-top: 0; border-right: 0; transform: rotate(-45deg) translate(1px, -1px); }
  .card.selecionavel .lapis { display: none; }
  .lista-cards td.ck, .lista-cards th.ck { width: 36px; text-align: center; cursor: default; }
  .lista-cards th.ck::after { content: none !important; }
  .lista-cards tr.marcado td { background: var(--rosa-suave); }
  .massa { position: fixed; z-index: 40; left: 50%; bottom: 18px; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: center;
    max-width: calc(100vw - 32px); padding: 10px 12px; border-radius: 18px; background: #16121c; color: #fff; box-shadow: 0 20px 50px rgba(10, 8, 20, .4); font-size: 13.5px; }
  html.ml-on .massa { left: calc(50% + var(--ml-w) / 2); } html.ml-on.ml-rec .massa { left: calc(50% + var(--ml-wr) / 2); }
  @media (max-width: 900px) { html.ml-on .massa, html.ml-on.ml-rec .massa { left: 50%; } }
  .massa b { padding: 0 6px; }
  body:has(#barraMassa:not([hidden])) #toasts { bottom: 110px !important; }
  .massa select, .massa input { background: #2a2433; color: #fff; border: 1px solid #3c3446; border-radius: 10px; padding: 7px 9px; font: inherit; }
  .massa button { border: 1px solid #3c3446; background: #2a2433; color: #fff; border-radius: 10px; padding: 7px 12px; font: 700 13px inherit; cursor: pointer; }
  .massa button:hover { background: #3a3245; }
  .massa button.rosa { background: var(--rosa); border-color: var(--rosa); }
  .massa .sep { width: 1px; height: 22px; background: #3c3446; }
  dialog.mini-massa { width: min(440px, 94vw); border: 1px solid var(--linha); border-radius: 20px; padding: 22px; background: var(--painel); color: var(--texto); }
  dialog.mini-massa h3 { margin: 0 0 12px; font-size: 17px; }
  dialog.mini-massa label { display: block; font-size: 12.5px; font-weight: 700; margin-bottom: 4px; }
  dialog.mini-massa .campo { width: 100%; box-sizing: border-box; }
  dialog.mini-massa .erro { color: var(--rosa-texto); font-weight: 700; font-size: 12.5px; min-height: 18px; margin-top: 8px; }
  dialog.mini-massa .au-bloco { margin-top: 12px; padding: 10px 12px; border: 1px solid var(--linha); border-radius: 14px; background: var(--painel2); display: flex; flex-direction: column; gap: 6px; }
  dialog.mini-massa .au-bloco > b { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--rosa-texto); }
  dialog.mini-massa .botoes { display: flex; gap: 8px; justify-content: flex-end; margin-top: 8px; }
  .anexo { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border: 1px solid var(--linha); border-radius: 12px; margin-bottom: 6px; background: var(--painel2); }
  .anexo .mini { width: 38px; height: 38px; border-radius: 9px; flex: none; overflow: hidden; display: grid; place-items: center; background: var(--painel); border: 1px solid var(--linha); }
  .anexo .mini img { width: 100%; height: 100%; object-fit: cover; }
  .anexo .mini.ic { font-size: 10px; font-weight: 800; color: var(--rosa-texto); }
  .anexo > div { flex: 1; min-width: 0; }
  .anexo a { font-weight: 700; font-size: 13px; color: var(--texto); text-decoration: none; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .anexo a:hover { text-decoration: underline; }
  .anexo small { font-size: 11px; color: var(--suave); }
  .anexo .x { border: 0; background: none; cursor: pointer; color: var(--suave); padding: 4px 8px; border-radius: 8px; }
  .anexo .x:hover { background: var(--rosa-suave); color: var(--rosa-texto); }
  .anexar { display: flex !important; align-items: center; gap: 10px; padding: 10px 12px; border: 1.5px dashed var(--linha); border-radius: 12px; cursor: pointer; margin: 0 !important; }
  .anexar:hover { border-color: var(--rosa); }
  .anexar span { font-weight: 700; color: var(--rosa-texto); font-size: 13px; }
  .anexar small { color: var(--suave); font-size: 11.5px; font-weight: 500; }
  .anexar.enviando { opacity: .6; pointer-events: none; }
  .anexar[hidden] { display: none !important; }
  .seq-edit { display: flex; flex-direction: column; gap: 6px; }
  .ag-cfg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 10px; margin-top: 8px; padding: 10px 12px; border: 1px solid var(--linha); border-radius: 14px; background: var(--painel2); }
  .ag-cfg[hidden] { display: none; } .ag-cfg label { font-size: 12px; margin: 0 0 3px; }
  @media (max-width: 600px) { .ag-cfg { grid-template-columns: 1fr 1fr; } }
  .im-grade { display: grid; grid-template-columns: 110px 1fr 110px 1fr; gap: 6px 8px; align-items: center; }
  .im-grade label { margin: 0 !important; font-size: 12.5px; }
  .im-prev { margin-top: 8px; font-size: 11.5px; color: var(--suave); background: var(--painel2); border-radius: 10px; padding: 6px 10px; }
  .im-prev div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  @media (max-width: 600px) { .im-grade { grid-template-columns: 90px 1fr; } }
  .dup { margin: 8px 0 2px; padding: 9px 12px; border-radius: 12px; font-size: 12.5px; background: color-mix(in srgb, #e19a00 12%, var(--painel)); border: 1px solid color-mix(in srgb, #e19a00 35%, var(--linha)); }
  .dup > b { display: block; margin-bottom: 4px; color: var(--amarelo-texto, #9a6700); }
  .dup-it { display: flex; align-items: center; gap: 8px; padding: 3px 0; } .dup-it > span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .seq-passo { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 6px 8px; border: 1px solid var(--linha); border-radius: 12px; background: var(--painel2); }
  .seq-passo .n { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--rosa); color: #fff; font-size: 11px; font-weight: 800; flex: none; }
  .seq-passo label { margin: 0; font-size: 12px; }
  .seq-passo .x { border: 0; background: none; cursor: pointer; color: var(--suave); padding: 4px 8px; border-radius: 8px; }
  .seq-lead { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 8px 0 2px; padding: 8px 12px; border-radius: 12px; font-size: 12.5px;
    background: color-mix(in srgb, var(--rosa) 7%, var(--painel)); border: 1px solid color-mix(in srgb, var(--rosa) 25%, var(--linha)); }
  .seq-lead b { font-size: 12.5px; } .seq-lead > span:not(.pts) { color: var(--suave); }
  .seq-lead .pts { display: inline-flex; gap: 3px; } .seq-lead .pts i { width: 14px; height: 6px; border-radius: 99px; background: var(--trilho, var(--linha)); }
  .seq-lead .pts i.ok { background: var(--rosa); } .seq-lead .pts i.agora { background: var(--rosa); opacity: .5; animation: filaPulso 2s infinite; }
  .seq-lead .btn { margin-left: auto; }
  .tempos { margin: 10px 0 4px; }
  .tp-barra { display: flex; gap: 3px; }
  .tp-seg { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
  .tp-seg i { height: 6px; border-radius: 99px; background: var(--trilho, var(--linha)); }
  .tp-seg.feito i { background: color-mix(in srgb, var(--pc, var(--rosa)) 45%, transparent); }
  .tp-seg.atual i { background: var(--pc, var(--rosa)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--pc, var(--rosa)) 25%, transparent); }
  .tp-seg.perd i { background: #e0284f; }
  .tp-seg b { font-size: 10.5px; font-weight: 700; color: var(--suave); line-height: 1.2; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 2.4em; }  /* 29/10: nome inteiro da etapa (até 2 linhas) */
  @media (max-width: 640px) { .tp-barra { overflow-x: auto; padding-bottom: 4px; } .tp-seg { min-width: 62px; } }
  .tp-seg.atual b { color: var(--texto); }
  .tp-seg span { font-size: 11px; font-weight: 800; color: var(--suave); }
  .tp-seg.atual span { color: var(--rosa-texto); }
  .tp-tot { display: block; margin-top: 4px; font-size: 11px; color: var(--suave); text-align: right; }
  tr.aud-alerta td { color: var(--rosa-texto); }
  .ag-barra { flex-wrap: wrap; gap: 8px; }
  .ag-barra h2 { margin: 0 6px; font-size: 18px; }
  .ag-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
  .ag-sem { font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--suave); padding: 2px 8px; }
  .ag-dia { background: var(--painel); border: 1px solid var(--linha); border-radius: 14px; padding: 8px; min-height: 110px; display: flex; flex-direction: column; gap: 4px; min-width: 0; transition: border-color .15s, background .15s; }
  .ag-grade.semana .ag-dia { min-height: 420px; }
  .ag-dia.fora { opacity: .45; } .ag-dia.passado { background: var(--painel2); }
  .ag-dia.hoje { border-color: var(--rosa); box-shadow: 0 0 0 2px color-mix(in srgb, var(--rosa) 18%, transparent); }
  .ag-dia.alvo { border-color: var(--rosa); background: var(--rosa-suave); }
  .ag-n { display: flex; align-items: baseline; gap: 6px; margin-bottom: 2px; }
  .ag-n b { font-size: 15px; } .ag-dia.hoje .ag-n b { color: var(--rosa-texto); }
  .ag-n span { font-size: 11px; color: var(--suave); text-transform: capitalize; }
  .ag-n small { margin-left: auto; font-size: 10.5px; font-weight: 800; color: var(--suave); background: var(--painel2); padding: 0 6px; border-radius: 99px; }
  .ag-it { display: flex; gap: 5px; align-items: baseline; font-size: 11.5px; line-height: 1.3; padding: 4px 7px; border-radius: 8px; cursor: pointer; min-width: 0;
    background: color-mix(in srgb, var(--rosa) 9%, var(--painel)); border-left: 3px solid var(--rosa); }
  .ag-it:hover { filter: brightness(.97); }
  .ag-it .h { font-weight: 800; flex: none; } .ag-it .h:empty { display: none; }
  .ag-it .t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ag-it.reu { background: color-mix(in srgb, #12a150 12%, var(--painel)); border-left-color: #12a150; }
  .ag-it.atras { background: color-mix(in srgb, #e0284f 12%, var(--painel)); border-left-color: #e0284f; color: var(--rosa-texto); }
  .ag-it.feita { opacity: .55; text-decoration: line-through; border-left-color: var(--linha); }
  .ag-it[draggable="true"] { cursor: grab; } .ag-it.arrastando { opacity: .4; }
  .ag-mais { border: 0; background: none; color: var(--rosa-texto); font-weight: 700; font-size: 11.5px; cursor: pointer; text-align: left; padding: 2px 6px; }
  .ag-leg { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 10px; font-size: 12px; color: var(--suave); }
  .ag-leg span::before { content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; background: var(--rosa); }
  .ag-leg .reu::before { background: #12a150; } .ag-leg .atras::before { background: #e0284f; } .ag-leg .feita::before { background: var(--linha); }
  .ag-leg .evt::before { background: #7c5cff; } .ag-leg .goo::before { background: #2f7bf6; }
  .ag-leg span:last-child::before { display: none; }
  @media (max-width: 900px) { .ag-grade.semana { grid-template-columns: 1fr; } .ag-grade.semana .ag-sem { display: none; } .ag-grade.semana .ag-dia { min-height: 0; }
    .ag-grade.mes .ag-it .t { display: none; } .ag-grade.mes .ag-dia { min-height: 70px; padding: 5px; } }
  tr.aud-card { cursor: pointer; } tr.aud-card:hover td { background: var(--painel2); }
  .aud-det { max-width: 520px; white-space: normal !important; }
  .aud-abas { display: inline-flex; }
  .acoes-linha { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
  #vEquipe .acoes-linha { flex-wrap: nowrap; } #vEquipe .acoes-linha .btn { padding: 6px 10px; font-size: 12.5px; white-space: nowrap; }
  .btn.claro { background: var(--painel2); color: var(--texto); border: 1px solid var(--linha); font-weight: 500; }
  .chip { display: inline-flex; align-items: center; gap: 5px; border-radius: 99px; background: var(--painel2); border: 1px solid var(--linha); font-size: 11px; padding: 1px 8px; color: var(--suave); }
  .vazio { color: var(--suave); font-size: 13px; padding: 24px; text-align: center; }

  /* ---------- dashboard */
  .grande { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 2px 0 18px; }
  .grande b { font-size: 46px; font-weight: 800; letter-spacing: -.035em; line-height: 1; }
  .grande b em { font-style: normal; background: linear-gradient(90deg, #a3123f, var(--rosa)); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .grande span { color: var(--suave); font-size: 13px; }
  .hbar { display: grid; grid-template-columns: 170px 1fr auto; align-items: center; gap: 12px; margin-bottom: 10px; font-size: 13px; }
  .hbar .nm { display: flex; align-items: center; gap: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .hbar .tr { height: 7px; background: var(--trilho); border-radius: 99px; overflow: hidden; }
  .hbar .tr i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--marca-claro, #ff6f98), var(--rosa)); }
  .hbar .tr.verde i { background: linear-gradient(90deg, #4bd08a, var(--verde)); }
  .hbar .vl { font-size: 11.5px; color: var(--suave); white-space: nowrap; min-width: 90px; text-align: right; }
  .alerta { margin-top: 14px; border-radius: 12px; padding: 10px 14px; font-size: 13px; background: var(--amarelo-suave); color: var(--amarelo-texto); }
  .alerta.ok { background: var(--verde-suave); color: var(--verde-texto); }
  .gauge { display: grid; place-items: center; text-align: center; }
  .gauge svg { width: 220px; max-width: 100%; }
  .gauge .val { font-size: 42px; font-weight: 800; letter-spacing: -.03em; margin-top: -62px; }
  .gauge .esc { display: flex; justify-content: space-between; width: 200px; font-size: 11px; color: var(--suave); margin-top: 10px; }
  .gauge p { font-size: 12px; color: var(--suave); margin: 8px 0 12px; }
  .etapas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
  .etapa { border: 1px solid var(--linha); background: var(--painel2); border-radius: 14px; padding: 12px 14px; min-width: 0; }
  .etapa small { font-size: 12px; color: var(--suave); display: block; }
  .etapa b { font-size: 28px; font-weight: 800; display: block; margin: 4px 0 2px; letter-spacing: -.02em; }
  .etapa span { font-size: 11.5px; color: var(--suave); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .etapa.clicavel { font: inherit; color: inherit; text-align: left; cursor: pointer; transition: transform .12s, box-shadow .12s; }
  .etapa.clicavel:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(0, 0, 0, .1); }
  #mReunioes, #mPend, #mChegadas { width: min(640px, 94vw); }
  #mHistorico { width: min(860px, 96vw); }
  #mHistorico .filtros { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 4px 0 10px; }
  #mHistorico .filtros .campo { width: 100%; padding: 7px 10px; font-size: 13px; }
  #mHistorico .lista { max-height: min(56vh, 520px); overflow-y: auto; }
  .hist-dia { font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--suave); margin: 12px 0 6px; position: sticky; top: 0; background: var(--painel); padding: 4px 0; }
  .hist-item { display: grid; grid-template-columns: 52px 1fr auto; gap: 10px; align-items: center; width: 100%; text-align: left; font: inherit; color: inherit;
    border: 0; border-bottom: 1px solid var(--linha); background: transparent; padding: 9px 4px; cursor: pointer; border-radius: 8px; }
  .hist-item:hover { background: var(--painel2); }
  .hist-item .hora { font-size: 12px; color: var(--suave); font-variant-numeric: tabular-nums; }
  .hist-item .o-que { min-width: 0; font-size: 13px; line-height: 1.45; }
  .hist-item .o-que small { color: var(--suave); }
  @media (max-width: 760px) { #mHistorico .filtros { grid-template-columns: 1fr 1fr; } }
  #mChegadas .lista { max-height: min(62vh, 560px); overflow-y: auto; margin-top: 6px; }
  .pill.chegadas { cursor: pointer; }
  .pill.chegadas.pulso { animation: pulso 1.6s ease-out 3; border-color: var(--rosa); }
  @keyframes pulso { 0% { box-shadow: 0 0 0 0 rgba(var(--marca-rgb, 250, 43, 106), .7); } 100% { box-shadow: 0 0 0 14px rgba(var(--marca-rgb, 250, 43, 106), 0); } }
  .chegada { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; width: 100%; text-align: left; font: inherit; color: inherit;
    background: var(--painel2); border: 1px solid var(--linha); border-left: 4px solid var(--pc); border-radius: 12px; padding: 9px 12px; cursor: pointer; }
  .chegada:hover { border-color: var(--pc); }
  .chegada .quando { min-width: 58px; text-align: center; font-size: 11px; color: var(--suave); }
  .chegada .quando b { display: block; font-size: 13px; color: var(--texto); }
  .chegada .nm { min-width: 0; }
  .chegada .nm b { display: block; font-size: 13.5px; overflow-wrap: anywhere; }
  .chegada .nm small { font-size: 11.5px; color: var(--suave); }
  .chegada.nova { background: color-mix(in srgb, var(--rosa) 7%, var(--painel2)); }
  .grade-chegadas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .tag.novo { --tg-bg: var(--rosa); --tg-tx: #fff; --tg-dot: #fff; }
  .card.recente { box-shadow: 0 0 0 2px color-mix(in srgb, var(--rosa) 70%, transparent), 0 8px 22px rgba(var(--marca-rgb, 250, 43, 106), .15); }
  @media (max-width: 800px) { .grade-chegadas { grid-template-columns: 1fr; } }
  #mPend .lista { max-height: min(60vh, 520px); overflow-y: auto; margin-top: 6px; }
  .alerta.clicavel { border: 0; width: 100%; text-align: left; font: inherit; cursor: pointer; }
  .alerta.clicavel:hover { filter: brightness(.97); }
  .pend-num { text-align: center; min-width: 54px; }
  .pend-num b { display: block; font-size: 20px; color: var(--amarelo-texto); }
  .pend-num small { font-size: 11px; color: var(--suave); }
  .aviso-card { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 11.5px; font-weight: 600; border-radius: 9px; padding: 4px 8px;
    background: var(--amarelo-suave); color: var(--amarelo-texto); }
  .aviso-card.forte { background: var(--rosa-suave); color: var(--rosa-texto); }
  .card.pendente { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--amarelo) 55%, transparent); }
  .card.pendente.forte { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rosa) 55%, transparent); }
  .filtro-pend { border: 1px solid var(--linha); background: var(--painel); border-radius: 12px; padding: 8px 12px; font-size: 13px; cursor: pointer; color: var(--texto); }
  .filtro-pend.on { background: var(--amarelo-suave); color: var(--amarelo-texto); border-color: color-mix(in srgb, var(--amarelo) 55%, transparent); font-weight: 600; }
  #mReunioes .lista { max-height: min(60vh, 520px); overflow-y: auto; margin-top: 6px; }
  .reuniao-item { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; width: 100%; text-align: left; font: inherit; color: inherit;
    background: var(--painel2); border: 1px solid var(--linha); border-left: 4px solid var(--pc); border-radius: 12px; padding: 10px 12px; margin-bottom: 6px; cursor: pointer; }
  .reuniao-item:hover { border-color: var(--pc); }
  .reuniao-item .dt { text-align: center; min-width: 54px; }
  .reuniao-item .dt b { display: block; font-size: 17px; }
  .reuniao-item .dt small { font-size: 11px; color: var(--suave); }
  .reuniao-item .nm { min-width: 0; }
  .reuniao-item .nm b { display: block; font-size: 14px; overflow-wrap: anywhere; }
  .reuniao-item .nm small { font-size: 12px; color: var(--suave); }
  .etapa.fim { background: var(--verde-suave); border-color: color-mix(in srgb, var(--verde) 35%, transparent); }
  .etapa.fim b, .etapa.fim small { color: var(--verde-texto); }
  .tri { display: flex; height: 12px; border-radius: 99px; overflow: hidden; gap: 3px; margin-bottom: 14px; background: var(--trilho); }
  .tri i { display: block; height: 100%; }
  .cx3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
  .cx3 > div { border: 1px solid var(--linha); border-radius: 14px; padding: 12px 14px; }
  .cx3 small { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--suave); }
  .cx3 small i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
  .cx3 b { font-size: 26px; font-weight: 800; display: block; margin-top: 6px; }
  .linhas > div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--linha); font-size: 13px; }
  .linhas > div:first-child { border-top: 0; }
  .linhas small { color: var(--suave); font-size: 11.5px; text-align: right; }
  .colunas { display: flex; align-items: flex-end; gap: 6px; height: 150px; }
  .colunas div { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; }
  .colunas i { display: block; border-radius: 6px 6px 2px 2px; min-height: 2px; }
  .bloco-grafico { display: flex; flex-direction: column; }
  .area-grafico { flex: 1; min-height: 190px; display: flex; flex-direction: column; justify-content: flex-end; }
  .area-grafico .colunas { height: auto; flex: 1; align-items: stretch; }
  .area-grafico .col-g { display: flex; flex-direction: column; justify-content: flex-end; }
  .area-grafico .col-g i { transition: height .35s ease; }
  .dia-zoom { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: end; padding: 0 12%; min-height: 190px; }
  .dia-zoom .barra-grande { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 8px; }
  .dia-zoom .barra-grande b { font-size: 30px; font-weight: 800; letter-spacing: -.02em; }
  .dia-zoom .barra-grande i { display: block; width: 100%; max-width: 140px; border-radius: 12px 12px 4px 4px; height: 0; transition: height .45s cubic-bezier(.2, .8, .2, 1); min-height: 4px; }
  .dia-zoom .barra-grande span { font-size: 12.5px; color: var(--suave); }
  .dia-rodape { text-align: center; font-size: 12.5px; color: var(--suave); margin-top: 10px; }
  .colunas .col-g { cursor: pointer; border-radius: 8px; padding: 0 2px; transition: background .12s; }
  .colunas .col-g:hover, .colunas .col-g.foco { background: var(--painel2); }
  .colunas .col-g:hover i, .colunas .col-g.foco i { filter: brightness(1.08) saturate(1.2); }
  .dica-grafico { position: fixed; z-index: 60; pointer-events: none; background: var(--painel); color: var(--texto); border: 1px solid var(--linha);
    border-radius: 12px; padding: 9px 12px; font-size: 12.5px; box-shadow: 0 12px 30px rgba(0, 0, 0, .18); min-width: 150px; }
  .dica-grafico b { display: block; margin-bottom: 4px; font-size: 13px; }
  .dica-grafico div { display: flex; align-items: center; gap: 7px; justify-content: space-between; }
  .dica-grafico i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; margin-right: 6px; }
  .colunas small { font-size: 10px; overflow: hidden; white-space: nowrap; color: var(--suave); text-align: center; margin-top: 4px; }
  .legenda { display: flex; gap: 14px; font-size: 12px; color: var(--suave); margin-top: 10px; }
  .legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }

  /* ---------- quadro */
  .kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
  .kpis.seis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  /* 28/10: devolutiva de venda (sugestão da Lucia): o lead vendido sai das colunas e fica em Vendas */
  .kpi.venda { background: linear-gradient(135deg, #fff7d6, var(--verde-suave)); border-color: color-mix(in srgb, #e1a500 40%, transparent); }
  .kpi.venda b, .kpi.venda small { color: #7a5400; }
  :root[data-theme="dark"] .kpi.venda { background: linear-gradient(135deg, #2b2207, #0e2a1b); } :root[data-theme="dark"] .kpi.venda b, :root[data-theme="dark"] .kpi.venda small { color: #f5c95a; }
  .coluna.vendas { border-top: 3px solid #e1a500 !important; background: linear-gradient(180deg, color-mix(in srgb, #ffd54a 14%, var(--coluna)), var(--coluna) 220px); }
  .coluna.vendas > .cab { background: transparent; }
  .tag.venda { --tg-bg: #fff1c2; --tg-tx: #7a5400; --tg-dot: #e1a500; font-weight: 800; }
  :root[data-theme="dark"] .tag.venda { --tg-bg: #3a2c05; --tg-tx: #f5c95a; }
  .tag.negociacao { --tg-bg: var(--rosa-suave); --tg-tx: var(--rosa-texto); --tg-dot: var(--rosa); }
  .card.vendido { border-color: color-mix(in srgb, #e1a500 55%, var(--linha)); box-shadow: 0 0 0 1px color-mix(in srgb, #e1a500 30%, transparent), var(--sombra, none); cursor: pointer; }
  .kpi { background: var(--painel); border: 1px solid var(--linha); border-radius: 16px; padding: 14px 16px; box-shadow: var(--sombra); }
  .kpi small { font-size: 12px; color: var(--suave); display: block; }
  .kpi b { font-size: 28px; font-weight: 800; letter-spacing: -.02em; display: block; margin: 4px 0 0; }
  .kpi span { font-size: 11.5px; color: var(--suave); }
  .kpi.destaque { background: var(--verde-suave); border-color: color-mix(in srgb, var(--verde) 35%, transparent); }
  .kpi.destaque b, .kpi.destaque small { color: var(--verde-texto); }
  .quadro { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(225px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 8px; align-items: start; }
  .coluna { background: var(--coluna); border-radius: 20px; padding: 10px; min-height: 220px; border: 1px solid var(--linha);
    max-height: calc(100vh - 210px); overflow-y: auto; overscroll-behavior: contain; }  /* cada coluna rola por dentro */
  .coluna > .cab { position: sticky; top: -10px; z-index: 2; background: var(--coluna); margin: -10px -10px 0; padding: 16px 16px 12px; border-radius: 20px 20px 0 0; }
  .coluna.alvo { outline: 2px dashed var(--rosa); }
  .cab { display: flex; align-items: flex-start; gap: 8px; padding: 6px 6px 12px; }
  .num { width: 22px; height: 22px; border-radius: 7px; color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; background: var(--cor); flex: none; }
  .cab b { font-size: 13.5px; display: block; }
  .cab small { font-size: 11.5px; color: var(--suave); }
  .qtd { margin-left: auto; background: var(--painel); border: 1px solid var(--linha); border-radius: 999px; font-size: 11.5px; padding: 1px 9px; color: var(--suave); }
  .card { background: var(--painel); border: 1px solid var(--linha); border-radius: 16px; padding: 13px 13px 11px; margin-bottom: 8px; cursor: pointer; transition: transform .12s, box-shadow .12s; }
  .card:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(0, 0, 0, .08); }
  .card[draggable=true] { cursor: grab; }
  .card .t { display: flex; justify-content: space-between; align-items: flex-start; gap: 6px; min-width: 0; }
  .card .t b { font-size: 14px; font-weight: 600; line-height: 1.3; min-width: 0; overflow-wrap: anywhere; }
  .card .tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
  .card .sub, .card .pe .mono { overflow-wrap: anywhere; }
  .card .pe { gap: 8px; }
  .tag { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; background: var(--tg-bg, var(--rosa-suave)); color: var(--tg-tx, var(--rosa-texto));
    border-radius: 999px; font-size: 11px; padding: 2px 9px; font-weight: 600; line-height: 1.5;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--tg-dot, currentColor); flex: none; }
  .tag.q-whats { --tg-bg: #dcf7e6; --tg-tx: #0b7a3b; --tg-dot: #16a34a; }
  .tag.q-email { --tg-bg: #e0ecff; --tg-tx: #1d4ed8; --tg-dot: #2f7bf6; }
  .tag.q-soemail { --tg-bg: #efe5ff; --tg-tx: #6d28d9; --tg-dot: #8b5cf6; }
  .tag.q-retorno { --tg-bg: #fff2cc; --tg-tx: #8a5a00; --tg-dot: #e1a100; }
  .tag.q-reuniao, .tag.reuniao { --tg-bg: var(--verde-suave); --tg-tx: var(--verde-texto); --tg-dot: var(--verde); }
  .tag.q-outro { --tg-bg: var(--painel2); --tg-tx: var(--suave); --tg-dot: var(--cinza); }
  :root[data-theme="dark"] .tag.q-whats { --tg-bg: #0e2a1b; --tg-tx: #5fdb94; }
  :root[data-theme="dark"] .tag.q-email { --tg-bg: #13213d; --tg-tx: #8db4ff; }
  :root[data-theme="dark"] .tag.q-soemail { --tg-bg: #251a3d; --tg-tx: #c4a8ff; }
  :root[data-theme="dark"] .tag.q-retorno { --tg-bg: #2f250c; --tg-tx: #f3c35a; }
  .prog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 11px 0 9px; }
  .prog i { height: 5px; border-radius: 9px; background: var(--trilho); }
  .prog i.ok { background: var(--verde); }
  .prog i.pend { background: color-mix(in srgb, var(--rosa) 35%, transparent); }
  .prog i.perd { background: var(--cinza); }
  .card .sub { font-size: 12.5px; color: var(--suave); }
  .card .pe { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
  .av { width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, var(--marca-claro, #ff7aa2), var(--rosa) 55%, var(--marca-escuro, #8a0f37)); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; flex: none; }
  .solte { border: 1.5px dashed var(--linha); border-radius: 14px; padding: 14px; text-align: center; font-size: 12px; color: var(--suave); }

  /* ---------- equipe */
  table { width: 100%; border-collapse: collapse; font-size: 13px; }
  th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--suave); font-weight: 600; padding: 6px 8px; }
  td { padding: 10px 8px; border-top: 1px solid var(--linha); }
  .tabela { overflow-x: auto; }
  /* relatório do dia (28/10) */
  .rel-barra { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
  .rel-barra input, .rel-barra select { padding: 7px 10px; }
  .rel-tab { width: 100%; border-collapse: collapse; font-size: 13px; }
  .rel-tab th { text-align: right; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--suave); padding: 8px 8px; border-bottom: 1px solid var(--linha); white-space: nowrap; }
  .rel-tab th:first-child, .rel-tab td:first-child { text-align: left; min-width: 170px; }
  .rel-tab td { text-align: right; padding: 9px 8px; border-bottom: 1px solid var(--linha); font-variant-numeric: tabular-nums; }
  .rel-tab tr.camp { cursor: pointer; } .rel-tab tr.camp:hover td { background: var(--painel2); }
  .rel-tab tr.camp td:first-child b::before { content: "▸ "; color: var(--suave); } .rel-tab tr.camp.aberto td:first-child b::before { content: "▾ "; }
  .rel-tab tr.ag td { font-size: 12.5px; color: var(--suave); background: var(--painel2); } .rel-tab tr.ag td:first-child { padding-left: 26px; }
  .rel-tab tr.tot td { font-weight: 800; border-top: 2px solid var(--texto); }
  .rel-tab .z { color: var(--cinza); }
  .rel-sem { font-size: 12.5px; color: var(--suave); margin-top: 10px; }
  .status { display: inline-flex; align-items: center; gap: 7px; }
  .status i { width: 8px; height: 8px; border-radius: 50%; background: var(--cinza); }
  .status.on i { background: #2bd47a; box-shadow: 0 0 0 3px rgba(43, 212, 122, .2); }

  /* ---------- login e janelas */
  #login { min-height: 100vh; display: grid; place-items: center; padding: 16px; position: relative; isolation: isolate; }
  /* 28/10: fundo da entrada no esquema da marca (preto + rosa #fa2b6a), igual no tema claro e no escuro */
  body:has(> #login:not([hidden])) { background-color: #000;
    background-image: radial-gradient(900px 520px at 88% -8%, rgba(250, 43, 106, .42), transparent 62%),
                      radial-gradient(700px 480px at -6% 108%, rgba(250, 43, 106, .26), transparent 60%),
                      radial-gradient(520px 360px at 50% 50%, rgba(250, 43, 106, .07), transparent 70%),
                      linear-gradient(160deg, #000 0%, #0a0508 45%, #1a0610 100%);
    background-attachment: fixed; background-repeat: no-repeat; }
  #login::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .55;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 44px 44px; -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, #000 30%, transparent 80%); mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, #000 30%, transparent 80%); }
  #login .hero { width: min(420px, 100%); padding: 32px; box-shadow: 0 30px 80px rgba(0, 0, 0, .55), 0 0 0 1px rgba(250, 43, 106, .18); }
  #login h1 { font-size: 28px; }
  #login .marca-crm { margin-bottom: 14px; } #login .marca-crm .logo-img { height: 34px; } #login .crm-tag { font-size: 28px; }
  #login input { width: 100%; margin-top: 10px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); color: #fff; border-radius: 12px; padding: 11px 14px; outline: none; }
  #login input:focus { border-color: var(--rosa); }
  .olho-wrap { position: relative; display: block; }
  .olho-wrap input { padding-right: 46px !important; }
  #login .olho-wrap { margin-top: 10px; } #login .olho-wrap input { margin-top: 0; }
  .olho { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border: 0; border-radius: 9px;
    background: transparent; color: var(--suave); cursor: pointer; display: grid; place-items: center; padding: 0; }
  #login .olho { color: rgba(255, 255, 255, .7); }
  .olho:hover { background: rgba(127, 127, 127, .14); color: var(--texto); } #login .olho:hover { color: #fff; }
  .olho svg { width: 19px; height: 19px; }
  #login .pill { width: 100%; justify-content: center; margin-top: 14px; padding: 12px; font-size: 14.5px; }
  #login .cap { margin-top: 12px; min-height: 78px; display: flex; justify-content: center; overflow: hidden; }
  #login .lk-esq { display: block; margin: 12px auto 0; background: none; border: 0; color: rgba(255,255,255,.75); font: inherit; font-size: 13.5px; font-weight: 700; text-decoration: underline; cursor: pointer; }
  #login .lk-esq:hover { color: #fff; }
  #login .ok-esq { margin-top: 10px; padding: 10px 12px; border-radius: 12px; background: rgba(18,161,80,.18); color: #b7f5cf; font-size: 13.5px; line-height: 1.45; }
  #login .dica-esq { margin-top: 14px; font-size: 12px; color: rgba(255,255,255,.55); }
  @media (max-width: 360px) { #login .cap > div { transform: scale(.9); transform-origin: center top; } }
  .erro { color: var(--marca-claro, #ff6f98); font-size: 13px; min-height: 18px; margin-top: 8px; }
  #login .caps { margin-top: 8px; font-size: 12.5px; font-weight: 700; color: #ffd38a; }
  dialog { border: 1px solid var(--linha); border-radius: 22px; padding: 0; width: min(580px, 94vw); background: var(--painel); color: var(--texto); box-shadow: 0 24px 70px rgba(0, 0, 0, .35); }
  dialog::backdrop { background: rgba(0, 0, 0, .45); }
  dialog .in { padding: 24px; }
  dialog h3 { margin: 0; font-size: 18px; }
  dialog .sub { color: var(--suave); font-size: 13px; margin: 4px 0 16px; }
  dialog .g { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
  dialog label { font-size: 11.5px; color: var(--suave); display: block; margin-bottom: 4px; }
  dialog .g input, dialog .g select, dialog textarea { width: 100%; }
  dialog .acoes { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 24px; border-top: 1px solid var(--linha);
    position: sticky; bottom: 0; z-index: 3; background: var(--painel); }  /* 29/10: Salvar e Fechar ficam à vista mesmo com o card comprido */
  .marcar[hidden] { display: none !important; }
  .marcar input { flex: none; width: auto; }
  .marcar { display: flex !important; align-items: center; gap: 8px; font-size: 13px !important; color: var(--texto) !important; margin-top: 10px; cursor: pointer; }
  .marcar input { accent-color: var(--rosa); }
  .chips { display: flex; flex-wrap: wrap; gap: 6px; max-height: 140px; overflow-y: auto; }
  .chips label { display: inline-flex; gap: 6px; align-items: center; background: var(--painel2); border: 1px solid var(--linha); border-radius: 99px; padding: 5px 10px; font-size: 12.5px; color: var(--texto); margin: 0; cursor: pointer; }
  .chips input { accent-color: var(--rosa); }
  .aviso { background: var(--painel2); border: 1px solid var(--linha); border-radius: 12px; padding: 10px 12px; font-size: 12.5px; color: var(--suave); margin-top: 12px; }
  .hist { font-size: 12.5px; color: var(--suave); max-height: 130px; overflow-y: auto; margin-top: 12px; line-height: 1.6; }
  #toasts { position: fixed; inset: auto auto 22px 50%; transform: translateX(-50%); margin: 0; padding: 0; border: 0; background: transparent; overflow: visible; z-index: 950;
    display: flex; flex-direction: column; align-items: center; gap: 8px; width: max-content; max-width: min(560px, calc(100vw - 24px)); pointer-events: none; }
  .toast { background: #000; color: #fff; border: 1px solid #333; padding: 12px 18px; border-radius: 14px; font-size: 13.5px; line-height: 1.45; box-shadow: 0 12px 30px rgba(0,0,0,.3);
    pointer-events: auto; cursor: pointer; animation: toastEntra .2s ease-out; }
  @keyframes toastEntra { from { opacity: 0; transform: translateY(8px); } }
  .toast b { color: var(--rosa); }
  .toast .tz-acao { margin-left: 12px; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff; border-radius: 9px; padding: 4px 10px; font: 700 12.5px Manrope, sans-serif; cursor: pointer; }
  .toast .tz-acao:hover { background: rgba(255,255,255,.18); }
  /* 29/10: abas do card do lead */
  .m-abas { display: flex; gap: 4px; margin: 14px 0 12px; border-bottom: 1px solid var(--linha); position: sticky; top: 0; z-index: 2; background: var(--painel); padding-top: 6px; }
  .m-abas button { border: 0; background: none; color: var(--suave); font: 700 13px Manrope, sans-serif; padding: 9px 12px; border-bottom: 2.5px solid transparent; margin-bottom: -1px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
  .m-abas button[aria-selected="true"] { color: var(--texto); border-bottom-color: var(--rosa); }
  .m-abas button:hover { color: var(--texto); }
  .m-ab-n { font-style: normal; min-width: 18px; height: 18px; border-radius: 99px; background: var(--rosa); color: #fff; font-size: 10.5px; display: inline-grid; place-items: center; padding: 0 5px; }
  .m-ab-n.neutro { background: var(--painel2); color: var(--suave); border: 1px solid var(--linha); }
  .m-aba > :first-child { margin-top: 0; }
  @media (max-width: 640px) { #btnBuscaG kbd { display: none; } .m-abas { overflow-x: auto; } .m-abas button { padding: 9px 9px; font-size: 12.5px; } }
  /* 29/10: ligar e WhatsApp direto no card do quadro */
  .card .pe .mono { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; overflow-wrap: normal; font-size: 12px; }
  .card .rapido { display: inline-flex; gap: 4px; margin-left: auto; margin-right: 4px; flex: none; }
  .card .rapido a { width: 24px; height: 24px; border-radius: 8px; display: grid; place-items: center; border: 1px solid var(--linha); background: var(--painel); color: var(--suave); text-decoration: none; }
  .card .rapido a:hover { color: var(--texto); border-color: var(--texto); }
  .card .rapido a.wa:hover { color: #128c4a; border-color: #128c4a; }
  .card .rapido svg { width: 14px; height: 14px; }
  /* 29/10: semana x semana anterior e resumo por e-mail */
  .cp-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
  .cp-kpis > div { border: 1px solid var(--linha); border-radius: 14px; padding: 10px 12px; background: var(--painel2); }
  .cp-kpis small { color: var(--suave); font-size: 12px; display: block; } .cp-kpis b { font: 800 22px Sora, sans-serif; display: block; margin: 2px 0; } .cp-kpis > div > span { font-size: 11.5px; color: var(--suave); }
  .cp-mais { color: var(--verde-texto, #12a150); font-weight: 700; } .cp-menos { color: var(--rosa-texto); font-weight: 700; }
  .cp-seg { display: inline-flex; border: 1px solid var(--linha); border-radius: 12px; overflow: hidden; margin-bottom: 8px; }
  .cp-seg button { border: 0; background: var(--painel); color: var(--suave); font: 700 12.5px Manrope, sans-serif; padding: 7px 12px; cursor: pointer; }
  .cp-seg button.on { background: var(--ativo-bg); color: var(--ativo-tx); }
  .cp-tab td small { font-size: 11px; }
  .lig3c .lig { border: 1px solid var(--linha); border-radius: 12px; padding: 8px 10px; margin-top: 6px; display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; align-items: center; font-size: 13px; }
  .lig3c .lig-l { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
  .lig3c .lig-l span { color: var(--suave); }
  .lig3c .lig-b { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
  .lig3c .lig-b .btn { padding: 5px 10px; font-size: 12.5px; }
  .lig3c .lig-x { grid-column: 1 / -1; }
  .lig3c .lig-res { white-space: pre-wrap; background: var(--fundo, #f6f6f8); border-radius: 10px; padding: 10px 12px; margin-bottom: 6px; line-height: 1.45; }
  .lig3c .lig-tr { white-space: pre-wrap; font-size: 12.5px; color: var(--suave); max-height: 260px; overflow: auto; margin-top: 6px; }
  .rc-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 6px 12px; }
  .rc-it { display: flex; align-items: center; gap: 8px; font-size: 13px; padding: 6px 8px; border: 1px solid var(--linha); border-radius: 10px; margin: 0; }
  .rc-it span { flex: 1; min-width: 0; display: flex; flex-direction: column; }
  .rc-it small { color: var(--suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rc-it .btn { padding: 4px 8px; font-size: 12px; }
  .nl-btn { background: none; border: 0; padding: 2px 0; margin: 2px 0 0; font: inherit; font-size: 12.5px; color: var(--suave); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
  .nl-btn:hover { color: var(--rosa-texto, #c92a2a); }
  .cnpj-box { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; text-align: left; }
  .cnpj-box div { display: flex; flex-direction: column; min-width: 0; }
  .cnpj-box small { color: var(--suave); font-size: 11.5px; }
  .cnpj-box b { font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
  @media (max-width: 560px) { .cnpj-box { grid-template-columns: 1fr; } }
  .tag.nl { background: var(--rosa-suave, #ffe3e3); color: var(--rosa-texto, #c92a2a); font-weight: 700; }
  .rapido.nl { color: var(--rosa-texto, #c92a2a); font-size: 13px; cursor: not-allowed; padding: 0 4px; }
  .atalho.nl b { text-decoration: line-through; opacity: .7; }
  .av-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px 14px; }
  .av-it { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; padding: 6px 0; }
  .av-it .av-ic { flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 700; color: #fff; background: var(--verde, #2b8a3e); }
  .av-it.ruim .av-ic { background: var(--rosa, #c92a2a); }
  .av-it.ruim > div > div { color: var(--rosa-texto, #c92a2a); margin-top: 2px; }
  .re-linha { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin-top: 8px; font-size: 13.5px; }
  @media (max-width: 1100px) { .cp-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (max-width: 640px) {
    .cp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    /* tabelas que viram cartões no celular */
    .tabela table.cartoes, .tabela table.cartoes tbody, .tabela table.cartoes tr, .tabela table.cartoes td { display: block; width: auto; }
    .tabela table.cartoes tr.cab-tab { display: none; }
    .tabela table.cartoes tr { border: 1px solid var(--linha); border-radius: 14px; padding: 8px 12px; margin-bottom: 8px; background: var(--painel); }
    .tabela table.cartoes td { border: 0 !important; padding: 4px 0 !important; display: flex; justify-content: space-between; gap: 12px; text-align: right; }
    .tabela table.cartoes td::before { content: attr(data-rot); color: var(--suave); font-size: 12px; font-weight: 600; text-align: left; flex: none; }
    .tabela table.cartoes td:first-child { font-size: 14.5px; text-align: left; }
    .tabela table.cartoes td:first-child::before { content: none; }
    .tabela table.cartoes td:not([data-rot])::before { content: none; }
    .tabela table.cartoes td[colspan] { justify-content: flex-start; }
    .tabela table.cartoes .tc-v { min-width: 0; overflow-wrap: anywhere; }
    .tabela table.cartoes td { overflow-wrap: anywhere; word-break: break-word; }
    .tabela table.cartoes .acoes-linha { justify-content: flex-end; flex-wrap: wrap; }
  }
  /* 29/10: busca geral (Ctrl+K) */
  #mBuscaG { width: min(620px, 94vw); }
  #mBuscaG .in { padding: 18px; }
  #bgCampo { width: 100%; font-size: 15px; padding: 12px 14px; }
  #bgLista { margin-top: 10px; display: grid; gap: 4px; max-height: 56vh; overflow: auto; }
  #bgLista button { display: flex; justify-content: space-between; gap: 10px; align-items: center; text-align: left; border: 1px solid var(--linha); background: var(--painel); color: var(--texto); border-radius: 12px; padding: 10px 12px; font: inherit; cursor: pointer; }
  #bgLista button.on, #bgLista button:hover { border-color: var(--rosa); background: color-mix(in srgb, var(--rosa) 6%, var(--painel)); }
  #bgLista b { display: block; } #bgLista small { color: var(--suave); }
  .pill kbd, #mBuscaG kbd { font: 700 10.5px 'JetBrains Mono', monospace; border: 1px solid rgba(255,255,255,.3); border-radius: 5px; padding: 1px 5px; opacity: .8; }
  #mBuscaG kbd { border-color: var(--linha); }

  /* ---------- qualificações (lista) e visão em lista */
  .menu .badge { display: inline-grid; place-items: center; min-width: 18px; height: 18px; border-radius: 99px; background: var(--amarelo); color: #fff; font-size: 10.5px; font-weight: 700; padding: 0 5px; margin-left: 6px; vertical-align: 1px; }
  .menu .badge.critico { background: var(--rosa); }
  .alertas-q { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
  .alerta-q { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; width: 100%; text-align: left; font: inherit; cursor: pointer;
    border-radius: 14px; padding: 11px 14px; font-size: 13px; background: var(--amarelo-suave); color: var(--amarelo-texto); border: 1px solid color-mix(in srgb, var(--amarelo) 40%, transparent); }
  .alerta-q.critico { background: var(--rosa-suave); color: var(--rosa-texto); border-color: color-mix(in srgb, var(--rosa) 40%, transparent); }
  .alerta-q .nv { font-size: 10.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; border-radius: 99px; padding: 3px 8px; background: color-mix(in srgb, currentColor 14%, transparent); }
  .alerta-q:hover { filter: brightness(.97); }
  .tabq td, .tabq th { white-space: nowrap; }
  .tabq td.nr, .tabq th.nr { text-align: right; font-variant-numeric: tabular-nums; }
  .tabq tbody tr { cursor: pointer; }
  .tabq tbody tr:hover td { background: var(--painel2); }
  .tabq tbody tr.sel td { background: color-mix(in srgb, var(--rosa) 7%, var(--painel)); }
  .taxa { display: inline-flex; align-items: center; gap: 8px; min-width: 130px; width: 100%; }
  .taxa .tr { flex: 1; height: 6px; background: var(--trilho); border-radius: 99px; overflow: hidden; min-width: 60px; }
  .taxa .tr i { display: block; height: 100%; background: var(--cinza); border-radius: 99px; }
  .taxa.atencao .tr i { background: var(--amarelo); }
  .taxa.critico .tr i { background: var(--rosa); }
  .taxa b { font-size: 12.5px; min-width: 38px; text-align: right; font-variant-numeric: tabular-nums; }
  .nivel { font-size: 11px; font-weight: 700; border-radius: 99px; padding: 2px 9px; white-space: nowrap; }
  .nivel.critico { background: var(--rosa-suave); color: var(--rosa-texto); }
  .nivel.atencao { background: var(--amarelo-suave); color: var(--amarelo-texto); }
  .nivel.ok { background: var(--verde-suave); color: var(--verde-texto); }
  .nivel.pouco { background: var(--painel2); color: var(--suave); }
  .empilhada { display: flex; height: 16px; border-radius: 99px; overflow: hidden; gap: 2px; background: var(--trilho); margin: 4px 0 6px; }
  .empilhada i { display: block; height: 100%; min-width: 2px; }
  .leg-g { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12px; color: var(--suave); margin: 8px 0 16px; }
  .leg-g button { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; padding: 0; font: inherit; color: inherit; cursor: pointer; }
  .leg-g button:hover { color: var(--texto); }
  .leg-g i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; }
  .leg-g b { color: var(--texto); font-weight: 600; }
  .hbar.clic { cursor: pointer; border-radius: 8px; }
  .hbar.clic:hover .nm { color: var(--rosa-texto); }
  .graf-icp { display: flex; align-items: flex-end; gap: 4px; height: 170px; position: relative; padding-top: 8px; }
  .graf-icp .c { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; cursor: default; }
  .graf-icp .c i { display: block; border-radius: 5px 5px 2px 2px; background: var(--cinza); min-height: 2px; }
  .graf-icp .c.atencao i { background: var(--amarelo); }
  .graf-icp .c.critico i { background: var(--rosa); }
  .graf-icp .c small { font-size: 9.5px; color: var(--suave); text-align: center; margin-top: 4px; overflow: hidden; white-space: nowrap; }
  .graf-icp .limite { position: absolute; left: 0; right: 0; border-top: 1.5px dashed color-mix(in srgb, var(--rosa) 60%, transparent); pointer-events: none; }
  .graf-icp .limite span { position: absolute; left: 0; top: -17px; font-size: 10.5px; color: var(--rosa-texto); background: var(--painel); padding: 0 4px; }
  .filtros-q { display: grid; grid-template-columns: 1.2fr 1.4fr 1.4fr auto; gap: 8px; margin-bottom: 10px; }
  .filtros-q .campo { width: 100%; padding: 7px 10px; font-size: 13px; }
  .lig-tab { max-height: 560px; overflow: auto; }
  .lig-tab th { position: sticky; top: 0; background: var(--painel); z-index: 1; }
  .lig-tab td { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
  .lig-tab tbody tr { cursor: default; }
  .btn.mini { padding: 5px 10px; font-size: 12px; border-radius: 9px; }
  .alterna { display: inline-flex; border: 1px solid var(--linha); border-radius: 12px; overflow: hidden; background: var(--painel); }
  .alterna button { border: 0; background: transparent; padding: 8px 12px; font-size: 13px; cursor: pointer; color: var(--suave); }
  .alterna button.on { background: var(--ativo-bg); color: var(--ativo-tx); font-weight: 600; }
  .lista-cards { background: var(--painel); border: 1px solid var(--linha); border-radius: var(--r); box-shadow: var(--sombra); overflow: auto; max-height: 72vh; }
  .lista-cards th { position: sticky; top: 0; background: var(--painel); cursor: pointer; user-select: none; z-index: 1; padding: 10px 10px; }
  .lista-cards th.ord::after { content: " ↓"; } .lista-cards th.ord.cresc::after { content: " ↑"; }
  .lista-cards td { white-space: nowrap; max-width: 240px; overflow: hidden; text-overflow: ellipsis; padding: 9px 10px; }
  .lista-cards tbody tr { cursor: pointer; }
  .lista-cards tbody tr:hover td { background: var(--painel2); }
  .lista-cards tr.pendente td:first-child { box-shadow: inset 3px 0 0 var(--amarelo); }
  .lista-cards .tag { font-size: 10.5px; }
  details.mais-dados { margin-top: 12px; border: 1px solid var(--linha); border-radius: 14px; padding: 10px 14px; background: var(--painel2); }
  details.mais-dados summary { cursor: pointer; font-size: 12.5px; font-weight: 600; color: var(--suave); }
  details.mais-dados[open] summary { margin-bottom: 10px; }
  .bloco-pos { margin-top: 12px; border: 1px solid color-mix(in srgb, #2f7bf6 35%, transparent); background: color-mix(in srgb, #2f7bf6 7%, var(--painel)); border-radius: 14px; padding: 12px 14px; }
  .bloco-pos h4 { margin: 0 0 10px; font-size: 13px; color: #2f6fe0; }
  :root[data-theme="dark"] .bloco-pos h4 { color: #8db4ff; }
  .pos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
  .pos > div { border: 1px solid var(--linha); background: var(--painel2); border-radius: 14px; padding: 12px 14px; min-width: 0; }
  .pos small { font-size: 12px; color: var(--suave); display: block; }
  .pos b { font-size: 26px; font-weight: 800; display: block; margin: 4px 0 2px; letter-spacing: -.02em; }
  .pos span { font-size: 11.5px; color: var(--suave); }
  .pos .verde { background: var(--verde-suave); border-color: color-mix(in srgb, var(--verde) 35%, transparent); }
  .pos .verde b, .pos .verde small { color: var(--verde-texto); }
  .pos .amarelo b { color: var(--amarelo-texto); }
  @media (max-width: 1100px) { .pos { grid-template-columns: repeat(3, minmax(0, 1fr)); } .filtros-q { grid-template-columns: 1fr 1fr; } }

  /* ---------- cadência anti no-show */
  .pill.lembretes { cursor: pointer; }
  .pill.lembretes.atrasado { background: var(--rosa); border-color: var(--rosa); font-weight: 600; }
  .aviso-cad { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 11.5px; font-weight: 600; border-radius: 9px; padding: 4px 8px;
    background: #e0ecff; color: #1d4ed8; }
  :root[data-theme="dark"] .aviso-cad { background: #13213d; color: #8db4ff; }
  .aviso-cad.forte { background: var(--rosa-suave); color: var(--rosa-texto); }
  .aviso-cad.ok { background: var(--verde-suave); color: var(--verde-texto); }
  .card.cad-atrasado { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rosa) 55%, transparent); }
  .bloco-cad { margin-top: 12px; border: 1px solid var(--linha); background: var(--painel2); border-radius: 14px; padding: 12px 14px; }
  .bloco-cad h4 { margin: 0 0 4px; font-size: 13px; display: flex; align-items: center; gap: 8px; }
  .bloco-cad .sit { font-size: 11px; font-weight: 700; border-radius: 99px; padding: 2px 9px; }
  .sit.confirmada { background: var(--verde-suave); color: var(--verde-texto); } .sit.risco { background: var(--rosa-suave); color: var(--rosa-texto); }
  .sit.em_dia { background: #e0ecff; color: #1d4ed8; } .sit.passou { background: var(--painel); color: var(--suave); border: 1px solid var(--linha); }
  :root[data-theme="dark"] .sit.em_dia { background: #13213d; color: #8db4ff; }
  .passo { display: grid; grid-template-columns: 22px 1fr; gap: 10px; padding: 10px 0; border-top: 1px solid var(--linha); }
  .passo:first-of-type { border-top: 0; }
  .passo .bola { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 700; color: #fff; background: var(--cinza); }
  .passo.feito .bola { background: var(--verde); } .passo.agora .bola { background: #2f7bf6; } .passo.atrasado .bola { background: var(--rosa); }
  .passo.ignorado { opacity: .5; }
  .passo b { font-size: 13px; } .passo .quando { font-size: 11.5px; color: var(--suave); margin-left: 6px; }
  .passo.atrasado .quando { color: var(--rosa-texto); font-weight: 600; } .passo.agora .quando { color: #2f6fe0; font-weight: 600; }
  .passo p { margin: 3px 0 0; font-size: 12px; color: var(--suave); line-height: 1.45; }
  .passo .opcoes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
  .passo .feito-txt { font-size: 12px; margin-top: 4px; color: var(--verde-texto); }
  .passo .feito-txt.ruim { color: var(--rosa-texto); }
  .passo .feito-txt button { border: 0; background: none; color: var(--suave); text-decoration: underline; cursor: pointer; font-size: 11.5px; }
  #mCadencia { width: min(680px, 94vw); }
  #cColCad { display: flex; gap: 14px; flex-wrap: wrap; margin: 6px 0 4px; } #cColCad label { display: flex; gap: 6px; align-items: center; font-weight: 700; cursor: pointer; }
  #mCadencia .lista { max-height: min(62vh, 560px); overflow-y: auto; }
  .cad-item { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; width: 100%; text-align: left; font: inherit; color: inherit;
    background: var(--painel2); border: 1px solid var(--linha); border-left: 4px solid var(--pc); border-radius: 12px; padding: 10px 12px; margin-bottom: 6px; cursor: pointer; }
  .cad-item:hover { border-color: var(--pc); }
  .cad-item .dt { text-align: center; min-width: 58px; } .cad-item .dt b { display: block; font-size: 15px; } .cad-item .dt small { font-size: 11px; color: var(--suave); }
  .cad-item .nm { min-width: 0; } .cad-item .nm b { display: block; font-size: 13.5px; overflow-wrap: anywhere; } .cad-item .nm small { font-size: 12px; color: var(--suave); }
  .cad-item .acao { font-size: 12px; font-weight: 600; text-align: right; }
  .cad-item .acao.atrasado { color: var(--rosa-texto); } .cad-item .acao.agora { color: #2f6fe0; }

  .atalhos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
  .atalhos:empty { display: none; }
  .atalho { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--linha); background: var(--painel2); border-radius: 99px; padding: 4px 6px 4px 11px; font-size: 12.5px; }
  .atalho b { font-weight: 600; font-family: "JetBrains Mono", monospace; font-size: 12px; }
  .atalho b, .atalho small { white-space: nowrap; }
  @media (max-width: 640px) { .atalho { flex-wrap: wrap; border-radius: 14px; padding: 6px 8px 6px 11px; row-gap: 6px; } }
  .atalho a, .atalho button { border: 0; background: var(--painel); border-radius: 99px; padding: 3px 9px; font: inherit; font-size: 11.5px; font-weight: 600; cursor: pointer; color: var(--texto); text-decoration: none; }
  .atalho a:hover, .atalho button:hover { background: var(--rosa-suave); color: var(--rosa-texto); }
  .atalho .wa { color: #0b7a3b; }
  .atalho small { color: var(--suave); font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; }

  /* ---------- próxima ação, perda, metas, funil, rolagem lateral (23/10) */
  .atv-chip { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 11.5px; font-weight: 600; border-radius: 9px; padding: 4px 8px;
    background: var(--painel2); color: var(--texto); border: 1px solid var(--linha); }
  .atv-chip.hoje { background: #e0ecff; color: #1d4ed8; border-color: transparent; }
  :root[data-theme="dark"] .atv-chip.hoje { background: #13213d; color: #8db4ff; }
  .atv-chip.atrasada { background: var(--rosa-suave); color: var(--rosa-texto); border-color: transparent; }
  .atv-chip.sem { background: transparent; color: var(--amarelo-texto); border: 1px dashed color-mix(in srgb, var(--amarelo) 60%, transparent); }
  .bloco-atv { margin-top: 12px; border: 1px solid var(--linha); background: var(--painel2); border-radius: 14px; padding: 12px 14px; }
  .bloco-atv h4 { margin: 0 0 8px; font-size: 13px; display: flex; justify-content: space-between; align-items: center; }
  .atv-item { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-top: 1px solid var(--linha); }
  .atv-item:first-of-type { border-top: 0; }
  .atv-item .ic { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: var(--painel); border: 1px solid var(--linha); font-size: 14px; }
  .atv-item b { font-size: 13px; display: block; } .atv-item small { font-size: 11.5px; color: var(--suave); }
  .atv-item.atrasada small.q { color: var(--rosa-texto); font-weight: 600; }
  .atv-item.feita { opacity: .6; } .atv-item.feita b { text-decoration: line-through; }
  .atv-item .acoes-atv { display: flex; gap: 4px; }
  .form-atv { display: grid; gap: 8px; }
  .form-atv .linha { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
  .seg { display: inline-flex; flex-wrap: wrap; gap: 4px; }
  .seg button { border: 1px solid var(--linha); background: var(--painel); border-radius: 99px; padding: 5px 11px; font: inherit; font-size: 12.5px; cursor: pointer; color: var(--texto); }
  .seg button.on { background: var(--ativo-bg); color: var(--ativo-tx); border-color: var(--ativo-bg); font-weight: 600; }
  .form-atv input.campo { padding: 6px 10px; font-size: 13px; }
  #mProx, #mPerda { width: min(520px, 94vw); }
  .motivos { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 6px; }
  .motivos label { display: flex !important; align-items: center; gap: 8px; border: 1px solid var(--linha); border-radius: 12px; padding: 9px 11px; font-size: 13px !important; color: var(--texto) !important; cursor: pointer; margin: 0; }
  .motivos label:has(input:checked) { border-color: var(--rosa); background: var(--rosa-suave); }
  .motivos input { accent-color: var(--rosa); }
  @media (max-width: 640px) { .motivos { grid-template-columns: 1fr; } }
  .meta-barra { height: 10px; border-radius: 99px; background: var(--trilho); overflow: hidden; position: relative; margin: 8px 0 6px; }
  .meta-barra i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--marca-claro, #ff6f98), var(--rosa)); }
  .meta-barra s { position: absolute; top: -3px; bottom: -3px; width: 2px; background: var(--texto); opacity: .55; }
  .funil-linha { display: grid; grid-template-columns: 150px 1fr auto; gap: 12px; align-items: center; margin-bottom: 4px; font-size: 13px; }
  .funil-linha .tr { height: 26px; background: var(--trilho); border-radius: 8px; overflow: hidden; }
  .funil-linha .tr i { display: flex; align-items: center; height: 100%; border-radius: 8px; background: linear-gradient(90deg, var(--marca-claro, #ff6f98), var(--rosa)); color: #fff; font-size: 11.5px; font-weight: 700; padding-left: 8px; white-space: nowrap; min-width: 34px; }
  .funil-conv { font-size: 11.5px; color: var(--suave); margin: 0 0 6px 162px; }
  .funil-conv b { color: var(--texto); }
  .rolagem-topo { position: sticky; top: 0; z-index: 4; overflow-x: auto; overflow-y: hidden; height: 16px; margin: 0 0 6px; border-radius: 99px;
    background: var(--fundo); scrollbar-width: auto; scrollbar-color: var(--rosa) var(--trilho); }
  .rolagem-topo div { height: 1px; }
  .rolagem-topo::-webkit-scrollbar, .quadro::-webkit-scrollbar { height: 12px; }
  .rolagem-topo::-webkit-scrollbar-track, .quadro::-webkit-scrollbar-track { background: var(--trilho); border-radius: 99px; }
  .rolagem-topo::-webkit-scrollbar-thumb, .quadro::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--rosa) 70%, transparent); border-radius: 99px; }
  .quadro { scrollbar-color: color-mix(in srgb, var(--rosa) 70%, transparent) var(--trilho); }
  .quadro.puxando, .quadro.puxando * { cursor: grabbing !important; user-select: none; }
  .setas-quadro { display: flex; gap: 6px; }
  .setas-quadro button { border: 1px solid var(--linha); background: var(--painel); border-radius: 10px; width: 34px; height: 32px; cursor: pointer; font-size: 14px; color: var(--texto); }
  .setas-quadro button:hover { border-color: var(--rosa); }

  /* alternador entre os sistemas (CRM | Sucesso do cliente) — fica acima do menu */
  /* ferramentas do operador */
  .menu-modelos { position: fixed; z-index: 100; width: min(360px, 92vw); max-height: 60vh; overflow: auto; background: var(--painel); border: 1px solid var(--linha);
    border-radius: 14px; box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .45); padding: 6px; }
  .menu-modelos > small { display: block; padding: 6px 8px 4px; color: var(--suave); font-size: 11.5px; font-weight: 700; }
  .menu-modelos button { display: block; width: 100%; text-align: left; border: 0; background: transparent; padding: 8px 9px; border-radius: 10px; cursor: pointer; font: inherit; color: inherit; }
  .menu-modelos button:hover { background: var(--painel2); } .menu-modelos button b { display: block; font-size: 13px; } .menu-modelos button b em { font-style: normal; font-weight: 500; color: var(--suave); font-size: 11px; }
  .menu-modelos button span { display: block; font-size: 12px; color: var(--suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .menu-modelos button.branco { border-top: 1px solid var(--linha); border-radius: 0 0 10px 10px; }
  .atalho button.mod { color: var(--rosa-texto); font-weight: 700; }
  .fila-bar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: -4px 0 12px; padding: 10px 12px; border-radius: 14px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--rosa) 14%, var(--painel)), var(--painel)); border: 1px solid color-mix(in srgb, var(--rosa) 35%, var(--linha)); }
  .fila-bar[hidden] { display: none; } .fila-bar .fp { font-size: 13px; } .fila-bar .fm { font-size: 12.5px; color: var(--suave); flex: 1; min-width: 160px; }
  .fila-bar .fb { display: flex; gap: 6px; margin-left: auto; }
  details.playbook { margin-top: 12px; border: 1px solid var(--linha); border-radius: 14px; background: var(--painel2); padding: 0 12px; }
  details.playbook[hidden] { display: none; }
  details.playbook > summary { cursor: pointer; padding: 11px 0; font-weight: 700; font-size: 13.5px; }
  .pb-abas, .abas-mod { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 10px; }
  .pb-abas button, .abas-mod button { border: 1px solid var(--linha); background: var(--painel); color: var(--suave); border-radius: 10px; padding: 6px 11px; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
  .pb-abas button.on, .abas-mod button.on { background: var(--ativo-bg); color: var(--ativo-tx); border-color: var(--ativo-bg); }
  .abas-mod { margin: 4px 0 14px; } .abas-mod button { font-size: 13px; padding: 8px 13px; }
  .pb-corpo { padding-bottom: 12px; max-height: 420px; overflow: auto; }
  .pb-sec { padding: 8px 0; border-top: 1px dashed var(--linha); } .pb-sec:first-child { border-top: 0; }
  .pb-sec h5 { margin: 0 0 4px; font-size: 13.5px; display: flex; gap: 8px; align-items: center; }
  .pb-sec h5 span { width: 22px; height: 22px; border-radius: 7px; background: var(--rosa); color: #fff; display: grid; place-items: center; font-size: 12px; }
  .pb-corpo .fala { margin: 4px 0; font-size: 13.5px; line-height: 1.55; } .pb-corpo .perg { margin: 4px 0; font-size: 13.5px; font-weight: 600; color: var(--rosa-texto); }
  .pb-corpo .ramo { margin: 6px 0 6px 12px; padding-left: 10px; border-left: 3px solid var(--linha); font-size: 13px; } .pb-corpo .ramo p { margin: 2px 0 0; }
  .pb-ul, .pb-ol { margin: 4px 0; padding-left: 20px; font-size: 13.5px; line-height: 1.6; }
  .pb-obj { padding: 8px 10px; border-radius: 10px; background: var(--painel); border: 1px solid var(--linha); margin-bottom: 6px; font-size: 13px; }
  .pb-obj p { margin: 3px 0 0; } .pb-obj[hidden] { display: none; }
  .pb-rx { margin-top: 8px; display: grid; gap: 6px; } .pb-rx small { color: var(--suave); font-weight: 700; } .pb-rx div b { font-size: 12px; color: var(--suave); } .pb-rx div p { margin: 1px 0 0; font-size: 13px; }
  .notas-rapidas[hidden] { display: none; }
  .chips-nota { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
  .chips-nota button { border: 1px solid var(--linha); background: var(--painel2); color: var(--texto); border-radius: 99px; padding: 6px 12px; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
  .chips-nota button:hover { border-color: var(--rosa); color: var(--rosa-texto); } .chips-nota button small { color: var(--suave); font-weight: 500; }
  .chips-nota input { flex: 1; min-width: 200px; padding: 7px 11px; font-size: 13px; }
  dialog.largo { width: min(860px, 96vw); }
  .sec-ed { border: 1px solid var(--linha); border-radius: 14px; padding: 10px; margin-bottom: 10px; background: var(--painel2); display: grid; gap: 6px; }
  .sec-top { display: flex; gap: 6px; align-items: center; } .sec-top .campo { flex: 1; font-weight: 700; }
  .num-sec { min-width: 26px; height: 26px; border-radius: 8px; background: var(--rosa); color: #fff; display: grid; place-items: center; font-size: 12.5px; font-weight: 700; }
  .sec-ed textarea, .sec-ed input { width: 100%; }
  .ramo-ed { display: grid; grid-template-columns: 180px 1fr auto; gap: 6px; align-items: start; margin-left: 20px; }
  .lin-ed { display: flex; gap: 6px; align-items: center; margin-bottom: 6px; } .lin-ed span { width: 22px; text-align: right; color: var(--suave); font-weight: 700; } .lin-ed .campo { flex: 1; }
  #sCorpo textarea, #sCorpo > input { width: 100%; }
  .et-linha { display: grid; grid-template-columns: 1fr 190px 120px auto; gap: 6px; align-items: center; margin-bottom: 6px; }
  .et-linha .dias { display: flex; gap: 4px; align-items: center; font-size: 12.5px; color: var(--suave); } .et-linha .dias input { width: 64px; padding: 7px 8px; }
  .mod-linha { display: flex; gap: 10px; justify-content: space-between; align-items: center; padding: 9px 0; border-top: 1px solid var(--linha); }
  .mod-linha small { display: block; color: var(--suave); font-size: 12px; margin-top: 2px; }
  .vars { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 6px; } .vars .btn { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; }
  .previa { margin-top: 10px; padding: 10px 12px; border-radius: 12px; background: var(--painel2); border: 1px dashed var(--linha); font-size: 13px; }
  .previa small { display: block; color: var(--suave); font-weight: 700; margin-bottom: 4px; }
  .tabela-rolagem { overflow-x: auto; } .tab-eq { width: 100%; border-collapse: collapse; font-size: 13px; }
  .tab-eq th { text-align: left; font-size: 11.5px; color: var(--suave); font-weight: 700; padding: 6px 8px; border-bottom: 1px solid var(--linha); white-space: nowrap; }
  .tab-eq td { padding: 8px; border-bottom: 1px solid var(--linha); white-space: nowrap; }
  .tab-eq tr.alerta-linha td { background: color-mix(in srgb, var(--amarelo) 10%, transparent); }
  .ponto.off { background: var(--cinza) !important; box-shadow: none !important; animation: none !important; }
  .meu-acoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
  @media (max-width: 760px) { .ramo-ed { grid-template-columns: 1fr; margin-left: 0; } .et-linha { grid-template-columns: 1fr 1fr; } }
  .aviso-reun { margin-top: 8px; padding: 9px 12px; border-radius: 11px; font-size: 12.5px; line-height: 1.45;
    background: color-mix(in srgb, var(--verde) 12%, transparent); color: var(--verde-texto); border: 1px solid color-mix(in srgb, var(--verde) 30%, transparent); }
  .aviso-reun[hidden] { display: none; }
  .periodo-datas { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .periodo-datas[hidden] { display: none; }
  .periodo-datas span { font-size: 13px; color: var(--suave); }
  .periodo-datas .campo { width: auto; }
  .sistemas { display: flex; gap: 4px; width: max-content; max-width: 100%; margin: 18px auto 0; padding: 5px; background: var(--painel);
    border: 1px solid var(--linha); border-radius: 16px; box-shadow: var(--sombra); }
  .sistemas button { border: 0; background: transparent; padding: 10px 22px; border-radius: 12px; cursor: pointer; font: inherit; font-size: 14.5px; font-weight: 700; color: var(--suave); white-space: nowrap; }
  .sistemas button:hover { color: var(--texto); }
  .sistemas button.on { background: linear-gradient(135deg, var(--marca-claro, #ff4f7b), var(--rosa) 55%, var(--marca-escuro, #9e0b34)); color: #fff; box-shadow: 0 8px 20px -10px rgba(var(--marca-rgb, 250, 43, 106), .7); }
  .sistemas:not([hidden]) + .menu { margin-top: 10px; }
  @media (max-width: 640px) { .sistemas { width: 100%; } .sistemas button { flex: 1; padding: 9px 8px; font-size: 12.5px; white-space: normal; line-height: 1.2; } }

  #vQuadro .coluna { border-top: 3px solid var(--pc, var(--linha)); }
  #vQuadro .card { border-left: 4px solid var(--pc, var(--linha)); }
  @media (max-width: 1100px) { .g21, .g11 { grid-template-columns: 1fr; } .etapas { grid-template-columns: repeat(3, minmax(0, 1fr)); } .kpis, .kpis.seis { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 640px) {
    .wrap { padding: 12px 16px 140px; } #toasts { bottom: 76px; } .hero { padding: 20px; border-radius: 20px; } .pills { justify-content: flex-start; margin-left: 0; }
    .quadro { grid-auto-columns: 84vw; } .etapas, .kpis, .kpis.seis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cx3 { grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
    .hbar { grid-template-columns: 110px 1fr; } .hbar .vl { grid-column: 1 / -1; text-align: left; margin-top: -6px; } dialog .g { grid-template-columns: 1fr; }
    .grande b { font-size: 38px; }
  }
