/* Apoyotec feedback pattern, without Bootstrap or a notification dependency. */
.toasts{position:fixed;inset:0 0 auto auto;width:min(350px,100vw);max-width:100vw;max-height:100dvh;margin:0;padding:4px;border:0;background:transparent;overflow:auto;pointer-events:none;z-index:9999;display:grid;gap:8px;color:#244c60}
.toast{--toast-tone:#23806a;pointer-events:auto;background:#fff;border:1px solid #dbe2e9;border-radius:6px;box-shadow:0 4px 16px #173c5740;overflow:hidden;animation:toast-enter .2s ease-out}
.toast.error{--toast-tone:#b64d55}.toast.info{--toast-tone:#247f9c}
.toast-header{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid #edf0f3;color:var(--toast-tone);font-size:13px}
.toast-title{flex:1;font-weight:500}.toast-glyph,.toast-glyph svg{display:block;width:19px;height:19px}
.toast-close{display:grid;place-items:center;border:0;background:transparent;color:#6b7b8b;border-radius:3px;width:28px;height:28px;padding:0;font-size:24px;line-height:1;cursor:pointer}
.toast-close:hover{background:#edf1f5}.toast-close:focus-visible{outline:2px solid #138d93;outline-offset:1px}
.toast-body{padding:10px 12px;font-size:14px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.toast-progress{height:3px;background:#fce6d3}.toast-progress>i{display:block;height:100%;background:#ed8a39;transform-origin:left;animation:toast-countdown var(--toast-duration) linear forwards}
.toast.is-paused .toast-progress>i{animation-play-state:paused}
.toast-live{position:fixed;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes toast-countdown{to{transform:scaleX(0)}}@keyframes toast-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.toast,.toast-progress>i{animation:none}}
