/* Toast nhẹ — góc phải trên */
.toast-host {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 12000;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  width: min(22rem, calc(100vw - 1.5rem));
  pointer-events: none;
}

.toast-item {
  pointer-events: auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .55rem;
  align-items: start;
  padding: .75rem .85rem;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(8, 59, 102, .18), 0 0 0 1px rgba(8, 59, 102, .08);
  opacity: 0;
  transform: translateX(12px);
  transition: opacity .2s ease, transform .2s ease;
}

.toast-item.is-in {
  opacity: 1;
  transform: translateX(0);
}

.toast-item.is-out {
  opacity: 0;
  transform: translateX(16px);
}

.toast-item > .ti {
  font-size: 1.25rem;
  line-height: 1.2;
  margin-top: .05rem;
}

.toast-success > .ti { color: #1b8a4a; }
.toast-error > .ti { color: #c51f2d; }
.toast-warning > .ti { color: #c47a00; }
.toast-info > .ti { color: #0876c9; }

.toast-success { border-left: 4px solid #1b8a4a; }
.toast-error { border-left: 4px solid #c51f2d; }
.toast-warning { border-left: 4px solid #c47a00; }
.toast-info { border-left: 4px solid #0876c9; }

.toast-body { min-width: 0; }
.toast-title {
  display: block;
  font-size: .82rem;
  font-weight: 800;
  color: #083b66;
  margin-bottom: .15rem;
}
.toast-msg {
  margin: 0;
  font-size: .88rem;
  font-weight: 600;
  color: #234;
  line-height: 1.35;
}

.toast-x {
  border: 0;
  background: transparent;
  color: #7a8fa3;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
  padding: 0 .15rem;
}
.toast-x:hover { color: #083b66; }

@media (max-width: 520px) {
  .toast-host {
    top: .65rem;
    right: .65rem;
    left: .65rem;
    width: auto;
  }
}
