.fixtech-toast-stack {
  position: fixed; z-index: 20000;
  top: max(var(--toast-top, 102px), env(safe-area-inset-top));
  right: max(12px, env(safe-area-inset-right));
  width: 394px; max-width: calc(100vw - 8px);
  max-height: calc(100dvh - max(var(--toast-top, 102px), env(safe-area-inset-top)) - 12px);
  display: flex; flex-direction: column; gap: 12px; padding: 0 12px 12px;
  overflow: auto; overscroll-behavior: contain; scrollbar-width: thin;
  font-family: Nunito, Arial, sans-serif; letter-spacing: 0;
}
.fixtech-toast-stack[hidden] { display: none; }
.fixtech-toast {
  display: grid; grid-template-columns: 36px minmax(0, 1fr) 28px;
  align-items: start; gap: 12px; flex: 0 0 auto; width: 100%; min-width: 0;
  padding: 18px 14px 18px 18px; border: 1px solid #c8dddd; border-radius: 8px;
  background: rgba(255, 255, 255, .96); color: #123d47;
  box-shadow: 0 8px 12px rgba(6, 39, 48, .14); backdrop-filter: blur(16px);
  opacity: 0; transform: translateX(12px); transition: opacity .2s ease, transform .2s ease;
}
.fixtech-toast.is-visible { opacity: 1; transform: translateX(0); }
.fixtech-toast-body { min-width: 0; overflow-wrap: anywhere; }
.fixtech-toast-body > strong { display: block; padding-top: 1px; font-size: 16px; font-weight: 800; line-height: 1.35; }
.fixtech-toast-body > p { margin: 5px 0 0; font-size: 13px; line-height: 1.45; color: #61777d; }
.fixtech-toast .cabinet-alert {
  display: block; margin: 0; padding: 1px 0 0; border: 0; border-radius: 0;
  background: transparent; color: #123d47; box-shadow: none;
  font-size: 16px; font-weight: 800; line-height: 1.4;
}
.fixtech-toast .cabinet-alert p + p { margin-top: 8px; }
.fixtech-toast .cabinet-alert ul, .fixtech-toast .cabinet-alert ol { padding-left: 20px; font-size: 14px; font-weight: 600; }
.fixtech-toast .cabinet-alert a { color: #07586a; text-decoration: underline; white-space: normal; }
.fixtech-toast .cabinet-alert a.cabinet-primary-button { margin-top: 8px; color: #fff; text-decoration: none; }
.fixtech-toast-mark { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #e5f3ed; color: #25775b; }
.fixtech-toast-icon { display: inline-block; width: 18px; height: 18px; flex: 0 0 18px; background: currentColor; mask: var(--toast-icon) center / contain no-repeat; }
.fixtech-toast.is-success { --toast-icon: url('/vendor/fontawesome/light/check.svg'); }
.fixtech-toast.is-error { --toast-icon: url('/vendor/fontawesome/light/xmark.svg'); }
.fixtech-toast.is-warning { --toast-icon: url('/vendor/fontawesome/light/triangle-exclamation.svg'); }
.fixtech-toast.is-info { --toast-icon: url('/vendor/fontawesome/light/circle-info.svg'); }
.fixtech-toast.is-error .fixtech-toast-mark { background: #fce9e5; color: #a74332; }
.fixtech-toast.is-warning .fixtech-toast-mark { background: #fff3d6; color: #8a6000; }
.fixtech-toast.is-info .fixtech-toast-mark { background: #e7f1f5; color: #28627a; }
.fixtech-toast-close {
  --toast-icon: url('/vendor/fontawesome/light/xmark.svg');
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; padding: 5px; border: 0; border-radius: 6px;
  background: transparent; color: #61777d; cursor: pointer; line-height: 1;
}
.fixtech-toast-close:hover { background: #eaf1f2; }
.fixtech-toast-close:focus-visible, .fixtech-toast a:focus-visible { outline: 3px solid #4dafaa; outline-offset: 3px; }
@media (max-width: 700px) {
  .fixtech-toast-stack { right: max(4px, env(safe-area-inset-right)); }
  .fixtech-toast { grid-template-columns: 36px minmax(0, 1fr) 36px; }
  .fixtech-toast-close { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) { .fixtech-toast { transition: none; transform: none; } }
