#pf-notification-container{position:fixed;top:120px;left:0;right:0;z-index:999999;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:12px}.pf-notification{background:#ffffff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.15);display:flex;align-items:flex-start;gap:12px;padding:16px 20px;transform:translateY(-120px);opacity:0;transition:all 0.5s cubic-bezier(0.34,1.56,0.64,1);pointer-events:auto;border-left:4px solid transparent;position:relative}.pf-notification.show{transform:translateY(0);opacity:1}.pf-notification.hide{transform:translateY(-120px);opacity:0;transition:all 0.4s cubic-bezier(0.55,0.085,0.68,0.53)}.pf-notification.success{border-left-color:#10b981}.pf-notification.error{border-left-color:#ef4444}.pf-notification.warning{border-left-color:#f59e0b}.pf-notification.info{border-left-color:#3b82f6}.pf-notification-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pf-notification.success .pf-notification-icon{background:#10b981;color:#fff}.pf-notification.error .pf-notification-icon{background:#ef4444;color:#fff}.pf-notification.warning .pf-notification-icon{background:#f59e0b;color:#fff}.pf-notification.info .pf-notification-icon{background:#3b82f6;color:#fff}.pf-notification-icon svg{width:20px;height:20px}.pf-notification-content{flex:1;padding-top:2px}.pf-notification-title{font-size:14px;font-weight:700;color:#111;margin-bottom:4px;line-height:1.4}.pf-notification-message{font-size:13px;color:#6b7280;line-height:1.5}.pf-notification-close{width:24px;height:24px;background:transparent;border:none;color:#9ca3af;font-size:20px;line-height:1;cursor:pointer;transition:color 0.2s ease;flex-shrink:0;padding:0;margin-top:-2px}.pf-notification-close:hover{color:#111}.pf-notification-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;border-radius:0 0 0 12px;opacity:0.3;animation:notificationProgress 3s linear}@keyframes notificationProgress{from{width:100%}to{width:0%}}.pf-notification.success .pf-notification-icon svg{animation:checkmark 0.5s cubic-bezier(0.34,1.56,0.64,1)}.pf-notification.error .pf-notification-icon svg{animation:errorShake 0.5s ease}.pf-notification.warning .pf-notification-icon svg,.pf-notification.info .pf-notification-icon svg{animation:bounce 0.5s ease}@keyframes checkmark{0%{transform:scale(0.8);opacity:0}50%{transform:scale(1.2)}100%{transform:scale(1);opacity:1}}@keyframes errorShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width:480px){#pf-notification-container{left:10px;right:10px;transform:none;width:auto;min-width:auto;max-width:none}.pf-notification{width:100%}}.pf-notification:not(:last-child){margin-bottom:0}