.toast-container{
  position: fixed;
  left: 50%;
  top: 24px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 9999;
  pointer-events: none;
}

.toast{
  transform: translateY(-4px) scale(0.98);
  background: #222;
  color: #fff;
  padding: 10px 14px;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  box-shadow: 0 6px 24px rgba(0,0,0,.25);
  font: 14px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial;
}
.toast.show{ opacity: 1; transform: translateY(0) scale(1); }
.toast-success{ background: #136f31; }
.toast-error{ background: #8a1c1c; }
.toast-info{ background: #2a4b8d; }

button.is-loading{ position: relative; }
button.is-loading .spinner{ display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.6); border-top-color: transparent; border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
