@keyframes slideIn{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(30px)}}.notification-container{position:fixed;top:50px;right:50px;z-index:9999;max-width:500px}.notification{background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15);margin-bottom:16px;padding:16px;display:flex;align-items:flex-start;gap:12px;animation:slideIn .4s cubic-bezier(.16,1,.3,1);transform-origin:top right}.notification-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification.success .notification-icon{color:#10b981}.notification.error .notification-icon{color:#ef4444}.notification.warning .notification-icon{color:#f59e0b}.notification.info .notification-icon{color:#3b82f6}.notification-content{flex-grow:1;margin-right:8px}.notification-title{font-weight:600;font-size:14px;line-height:1.4;margin:0 0 4px;color:#111827}.notification-message{font-size:14px;line-height:1.5;color:#4b5563;margin:0}.confirm-dialog,.notification-close{justify-content:center;align-items:center}.notification-close{flex-shrink:0;background:0 0;border:0;padding:2px;color:#9ca3af;cursor:pointer;border-radius:4px;width:24px;height:24px;display:flex;transition:all .2s}.notification-close:hover{background-color:#f3f4f6;color:#4b5563}.notification.fade-out{animation:slideOut .3s cubic-bezier(.16,1,.3,1) forwards}.confirm-dialog{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:9999}.confirm-dialog.active{display:flex}.confirm-dialog-content{background:#fff;padding:2rem;border-radius:8px;max-width:400px;width:90%;box-shadow:0 2px 10px rgba(0,0,0,.1)}.confirm-dialog h2{margin:0 0 1rem;font-size:1.5rem;color:#333}.confirm-dialog p{margin:0 0 1.5rem;color:#666;line-height:1.4}.confirm-dialog-buttons{display:flex;justify-content:flex-end;gap:1rem}.btn-cancel,.btn-confirm{padding:.5rem 1rem;border:0;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn-cancel{background-color:#f0f0f0;color:#666}.btn-cancel:hover{background-color:#e4e4e4}.btn-confirm{background-color:#007bff;color:#fff}.btn-confirm:hover{background-color:#0056b3}