/*!
 * Aviso Neurion · v1.0 · 28/09/2026
 * Notificação no canto da tela (boas-vindas, "salvo", erros). IDÊNTICO no
 * Neurion Pulse e no Neurion Core. Padrão no vault:
 * 30 - Neurion Tecnologias em Saúde/38 - Produtos/Padrão de Cadastro e Assinatura.md
 */
#neurion-avisos {
  position: fixed; top: 1.25rem; right: 1.25rem; z-index: 2147483000;
  display: flex; flex-direction: column; gap: .75rem;
  width: calc(100% - 2.5rem); max-width: 24rem; pointer-events: none;
}
.neurion-aviso {
  --cor: #572d84; --cor-fundo: #f1e6fb;
  position: relative; overflow: hidden; pointer-events: auto;
  display: flex; gap: .75rem; padding: 1rem; border-radius: 16px; background: #fff;
  border: 1px solid #ebe4f3; border-left: 4px solid var(--cor);
  box-shadow: 0 12px 32px -8px rgba(34, 16, 63, .22);
  font-size: .875rem; line-height: 1.45; color: #5a4c67; text-align: left;
  animation: neurion-aviso-entra .3s ease-out;
}
.neurion-aviso.sucesso { --cor: #1d7a4a; --cor-fundo: #e8f5ee; }
.neurion-aviso.erro    { --cor: #b3432a; --cor-fundo: #fdf1ee; }
.neurion-aviso.aviso   { --cor: #b7791f; --cor-fundo: #fdf7e8; }
.neurion-aviso.info    { --cor: #572d84; --cor-fundo: #f1e6fb; }
.neurion-aviso .icone {
  flex: none; width: 2rem; height: 2rem; border-radius: 999px; margin-top: .05rem;
  display: flex; align-items: center; justify-content: center; background: var(--cor-fundo); color: var(--cor);
}
.neurion-aviso .icone svg { width: 1rem; height: 1rem; }
.neurion-aviso .corpo { flex: 1; min-width: 0; padding-top: .3rem; }
.neurion-aviso .titulo { margin: 0 0 .125rem; font-weight: 600; color: #170e21; }
.neurion-aviso .texto { margin: 0; overflow-wrap: anywhere; }
.neurion-aviso .fechar {
  flex: none; align-self: flex-start; width: 1.75rem; height: 1.75rem; margin: -.25rem -.25rem 0 0; padding: 0;
  border: 0; border-radius: 8px; background: transparent; color: #9a8bab; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.neurion-aviso .fechar:hover { background: #f7f4fb; color: #170e21; }
.neurion-aviso .fechar svg { width: 1rem; height: 1rem; }
.neurion-aviso .barra {
  position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--cor); opacity: .35;
  transform-origin: left; animation: neurion-aviso-tempo linear forwards;
}
.neurion-aviso:hover .barra { animation-play-state: paused; }
.neurion-aviso.saindo { animation: neurion-aviso-sai .25s ease-in forwards; }
@keyframes neurion-aviso-entra { from { opacity: 0; transform: translateY(-.5rem); } to { opacity: 1; transform: none; } }
@keyframes neurion-aviso-sai { to { opacity: 0; transform: translateX(1rem); } }
@keyframes neurion-aviso-tempo { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@media (max-width: 480px) { #neurion-avisos { top: .75rem; right: .75rem; width: calc(100% - 1.5rem); } }
@media (prefers-reduced-motion: reduce) { .neurion-aviso, .neurion-aviso.saindo { animation: none; } }
