/* ---------- Início ---------- */
.inicio { padding: 26px 30px 70px; position: relative; overflow: hidden; min-height: 100%; }
.inicio > * { position: relative; z-index: 1; }
.inicio .blob { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .35; z-index: 0; pointer-events: none; }
.inicio .b1 { width: 320px; height: 320px; background: var(--red); right: -90px; top: -120px; }
.inicio .b2 { width: 240px; height: 240px; background: var(--gold); right: 220px; top: -150px; }
.saudacao-linha { display: flex; align-items: center; gap: 16px; margin-top: 8px; }
.saudacao { font-family: var(--display); font-weight: 800; font-size: 40px; line-height: 1; color: var(--ink); margin: 0; }
.saudacao-nome { color: var(--red); }
.retorno-linha { font-size: 16px; font-weight: 600; margin-top: 6px; }
.retorno-linha b { color: var(--red); font-family: var(--display); }
.inicio-linha { display: grid; gap: 16px; margin-top: 18px; }
.l1 { grid-template-columns: 1.5fr 1fr; align-items: start; }
.painel-secao { grid-template-columns: 2.3fr 1fr; align-items: stretch; }
.item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--line); font-size: 14px; cursor: pointer; }
.item:last-child { border-bottom: 0; }
.item:hover b { color: var(--red); }
.item .ic { font-size: 18px; width: 28px; display: inline-block; flex: none; }
.item > span:first-child { display: flex; align-items: baseline; min-width: 0; }
.item-agenda { cursor: default; flex-direction: column; align-items: stretch; }
.item-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.item-botoes { display: flex; gap: 6px; flex: none; }
.preparo { margin-top: 10px; padding: 10px 12px; background: var(--chat-bg); border-radius: 12px; display: flex; flex-direction: column; gap: 8px; }
.prep-linha { display: flex; align-items: center; gap: 8px; font-size: 13px; cursor: pointer; }
.prep-linha input { width: 15px; height: 15px; accent-color: var(--ok); }
.prep-linha .btn, .prep-linha .link { margin-left: auto; }
.desafio { background: var(--navy); color: #fff; border-radius: var(--r-lg); padding: 18px 20px; position: relative; overflow: hidden; min-height: 100%; }
.desafio.tem-alvo { padding-right: 128px; }
.desafio-alvo-wrap { position: absolute; right: 16px; bottom: 14px; }
@keyframes alvo-pulso { 0%, 100% { filter: drop-shadow(0 0 0 var(--gold)); transform: scale(1); } 50% { filter: drop-shadow(0 0 9px var(--gold)); transform: scale(1.05); } }
.desafio-alvo { animation: alvo-pulso 2.4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .desafio-alvo { animation: none; } }
.desafio .lbl { color: #ffffff99; }
.desafio h2 { font-family: var(--display); font-size: 25px; line-height: 1.15; margin: 10px 0 6px; }
.desafio p { opacity: .85; margin: 0; }
.desafio .pontos { position: absolute; top: 16px; right: 18px; background: var(--gold); color: var(--navy); font-weight: 800; border-radius: var(--r-pill); padding: 3px 10px; font-size: 12px; }
.desafio .pontos.feito { background: var(--ok); color: #fff; }
.barra { height: 10px; border-radius: 9px; background: #0000000f; overflow: hidden; margin-top: 8px; }
.desafio .barra { background: #ffffff22; margin: 16px 0 6px; }
.barra i { display: block; height: 100%; background: linear-gradient(90deg, var(--gold), var(--red)); border-radius: 9px; transition: width .4s; }
.equipe-tr { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 6px; font-size: 13px; padding: 8px 0; border-bottom: 1px dashed #ffffff22; align-items: center; }
.equipe-tr:last-child { border-bottom: 0; }
.equipe-tr.cab { opacity: .6; font-size: 11px; margin-top: 8px; }
.equipe-tr .ruim { color: #ff9a9a; font-weight: 800; }
.num .big { font-family: var(--display); font-size: 32px; font-weight: 800; line-height: 1.1; margin-top: 4px; }
.num small { color: var(--gray); }
.num small.sobe { color: var(--ok); font-weight: 700; }
.num small.desce { color: var(--red-deep); font-weight: 700; }
.painel-performance { border: 2px solid var(--red); border-radius: var(--r-lg); overflow: hidden; background: linear-gradient(180deg, #fff5f5, #ffeaea); box-shadow: 0 10px 28px #e3061318; }
.painel-cab { display: flex; align-items: center; gap: 12px; padding: 12px 18px; background: linear-gradient(90deg, var(--red), var(--red-deep)); color: #fff; }
.painel-cab h2 { font-family: var(--display); font-size: 19px; font-weight: 800; margin: 0; line-height: 1.1; }
.painel-cab small { opacity: .85; font-size: 12px; }
.painel-ic { font-size: 22px; width: 38px; height: 38px; border-radius: 12px; background: #ffffff26; display: grid; place-items: center; }
.painel-grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 14px 16px 16px; }
.painel-grade .num { background: #fff; border-radius: 14px; padding: 12px 14px; border-top: 4px solid var(--navy); box-shadow: 0 2px 8px #1b23400d; }
.painel-grade .num:nth-child(2) { border-top-color: var(--red); }
.painel-grade .num:nth-child(3) { border-top-color: var(--ok); }
.painel-grade .num:nth-child(4) { border-top-color: var(--gold); }
.painel-grade .num:nth-child(5) { border-top-color: var(--orange); }
.painel-grade .num .lbl { color: var(--navy); }
.painel-grade .num .big { font-size: 30px; }
@media (min-width: 1100px) { .painel-grade { grid-template-columns: repeat(5, 1fr); } }
.meta-unidade { border: 2px solid var(--navy); background: linear-gradient(180deg, #fff, var(--gold-l)); display: flex; flex-direction: column; justify-content: center; }
.meta-unidade .lbl { color: var(--navy); }
.meta-unidade .big { font-family: var(--display); font-size: 36px; font-weight: 800; margin-top: 6px; line-height: 1.1; }
.meta-unidade .big small { font-size: 16px; color: var(--gray); font-weight: 700; }
.meta-unidade .barra { margin-top: 10px; }
.meta-unidade small { color: var(--gray); }
.rk { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.rk .pos { font-size: 20px; width: 28px; text-align: center; font-family: var(--display); font-weight: 800; color: var(--gray); }
.rk .nome { font-weight: 700; width: 90px; }
.rk .barra { flex: 1; margin: 0; }
.rk .pts { font-family: var(--display); font-weight: 800; width: 70px; text-align: right; }
.rk.eu .nome { color: var(--red); }
.rk-nota { color: var(--gray); font-size: 12px; margin: 6px 0 0; }
.ferr-secao { margin-top: 16px; }
.ferr-mini-grade { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-top: 10px; }
.ferr-mini { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fff; transition: .15s; }
a.ferr-mini:hover { border-color: var(--red); transform: translateY(-2px); box-shadow: 0 8px 20px #1b234014; }
.ferr-mini-thumb { position: relative; aspect-ratio: 3 / 2; background: var(--navy); }
.ferr-mini-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ferr-mini-place { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(135deg, var(--navy), var(--navy-2)); font-size: 26px; }
.ferr-mini > span { font-size: 12px; font-weight: 700; padding: 8px; }
.ferr-mini.faded { opacity: .55; }
.ferr-badge { position: absolute; top: 6px; left: 6px; z-index: 1; max-width: calc(100% - 12px); background: #1a1a2ee0; color: #fff; font-size: 9px; font-weight: 700; line-height: 1.3; padding: 3px 7px; border-radius: 8px; }

/* ---------- Páginas ---------- */
.pagina { padding: 24px 28px 70px; }
.pagina-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.pagina-cab h1 { font-family: var(--display); font-size: 34px; margin: 2px 0 0; letter-spacing: -.02em; }
.pagina-cab p { margin: 4px 0 0; color: var(--gray); }
.pagina-cab-dir { display: flex; gap: 10px; align-items: center; }
.secao-tit { font-family: var(--display); font-size: 18px; font-weight: 700; margin: 22px 0 8px; display: flex; gap: 8px; align-items: center; }
.secao-tit:first-of-type { margin-top: 6px; }

/* Hoje */
.hoje-linha { display: flex; align-items: center; gap: 12px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 10px 14px; margin-bottom: 8px; cursor: pointer; transition: .15s; }
.hoje-linha:hover { transform: translateX(3px); border-color: var(--navy); }
.hoje-linha.atrasada { border-left: 5px solid var(--red); }
.hoje-linha.feito { opacity: .6; }
.hoje-m { flex: 1; min-width: 0; }
.hoje-m .l2 { display: flex; gap: 6px; align-items: center; margin-top: 4px; flex-wrap: wrap; }
.hoje-m small { color: var(--gray); }
.hoje-m .ult { color: var(--gray); font-size: 12.5px; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hoje-dir { display: flex; gap: 8px; align-items: center; flex: none; }
.amanha { opacity: .72; }

/* Filtros e tabela */
.filtros { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 12px 14px; margin-bottom: 12px; }
.filtros .campo { min-width: 140px; }
.filtros .campo.busca-campo { flex: 1; min-width: 200px; }
.filtros .check { display: flex; gap: 6px; align-items: center; font-weight: 600; font-size: 13px; padding-bottom: 9px; cursor: pointer; }
.filtros .segmento { margin-bottom: 1px; }
.resumo-lista { color: var(--gray); font-size: 13px; margin: 0 0 8px; }
.tabela-scroll { overflow-x: auto; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); }
.tabela { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.tabela.larga { min-width: 2050px; }
.tabela th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--gray); padding: 10px 12px; background: #fff; border-bottom: 1px solid var(--line); white-space: nowrap; }
.tabela td { padding: 10px 12px; border-bottom: 1px solid #0000000a; vertical-align: top; white-space: nowrap; }
.tabela td small { color: var(--gray); }
.tabela tr.linha { cursor: pointer; }
.tabela tr.linha:hover td { background: var(--red-l); }
.tabela tr.linha.sel td { background: var(--gold-l); }
.tabela td.atrasado { color: var(--red); font-weight: 800; }
.tabela .trunc2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; width: 230px; white-space: normal; }
.tabela.fixa th:nth-child(1), .tabela.fixa td:nth-child(1) { position: sticky; left: 0; z-index: 2; width: 72px; min-width: 72px; max-width: 72px; background: var(--paper); }
.tabela.fixa th:nth-child(2), .tabela.fixa td:nth-child(2) { position: sticky; left: 72px; z-index: 2; min-width: 180px; max-width: 180px; white-space: normal; background: var(--paper); box-shadow: 2px 0 4px #0000000f; }
.tabela.fixa th:nth-child(1), .tabela.fixa th:nth-child(2) { background: #fff; z-index: 3; }
.tabela.fixa tr.linha:hover td:nth-child(1), .tabela.fixa tr.linha:hover td:nth-child(2) { background: var(--red-l); }
.tabela tr:last-child td { border-bottom: 0; }

/* Telemarketing */
.abas-grandes { display: flex; gap: 8px; margin: -4px 0 16px; }
.abas-grandes button { border: 1.5px solid var(--line); background: var(--paper); border-radius: 14px; padding: 9px 18px; font-weight: 700; font-size: 14px; cursor: pointer; display: flex; gap: 8px; align-items: center; color: var(--gray); }
.abas-grandes button.on { background: var(--navy); border-color: var(--navy); color: #fff; }
.abas-grandes button .chip { font-size: 11px; }
.prosp { display: grid; grid-template-columns: 280px 1fr; gap: 18px; align-items: start; }
.prosp > * { min-width: 0; }
.acoes-lista { display: flex; flex-direction: column; gap: 18px; }
.acoes-grupo { display: flex; flex-direction: column; gap: 8px; }
.acoes-grupo-tit { font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--navy, #0f2747); display: flex; align-items: center; gap: 6px; }
.acoes-grupo-tit span { font-size: 11px; font-weight: 700; padding: 1px 8px; border-radius: 99px; background: #eef1f5; color: #475467; }
.grupo-anteriores { border-left: 4px solid #ff7a45; padding-left: 10px; }
.grupo-anteriores .acoes-grupo-tit { color: #b42318; }
.grupo-anteriores .acoes-grupo-tit span { background: #fff1e6; color: #b42318; }
.acoes-grupo-cartoes { display: flex; flex-direction: column; gap: 10px; }
.acoes-grupo-vazio { margin: 0; font-size: 13px; color: #667085; }
.g-grupo-tit { font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #475467; margin: 10px 0 2px; }
.g-grupo-anteriores { color: #b42318; margin-top: 4px; }
.acao-card { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 12px 14px; cursor: pointer; display: flex; flex-direction: column; gap: 4px; transition: .15s; text-align: left; }
.acao-card:hover { border-color: var(--navy); }
.acao-card.sel { border: 2px solid var(--red); background: #fff; }
.acao-card small { color: var(--gray); }
.mini-funil { display: flex; height: 8px; border-radius: 6px; overflow: hidden; margin: 4px 0; background: #eee; }
.f-cinza { background: #d5d5dc; } .f-azul { background: var(--navy); } .f-verde { background: var(--ok); } .f-vermelho { background: var(--red); }
.acao-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.acao-cab h2 { font-family: var(--display); font-size: 24px; margin: 0; line-height: 1.15; }
.acao-cab p { margin: 4px 0 0; color: var(--gray); font-size: 13px; }
.acao-barra { background: #fff; border: 1.5px solid var(--navy, #0f2747); border-left-width: 6px; border-radius: 14px; padding: 12px 14px; align-items: center; }
.acao-barra.barra-anterior { border-color: #ff7a45; }
.acao-barra-kicker, .editando-kicker { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #667085; }
.acao-barra-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; }
.acao-barra-tags small { color: var(--gray); font-size: 13px; }
.chip-evento { background: #eef4ff; color: #1d3f8a; border: 1px solid #c7d7fe; font-size: 11px; }
.editando { border-bottom: 1px solid #eaecf0; padding-bottom: 10px; margin-bottom: 6px; }
.editando-nome { font-size: 24px; margin: 2px 0 0; line-height: 1.2; }
.editar-secao { margin-top: 14px; }
.editar-secao-tit { font-size: 13px; font-weight: 800; color: var(--navy, #0f2747); margin-bottom: 8px; }
.funil { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.funil-passo { flex: 1; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 12px 14px; }
.funil-passo .big { font-family: var(--display); font-size: 30px; font-weight: 800; line-height: 1; }
.funil-passo small { color: var(--gray); }
.seta { color: var(--gray); font-size: 20px; }
.fila-card { background: #fff; border: 2px solid var(--navy); border-radius: 20px; padding: 16px 18px; }
.fila-lead { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-top: 6px; }
.fila-lead h2 { font-family: var(--display); font-size: 28px; margin: 0; line-height: 1.1; }
.fila-lead p { margin: 4px 0 0; color: var(--gray); }
.fila-tel { display: flex; align-items: center; gap: 10px; margin: 10px 0 2px; }
.fila-tel b { font-family: var(--display); font-size: 22px; letter-spacing: .01em; }
.fila-feedback { margin-top: 12px; }
.fila-feedback input { width: 100%; border: 1.5px solid var(--line); border-radius: 12px; padding: 10px 12px; font-size: 15px; background: #fff; }
.fila-feedback input:focus { outline: none; border-color: var(--navy); }
.rapidos { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.rapidos button { border: 1px solid var(--line); background: var(--paper); border-radius: var(--r-pill); padding: 3px 10px; font-size: 12px; cursor: pointer; color: var(--gray); font-weight: 600; }
.rapidos button:hover { border-color: var(--navy); color: var(--navy); }
.fila-acoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; align-items: center; }
.fila-acoes .direita { margin-left: auto; }
.nota { display: block; color: var(--gray); margin-top: 10px; font-size: 12px; }
.lista-preview { background: #fff; border: 1px solid var(--line); border-radius: 12px; max-height: 180px; overflow: auto; font-size: 12.5px; }
.lista-preview table { width: 100%; border-collapse: collapse; }
.lista-preview td, .lista-preview th { padding: 5px 8px; border-bottom: 1px solid #0000000a; text-align: left; white-space: nowrap; }
.lista-preview th { font-size: 10.5px; text-transform: uppercase; color: var(--gray); letter-spacing: .05em; position: sticky; top: 0; background: #fff; }

/* ---------- Ficha (painel lateral) ---------- */
.ficha-fundo { position: fixed; inset: 56px 0 0 0; background: #1b234033; z-index: 40; }
.ficha-fundo.entra { animation: aparece .2s; }
.ficha { position: fixed; top: 56px; right: 0; bottom: 0; width: 480px; max-width: 100vw; background: var(--cream); z-index: 45; box-shadow: -18px 0 50px #1b234026; display: flex; flex-direction: column; }
.ficha.entra { animation: desliza .22s ease-out; }
@keyframes desliza { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.ficha-topo { background: var(--paper); border-bottom: 1px solid var(--line); padding: 14px 18px 14px; position: relative; }
.ficha-fechar { position: absolute; top: 10px; right: 12px; width: 34px; height: 34px; border-radius: 50%; border: 0; background: var(--chat-bg); font-size: 16px; cursor: pointer; color: var(--navy); }
.ficha-fechar:hover { background: var(--navy-l); }
.ficha-topo h2 { font-family: var(--display); font-size: 26px; margin: 4px 40px 2px 0; line-height: 1.1; letter-spacing: -.01em; }
.ficha-topo .quem { color: var(--gray); font-size: 13px; }
.ficha-tel { display: flex; align-items: center; gap: 8px; margin-top: 6px; font-weight: 700; }
.ficha-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.ficha-corpo { flex: 1; overflow: auto; padding: 12px 14px 30px; display: flex; flex-direction: column; gap: 10px; }
.ficha-bloco { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; }
.ficha-bloco.destaque { border: 2px solid var(--red); box-shadow: 0 0 0 4px var(--red-l); }
.ficha-bloco .lbl { margin-bottom: 6px; }
.ficha-cta { width: 100%; padding: 12px 16px; font-size: 15px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 14px; box-shadow: 0 8px 20px #e3061330; }
.prox { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.prox b { font-family: var(--display); font-size: 24px; }
.prox small { color: var(--gray); }
.prox-acoes, .acoes-ficha { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.acoes-ficha .btn { flex: 1 1 calc(50% - 6px); }
.etapa-atual .chip { font-size: 13px; padding: 5px 12px; }
.etapa-historico { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; }
.etapa-item { background: var(--chat-bg); border-radius: 10px; padding: 6px 10px; font-size: 12.5px; }
.etapa-item .resultado { display: flex; gap: 6px; margin-top: 6px; }
.etapa-vazia { color: var(--gray); font-size: 12.5px; margin: 6px 0 0; }
.lbl-linha { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.lbl-linha .lbl { margin-bottom: 0; }
.campo-texto { margin: 6px 0 2px; font-size: 13.5px; white-space: pre-wrap; }
.preencher { border: 0; background: var(--warn-l); color: #8a6700; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: var(--r-pill); cursor: pointer; margin-top: 6px; }
.hist { display: flex; flex-direction: column; gap: 0; margin-top: 8px; }
.hist-item { display: grid; grid-template-columns: 48px 1fr; gap: 8px; padding: 6px 0; border-bottom: 1px dashed var(--line); font-size: 13px; }
.hist-item:last-child { border-bottom: 0; }
.hist-item .d { font-weight: 800; color: var(--navy); font-family: var(--display); }
.hist-item.novo .d { color: var(--red); }
.dados { display: grid; grid-template-columns: auto 1fr; gap: 5px 12px; margin: 8px 0 0; font-size: 13px; }
.dados dt { color: var(--gray); }
.dados dd { margin: 0; font-weight: 600; word-break: break-word; }
.dados dd.vazio-dd { color: #b9b2a8; font-weight: 500; }
.ficha-rodape { color: var(--gray); font-size: 11.5px; text-align: center; margin-top: 4px; }

/* ---------- Modais específicos ---------- */
.pergunta { font-family: var(--display); font-weight: 800; color: var(--red); margin: 0 0 6px; font-size: 18px; }
.bloco-prox { background: #fff; border: 2px solid var(--red); box-shadow: 0 0 0 4px var(--red-l); border-radius: 16px; padding: 12px 14px; margin-top: 14px; }
.bloco-prox .linha-data { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.bloco-prox input[type=date] { border: 1.5px solid var(--line); border-radius: 10px; padding: 7px 10px; background: #fff; }
.bloco-prox small { color: var(--gray); }
.texto-contato { width: 100%; border: 1.5px solid var(--line); border-radius: 12px; padding: 11px 12px; font-size: 15px; background: #fff; }
.texto-contato:focus { outline: none; border-color: var(--navy); }
.checklist { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; }
.checklist label { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--ink); }
.equipe-lista { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.equipe-linha { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; }
.equipe-linha .av { width: 32px; height: 32px; font-size: 14px; }
.equipe-linha .btn { margin-left: auto; }

/* ---------- Telas menores ---------- */
@media (max-width: 1240px) {
  .ferr-mini-grade { grid-template-columns: repeat(4, 1fr); }
  .painel-secao { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  .l1 { grid-template-columns: 1fr; }
  .prosp { grid-template-columns: 1fr; }
  .acoes-grupo-cartoes { flex-direction: row; overflow-x: auto; padding-bottom: 4px; }
  .acao-card { min-width: 240px; }
}
@media (max-width: 760px) {
  .corpo { grid-template-columns: 1fr; height: calc(100vh - 56px - 62px); }
  .trilho { position: fixed; bottom: 0; left: 0; right: 0; flex-direction: row; justify-content: space-around; padding: 6px; z-index: 35; }
  .trilho a { flex: 1; padding: 6px 2px; }
  .topo-ciclo, .topo-nome, .papel, .logo-agm, .topo .sep { display: none; }
  .topo { padding: 0 10px; gap: 8px; }
  .topo-cliente { flex: 1 1 auto; }
  .topo-usuaria { gap: 6px; flex: none; }
  .trocar { padding: 4px 8px; font-size: 11px; }
  .ficha { top: 0; width: 100vw; z-index: 60; }
  .ficha-fundo { display: none; }
  .pagina, .inicio { padding: 18px 16px 70px; }
  .saudacao { font-size: 30px; }
  .modal-grade, .modal-grade.tres { grid-template-columns: 1fr; }
  .modal-grade .dois { grid-column: 1 / -1; }
  .ferr-mini-grade { grid-template-columns: repeat(2, 1fr); }
  .funil { display: grid; grid-template-columns: 1fr 1fr; }
  .seta { display: none; }
  .hoje-linha { flex-wrap: wrap; align-items: flex-start; }
  .hoje-m { flex-basis: calc(100% - 60px); }
  .hoje-dir { width: 100%; justify-content: flex-end; flex-wrap: wrap; }
  .pagina-cab h1 { font-size: 28px; }
  .acao-cab h2 { font-size: 20px; }
}

/* Tabela que ocupa a tela: a barra de rolagem lateral fica sempre no rodapé da janela e o cabeçalho fica parado */
.tabela-scroll.tabela-tela { overflow: auto; max-height: calc(100dvh - 260px); }
.tabela-tela .tabela thead th { position: sticky; top: 0; z-index: 4; }
.tabela.fixa3 th:nth-child(1), .tabela.fixa3 td:nth-child(1) { position: sticky; left: 0; z-index: 2; width: 52px; min-width: 52px; max-width: 52px; background: var(--paper); color: var(--gray); }
.tabela.fixa3 th:nth-child(2), .tabela.fixa3 td:nth-child(2) { position: sticky; left: 52px; z-index: 2; width: 72px; min-width: 72px; max-width: 72px; white-space: nowrap; box-shadow: none; background: var(--paper); }
.tabela.fixa3 th:nth-child(3), .tabela.fixa3 td:nth-child(3) { position: sticky; left: 124px; z-index: 2; min-width: 180px; max-width: 180px; white-space: normal; background: var(--paper); box-shadow: 2px 0 4px #0000000f; }
.tabela.fixa3 th:nth-child(-n+3) { background: #fff; z-index: 5; }
.tabela.fixa3 tr.linha:hover td:nth-child(-n+3) { background: var(--red-l); }
.tabela.fixa3 tr.linha.sel td:nth-child(-n+3) { background: var(--gold-l); }
.tabela td.num { font-variant-numeric: tabular-nums; }

/* ---------- Filtros de coluna (estilo planilha) ---------- */
.th-filtro { display: inline-flex; align-items: center; gap: 4px; }
.filtro-btn { border: 0; background: transparent; color: var(--gray); width: 20px; height: 20px; border-radius: 6px; cursor: pointer; font-size: 11px; line-height: 1; display: inline-grid; place-items: center; padding: 0; opacity: .55; }
.tabela th:hover .filtro-btn, .filtro-btn:focus-visible { opacity: 1; background: var(--line); }
.filtro-btn.on { opacity: 1; color: #fff; background: var(--navy); }
.tabela th.filtrado, .tabela.fixa3 th.filtrado { background: var(--navy-l); color: var(--navy); }
.resumo-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.etiqueta-filtro { border: 0; background: var(--navy-l); color: var(--navy); font: inherit; font-size: 12px; font-weight: 700; border-radius: 999px; padding: 3px 10px; cursor: pointer; }
.etiqueta-filtro span { opacity: .6; margin-left: 2px; }
.etiqueta-filtro:hover span { opacity: 1; }
.resumo-filtros .link { font-size: 12px; }
.filtro-pop { position: fixed; z-index: 95; width: 280px; max-height: min(460px, calc(100vh - 16px)); display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 16px 40px #0000002a; padding: 12px; font-size: 13px; text-transform: none; letter-spacing: 0; color: var(--ink, #1b2340); }
.filtro-pop.folha { left: 8px !important; right: 8px; bottom: 8px; top: auto !important; width: auto; max-height: 75vh; }
.filtro-pop-tit { font-weight: 800; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--gray); }
.filtro-ordem { display: grid; gap: 2px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.filtro-ordem button { border: 0; background: transparent; text-align: left; padding: 6px 8px; border-radius: 8px; font: inherit; cursor: pointer; }
.filtro-ordem button:hover { background: var(--cream); }
.filtro-busca, .filtro-contem input { width: 100%; box-sizing: border-box; border: 1.5px solid var(--line); border-radius: 10px; padding: 7px 10px; font: inherit; }
.filtro-contem { display: grid; gap: 4px; font-weight: 700; font-size: 12px; color: var(--gray); }
.filtro-todos { display: flex; gap: 14px; font-size: 12px; }
.filtro-lista { overflow-y: auto; min-height: 60px; max-height: 240px; border: 1px solid var(--line); border-radius: 10px; padding: 4px; }
.filtro-item { display: flex; align-items: center; gap: 8px; padding: 5px 6px; border-radius: 6px; cursor: pointer; }
.filtro-item:hover { background: var(--cream); }
.filtro-item-txt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.filtro-n { color: var(--gray); font-size: 11px; font-variant-numeric: tabular-nums; }
.filtro-mais { color: var(--gray); font-size: 12px; padding: 6px; }
.filtro-rodape { display: flex; justify-content: space-between; align-items: center; }
.status-sub { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--gray); margin: 10px 0 6px; }
.radios { display: grid; gap: 8px; margin-top: 12px; }

/* Card de encerramento: separado e discreto, no fim da ficha */
.ficha-bloco.bloco-encerrar { background: #fff7f6; border-color: #e3061322; }
.ficha-bloco.bloco-encerrar .lbl { color: var(--red); }

.status-fechado { font-family: var(--display); font-size: 20px; font-weight: 800; margin: 2px 0 8px; }
.motivo-fechado { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--gray); font-size: 13px; }
.motivo-fechado span { color: var(--ink); }
/* Matrículas: Nº e Aluno fixos (Aluno é a 6ª coluna, como na planilha) */
.tabela.fixa-mat th:nth-child(1), .tabela.fixa-mat td:nth-child(1) { position: sticky; left: 0; z-index: 2; width: 52px; min-width: 52px; max-width: 52px; white-space: nowrap; background: var(--paper); color: var(--gray); }
.tabela.fixa-mat th:nth-child(6), .tabela.fixa-mat td:nth-child(6) { position: sticky; left: 52px; z-index: 2; min-width: 190px; max-width: 190px; white-space: normal; background: var(--paper); box-shadow: 2px 0 4px #0000000f; }
.tabela.fixa-mat th:nth-child(1), .tabela.fixa-mat th:nth-child(6) { background: #fff; z-index: 5; }
.tabela.fixa-mat tr.linha:hover td:nth-child(1), .tabela.fixa-mat tr.linha:hover td:nth-child(6) { background: var(--red-l); }
.pendente-txt { color: var(--red-deep); }
.fogo { font-size: 13px; margin-left: 2px; }
.so-quentes { white-space: nowrap; }

/* Motivação (pergunta do porquê) */
.motivacao { display: grid; gap: 8px; }
.motivacao .campo-tit { font-size: 12px; font-weight: 700; color: var(--gray); }
.motiv-btns { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
@media (max-width: 700px) { .motiv-btns { grid-template-columns: 1fr 1fr; } }
.motiv-btn { border: 1.5px solid var(--line); background: #fff; border-radius: 12px; padding: 8px 10px; text-align: left; cursor: pointer; font: inherit; display: grid; gap: 2px; }
.motiv-btn b { font-size: 13px; }
.motiv-btn small { font-size: 11px; color: var(--gray); }
.motiv-btn.on { border-color: var(--navy); background: var(--navy-l); }
.motiv-nota { font-size: 11px; color: var(--gray); }
.chip-motivacao { border: 0; cursor: pointer; font: inherit; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.motiv-painel { margin-top: 16px; }
.motiv-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.mini-tabela { width: 100%; border-collapse: collapse; font-size: 13px; }
.mini-tabela th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--gray); padding: 4px 6px; border-bottom: 1px solid var(--line); }
.mini-tabela td { padding: 5px 6px; border-bottom: 1px solid var(--line); }
.mini-tabela td.ruim { color: var(--red-deep); }

/* Telemarketing: Mailings */
.mailings-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin: 4px 0 10px; flex-wrap: wrap; }
.mailings-cab h2 { margin: 0; font-size: 18px; }
.mailings-cab small { color: var(--gray); font-size: 12px; }
.acao-dono { display: block; margin: 2px 0; }

.acao-botoes { order: 2; display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; flex: none; }
.editar-lead { font-size: 12px; margin-left: 6px; vertical-align: middle; }
/* Telemarketing: busca em todos os mailings, filtro da lista e números */
.busca-tele { position: relative; margin: 0 0 12px; }
.busca-tele input { width: 100%; box-sizing: border-box; border: 1.5px solid var(--line); border-radius: 12px; padding: 10px 14px; font: inherit; background: #fff; }
.busca-resultados { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px); background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 14px 30px #0002; max-height: 320px; overflow: auto; padding: 4px; }
.busca-item { display: grid; grid-template-columns: 1.4fr 1fr 1.4fr auto; gap: 10px; align-items: center; width: 100%; border: 0; background: transparent; text-align: left; padding: 8px 10px; border-radius: 8px; cursor: pointer; font: inherit; }
.busca-item:hover { background: var(--cream); }
.busca-item small { color: var(--gray); }
.filtro-leads { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.filtro-leads button { border: 1.5px solid var(--line); background: #fff; border-radius: 999px; padding: 4px 12px; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; color: var(--gray); }
.filtro-leads button span { opacity: .7; margin-left: 2px; }
.filtro-leads button.on { background: var(--navy); border-color: var(--navy); color: #fff; }
.funil-extra { display: grid; gap: 4px; margin-left: 12px; color: var(--gray); }
.funil-link { cursor: pointer; font: inherit; color: inherit; text-align: left; }
.funil-link:hover small { color: var(--red); text-decoration: underline; }

/* ---------- Equipe: atividade da equipe ---------- */
.at-secao { margin-top: 18px; }
.at-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.at-cab h2 { margin: 0 0 6px; font-family: var(--display); font-size: 22px; }
.at-passo { display: flex; align-items: center; gap: 8px; }
.at-passo b { min-width: 0; }
.at-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.at-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 16px; display: grid; gap: 10px; align-content: start; }
.at-card header { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.at-total { background: var(--navy); color: #fff; border-color: var(--navy); }
.at-eu { border: 2px solid var(--red); box-shadow: 0 6px 18px #e3061318; }
.at-voce { margin-left: auto; }
.at-total small, .at-total em { color: #ffffffb3 !important; }
.at-total-ic { font-size: 22px; }
.at-lig { display: flex; align-items: baseline; gap: 8px; }
.at-big { font-family: var(--display); font-size: 46px; font-weight: 800; line-height: 1; }
.at-lig small { color: var(--gray); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; font-size: 11px; }
.at-barra { height: 6px; border-radius: 99px; background: var(--line); overflow: hidden; }
.at-barra i { display: block; height: 100%; background: var(--red); border-radius: 99px; }
.at-alerta { color: var(--red-deep); font-weight: 800; font-size: 13px; }
.at-parado .at-big { color: var(--red-deep); }
.at-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; border-top: 1px solid var(--line); padding-top: 10px; }
.at-total .at-grade { border-top-color: #ffffff33; }
.at-num { display: grid; grid-template-columns: auto 1fr; column-gap: 6px; align-items: baseline; }
.at-num b { font-family: var(--display); font-size: 22px; }
.at-num small { grid-column: 1 / -1; color: var(--gray); font-size: 11px; font-weight: 700; }
.at-num em { display: block; font-style: normal; font-weight: 600; color: var(--gray); font-size: 10px; }
.at-ic { font-size: 15px; }
.at-carregando { display: flex; align-items: center; gap: 10px; color: var(--gray); padding: 24px 4px; }
.at-nota, .at-rodape { color: var(--gray); font-size: 12px; }
.at-rodape { margin-top: 18px; }
.at-metricas { flex-wrap: wrap; }
.at-tabela-caixa { overflow-x: auto; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.at-tabela { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 640px; }
.at-tabela th, .at-tabela td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: right; font-variant-numeric: tabular-nums; }
.at-tabela thead th { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--gray); }
.at-tabela thead th small { display: block; font-weight: 600; letter-spacing: 0; text-transform: none; }
.at-tabela thead th.on { color: var(--red); box-shadow: inset 0 -3px 0 var(--red); }
.at-tabela th:first-child { text-align: left; }
.at-tabela tbody th { font-weight: 700; }
.at-tabela td.at-zero { color: var(--red-deep); font-weight: 700; }
.at-tabela td.at-melhor { font-weight: 800; }
.at-tabela td.at-futuro, .at-tabela td.at-folga { color: var(--line); }
.at-tabela td.at-soma { font-weight: 800; }
.at-tabela tfoot th, .at-tabela tfoot td { border-bottom: 0; font-weight: 800; }
.at-tabela tfoot small { font-weight: 600; color: var(--gray); }
@media (max-width: 600px) {
  .at-cards { grid-template-columns: 1fr; }
  .at-cab .btn-red { width: 100%; }
}
.desafio-onde { display: flex; gap: 6px; flex-wrap: wrap; margin: -4px 0 10px; }
.desafio-onde .chip { background: #ffffff22; color: #fff; }
.chip-onde { font-size: 10px; padding: 2px 8px; vertical-align: middle; }
.at-alertas { display: grid; gap: 6px; margin-top: 12px; }
.at-alerta-linha { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; font-size: 13px; }
.at-alerta-linha b { color: var(--red-deep); }
.flag-mailing { display: block; color: var(--red-deep); font-weight: 800; font-size: 11px; margin-top: 4px; }
.secao-onde { margin-left: 8px; font-size: 12px; font-weight: 600; color: var(--gray); text-transform: none; letter-spacing: 0; }
.at-h2 { margin: 0 0 6px; font-family: var(--display); font-size: 22px; }
/* Pontos de atenção (topo do Relatório comercial): borda vermelha à esquerda, sem fundo colorido. */
.pa-caixa { background: #fff; border: 1px solid var(--line); border-left: 5px solid var(--red); border-radius: 16px; padding: 14px 18px; }
.pa-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.pa-cab small { color: var(--gray); font-size: 12px; }
.pa-lista { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 6px; }
.pa-lista li { font-size: 14px; line-height: 1.4; }
.pa-lista li.pa-alerta { color: var(--red-deep); font-weight: 700; }
.pa-lista li.pa-positivo { color: var(--gray); }
.pa-ok { margin: 6px 0 0; font-size: 14px; color: var(--gray); }
.pa-comparacao { margin: 10px 0 0; padding-top: 8px; border-top: 1px solid var(--line); font-size: 13px; font-weight: 700; color: var(--navy); }

/* ---------- Início da gestão ---------- */
.equipe-hoje .equipe-tr { border-bottom: 1px solid var(--line); color: var(--navy); }
.equipe-hoje .equipe-tr.cab { color: var(--gray); opacity: 1; text-transform: uppercase; letter-spacing: .05em; }
.equipe-hoje .equipe-tr .ruim { color: var(--red-deep); }
.g-sub { margin-top: 14px; }
.g-vazio { color: var(--gray); font-size: 13px; margin: 6px 0; }
.g-ver { margin: 4px 0 0 4px; }
.g-flag { display: inline; margin: 0 0 0 6px; }
.g-item .tag, .g-item .chip-onde { margin-left: 4px; }
.agenda-conta { font-weight: 800; color: var(--navy); margin: 4px 0 10px; }
.agenda-lista { display: grid; gap: 6px; }
.agenda-linha { display: grid; grid-template-columns: 54px 150px 1fr auto auto auto; gap: 8px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; font-size: 13px; }
.agenda-linha:hover { border-color: var(--red); }
.agenda-hora { font-family: var(--display); font-size: 16px; color: var(--red); }
.agenda-aluno { font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rel-faixa { display: grid; gap: 6px; }
.rel-linha { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.rel-linha b { color: var(--navy); }
.rel-parado span { color: var(--red-deep); font-weight: 800; }
.rel-total { border-bottom: 0; font-weight: 800; }
.desempenho th, .desempenho td { text-align: right; }
.desempenho th:first-child { text-align: left; }
.desempenho .g-total th, .desempenho .g-total td { font-weight: 800; border-bottom: 0; }
@media (max-width: 760px) { .agenda-linha { grid-template-columns: 54px 1fr auto; } .agenda-linha .tag, .agenda-linha .chip-onde, .agenda-tipo { grid-column: 2; } }
.desempenho tbody th, .desempenho tfoot th { text-transform: none; font-size: 13px; color: var(--navy); letter-spacing: 0; }
.rel-hoje .lbl-linha .link { white-space: nowrap; }
.dividir { margin-top: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; display: grid; gap: 8px; }
.dividir-quem { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.dividir-plano { display: grid; gap: 4px; font-size: 13px; }
.plano-linha b { color: var(--navy); }

/* ---------- Início da gestão: agenda em calendário, três cartões, Equipe hoje ---------- */
.agenda-cal { display: grid; grid-template-columns: 112px 1fr; max-width: 900px; margin-top: 18px; background: #fff; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; box-shadow: 0 10px 28px #f5b80022; }
.ag-data { background: linear-gradient(180deg, #ffd23f, #ffb800); color: var(--navy); display: grid; align-content: center; justify-items: center; padding: 16px 8px; text-align: center; }
.ag-data small { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.ag-data b { font-family: var(--display); font-size: 48px; line-height: 1; }
.ag-data span { font-size: 13px; font-weight: 700; }
.ag-corpo { padding: 16px 20px; }
.ag-cab { display: grid; justify-items: start; gap: 6px; margin-bottom: 10px; }
.ag-cab h2 { margin: 0; font-family: var(--display); font-size: 20px; color: var(--navy); }
.ag-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.ag-chip { background: var(--gold-l); color: #6b4e00; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 800; }
.ag-linha-tempo { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 3px solid #ffd23f; display: grid; gap: 8px; }
.ag-item { position: relative; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 6px 12px; align-items: center; padding: 8px 10px; border-radius: 12px; cursor: pointer; }
.ag-item::before { content: ''; position: absolute; left: -22px; top: 50%; width: 11px; height: 11px; border-radius: 50%; background: #ffb800; border: 2px solid #fff; transform: translateY(-50%); }
.ag-item:hover { background: var(--cream); }
.ag-hora { min-width: 48px; font-family: var(--display); font-size: 18px; color: var(--red); }
.ag-tipo { font-weight: 700; color: var(--navy); }
.ag-aluno { font-weight: 800; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-tags { display: flex; gap: 4px; align-items: center; }
.ag-vazio { color: var(--gray); margin: 8px 0; }
.g-tres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px; align-items: start; }
.g-card .g-item { align-items: flex-start; }
.g-card .g-item br + .tag, .g-card .g-item br + .chip { margin-left: 0; }
.equipe-hoje { margin-top: 16px; }
.g-tabela-caixa { overflow-x: auto; }
.equipe-tabela { min-width: 640px; }
.equipe-tabela th, .equipe-tabela td { text-align: right; }
.equipe-tabela th:first-child { text-align: left; }
.equipe-tabela thead th { cursor: help; white-space: nowrap; }
.equipe-tabela tbody th { color: var(--navy); font-size: 13px; text-transform: none; letter-spacing: 0; }
.equipe-tabela td.g-zero { color: var(--red-deep); font-weight: 800; }
.equipe-tabela td.g-carregando { color: var(--gray); }
.gestao-meta-primeiro .meta-unidade { order: -1; }
@media (max-width: 1100px) { .g-tres { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  .agenda-cal { grid-template-columns: 1fr; }
  .ag-data { grid-auto-flow: column; gap: 10px; justify-content: start; padding: 10px 16px; }
  .ag-data b { font-size: 30px; }
}
.painel-secao.gestao-meta-primeiro { grid-template-columns: 1fr 2.3fr; }
@media (max-width: 900px) { .painel-secao.gestao-meta-primeiro { grid-template-columns: 1fr; } }
/* Relatório comercial: Passivo e Ativo, texto simples (sem ícones) */
.at-card header b { font-family: var(--display); font-size: 17px; }
.at-bloco { display: grid; gap: 2px; }
.at-bloco + .at-bloco { border-top: 1px solid var(--line); padding-top: 10px; }
.at-total .at-bloco + .at-bloco { border-top-color: #ffffff33; }
.at-bloco-tit { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--red); margin-bottom: 4px; }
.at-total .at-bloco-tit { color: #ffd23f; }
.at-bloco-tit small { font-weight: 700; letter-spacing: .04em; color: var(--gray); margin-left: 4px; }
.at-total .at-bloco-tit small { color: #ffffffa6; }
.at-linha { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 3px 0; font-size: 14px; }
.at-linha b { font-family: var(--display); font-size: 22px; line-height: 1.1; }
.at-linha em { display: block; font-style: normal; font-size: 11px; color: var(--gray); font-weight: 600; }
.at-total .at-linha em { color: #ffffffa6; }
.at-parado .at-linha b { color: var(--red-deep); }
.at-metricas { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.at-grupo { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; background: #fff; border: 1.5px solid var(--line); border-radius: 999px; padding: 3px 4px 3px 12px; }
.at-grupo b { font-size: 12px; color: var(--gray); margin-right: 4px; }
.at-grupo button { border: 0; background: transparent; border-radius: 999px; padding: 5px 12px; font: inherit; font-size: 13px; font-weight: 700; color: var(--gray); cursor: pointer; }
.at-grupo button.on { background: var(--navy); color: #fff; }
@media (max-width: 900px) { .at-metricas { align-items: stretch; } }
.equipe-tabela .g-grupos th { border-bottom: 0; padding-bottom: 0; }
.equipe-tabela .g-grupo { text-align: center !important; color: var(--red); font-weight: 800; border-bottom: 2px solid var(--red) !important; }
.equipe-tabela .g-ini { border-left: 1px solid var(--line); }

/* Início da gestão: revisão 110 */
.g-subtit { color: var(--gray); font-size: 13px; margin: -2px 0 8px; }
.g-ret { padding: 8px 0 10px; }
.g-ret + .g-ret { border-top: 1px dashed var(--line); }
.g-ret-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; color: var(--navy); }
.g-ret p { margin: 3px 0; font-size: 14px; }
.g-ret p.g-ret-atraso { color: var(--red-deep); }
.g-painel-largo { margin-top: 16px; }
.g-painel-largo .painel-performance { width: 100%; }
.g-desempenho-meta { grid-template-columns: minmax(0, 640px) minmax(220px, 300px); justify-content: start; align-items: start; }
.g-desempenho .desempenho { min-width: 0; }
@media (max-width: 900px) { .g-desempenho-meta { grid-template-columns: 1fr; } }
.equipe-tabela .g-grupos th { padding-top: 4px; }
.equipe-tabela .g-ini { border-left: 2px solid var(--line) !important; }
.equipe-tabela th.g-vend { vertical-align: bottom; }

/* Total da unidade no vermelho do portal (texto branco, contraste 4.6:1) */
.at-total { background: #E30613; border-color: #E30613; color: #fff; }
.at-total header b, .at-total .at-linha span, .at-total .at-linha b { color: #fff; }
.at-total .at-bloco-tit { color: #fff; }
.at-total .at-bloco-tit small, .at-total .at-linha em, .at-total small, .at-total em { color: #ffffffd9 !important; }
.at-total .at-bloco + .at-bloco { border-top-color: #ffffff55; }
.at-total .at-barra { background: #ffffff40; }
.at-total .at-barra i { background: #fff; }

/* Tela Hoje (revisão 111) */
.hoje-pagina { max-width: 920px; }
.hoje-topo { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.hoje-topo h1 { margin: 2px 0 0; }
.hoje-filtros { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.hoje-filtros .segmento button { padding: 5px 12px; font-size: 13px; }
.hoje-indicadores { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 16px 0 6px; }
.hoje-ind { text-align: left; background: var(--paper); border: 1px solid var(--line); border-left: 6px solid var(--navy); border-radius: 14px; padding: 12px 14px; cursor: pointer; display: grid; gap: 2px; font: inherit; color: var(--navy); transition: .15s; }
.hoje-ind:hover { transform: translateY(-2px); box-shadow: 0 6px 16px #1b223a1a; }
.hoje-ind b { font-family: var(--display); font-size: 32px; line-height: 1.1; }
.hoje-ind-tit { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.hoje-ind small { color: var(--gray); font-size: 12px; }
.hoje-ind.ind-vermelho { border-left-color: var(--red); }
.hoje-ind.ind-vermelho b { color: var(--red); }
.hoje-ind.ind-cinza { border-left-color: #a8a8b3; }
.hoje-secao { background: #fff; border: 1px solid var(--line); border-left: 6px solid var(--navy); border-radius: 16px; padding: 14px 16px 8px; margin-top: 18px; scroll-margin-top: 12px; }
.hoje-secao.sec-vermelho { border-left-color: var(--red); }
.hoje-secao.sec-cinza { border-left-color: #a8a8b3; }
.hoje-secao header { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.hoje-secao h2 { margin: 0; font-family: var(--display); font-size: 19px; color: var(--navy); }
.hoje-secao-n { font-family: var(--display); font-weight: 800; font-size: 19px; color: var(--navy); }
.sec-vermelho .hoje-secao-n { color: var(--red); }
.hoje-secao header small { color: var(--gray); font-size: 12px; }
.hoje-secao .hoje-linha { margin-bottom: 8px; }
.hoje-secao.sec-cinza .hoje-linha { opacity: .8; }
.hoje-feitos { margin-top: 16px; color: var(--gray); font-size: 13px; }
/* Contato do gatilho */
.hoje-indicadores.quatro { grid-template-columns: repeat(4, 1fr); }
.hoje-ind.ind-gatilho { border-left-color: var(--gold); }
.hoje-secao.sec-gatilho { border-left-color: var(--gold); }
.aviso-gatilho { background: var(--gold-l); color: var(--navy); border-left: 4px solid var(--gold); }
.aviso-gatilho p { margin: 4px 0 0; }
.gatilho-progresso { display: block; margin-top: 4px; color: var(--gray); font-size: 12px; }
.gatilho-vendedoras { margin: 6px 0 0; padding: 0; list-style: none; font-size: 12px; color: var(--ink); }
.gatilho-vendedoras li { padding: 2px 0; }
.escopo-oferta { flex-wrap: wrap; border-radius: 14px; }
.unidades-escolha { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 4px 12px; max-height: 180px; overflow: auto; padding: 6px 0; }
@media (max-width: 760px) { .hoje-indicadores, .hoje-indicadores.quatro { grid-template-columns: 1fr; } }
@media (max-width: 1000px) and (min-width: 761px) { .hoje-indicadores.quatro { grid-template-columns: repeat(2, 1fr); } }

/* Criação sem espera: registro salvando / não salvou */
.chip-salvando { background: #eef0f5; color: var(--navy); display: inline-flex; align-items: center; gap: 5px; font-size: 11px; }
.giro-p { width: 9px; height: 9px; border-radius: 50%; border: 2px solid #1b223a33; border-top-color: var(--navy); animation: giro .8s linear infinite; display: inline-block; }
.criacao-erro { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; vertical-align: middle; }
.criacao-erro .btn { padding: 3px 9px; font-size: 11px; }
tr.linha-erro td { box-shadow: inset 0 1px 0 #e3061340, inset 0 -1px 0 #e3061340; }
tr.linha-erro td:first-child { box-shadow: inset 4px 0 0 var(--red); }
.criacao-aviso { margin-top: 12px; }
.criacao-aviso p { color: var(--gray); margin: 4px 0 8px; }

/* Meu painel (vendedora): mesma lógica do Início da gestão */
.vend-desafio { margin-top: 16px; max-width: 760px; }
.vend-desafio:empty { display: none; }
.g-card .lbl-linha { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.g-nota { color: var(--gray); font-size: 12.5px; margin-top: 6px !important; }
.ag-preparo { list-style: none; display: grid; gap: 4px; padding: 6px 12px 10px 66px; }
.ag-preparo .prep-linha { font-size: 13px; }

/* Modal Sua foto */
.foto-area { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin-top: 10px; }
.foto-quadro { width: 260px; height: 260px; border-radius: 18px; background: var(--cream); display: grid; place-items: center; overflow: hidden; position: relative; }
.foto-quadro canvas { width: 260px; height: 260px; cursor: grab; touch-action: none; border-radius: 50%; box-shadow: 0 0 0 2000px #1b223a33; }
.foto-quadro canvas:active { cursor: grabbing; }
.foto-lado { display: grid; gap: 10px; flex: 1; min-width: 180px; }
.foto-escolher { cursor: pointer; justify-self: start; }
.foto-zoom input { width: 100%; }
.foto-remover { margin-right: auto; color: var(--red-deep); }
.equipe-botoes { display: inline-flex; gap: 6px; margin-left: auto; }
.g-vend-nome { display: inline-flex; align-items: center; gap: 6px; }

/* Prévia da mensagem do WhatsApp */
.msg-previa { white-space: pre-wrap; background: #e7ffdb; border-radius: 12px 12px 12px 4px; padding: 12px 14px; font-size: 14px; line-height: 1.45; color: #111; max-height: 50vh; overflow: auto; box-shadow: 0 1px 1px #0000001a; }

/* Preparo por passo (briefing) */
.prep-passo { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.briefing { display: grid; gap: 12px; margin-top: 8px; max-height: 60vh; overflow: auto; padding-right: 4px; }
.b-secao { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; display: grid; gap: 10px; background: #fff; }
.b-secao > .lbl { margin: 0; }
.b-sn label { padding: 4px 12px; }
.b-dias { display: flex; flex-wrap: wrap; gap: 6px; }
.b-dia { border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px; cursor: pointer; font-weight: 700; font-size: 13px; }
.b-dia input { display: none; }
.b-dia.on { background: var(--navy); color: #fff; border-color: var(--navy); }
.b-checklist .check-linha { padding: 4px 0; }
.b-ofertas { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 6px 26px; }
.b-nivel { font-size: 14px; color: var(--navy); }
.b-ficha-niv { margin: 0 0 0 26px; padding: 10px 14px; list-style: none; background: var(--cream); border-radius: 10px; display: grid; gap: 4px; font-size: 13px; color: var(--ink); }
.b-copiar { display: flex; justify-content: flex-end; }
.b-salvo { margin-right: auto; color: var(--ok); font-weight: 700; align-self: center; }
#b-previa { margin-top: 10px; }
.preparo-passo + .preparo-passo { margin-top: 10px; border-top: 1px dashed var(--line); padding-top: 8px; }
.preparo-itens { display: grid; grid-template-columns: max-content 1fr; gap: 3px 10px; margin: 6px 0 0; font-size: 13px; }
.preparo-itens dt { color: var(--gray); }
.preparo-itens dd { margin: 0; }

/* Cartão Retornos de hoje (119) */
.cartao-retornos .ret-planilha { padding: 8px 0 6px; }
.cartao-retornos .ret-planilha + .ret-planilha { border-top: 1px dashed var(--line); }
.cartao-retornos .ret-nome { color: var(--navy); font-size: 14px; }
.cartao-retornos .ret-planilha p { margin: 3px 0; font-size: 14px; }
.cartao-retornos .ret-cinza { color: var(--gray); font-size: 12px; margin-left: 4px; }
.cartao-retornos .ret-atraso { color: var(--red-deep); }
.cartao-retornos .ret-total { border-top: 2px solid var(--line); margin-top: 6px; padding-top: 8px; font-weight: 800; color: var(--navy); font-size: 15px; }

/* Meu painel: Desafio e Painel à esquerda (mesma largura), Meta da semana à direita na altura dos dois (120) */
.vend-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); gap: 16px; margin-top: 16px; align-items: stretch; }
.vend-esquerda { display: grid; gap: 16px; align-content: start; min-width: 0; }
.vend-esquerda .desafio { margin: 0; }
@media (max-width: 900px) { .vend-grade { grid-template-columns: 1fr; } }

/* Meta da semana (121): título grande, alvo em destaque, progresso enorme e barra simples */
.meta-card { border: 2px solid var(--navy); background: linear-gradient(180deg, #fff, var(--cream)); display: flex; flex-direction: column; gap: 6px; justify-content: center; }
.meta-titulo { margin: 0; font-family: var(--display); font-size: 26px; color: var(--navy); }
.meta-alvo b { font-family: var(--display); font-size: 28px; color: var(--red); }
.meta-alvo span { color: var(--gray); font-weight: 700; }
.meta-progresso { font-family: var(--display); color: var(--navy); line-height: .95; }
.meta-progresso b { font-size: 92px; font-weight: 800; }
.meta-progresso span { font-size: 44px; font-weight: 800; color: #1b223a99; }
.meta-barra { height: 14px; border-radius: 99px; background: #1b223a1a; overflow: hidden; }
.meta-barra i { display: block; height: 100%; border-radius: 99px; background: var(--red); }
.meta-barra i.meta-ok { background: var(--ok); }
.meta-situacao { font-weight: 800; font-size: 14px; }
.meta-situacao.meta-frio { color: #2563eb; } .meta-situacao.meta-morno { color: #b77800; } .meta-situacao.meta-quente, .meta-situacao.meta-ok { color: var(--red); }
.meta-situacao.meta-ok { color: var(--ok); }
.meta-compromisso { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; font-weight: 800; color: var(--navy); font-size: 14px; margin-top: 4px; }
.meta-definir { margin-top: 6px; justify-self: start; align-self: flex-start; }
.meta-linha-semana { font-weight: 800; color: var(--navy); font-size: 13px; margin-top: 6px; }
.meta-card .meta-periodo { color: var(--gray); font-size: 12px; }
.meta-card .meta-nota { color: var(--gray); margin: 0; font-weight: 700; }
.meta-card .meta-sub { color: var(--navy); font-weight: 700; }
/* Compromisso */
.compromisso-campo { display: flex; align-items: center; gap: 12px; margin: 14px 0 6px; }
.compromisso-campo input { width: 110px; font-family: var(--display); font-size: 40px; font-weight: 800; text-align: center; padding: 6px; border-radius: 14px; border: 2px solid var(--navy); }
.compromisso-campo span { font-weight: 700; color: var(--navy); }
.g-compromissos { margin-top: 16px; max-width: 640px; }
.compromissos-tabela td, .compromissos-tabela th { text-align: left; }
.pct-ok { color: var(--ok); }
.compromisso-historico td { text-align: center; white-space: nowrap; }
.compromisso-historico td.cp-ok { color: var(--ok); }
.compromisso-historico td.cp-abaixo { color: var(--red-deep); }
.compromisso-historico td.cp-sem { color: var(--gray); }

/* Ranking dos Desafios Portal AGM e extrato de pontos */
.ranking-desafios { margin-top: 16px; }
.ranking-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 320px); gap: 20px; align-items: start; }
@media (max-width: 900px) { .ranking-grade { grid-template-columns: 1fr; } }
.como-pontuar { background: var(--cream); border-radius: 14px; padding: 10px 12px; }
.como-pontuar td { font-size: 13px; padding: 4px 0; }
.como-pontuar td:last-child { text-align: right; font-weight: 800; white-space: nowrap; }
.pts-pos { color: var(--ok); }
.pts-neg { color: var(--red-deep); }
.pts-botao { background: none; border: 1px solid var(--line); border-radius: 999px; padding: 2px 10px; cursor: pointer; font: inherit; font-weight: 800; color: var(--navy); }
.pts-botao:hover { border-color: var(--navy); }
.extrato-total { display: flex; justify-content: space-between; align-items: baseline; background: var(--navy); color: #fff; border-radius: 14px; padding: 10px 16px; margin: 10px 0; }
.extrato-total b { font-family: var(--display); font-size: 32px; }
.extrato { max-height: 55vh; overflow: auto; display: grid; gap: 10px; }
.extrato-dia { border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; background: #fff; }
.extrato-cab { display: flex; gap: 10px; align-items: baseline; border-bottom: 1px dashed var(--line); padding-bottom: 6px; margin-bottom: 4px; }
.extrato-cab small { margin-left: auto; color: var(--gray); font-weight: 700; }
.extrato-linha { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; font-size: 13.5px; }
.pontos-gestao td, .pontos-gestao th { text-align: left; }

/* Qualidade do preenchimento */
.preenchimento { margin: 2px 0 8px; font-size: 13px; color: var(--navy); }
.preenchimento.ok { color: var(--ok); }
.preenchimento .link { font-size: 13px; }
.pre-painel { color: var(--gray); font-weight: 600; cursor: help; }
.erro-lixo { display: block; color: var(--red-deep); font-weight: 700; font-size: 12px; margin-top: 3px; }
.campo-foco input, .campo-foco select { outline: 3px solid var(--gold); }
.painel-grade:has(.num-qualidade) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1100px) { .painel-grade:has(.num-qualidade) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Retornos quentes de hoje: destaque quente (só este cartão) */
.g-card.card-quentes { border: 3px solid transparent; background: linear-gradient(180deg, #fff6ef, #fffaf6) padding-box, linear-gradient(135deg, #e30613, #ff8a00) border-box; box-shadow: 0 10px 26px #ff6a0026; }
.card-quentes .quentes-cab { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
.card-quentes .quentes-cab .lbl { color: #b42318; margin: 0; }
.card-quentes .quentes-chama { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg, #ff8a00, #e30613); color: #fff; font-size: 15px; box-shadow: 0 3px 10px #e3061340; }

/* Meta aguardando liberação, compromisso e liberação pela AGM (125) */
.meta-aguarda { margin: 0; font-weight: 800; color: #8a6100; background: var(--gold-l); border-radius: 10px; padding: 6px 10px; justify-self: start; align-self: flex-start; }
.meta-compromisso { display: inline-block; align-self: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 4px 12px; font-weight: 800; color: var(--navy); font-size: 13px; margin-top: 4px; }
.meta-definir.pulsa { animation: pulsar 1.6s ease-in-out infinite; }
@keyframes pulsar { 0%, 100% { box-shadow: 0 0 0 0 #e3061355; } 50% { box-shadow: 0 0 0 8px #e3061300; } }
@media (prefers-reduced-motion: reduce) { .meta-definir.pulsa { animation: none; } }
.flag-compromisso { margin-top: 6px; color: var(--red-deep); font-weight: 800; font-size: 14px; }
.liberar-meta { margin-top: 16px; border: 2px dashed var(--navy); }
.liberar-linha { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin: 6px 0; }
.liberar-linha .campo { width: 160px; }
.compromisso-campo input { -moz-appearance: textfield; }

/* Ranking em pódio (126) */
.ranking-desafios { padding-top: 0; overflow: hidden; border: 2px solid #f0c64a; }
.ranking-faixa { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 -18px 14px; padding: 14px 18px 12px; background: linear-gradient(135deg, #fff3c4, #ffe08a 55%, #ffd23f); border-bottom: 1px solid #f0c64a; }
.ranking-titulo { margin: 0; font-family: var(--display); font-size: 24px; font-weight: 800; color: var(--navy); }
.ranking-titulo span { color: var(--red); }
.ranking-sub { margin: 2px 0 0; color: #6b4e00; font-size: 13px; font-weight: 600; }

/* Ranking em lista (127): medalha no avatar, nome, barra e pontos */
.rk-lista { display: grid; gap: 6px; }
.rk-linha { display: grid; grid-template-columns: 52px minmax(90px, 160px) 1fr auto; align-items: center; gap: 12px; padding: 7px 10px; border-radius: 14px; background: none; border: 1px solid transparent; font: inherit; color: var(--navy); text-align: left; width: 100%; }
button.rk-linha { cursor: pointer; }
button.rk-linha:hover { border-color: var(--line); background: #fff; }
.rk-linha.lider { background: linear-gradient(90deg, #fff4cc, #fffaf0); border-color: #f0c64a; }
.rk-linha.eu { box-shadow: inset 3px 0 0 var(--red); }
.rk-foto { position: relative; display: inline-block; width: 44px; height: 44px; }
.av.av-rk { width: 40px; height: 40px; font-size: 17px; }
.rk-linha .medalha { position: absolute; right: -4px; bottom: -4px; width: 24px; height: 24px; }
.rk-linha .selo-pos { position: absolute; right: -2px; bottom: -2px; width: 20px; height: 20px; font-size: 11px; }
.rk-nome { font-weight: 800; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rk-voce { font-size: 11px; font-weight: 800; color: #fff; background: var(--red); border-radius: 999px; padding: 1px 8px; margin-left: 4px; vertical-align: middle; }
.rk-barra { height: 12px; background: #1b223a12; border-radius: 99px; overflow: hidden; }
.rk-barra i { display: block; height: 100%; border-radius: 99px; background: var(--navy); }
.rk-barra i.minha { background: var(--red); }
.rk-barra i.ouro { background: linear-gradient(90deg, #ffd23f, #d4a017); }
.rk-pts { font-family: var(--display); font-size: 22px; font-weight: 800; min-width: 74px; text-align: right; }
.rk-pts small { font-size: 12px; color: var(--gray); }
@media (max-width: 600px) { .rk-linha { grid-template-columns: 48px 1fr auto; } .rk-barra { grid-column: 1 / -1; } }

/* Ver meu extrato: botão cheio, com lupa */
.btn-extrato { display: inline-flex; align-items: center; gap: 7px; background: var(--navy); color: #fff; border: 0; border-radius: 999px; padding: 8px 16px; font: inherit; font-weight: 800; font-size: 13px; cursor: pointer; box-shadow: 0 4px 12px #1b223a33; transition: background .15s; }
.btn-extrato svg { width: 16px; height: 16px; }
.btn-extrato:hover, .btn-extrato:focus-visible { background: #0d1224; }
/* Selo neutro de posição (4º em diante) no avatar do ranking */
.selo-pos { position: absolute; right: -2px; bottom: -2px; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 2px solid var(--navy); color: var(--navy); font-weight: 800; font-size: 11px; line-height: 1; display: grid; place-items: center; box-shadow: 0 1px 3px #0003; }

/* Importar planilha e Atendimentos de ciclo anterior */
.tele-botoes { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.btn-ciclo { background: transparent; color: #c2410c; border: 1.5px solid #ff7a45; }
.btn-ciclo:hover { background: #fff4ec; }
.chip-ciclo { background: #fff1e6; color: #b42318; border: 1px solid #ffb48a; font-size: 11px; align-self: flex-start; justify-self: start; width: fit-content; }
.contexto-lead { margin: 2px 0 0; color: var(--gray); font-size: 13px; }
.contexto-dica { color: var(--gray); font-size: 12px; cursor: help; }
.imp-fontes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.imp-fonte { border: 2px solid var(--line); border-radius: 14px; padding: 12px; display: grid; gap: 6px; cursor: pointer; background: #fff; }
.imp-fonte.on { border-color: var(--navy); box-shadow: 0 0 0 3px #1b223a14; }
.imp-fonte input[type=radio] { justify-self: start; }
.imp-fonte small { color: var(--gray); }
.imp-fonte input:not([type=radio]), .imp-fonte select { width: 100%; }
.imp-carregando { padding: 30px 0; text-align: center; font-weight: 700; color: var(--navy); }
.imp-filtros { border: 1px solid var(--line); border-radius: 14px; padding: 10px 14px; background: #fff; display: grid; gap: 4px; margin-bottom: 10px; }
.imp-filtro b { margin-left: auto; padding-left: 10px; }
.imp-filtro { display: flex; align-items: center; gap: 8px; }
.imp-filtro.zero { color: var(--gray); }
.imp-total { border-top: 1px dashed var(--line); padding-top: 8px; margin-top: 4px; font-weight: 800; color: var(--navy); }
.imp-total b { font-size: 18px; }
.imp-divisao { display: grid; gap: 10px; margin-top: 8px; }
.imp-filtros-tit { font-size: 15px; color: var(--navy); margin-bottom: 4px; }
.imp-ajuda { margin: 0; font-size: 13px; color: var(--navy); font-weight: 600; }
.imp-sub { font-size: 13px; font-weight: 800; color: var(--navy); }
.imp-originais { display: grid; gap: 6px; }
.imp-orig { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; background: #fff; }
.imp-orig.saiu span { color: var(--gray); text-decoration: line-through; }
.imp-redistribuir { border: 1.5px solid #ff7a45; border-radius: 12px; padding: 10px 12px; background: #fff8f3; display: grid; gap: 6px; }
.imp-ciclos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.imp-ciclo { display: flex; flex-direction: column; gap: 3px; border: 1.5px solid var(--linha, #e4e7ec); border-radius: 12px; padding: 10px 12px; cursor: pointer; background: #fff; }
.imp-ciclo input { position: absolute; opacity: 0; pointer-events: none; }
.imp-ciclo b { font-size: 17px; }
.imp-ciclo small { color: #667085; }
.imp-ciclo.on { border-color: #ff7a45; box-shadow: 0 0 0 3px #ffe4d5; }
.imp-ciclo:focus-within { outline: 2px solid #ff7a45; outline-offset: 2px; }
#imp-ja { margin-top: 12px; }
@media (max-width: 700px) { .imp-fontes { grid-template-columns: 1fr; } }

/* ---------- Telemarketing: um foco só (a ligação), o resto plano ---------- */
.acoes-grupo-cartoes { gap: 0; border-top: 1px solid var(--line); }
.acao-card.acao-linha { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-left: 4px solid transparent; border-radius: 0; padding: 10px 10px 10px 12px; gap: 3px; }
.acao-card.acao-linha:hover { background: #fff; border-color: var(--line); border-left-color: #d0d5dd; }
.acao-card.acao-linha.sel { background: #fff; border-left-color: var(--red); border-bottom-color: var(--line); }
.acao-linha-nome { font-size: 14px; line-height: 1.25; }
.acao-linha-info { display: flex; align-items: center; gap: 8px; }
.acao-linha-info small { color: var(--gray); font-size: 12px; }
.acao-linha .flag-mailing { margin-top: 0; }
.acao-linha .mini-funil { height: 4px; margin: 4px 0 0; }
.grupo-anteriores { border-left: 0; padding-left: 0; }
.acoes-grupo-tit { font-size: 11px; }
.acao-titulo { background: none; border: 0; padding: 0; align-items: flex-start; margin-bottom: 8px; }
.acao-titulo h2 { font-size: 26px; }
.acao-meta { color: var(--gray); font-size: 13px; margin-top: 4px; }
.btn-link-edit { background: transparent; border: 0; color: var(--navy); text-decoration: underline; padding: 4px 0; flex: none; }
.btn-link-edit:hover { color: var(--red); }
.numeros { margin-bottom: 14px; }
.numeros-linha { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 0; font-size: 14px; color: var(--navy); }
.numeros-linha > * + *::before { content: '·'; color: var(--gray); margin: 0 8px; font-weight: 400; text-decoration: none; display: inline-block; }
.numeros-int { font-size: 14px; color: var(--ok, #12805c); text-decoration: underline; padding: 0; }
.numeros-int b { font-weight: 800; }
.numeros-mudo { color: var(--gray); }
.numeros-barra { height: 6px; margin-top: 8px; }
.fila-card.ligue { border: 2px solid var(--red); box-shadow: 0 8px 24px #e3061318; }
.ligue-cab { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.ligue-rotulo { color: var(--red); font-weight: 900; font-size: 15px; letter-spacing: .05em; text-transform: uppercase; }
.ligue-faltam { color: var(--gray); font-size: 12px; }
.ligue-nome { font-family: var(--display); font-size: 30px; margin: 8px 0 0; line-height: 1.1; }
.fila-card.ligue .contexto-lead { font-size: 13px; color: var(--gray); margin: 4px 0 0; }
.ligue-dados { font-size: 13px; color: var(--gray); margin: 2px 0 0; min-height: 0; }
.ligue-dados:empty { display: none; }
.fila-card.ligue .fila-tel b { font-size: 26px; }
.col-n { width: 36px; color: var(--gray); font-variant-numeric: tabular-nums; text-align: right; }
.tabela tr.linha.atual td { background: #fff1f0; }
.tabela tr.linha.atual td:first-child { box-shadow: inset 4px 0 0 var(--red); color: var(--red); font-weight: 800; }
@media (max-width: 1100px) { .acao-card.acao-linha { min-width: 220px; border-bottom: 0; border-left-width: 0; border-top: 3px solid transparent; } .acao-card.acao-linha.sel { border-top-color: var(--red); } }
.prosp .tabela th, .prosp .tabela td { padding-left: 9px; padding-right: 9px; }
.prosp .tabela .trunc2 { max-width: 220px; }

/* ---------- Lista de planilhas como painel de escolha ---------- */
.prosp { gap: 0; }
.prosp > section { padding-left: 20px; border-left: 1px solid #d9d2c3; }
.acoes-lista { background: #ece7dd; border-radius: 16px; padding: 12px 10px; gap: 14px; margin-right: 20px; }
.acoes-escolha { font-size: 12px; font-variant: small-caps; text-transform: lowercase; letter-spacing: .08em; font-weight: 800; color: #475467; padding: 0 4px; font-size: 15px; }
.acoes-grupo-tit { padding: 0 4px; }
.acoes-grupo-cartoes { border-top: 0; gap: 6px; }
.acao-card.acao-linha { position: relative; background: #fff; border: 1px solid #e4ddcf; border-left: 1px solid #e4ddcf; border-radius: 10px; padding: 8px 28px 8px 10px; gap: 2px; box-shadow: 0 1px 2px #0f274714; cursor: pointer; transition: transform .12s, box-shadow .12s, background .12s, border-color .12s; }
.acao-card.acao-linha:hover { transform: translateY(-1px); box-shadow: 0 4px 10px #0f274722; border-color: var(--navy); border-left-color: var(--navy); background: #f6f8fc; }
.acao-chevron { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 22px; line-height: 1; color: #98a2b3; }
.acao-card.acao-linha:hover .acao-chevron { color: var(--navy); }
.acao-linha-topo { display: flex; align-items: flex-start; gap: 6px; justify-content: space-between; }
.acao-aberta { flex: none; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; background: #fff; color: var(--navy); border-radius: 99px; padding: 2px 7px; margin-top: 1px; }
.acao-card.acao-linha.sel { background: var(--navy); border-color: var(--navy); border-left-color: var(--navy); color: #fff; box-shadow: 0 4px 12px #0f274740; }
.acao-card.acao-linha.sel:hover { background: var(--navy); transform: none; }
.acao-card.acao-linha.sel .acao-linha-nome, .acao-card.acao-linha.sel small { color: #fff; }
.acao-card.acao-linha.sel .acao-chevron { color: #fff; }
.acao-card.acao-linha.sel .flag-mailing { color: #ffb3c1; }
.acao-card.acao-linha.sel .mini-funil { background: #ffffff; }
.acao-card.acao-linha.sel .tag { box-shadow: 0 0 0 1px #ffffff55; }
.acao-card.acao-linha.sel .mini-funil .f-cinza { background: #ffffff; }
.acao-card.acao-linha.sel .mini-funil .f-azul { background: #8fb3ff; }
@media (max-width: 1100px) {
  .prosp > section { padding-left: 0; border-left: 0; }
  .acoes-lista { margin-right: 0; margin-bottom: 14px; }
  .acao-card.acao-linha, .acao-card.acao-linha.sel { border-top: 1px solid #e4ddcf; }
}

.aviso-neutro { background: #eef2f7; color: var(--navy); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* ---------- Meu compromisso da semana ---------- */
.meu-compromisso { margin: 8px 0 2px; background: #fff4cc; border-left: 6px solid #e0a100; border-radius: 12px; padding: 12px 14px; display: grid; gap: 6px; }
.meu-compromisso.cumprido { background: #e7f6ee; border-left-color: var(--ok); }
.meu-compromisso-tit { font-weight: 900; font-size: 16px; color: var(--navy); }
.meu-compromisso-num { font-family: var(--display); color: var(--navy); line-height: 1; }
.meu-compromisso-num b { font-size: 56px; font-weight: 800; }
.meu-compromisso-num span { font-size: 28px; font-weight: 800; color: #1b223aa6; }
.meu-compromisso-barra { height: 12px; border-radius: 99px; background: #1b223a1a; overflow: hidden; }
.meu-compromisso-barra i { display: block; height: 100%; border-radius: 99px; background: #e0a100; }
.meu-compromisso.cumprido .meu-compromisso-barra i { background: var(--ok); }
.meu-compromisso-frase { font-weight: 800; font-size: 14px; color: #7a5a00; }
.meu-compromisso.cumprido .meu-compromisso-frase { color: var(--ok); }
.chip-compromisso { vertical-align: middle; margin-left: 12px; font: 800 14px/1 var(--body, inherit); letter-spacing: 0; background: #fff4cc; color: #7a5a00; border: 1.5px solid #e0a100; border-radius: 99px; padding: 7px 12px; cursor: pointer; }
.chip-compromisso.cumprido { background: #e7f6ee; color: var(--ok); border-color: var(--ok); }
.hoje-compromisso { margin: 4px 0 0; font-size: 13px; color: #7a5a00; }
.hoje-compromisso b { background: #fff4cc; border: 1px solid #e0a100; border-radius: 99px; padding: 2px 8px; }
.hoje-compromisso.cumprido { color: var(--ok); }
.saudacao .chip-compromisso { font-family: var(--display); font-size: 15px; font-weight: 800; line-height: 1; position: relative; top: -6px; }

/* ---------- Caminho da conversa (passo a passo do nivelamento, aula e visita) ---------- */
.caminho { display: grid; gap: 10px; max-height: 62vh; overflow: auto; padding-right: 4px; }
.caminho-secao { display: grid; grid-template-columns: 34px 1fr; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 16px 10px 12px; }
.caminho-num { width: 30px; height: 30px; border-radius: 50%; background: var(--gold); color: var(--navy); display: grid; place-items: center; font-family: var(--display); font-weight: 800; }
.caminho-secao h4 { margin: 4px 0 6px; font-family: var(--display); font-size: 16px; color: var(--navy); }
.caminho-secao ul { margin: 0; padding-left: 18px; display: grid; gap: 5px; font-size: 14px; line-height: 1.45; }

/* ---------- Meta da semana: topo da semana, espera da liberação e faixa Seg a Sáb ---------- */
.meta-topo { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.meta-semana-chip { background: var(--navy); color: #fff; font-weight: 800; font-size: 12px; border-radius: 999px; padding: 4px 10px; }
.meta-card.meta-aguardando { gap: 12px; justify-content: flex-start; }
.meta-espera { display: flex; gap: 12px; align-items: center; background: var(--gold-l); border-radius: 14px; padding: 12px 14px; }
.meta-espera-ic { width: 40px; height: 40px; flex: none; border-radius: 50%; background: var(--gold); display: grid; place-items: center; font-size: 20px; }
.meta-espera b { display: block; color: #6b4e00; font-size: 15px; }
.meta-espera small { display: block; color: #6b4e00; font-size: 12.5px; line-height: 1.35; margin-top: 2px; }
.meta-ate-agora-lbl { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gray); }
.meta-ate-agora .meta-progresso b { font-size: 72px; }
.meta-dias { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-top: 4px; }
.meta-dia { display: grid; justify-items: center; gap: 3px; padding: 6px 0; border-radius: 12px; background: #fff; border: 1px solid var(--line); }
.meta-dia-n { font-family: var(--display); font-weight: 800; font-size: 18px; color: #1b223a55; min-height: 22px; }
.meta-dia.teve .meta-dia-n { color: var(--navy); }
.meta-dia small { font-size: 11px; font-weight: 700; color: var(--gray); }
.meta-dia.hoje { border: 2px solid var(--navy); background: var(--gold-l); }
.meta-dia.futuro { opacity: .45; border-style: dashed; }
.meta-card.meta-liberada { justify-content: flex-start; gap: 10px; }
.meta-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.meta-alvo-chip { background: var(--red-l); color: var(--red-deep); font-weight: 800; font-size: 13px; border-radius: 999px; padding: 5px 12px; }
.meta-alvo-chip b { font-family: var(--display); font-size: 16px; }
.meta-quem { margin-top: 4px; }
.meta-quem-lbl { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gray); margin-bottom: 6px; }
.meta-quem-lista { display: flex; flex-wrap: wrap; gap: 6px; }
.meta-quem-item { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 3px 10px 3px 3px; font-weight: 700; font-size: 13px; color: var(--navy); }
.meta-quem-item .av { width: 24px; height: 24px; font-size: 11px; }
.meta-quem-item b { font-family: var(--display); font-size: 15px; background: var(--gold-l); border-radius: 999px; padding: 0 7px; }
.imp-exemplo { margin-top: 8px; justify-self: start; align-self: flex-start; }
.imp-exemplo-nota { color: var(--gray); font-size: 12px; }

/* ---------- Meta da semana: faixa da comissão (Mini meta, Meta, Super meta) e alerta de incentivo ---------- */
.meta-faixa { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: 13px; color: var(--navy); background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 4px 12px; }
.meta-faixa-super { border-color: #e0a100; color: #7a5a00; }
.meta-minha-comissao { font-weight: 700; font-size: 13px; color: var(--navy); }
.meta-alerta-comissao { background: #fff4cc; border-left: 6px solid #e0a100; border-radius: 12px; padding: 10px 14px; color: #6b4e00; display: grid; gap: 2px; }
.mac-tit { font-weight: 800; font-size: 15px; }
.mac-valores { display: flex; align-items: baseline; gap: 10px; font-family: var(--display); font-weight: 800; }
.mac-de { font-size: 20px; color: #a8873b; text-decoration: line-through; text-decoration-thickness: 2px; }
.mac-seta { font-size: 20px; }
.mac-para { font-size: 30px; color: #0f7a3d; }
.mac-sub { font-size: 12.5px; font-weight: 600; }
.imp-outras { margin: 8px 0 4px; padding: 8px 12px; border-radius: 10px; background: var(--gold-l); color: #6b4e00; font-size: 13px; line-height: 1.4; }

/* Meu painel (Juliana): Desafio, Meta da semana e Painel de performance empilhados, na mesma largura.
   A Meta fica horizontal, em colunas: número e faixa | comissão, ritmo e quem matriculou | meu compromisso. */
.meta-card .meta-col { display: contents; }
.meta-card.meta-horizontal { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
.meta-card.meta-horizontal .meta-col { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.meta-card.meta-horizontal .meta-col + .meta-col { border-left: 1px dashed var(--line); padding-left: 22px; }
.meta-card.meta-horizontal .meta-definir { align-self: stretch; }
.vend-direita { min-height: 1px; }
@media (max-width: 1100px) { .meta-card.meta-horizontal { grid-auto-flow: row; } .meta-card.meta-horizontal .meta-col + .meta-col { border-left: 0; padding-left: 0; } }

/* Meu painel: a unidade toda no ciclo (como no portal antigo), na coluna da direita */
.unidade-ciclo { border: 2px solid var(--navy); background: #fff; display: flex; flex-direction: column; gap: 0; align-self: start; }
.uc-kicker { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.uc-titulo { margin: 4px 0 10px; font-family: var(--display); font-size: 20px; color: var(--navy); line-height: 1.15; }
.uc-num { border-top: 1px solid var(--line); padding: 12px 0 10px; }
.uc-num .lbl { margin: 0; }
.uc-num b { display: block; font-family: var(--display); font-weight: 800; font-size: 54px; line-height: 1; color: var(--navy); letter-spacing: -.03em; margin-top: 4px; }
.uc-num b span { font-size: 30px; color: var(--red); margin-left: 2px; }
.uc-nota { color: var(--gray); font-size: 11.5px; border-top: 1px solid var(--line); padding-top: 8px; }

/* MKT do mês: combinados de marketing da call mensal (só lembrete) */
.vend-direita { display: grid; gap: 16px; align-content: start; }
.mkt-mes { border: 2px solid #ff287a; background: linear-gradient(180deg, #fff, #fff0f6); display: flex; flex-direction: column; gap: 8px; }
.mkt-itens { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 9px; }
.mkt-itens li { display: grid; grid-template-columns: 22px 1fr; gap: 6px; font-size: 13.5px; line-height: 1.4; color: var(--ink); }
.mkt-call { font-size: 13px; font-weight: 800; color: #d0105d; text-decoration: none; border-top: 1px solid #ffd0e2; padding-top: 8px; }
.mkt-call:hover { text-decoration: underline; }
.mkt-cab { display: flex; align-items: center; gap: 14px; }
.mkt-cal { position: relative; width: 64px; flex: none; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 4px 12px #ff287a33; border: 2px solid #ff287a; text-align: center; }
.mkt-cal-topo { display: block; background: #ff287a; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .12em; padding: 3px 0; }
.mkt-cal b { display: block; font-family: var(--display); font-weight: 800; font-size: 24px; color: var(--navy); text-transform: uppercase; padding: 4px 0 6px; }
.mkt-cal i { position: absolute; top: -3px; width: 6px; height: 10px; border-radius: 3px; background: var(--navy); }
.mkt-cal i:first-of-type { left: 14px; } .mkt-cal i:last-of-type { right: 14px; }
.mkt-kicker { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #d0105d; }
.mkt-mes-nome { margin: 2px 0 0; font-family: var(--display); font-size: 30px; font-weight: 800; color: var(--navy); line-height: 1; }
.mkt-foco { font-family: var(--display); font-weight: 700; font-size: 17px; color: var(--navy); background: #fff; border: 1px solid #ffd0e2; border-radius: 10px; padding: 8px 10px; margin-top: 4px; }

/* RCD: nome da unidade embaixo do título */
.rcd-unidade { font-family: var(--display); font-weight: 700; font-size: 18px; color: var(--red); margin: 2px 0 4px; }
.imp-exemplo-aviso { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #fff4cc; border: 2px solid #f8d210; border-radius: 14px; padding: 12px 16px; margin-bottom: 12px; color: #6b4e00; }
.imp-exemplo-aviso b { display: block; font-size: 15px; }
.imp-exemplo-aviso small { display: block; font-size: 12.5px; margin-top: 2px; }
.imp-exemplo-aviso .btn { flex: none; }
