/* PABX PRIME MAPA DE CHAMADAS CLARO CSS V1 20260825
 * Escopo: somente Visão Geral + Mapa de chamadas.
 */

/* Visão Geral passa a usar praticamente toda a largura disponível. */
#content:has(.dashboard-pabx-shell){
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:8px !important;
  padding-right:8px !important;
  box-sizing:border-box !important;
}

.dashboard-pabx-shell{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* O mapa ganha espaço real e mantém rolagem horizontal apenas quando necessário. */
.dashboard-call-map,
.dashboard-call-map-body,
#callMapFlow{
  width:100% !important;
  max-width:none !important;
}

#callMapFlow{
  padding-left:8px !important;
  padding-right:8px !important;
}

.cmv2-canvas{
  width:100% !important;
  max-width:none !important;
  padding-top:14px !important;
  padding-bottom:12px !important;
}

.cmv2-canvas.cmv2-needs-scroll{
  overflow-x:auto !important;
  overflow-y:hidden !important;
}

/* Mais distância entre níveis; a primeira ligação DID -> destino continua curta. */
.cmv2-tree{
  gap:154px !important;
}

.cmv2-tree.cmv22-entry-tree{
  gap:46px !important;
}

/* Mais respiro entre opções da mesma URA/fila/grupo. */
.cmv2-children{
  gap:17px !important;
}

/* Cartões um pouco maiores para leitura sem comprimir os textos. */
.cmv2-node{
  width:194px !important;
  max-width:194px !important;
  min-height:52px !important;
  padding:10px 12px 10px 14px !important;
}

.cmv2-node.cmv2-root:not(.cmv21-entry){
  width:202px !important;
  max-width:202px !important;
}

.cmv2-node.cmv21-entry{
  width:max-content !important;
  max-width:190px !important;
}

.cmv2-title{
  font-size:14px !important;
  line-height:1.22 !important;
}

.cmv2-subtitle{
  font-size:10.75px !important;
  line-height:1.28 !important;
}

/* Rótulos ficam acima da linha, com fundo sólido para nunca serem cortados pela curva. */
.cmv2-edge-label{
  width:112px !important;
  max-width:112px !important;
  right:calc(100% + 12px) !important;
  transform:translateY(-165%) !important;
  padding:3px 5px !important;
  background:#fff !important;
  border:1px solid rgba(214,224,235,.72) !important;
  border-radius:5px !important;
  line-height:1.22 !important;
  box-shadow:0 1px 3px rgba(30,55,86,.05) !important;
}

.cmv2-edge-label.cmv2-schedule-label{
  width:158px !important;
  max-width:158px !important;
  text-transform:none !important;
  font-size:10.5px !important;
}

/* Opções numéricas da URA permanecem compactas, mas afastadas da linha. */
.cmv2-node[data-type="ivr"] + .cmv2-children > .cmv2-child > .cmv2-edge-label{
  width:max-content !important;
  max-width:130px !important;
  right:calc(100% + 12px) !important;
  transform:translateY(-155%) !important;
  padding:2px 5px !important;
  white-space:nowrap !important;
}

/* Referências antigas nunca devem parecer uma entidade técnica. */
.cmv2-node[data-prime-reference-humanized="1"] .cmv2-note,
.cmv2-node[data-prime-reference-clone="1"] .cmv2-note{
  display:none !important;
}

@media(max-width:900px){
  #content:has(.dashboard-pabx-shell){
    padding-left:5px !important;
    padding-right:5px !important;
  }

  .dashboard-pabx-shell{
    width:100% !important;
  }

  .cmv2-tree{
    gap:112px !important;
  }

  .cmv2-tree.cmv22-entry-tree{
    gap:40px !important;
  }

  .cmv2-children{
    gap:12px !important;
  }

  .cmv2-node{
    width:174px !important;
    max-width:174px !important;
  }

  .cmv2-node.cmv2-root:not(.cmv21-entry){
    width:182px !important;
    max-width:182px !important;
  }

  .cmv2-edge-label{
    width:88px !important;
    max-width:88px !important;
    right:calc(100% + 8px) !important;
    font-size:9.5px !important;
  }

  .cmv2-edge-label.cmv2-schedule-label{
    width:122px !important;
    max-width:122px !important;
  }
}

/* PABX PRIME VISAO GERAL HERO ORIGINAL + MAPA EXPANDIDO V1 20260825
 * Objetivo:
 * - manter TODA a Visão Geral e o Mapa de chamadas expandidos;
 * - devolver SOMENTE a imagem/banner "Bem-vindo ao seu PABX" ao tamanho
 *   visual que possuía antes da expansão da página.
 *
 * Antes da expansão, o shell da Visão Geral usava no desktop:
 *   width:min(1320px,calc(100% - 32px))
 * e o hero ocupava 100% desse shell.
 *
 * Agora o shell continua full-width; somente o hero recebe a antiga largura.
 */
