.toast-container{position:fixed;z-index:1000;top:72px;right:20px;display:grid;gap:10px;width:min(390px,calc(100vw - 32px));pointer-events:none}
.app-toast{--toast-color:#356b91;--toast-bg:#f2f7fb;position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:start;gap:11px;padding:14px 12px 17px;border:1px solid #d8e5ef;border-left:4px solid var(--toast-color);border-radius:11px;background:#fff;color:#29445c;box-shadow:0 10px 30px #10294424;pointer-events:auto;animation:toast-in .2s ease-out}
.app-toast[data-type="success"]{--toast-color:#25804f;--toast-bg:#eaf6ef;border-color:#cbe6d5}
.app-toast[data-type="warning"]{--toast-color:#a66b00;--toast-bg:#fff5df;border-color:#f0dfb5}
.app-toast[data-type="error"]{--toast-color:#b23b3b;--toast-bg:#fff0ef;border-color:#f0d0cd}
.app-toast-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--toast-bg);color:var(--toast-color);font-size:18px}
.app-toast-message{padding-top:3px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.app-toast-close{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:#718398;font-size:17px;cursor:pointer}
.app-toast-close:hover{background:#edf1f5;color:#29445c}
.app-toast-close:focus-visible{outline:2px solid #4c83b0;outline-offset:1px}
.app-toast-progress{position:absolute;right:0;bottom:0;left:0;height:3px;overflow:hidden;border-radius:0 0 8px 8px;background:#edf1f5}
.app-toast-progress::after{display:block;height:100%;background:var(--toast-color);content:"";transform-origin:left;animation:toast-progress var(--toast-duration) linear forwards}
.app-toast.is-leaving{animation:toast-out .16s ease-in forwards}
@keyframes toast-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@keyframes toast-out{to{opacity:0;transform:translateX(12px)}}
@keyframes toast-progress{to{transform:scaleX(0)}}
@media(max-width:600px){.toast-container{top:64px;right:12px;width:calc(100vw - 24px)}.app-toast{padding:12px 10px;grid-template-columns:34px minmax(0,1fr) 28px}.app-toast-icon{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.app-toast,.app-toast.is-leaving{animation:none}.app-toast-progress::after{animation:none;transform:scaleX(0)}}
