@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes spin{to{transform:rotate(360deg)}}.notification-bell{position:relative;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .3s ease}.notification-bell:hover{background-color:rgba(0,0,0,.05)}.notification-bell svg{width:24px;height:24px;fill:currentColor}.notification-bell.subscribed svg{fill:#10b981}.notification-bell-badge{position:absolute;top:4px;right:4px;width:8px;height:8px;background-color:#ef4444;border-radius:50%;animation:pulse 2s infinite}.notification-prompt-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}.notification-prompt-modal{background:#fff;border-radius:16px;padding:32px;max-width:420px;width:90%;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);animation:slideUp .3s ease}.notification-prompt-icon{width:64px;height:64px;margin:0 auto 20px;background:linear-gradient(135deg,#32cd32 0,#228b22 100%);border-radius:50%;display:flex;align-items:center;justify-content:center}.notification-prompt-icon svg{width:32px;height:32px;fill:#fff}.notification-prompt-title{font-size:24px;font-weight:700;text-align:center;margin-bottom:12px;color:#1f2937}.notification-prompt-description{font-size:16px;text-align:center;color:#6b7280;margin-bottom:24px;line-height:1.6}.notification-prompt-benefits{list-style:none;padding:0;margin:0 0 24px}.notification-prompt-benefits li{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:14px;color:#374151}.notification-prompt-benefits li span{flex:1}.notification-prompt-actions{display:flex;gap:12px}.notification-prompt-btn{flex:1;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;border:0;outline:0}.notification-prompt-btn-primary{background:linear-gradient(135deg,#32cd32 0,#228b22 100%);color:#fff}.notification-prompt-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(34,139,34,.3)}.notification-prompt-btn-secondary{background:#f3f4f6;color:#6b7280}.notification-prompt-btn-secondary:hover{background:#e5e7eb}.notification-preferences-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:9998;animation:fadeIn .3s ease}.notification-preferences-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:400px;background:#fff;box-shadow:-5px 0 15px rgba(0,0,0,.1);z-index:9999;overflow-y:auto;animation:slideInRight .3s ease}.notification-preferences-header{padding:24px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:10}.notification-preferences-title{font-size:20px;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:8px}.notification-preferences-close{background:0 0;border:0;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .3s ease}.notification-preferences-close:hover{background-color:#f3f4f6}.notification-preferences-close svg{width:24px;height:24px}.notification-preferences-content{padding:24px}.notification-preferences-section{margin-bottom:32px}.notification-preferences-section-title{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:12px}.notification-preferences-checkboxes{display:flex;flex-direction:column;gap:12px}.notification-preferences-checkbox{display:flex;align-items:center;gap:12px}.notification-preferences-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.notification-preferences-checkbox label,.notification-preferences-radio label{cursor:pointer;font-size:14px;color:#374151}.notification-preferences-radio-group{display:flex;flex-direction:column;gap:12px}.notification-preferences-radio{display:flex;align-items:center;gap:12px}.notification-preferences-radio input[type=radio]{width:18px;height:18px;cursor:pointer}.notification-preferences-estimate{background:#f3f4f6;border-radius:8px;padding:16px;margin-bottom:24px;text-align:center}.notification-preferences-estimate-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.notification-preferences-estimate-value{font-size:24px;font-weight:700;color:#228b22}.notification-preferences-actions{display:flex;flex-direction:column;gap:12px;padding:24px;border-top:1px solid #e5e7eb;position:sticky;bottom:0;background:#fff}.notification-preferences-btn{padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;border:0;outline:0}.notification-preferences-btn-primary{background:linear-gradient(135deg,#32cd32 0,#228b22 100%);color:#fff}.notification-preferences-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(34,139,34,.3)}.notification-preferences-btn-danger{background:#fff;color:#ef4444;border:1px solid #ef4444}.notification-preferences-btn-danger:hover{background:#fef2f2}@media (max-width:640px){.notification-prompt-modal{padding:24px;max-width:340px}.notification-prompt-title{font-size:20px}.notification-prompt-description{font-size:14px}.notification-preferences-panel{max-width:100%}.notification-prompt-actions{flex-direction:column}}.notification-loading{position:relative;pointer-events:none;opacity:.6}.notification-loading::after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0-10px;border:2px solid #228b22;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}