/* MemberNova Toast (minimal, theme-friendly) */
:root{
  --mn-toast-bg: #0b1220;
  --mn-toast-text: #ffffff;
  --mn-toast-muted: rgba(255,255,255,.75);
  --mn-toast-shadow: 0 14px 40px rgba(0,0,0,.18);
  --mn-toast-radius: 14px;
  --mn-toast-gap: 10px;
  --mn-toast-maxw: 360px;

  --mn-toast-success: #22c55e;
  --mn-toast-info:    #3b82f6;
  --mn-toast-warning: #f59e0b;
  --mn-toast-error:   #ef4444;
}

.mn-toast-root{
  position: fixed;
  z-index: 999999;
  pointer-events: none;
  display: flex;
  justify-content: flex-end;
  padding: 14px;
  width: 100%;
  left: 0;
  bottom: 0;
}

/* Mobile: bottom-center */
@media (max-width: 640px){
  .mn-toast-root{
    justify-content: center;
    padding-bottom: 18px;
  }
}

/* Desktop: bottom-right */
@media (min-width: 641px){
  .mn-toast-root{
    justify-content: flex-end;
    padding-right: 18px;
  }
}

.mn-toast{
  pointer-events: auto;
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: var(--mn-toast-gap);
  align-items: center;

  max-width: var(--mn-toast-maxw);
  background: var(--mn-toast-bg);
  color: var(--mn-toast-text);
  border-radius: var(--mn-toast-radius);
  box-shadow: var(--mn-toast-shadow);
  padding: 12px 12px;

  transform: translateY(10px);
  opacity: 0;
  transition: transform .18s ease, opacity .18s ease;
}

.mn-toast.is-visible{
  transform: translateY(0);
  opacity: 1;
}

.mn-toast__icon svg{
  width: 20px;
  height: 20px;
  display: block;
}

.mn-toast__message{
  font-size: 14px;
  line-height: 1.35;
  color: var(--mn-toast-text);
}

.mn-toast__close{
  width: 30px;
  height: 30px;
  border: 0;
  background: transparent;
  color: var(--mn-toast-muted);
  cursor: pointer;
  border-radius: 10px;
  font-size: 18px;
  line-height: 1;
}
.mn-toast__close:hover{
  color: var(--mn-toast-text);
}

/* Type accents */
.mn-toast--success .mn-toast__icon{ color: var(--mn-toast-success); }
.mn-toast--info    .mn-toast__icon{ color: var(--mn-toast-info); }
.mn-toast--warning .mn-toast__icon{ color: var(--mn-toast-warning); }
.mn-toast--error   .mn-toast__icon{ color: var(--mn-toast-error); }
