/* Lance 4.7 · menos páginas, menos cliques: abas da página-mãe, atalhos do Início, Ao vivo da Central, ligar/sala no cartão e na Agenda */

/* ---------- abas da página-mãe ---------- */
.abas-mae { margin: -6px 0 18px; gap: 4px; min-width: 0; max-width: 100%; }
.abas-mae .aba { text-decoration: none; padding: .5rem .8rem; border-radius: 8px 8px 0 0; transition: color .15s, background .15s, border-color .15s; }
.abas-mae .aba .ic { width: 15px; height: 15px; opacity: .8; }
.abas-mae .aba:hover { background: var(--superficie-2); }
.abas-mae .aba[aria-current="page"] { color: var(--acento); border-bottom-color: var(--acento); font-weight: 600; }
.abas-mae .aba[aria-current="page"] .ic { opacity: 1; }
.abas-mae .aba:focus-visible { outline: 2px solid var(--acento); outline-offset: -2px; }

/* ---------- atalhos do Início ---------- */
.ini-rapidos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: -4px 0 16px; }
.ini-rapido { display: flex; align-items: center; gap: 10px; padding: 10px 12px; min-width: 0; background: var(--superficie); border: 1px solid var(--borda); border-radius: 12px; box-shadow: var(--sombra-xs); color: var(--titulo); font-size: .8rem; font-weight: 600; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s; }
.ini-rapido > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ini-rapido:hover { border-color: color-mix(in srgb, var(--acento) 40%, var(--borda)); box-shadow: var(--sombra-card); transform: translateY(-1px); }
.ini-rapido:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; }
.ini-rapido-ic { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; flex: none; color: var(--acento); background: var(--primaria-suave); }
.ini-rapido-ic .ic { width: 17px; height: 17px; }

/* ---------- Central › Ao vivo ---------- */
.ce-vivo-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin-bottom: 14px; }
.ce-vivo { padding: 14px; display: flex; flex-direction: column; gap: 10px; min-width: 0; border-top: 3px solid var(--c); }
.ce-vivo-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ce-vivo-quem { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: .82rem; color: var(--texto-2); }
.ce-vivo-quem b { color: var(--titulo); }
.ce-vivo-quem .ic { width: 14px; height: 14px; flex: none; }
.ce-vivo-lead { border: 0; background: none; padding: 0; color: var(--titulo); font-weight: 600; font-size: .82rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-decoration: underline; text-decoration-color: var(--borda-forte); text-underline-offset: 3px; }
.ce-vivo-sp { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ce-vivo-onda { display: flex; align-items: center; gap: 3px; height: 26px; }
.ce-vivo-onda i { width: 3px; height: 6px; border-radius: 2px; background: var(--c); opacity: .7; animation: onda .9s ease-in-out infinite alternate; animation-delay: calc(var(--k) * -90ms); }
.ce-vivo-btn { align-self: flex-start; text-decoration: none; }
.ce-para-coach .ce-lista { max-height: none; }

/* a aba Ao vivo deixa o seletor da Central com 4 botões: no celular ele rola em vez de estourar */
.pagina-cabecalho .pagina-acoes { min-width: 0; max-width: 100%; }

/* ---------- Discador em modo ouvinte ---------- */
.dc-ouvinte { color: var(--acento); background: var(--primaria-suave); border-radius: 10px; padding: 8px 10px; }

/* ---------- Pipeline: ligar e sala no cartão ---------- */
.pp-acoes { display: inline-flex; gap: 2px; margin-left: 4px; flex: none; }
.pp-acao { width: 24px; height: 24px; border: 0; border-radius: 7px; background: none; color: var(--texto-2); display: grid; place-items: center; cursor: pointer; transition: background .15s, color .15s; }
.pp-acao .ic { width: 14px; height: 14px; }
.pp-acao:hover { background: var(--primaria-suave); color: var(--acento); }
.pp-acao:focus-visible { outline: 2px solid var(--acento); outline-offset: 1px; }

/* ---------- Agenda: próximas com sala e ligação ---------- */
.ag-prox-lista { display: flex; flex-direction: column; gap: 8px; }
.ag-px { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 9px; row-gap: 6px; padding-left: 8px; border-left: 3px solid var(--c); min-width: 0; }
.ag-px-txt { min-width: 0; display: flex; flex-direction: column; }
.ag-px-txt b { font-size: .8rem; color: var(--titulo); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-px-txt small { font-size: .7rem; color: var(--texto-2); }
.ag-px-acoes { grid-column: 2; display: flex; gap: 6px; }

@media (max-width: 1180px) { .ini-rapidos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
  .ini-rapidos { display: flex; overflow-x: auto; scrollbar-width: none; margin-right: -16px; padding-right: 16px; }
  .ini-rapido { flex: none; }
  .abas-mae { margin-top: -2px; }
  .ag-lado { order: -1; } /* no celular, Próximas (sala e ligação) vem antes da lista da semana */
}
@media (prefers-reduced-motion: reduce) { .ce-vivo-onda i { animation: none; } .ini-rapido:hover { transform: none; } }
