/* Toast notifications */
:root {
  --toast-bg: rgba(0,0,0,0.85);
  --toast-color: #fff;
  --toast-radius: 10px;
  --toast-shadow: 0 10px 25px rgba(0,0,0,0.3);
  --toast-gap: 10px;
  --toast-success: #28a745;
  --toast-error: #dc3545;
  --toast-warning: #ff9800;
  --toast-info: #2196f3;
}

.ui-toast-container {
  position: fixed;
  top: 16px;
  right: 16px;
  display: flex;
  flex-direction: column;
  gap: var(--toast-gap);
  /* Eleva acima de qualquer overlay/modal para garantir visibilidade */
  z-index: 10000;
  pointer-events: none;
}

.ui-toast {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--toast-bg);
  color: var(--toast-color);
  padding: 12px 14px;
  border-radius: var(--toast-radius);
  box-shadow: var(--toast-shadow);
  min-width: 220px;
  max-width: 360px;
  pointer-events: auto;
  transform: translateY(-8px);
  opacity: 0;
  animation: ui-toast-in 160ms ease-out forwards;
}

.ui-toast--success { border-left: 4px solid var(--toast-success); }
.ui-toast--error   { border-left: 4px solid var(--toast-error); }
.ui-toast--warning { border-left: 4px solid var(--toast-warning); }
.ui-toast--info    { border-left: 4px solid var(--toast-info); }

.ui-toast-icon { font-size: 16px; opacity: 0.9; }
.ui-toast-message { flex: 1; font-size: 14px; }
.ui-toast-action { background: transparent; border: none; color: #fff; opacity: 0.9; font-weight: 700; cursor: pointer; }
.ui-toast-close { background: transparent; border: none; color: #fff; opacity: 0.8; font-size: 16px; cursor: pointer; }
.ui-toast-close:hover, .ui-toast-action:hover { opacity: 1; }

@keyframes ui-toast-in {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes ui-toast-out {
  to { opacity: 0; transform: translateY(-8px); }
}

/* Mobile: centralizar melhor */
@media (max-width: 600px) {
  .ui-toast-container { left: 50%; right: auto; transform: translateX(-50%); }
}
