/* app/static/css/toast.css
   Toast global do sistema (mesmo padrão usado em Relatórios)
*/

.sys-toast{
  position: fixed;
  right: 18px;
  bottom: 18px;

  width: max-content;
  max-width: min(420px, calc(100vw - 36px));

  z-index: 10000;

  padding: 12px 14px;
  border-radius: 14px;

  border: 1px solid var(--toast-border, var(--c-border, #e7ebf3));

  /* base neutra */
  background: var(--toast-bg, color-mix(in srgb, var(--c-text, #0b1220) 92%, #000));
  color: var(--toast-text, #fff);

  font-weight: 900;
  font-size: 12px;
  line-height: 1.25;

  box-shadow: var(--shadow-soft-2, 0 16px 40px rgba(15, 23, 42, 0.25));

  /* animação (sem mexer em display) */
  opacity: 0;
  /* Padrão global: toast na margem direita entra/sai pela direita */
  transform: translateX(26px);
  transition: opacity 260ms cubic-bezier(.2,.8,.2,1), transform 260ms cubic-bezier(.2,.8,.2,1);

  /* não bloquear cliques */
  pointer-events: none;

  /* quebra de texto segura */
  overflow-wrap: anywhere;
}

.sys-toast.is-on{
  opacity: 1;
  transform: translateX(0);
}

.sys-toast.is-closing{
  opacity: 0;
  transform: translateX(26px);
}

/* estados */
.sys-toast.is-neutral{
  background: var(--toast-bg, color-mix(in srgb, var(--c-text, #0b1220) 92%, #000));
  border-color: var(--toast-border, var(--c-border, #e7ebf3));
}

.sys-toast.is-info{
  background: var(--toast-info-bg, color-mix(in srgb, var(--c-accent, #2563eb) 88%, #000));
  border-color: var(--toast-info-border, color-mix(in srgb, var(--c-accent, #2563eb) 30%, var(--c-border, #e7ebf3)));
}

.sys-toast.is-success{
  background: var(--toast-success-bg, color-mix(in srgb, var(--c-success, #2f6b4f) 88%, #000));
  border-color: var(--toast-success-border, color-mix(in srgb, var(--c-success, #2f6b4f) 30%, var(--c-border, #e7ebf3)));
}

.sys-toast.is-danger,
.sys-toast.is-error{
  background: var(--toast-error-bg, color-mix(in srgb, var(--c-danger, #a42d2d) 88%, #000));
  border-color: var(--toast-error-border, color-mix(in srgb, var(--c-danger, #a42d2d) 30%, var(--c-border, #e7ebf3)));
}

.sys-toast.is-warning{
  background: var(--toast-warning-bg, color-mix(in srgb, var(--c-warning, #b07a1a) 90%, #000));
  border-color: var(--toast-warning-border, color-mix(in srgb, var(--c-warning, #b07a1a) 30%, var(--c-border, #e7ebf3)));
}

/* acessibilidade */
@media (prefers-reduced-motion: reduce){
  .sys-toast{ transition: none; }
}
