.toast-container{position:fixed;top:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:380px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:8px;background:var(--olive-2);border:1px solid var(--gold-border);box-shadow:0 12px 32px rgba(0,0,0,.4);color:var(--champagne);font-size:14px;line-height:1.5;transform:translateX(120%);opacity:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s ease}.toast.show{transform:translateX(0);opacity:1}.toast.hide{transform:translateX(120%);opacity:0}.toast .ic{flex:0 0 22px;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-size:14px;font-weight:700;margin-top:1px}.toast.success{border-color:#a3f5b6}.toast.success .ic{background:#a3f5b6;color:#0F172A}.toast.success .ic::before{content:'✓'}.toast.error,.toast.err{border-color:#f5a3a3}.toast.error .ic,.toast.err .ic{background:#f5a3a3;color:#0F172A}.toast.error .ic::before,.toast.err .ic::before{content:'!'}.toast.warning{border-color:#f5d693}.toast.warning .ic{background:#f5d693;color:#0F172A}.toast.warning .ic::before{content:'!'}.toast.info,.toast.ok{border-color:var(--gold)}.toast.info .ic,.toast.ok .ic{background:var(--gold);color:var(--olive)}.toast.info .ic::before,.toast.ok .ic::before{content:'i'}.toast .body{flex:1;min-width:0}.toast .close{flex:0 0 auto;width:22px;height:22px;border-radius:999px;background:transparent;border:none;color:var(--gold-border);cursor:pointer;font-size:18px;line-height:1;padding:0;transition:color .15s}.toast .close:hover{color:var(--champagne)}.toast .progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform-origin:left;animation:toast-progress 5s linear forwards}.toast{position:relative;overflow:hidden}@keyframes toast-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:600px){.toast-container{top:auto;bottom:16px;left:16px;right:16px;max-width:none}.toast{transform:translateY(120%)}.toast.show{transform:translateY(0)}.toast.hide{transform:translateY(120%)}}