
/* V323 - Botão flutuante Roteiro IA abre modal com chat */
.ai-route-modal-v323{
  position:fixed!important;
  inset:0!important;
  z-index:2147483300!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .18s ease, visibility .18s ease!important;
}

.ai-route-modal-v323.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

.ai-route-backdrop-v323{
  position:absolute!important;
  inset:0!important;
  background:rgba(2,6,23,.68)!important;
  backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important;
}

.ai-route-dialog-v323{
  position:absolute!important;
  right:24px!important;
  bottom:24px!important;
  width:min(940px, calc(100vw - 48px))!important;
  height:min(720px, calc(100vh - 48px))!important;
  background:#fff!important;
  border-radius:26px!important;
  border:1px solid rgba(226,232,240,.95)!important;
  box-shadow:0 30px 90px rgba(2,6,23,.28)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  transform:translateY(18px) scale(.98)!important;
  transition:transform .18s ease!important;
}

.ai-route-modal-v323.open .ai-route-dialog-v323{
  transform:translateY(0) scale(1)!important;
}

.ai-route-head-v323{
  min-height:70px!important;
  padding:14px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  background:linear-gradient(135deg,var(--primary,#0f6cad),#0f172a)!important;
  color:#fff!important;
}

.ai-route-head-v323 strong{
  display:block!important;
  font-size:18px!important;
  line-height:1.1!important;
  font-weight:950!important;
  color:#fff!important;
}

.ai-route-head-v323 small{
  display:block!important;
  margin-top:4px!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:700!important;
  color:rgba(255,255,255,.84)!important;
}

.ai-route-close-v323{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border:0!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.ai-route-close-v323:hover{
  background:rgba(255,255,255,.24)!important;
}

.ai-route-frame-v323{
  width:100%!important;
  height:100%!important;
  flex:1 1 auto!important;
  border:0!important;
  background:#f8fafc!important;
}

/* O botão continua na pilha e sem navegação */
.ai-route-float-v292{
  border:0!important;
  cursor:pointer!important;
}

/* Mobile: modal ocupa a tela quase inteira e fica na frente do topo */
@media(max-width:900px){
  .ai-route-modal-v323{
    z-index:2147483300!important;
  }

  .ai-route-dialog-v323{
    left:10px!important;
    right:10px!important;
    top:10px!important;
    bottom:10px!important;
    width:auto!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    border-radius:20px!important;
  }

  .ai-route-head-v323{
    min-height:64px!important;
    padding:12px 12px!important;
  }

  .ai-route-head-v323 strong{
    font-size:16px!important;
  }

  .ai-route-head-v323 small{
    font-size:11px!important;
  }

  .ai-route-close-v323{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:13px!important;
  }
}

@media(max-width:420px){
  .ai-route-dialog-v323{
    left:8px!important;
    right:8px!important;
    top:8px!important;
    bottom:8px!important;
    border-radius:18px!important;
  }
}
