/* Toast notifications — DS-aligned */

.toast-container{position:fixed;bottom:var(--spacing-05);right:var(--spacing-05);z-index:var(--z-toast);display:flex;flex-direction:column-reverse;gap:var(--spacing-03);pointer-events:none}

.toast{display:flex;align-items:center;width:288px;padding:var(--toast-padding);border-radius:var(--toast-radius);background:var(--layer-01);border:1px solid var(--border-subtle-01);box-shadow:var(--toast-shadow);font:var(--toast-font);font-family:var(--font-family-sans);color:var(--text-primary);gap:var(--btn-gap);pointer-events:auto;animation:toast-in var(--duration-moderate-02) var(--ease-entrance-expressive)}
.toast--success{border-left:3px solid var(--color-text-success)}
.toast--error{border-left:3px solid var(--color-text-critical)}
.toast--warning{border-left:3px solid var(--color-text-caution)}
.toast--info{border-left:3px solid var(--color-text-info)}
.toast--loading{border-left:3px solid var(--color-text-info)}

.toast__icon{flex-shrink:0}
.toast__icon svg{width:20px;height:20px}
.toast--success .toast__icon{color:var(--color-text-success)}
.toast--error .toast__icon{color:var(--color-text-critical)}
.toast--warning .toast__icon{color:var(--color-text-caution)}
.toast--info .toast__icon{color:var(--color-text-info)}
.toast--loading .toast__icon{color:var(--color-text-info)}
.toast__spinner{animation:toast-spin 1s linear infinite;transform-origin:center}
@keyframes toast-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

.toast__content{flex:1;min-width:0}
.toast__message{color:var(--text-primary);margin:0;word-break:break-word}

.toast__close{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--icon-primary);margin:-4px -8px -4px 0;border-radius:0}
.toast__close:hover{background:var(--layer-hover-01)}
.toast__close:focus{outline:2px solid var(--focus);outline-offset:-2px}

.toast--exit{animation:toast-out var(--duration-moderate-01) var(--ease-exit-productive) forwards}

@keyframes toast-in{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}
@keyframes toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(32px)}}
