.flash-stack{z-index:9999;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.flash{pointer-events:auto;color:#f8fafc;-webkit-backdrop-filter:blur(12px);background:#1e293b;border:1px solid #ffffff1a;border-radius:8px;align-items:flex-start;gap:12px;min-width:300px;max-width:400px;padding:16px;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideIn;display:flex;box-shadow:0 10px 30px -10px #00000080}.flash.success{border-left:4px solid #10b981}.flash.error{border-left:4px solid #ef4444}.flash.info{border-left:4px solid #3b82f6}.flash.warning{border-left:4px solid #e4b50d}.flash-icon{flex-shrink:0}.flash.success .flash-icon{color:#10b981}.flash.error .flash-icon{color:#ef4444}.flash.info .flash-icon{color:#3b82f6}.flash.warning .flash-icon{color:#e4b50d}.flash-content{flex-direction:column;flex:1;gap:4px;display:flex}.flash-content strong{font-size:.95rem;font-weight:600}.flash-content span{color:#94a3b8;font-size:.85rem}.flash-close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .2s,background .2s;display:flex}.flash-close:hover{color:#f8fafc;background:#ffffff1a}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.flash.hiding{animation:.3s forwards fadeOut}