@media (min-width:901px){
  .dashboard-pabx-shell > .dashboard-pabx-hero{
    width:min(1320px,calc(100% - 32px)) !important;
    max-width:1320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:900px){
  .dashboard-pabx-shell > .dashboard-pabx-hero{
    width:calc(100% - 20px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* PABX PRIME VISAO GERAL NAO EXPANDIDA V1.1 20260825
 * Correção segura da tentativa V1:
 * - não remove o CSS do Mapa Claro V1;
 * - no desktop, apenas devolve o shell da Visão Geral ao limite histórico de 1320px;
 * - o mapa continua 100% do shell, portanto também deixa de ocupar a tela inteira;
 * - o hero volta a ocupar 100% do shell, anulando o ajuste antigo que diminuía somente o banner.
 */
@media (min-width:901px){
  .dashboard-pabx-shell{
    width:min(1320px,calc(100% - 32px)) !important;
    max-width:1320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .dashboard-pabx-shell > .dashboard-pabx-hero{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* PABX PRIME MAPA SEMANTICO V2 20260825 */
.cmv2-edge-label.cmv2-prime-group-label-hidden{
  display:none!important;
}

.cmv2-edge-label.cmv2-prime-rule-label{
  width:max-content!important;
  max-width:185px!important;
  min-width:0!important;
  right:calc(100% + 15px)!important;
  transform:translateY(-205%)!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1.18!important;
  text-transform:none!important;
  white-space:normal!important;
  text-align:center!important;
  box-shadow:none!important;
  z-index:4!important;
}

.cmv2-edge-label.cmv2-prime-rule-schedule{
  color:#745000!important;
  background:#fff7e3!important;
  border:1px solid #ecd29a!important;
}

.cmv2-edge-label.cmv2-prime-rule-holiday{
  color:#7a4a12!important;
  background:#fff4e7!important;
  border:1px solid #efcfa7!important;
}

.cmv2-tree:has(> .cmv2-node[data-type="schedule_group"]){gap:220px!important;}
.cmv2-tree:has(> .cmv2-node[data-type="holiday_group"]){gap:205px!important;}

.cmv2-node[data-type="schedule_group"] + .cmv2-children,
.cmv2-node[data-type="holiday_group"] + .cmv2-children{
  gap:28px!important;
}

.cmv2-canvas{
  padding-right:40px!important;
  box-sizing:border-box!important;
}

@media(max-width:900px){
  .cmv2-edge-label.cmv2-prime-rule-label{
    max-width:150px!important;
    right:calc(100% + 9px)!important;
    transform:translateY(-190%)!important;
    font-size:9.25px!important;
    padding:3px 6px!important;
  }
  .cmv2-tree:has(> .cmv2-node[data-type="schedule_group"]),
  .cmv2-tree:has(> .cmv2-node[data-type="holiday_group"]){gap:174px!important;}
  .cmv2-canvas{padding-right:18px!important;}
}

/* PABX PRIME MAPA ESPACAMENTO E TERMINAIS V2.1 20260825
 * Separa visualmente o atendimento normal das excecoes de horario/feriado.
 */

/* Primeiro termina visualmente o atendimento normal; depois entram as excecoes. */
.cmv2-child:has(> .cmv2-tree > .cmv2-node[data-type="schedule_group"]){
  margin-top:78px!important;
}

.cmv2-child:has(> .cmv2-tree > .cmv2-node[data-type="holiday_group"]){
  margin-top:26px!important;
}

/* A legenda amarela fica mais proxima da propria linha e deixa de invadir a fila. */
.cmv2-edge-label.cmv2-prime-rule-label{
  transform:translateY(-150%)!important;
}

/* Reserva um corredor horizontal maior para os textos das regras. */
.cmv2-tree:has(> .cmv2-node[data-type="schedule_group"]){
  gap:230px!important;
}

.cmv2-tree:has(> .cmv2-node[data-type="holiday_group"]){
  gap:210px!important;
}

/* Transicao automatica para destinos terminais. */
.cmv2-edge-label.cmv2-prime-terminal-transition{
  max-width:120px!important;
  padding:4px 8px!important;
  border:1px solid #d9e4ef!important;
  border-radius:999px!important;
  background:#f8fbff!important;
  color:#526b89!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1.15!important;
  text-transform:none!important;
  box-shadow:none!important;
}

@media(max-width:900px){
  .cmv2-child:has(> .cmv2-tree > .cmv2-node[data-type="schedule_group"]){
    margin-top:54px!important;
  }
  .cmv2-child:has(> .cmv2-tree > .cmv2-node[data-type="holiday_group"]){
    margin-top:20px!important;
  }
  .cmv2-edge-label.cmv2-prime-rule-label{
    transform:translateY(-142%)!important;
  }
  .cmv2-tree:has(> .cmv2-node[data-type="schedule_group"]),
  .cmv2-tree:has(> .cmv2-node[data-type="holiday_group"]){
    gap:182px!important;
  }
}

/* PABX PRIME MAPA OCULTAR HANGUP TECNICO V1 20260825
 * hangup continua sendo o tipo interno do destino.
 * No mapa, o usuario ve somente o titulo amigavel Encerramento da chamada.
 */
.cmv2-node[data-type="hangup"] > .cmv2-kind{
  display:none!important;
}

/* PABX PRIME MAPA PADRONIZACAO E NAVEGACAO V2.2 20260825 */

/* Padrao visual unico para todos os Grupos de ramais */
.cmv2-node[data-type="ring_group"]{
  width:220px!important;
  max-width:220px!important;
  min-height:150px!important;
  padding:12px 14px 12px 16px!important;
  border-radius:14px!important;
  box-sizing:border-box!important;
  align-content:start!important;
}

.cmv2-node[data-type="ring_group"] > .cmv2-kind{
  min-height:16px!important;
  margin-bottom:3px!important;
}

.cmv2-node[data-type="ring_group"] > .cmv2-title{
  min-height:24px!important;
  margin-bottom:2px!important;
  line-height:1.2!important;
}

.cmv2-node[data-type="ring_group"] > .cmv2-subtitle{
  min-height:18px!important;
  margin-bottom:6px!important;
}

/* Navegacao com o mouse */
.cmv2-canvas.cmv2-prime-pan-enabled{
  cursor:grab!important;
  overscroll-behavior:contain!important;
}

.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-node,
.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-edge-label{
  cursor:default!important;
}

.cmv2-canvas.cmv2-prime-is-panning{
  cursor:grabbing!important;
  user-select:none!important;
}

/* Barra horizontal flutuante */
.cmv2-prime-floating-nav{
  position:fixed!important;
  left:50%!important;
  bottom:16px!important;
  z-index:2147482500!important;
  width:min(680px,calc(100vw - 48px))!important;
  min-height:42px!important;
  padding:7px 9px!important;
  display:none!important;
  align-items:center!important;
  gap:9px!important;
  box-sizing:border-box!important;
  border:1px solid #cfdae8!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:
    0 12px 34px rgba(31,54,84,.16),
    0 2px 8px rgba(31,54,84,.07)!important;
  backdrop-filter:blur(8px)!important;
  transform:translateX(-50%)!important;
}

.cmv2-prime-floating-nav.is-visible{
  display:flex!important;
}

.cmv2-prime-floating-nav-icon{
  width:26px!important;
  height:26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 26px!important;
  border-radius:8px!important;
  color:#126fe8!important;
  background:#edf5ff!important;
  font-size:15px!important;
  font-weight:850!important;
}

.cmv2-prime-floating-nav-range{
  min-width:0!important;
  flex:1 1 auto!important;
  height:22px!important;
  margin:0!important;
  padding:0!important;
  cursor:ew-resize!important;
  accent-color:#1674e8!important;
}

.cmv2-prime-floating-nav-home{
  min-width:58px!important;
  height:28px!important;
  padding:0 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  border:1px solid #d3deeb!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#38536f!important;
  font-size:10.5px!important;
  font-weight:800!important;
  cursor:pointer!important;
}

.cmv2-prime-floating-nav-home:hover{
  border-color:#b7c9df!important;
  background:#f7faff!important;
}

@media(max-width:900px){
  .cmv2-node[data-type="ring_group"]{
    width:204px!important;
    max-width:204px!important;
    min-height:144px!important;
  }

  .cmv2-prime-floating-nav{
    bottom:10px!important;
    width:calc(100vw - 24px)!important;
  }
}

/* PABX PRIME MAPA ARRASTE 2D SEM BARRA V2.3 20260825 */
.cmv2-prime-floating-nav{
  display:none!important;
}

.cmv2-canvas.cmv2-prime-pan-enabled{
  cursor:grab!important;
  overscroll-behavior:contain!important;
  touch-action:none!important;
}

.cmv2-canvas.cmv2-prime-is-panning{
  cursor:grabbing!important;
  user-select:none!important;
}

.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-node,
.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-edge-label{
  cursor:default!important;
}

/* PABX PRIME MAPA SCROLL MOUSE V2.4 20260825 */
.cmv2-canvas.cmv2-prime-pan-enabled{
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
}

/* PABX PRIME MAPA ARRASTE TOTAL SEM SELECAO V2.5 20260825 */
.cmv2-canvas.cmv2-prime-pan-enabled,
.cmv2-canvas.cmv2-prime-pan-enabled *{
  -webkit-user-select:none!important;
  user-select:none!important;
}

.cmv2-canvas.cmv2-prime-pan-enabled,
.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-node,
.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-edge-label,
.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-title,
.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-subtitle,
.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-kind,
.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-meta,
.cmv2-canvas.cmv2-prime-pan-enabled .cmv2-note{
  cursor:grab!important;
}

.cmv2-canvas.cmv2-prime-is-panning,
.cmv2-canvas.cmv2-prime-is-panning *{
  cursor:grabbing!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
\n