.notification-settings-modal .MuiPaper-root{border-radius:20px;max-width:500px;width:90%;max-height:95vh;overflow:hidden;background:linear-gradient(135deg,#ffffff,#f8fafc);box-shadow:0 25px 80px rgba(0,0,0,.15)}.notification-settings-header{padding:24px 32px 20px;border-bottom:1px solid rgba(0,0,0,.06);background:linear-gradient(135deg,#f8fafc,#f1f5f9);position:relative;overflow:hidden}.notification-settings-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(59,130,246,.03),rgba(147,197,253,.03) 50%,rgba(59,130,246,.03));animation:headerShimmer 4s ease-in-out infinite}@keyframes headerShimmer{0%,to{opacity:.5}50%{opacity:1}}.notification-settings-title{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:8px;background:linear-gradient(135deg,#334155,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1}.notification-settings-subtitle{font-size:14px;color:#64748b;margin:0;position:relative;z-index:1}.notification-settings-content{padding:32px;max-height:calc(90vh - 140px);overflow-y:auto;background:#fff}.notification-settings-group{margin-bottom:32px}.notification-settings-group:last-child{margin-bottom:0}.notification-settings-group-title{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:16px;display:flex;align-items:center;gap:12px}.notification-settings-group-icon{color:#3b82f6;font-size:20px}.notification-setting-item{display:flex;align-items:center;justify-content:space-between;padding:20px;border-radius:12px;background:linear-gradient(135deg,#ffffff,#f8fafc);border:1px solid rgba(0,0,0,.06);margin-bottom:16px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.notification-setting-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.1);border-color:rgba(59,130,246,.2)}.notification-setting-item:last-child{margin-bottom:0}.notification-setting-item.active{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:rgba(59,130,246,.3)}.notification-setting-left{flex:1;display:flex;align-items:center;gap:16px}.notification-setting-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3b82f6;flex-shrink:0}.notification-setting-content{flex:1}.notification-setting-title{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.notification-setting-description{font-size:14px;color:#64748b;line-height:1.4;margin:0}.notification-setting-switch{flex-shrink:0;position:relative}.notification-setting-switch .MuiSwitch-root{width:52px;height:32px}.notification-setting-switch .MuiSwitch-switchBase{padding:8px;color:#94a3b8}.notification-setting-switch .MuiSwitch-switchBase.Mui-checked{color:#3b82f6;transform:translateX(20px)}.notification-setting-switch .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background-color:#3b82f6;opacity:.3}.notification-setting-switch .MuiSwitch-thumb{width:16px;height:16px;box-shadow:0 2px 4px rgba(0,0,0,.2)}.notification-setting-switch .MuiSwitch-track{border-radius:16px;background-color:#e2e8f0;opacity:.5;transition:background-color .3s ease}.notification-setting-switch .MuiSwitch-switchBase.Mui-checked{animation:switchOn .3s ease}@keyframes switchOn{0%{transform:translateX(0)}to{transform:translateX(20px)}}.notification-settings-footer{padding:5px 15px;border-top:1px solid rgba(0,0,0,.06);background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;gap:16px;justify-content:flex-end}.notification-settings-button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;display:inline-flex;align-items:center;gap:8px;position:relative;overflow:hidden}.notification-settings-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.notification-settings-button:hover:before{left:100%}.notification-settings-button.cancel{background:rgba(148,163,184,.1);color:#64748b;border:1px solid rgba(148,163,184,.2)}.notification-settings-button.cancel:hover{background:rgba(148,163,184,.2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(148,163,184,.2)}.notification-settings-button.save{background:linear-gradient(135deg,#3b82f6,#2563eb);color:white;border:1px solid rgba(59,130,246,.2)}.notification-settings-button.save:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 8px 25px rgba(59,130,246,.3)}.notification-settings-button.save:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.notification-settings-button.save:disabled:hover{background:#94a3b8;transform:none}.notification-settings-modal .MuiPaper-root{animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.notification-setting-item{animation:itemFadeIn .5s ease-out;animation-fill-mode:both}.notification-setting-item:first-child{animation-delay:.1s}.notification-setting-item:nth-child(2){animation-delay:.15s}.notification-setting-item:nth-child(3){animation-delay:.2s}.notification-setting-item:nth-child(4){animation-delay:.25s}@keyframes itemFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.notification-settings-modal .MuiPaper-root{width:95%;margin:16px}.notification-settings-header{padding:20px 24px 16px}.notification-settings-title{font-size:20px}.notification-settings-content{padding:24px 20px}.notification-settings-footer{padding:20px 24px;flex-direction:column}.notification-settings-button{width:100%;justify-content:center}.notification-setting-item{flex-direction:column;align-items:flex-start;gap:16px}.notification-setting-left{width:100%}.notification-setting-switch{width:100%;display:flex;justify-content:flex-end}}.notification-settings-saving{position:relative}.notification-settings-saving:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.notification-settings-success{background:linear-gradient(135deg,#10b981,#059669);color:white!important;padding:12px 20px;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;animation:successSlideIn .5s ease-out;border:none}.notification-settings-success .MuiAlert-message{color:white!important;padding:0}.notification-settings-success .MuiAlert-action,.notification-settings-success .MuiAlert-icon{color:white!important}@keyframes successSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-settings-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:white!important;padding:12px 20px;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;animation:errorShake .5s ease-out;border:none}.notification-settings-error .MuiAlert-message{color:white!important;padding:0}.notification-settings-error .MuiAlert-action,.notification-settings-error .MuiAlert-icon{color:white!important}@keyframes errorShake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.notification-bell-container{position:relative;margin-right:8px}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(59,130,246,.7)}50%{transform:scale(1.05);box-shadow:0 0 0 8px rgba(59,130,246,0)}to{transform:scale(1);box-shadow:0 0 0 0 rgba(59,130,246,0)}}.notification-bell-button{position:relative;padding:8px;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);color:white;border:2px solid transparent}.notification-bell-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.4)}.notification-bell-button.unread{animation:pulse 2s infinite}.notification-badge{position:absolute;top:11px;right:11px;color:white;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;box-shadow:0 2px 8px rgba(239,68,68,.3);animation:bounceIn .5s ease-out}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:.8}to{transform:scale(1);opacity:1}}.notification-menu{margin-top:8px}.notification-menu .MuiPaper-root{border-radius:16px;min-width:350px;max-width:420px;max-height:500px;box-shadow:0 20px 60px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.08);background:linear-gradient(135deg,#ffffff,#f8fafc);backdrop-filter:blur(20px);overflow:hidden;display:flex;flex-direction:column;height:100%}.notification-menu-structure{display:flex;flex-direction:column;height:100%;min-height:0;max-height:100%}@media (max-width:600px){.notification-menu .MuiPaper-root{min-width:300px;max-width:340px;max-height:450px}}.notification-menu-header{padding:20px 24px 16px;border-bottom:1px solid rgba(0,0,0,.06);background:linear-gradient(135deg,#f8fafc,#f1f5f9);flex-shrink:0;position:relative}.notification-menu-title{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:8px;background:linear-gradient(135deg,#334155,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.notification-menu-subtitle{font-size:14px;color:#64748b;margin:0}.notification-content-container{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;min-height:0;max-height:350px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;-webkit-overflow-scrolling:touch;padding:8px 0}.notification-content-container::-webkit-scrollbar{width:6px}.notification-content-container::-webkit-scrollbar-track{background:transparent}.notification-content-container::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:3px}.notification-content-container::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.notification-item{padding:16px 24px;border-bottom:1px solid rgba(0,0,0,.04);transition:all .2s ease;cursor:pointer;position:relative;overflow:visible}.notification-content,.notification-item{word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.notification-content{width:100%;box-sizing:border-box}.notification-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);transform:scaleY(0);transition:transform .3s ease}.notification-item:hover:before{transform:scaleY(1)}.notification-item:hover{background:linear-gradient(135deg,rgba(59,130,246,.02),rgba(29,78,216,.02));transform:translateX(4px)}.notification-item.unread{background:linear-gradient(135deg,rgba(245,158,11,.05),rgba(217,119,6,.05));border-left:3px solid #f59e0b}.notification-item.unread:before{background:linear-gradient(135deg,#f59e0b,#d97706);transform:scaleY(1)}.notification-type{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;padding:2px 8px;border-radius:12px;display:inline-block}.notification-type.access_opened{background:linear-gradient(135deg,#10b981,#059669);color:white}.notification-type.access_closed{background:linear-gradient(135deg,#ef4444,#dc2626);color:white}.notification-type.enrollment{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:white}.notification-type.access_warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:white}.notification-type.custom{background:linear-gradient(135deg,#06b6d4,#0891b2);color:white}.notification-title{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:4px;line-height:1.4;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;hyphens:auto}.notification-message{font-size:13px;color:#64748b;line-height:1.4;margin-bottom:8px;hyphens:auto;max-height:none;display:block;width:100%;box-sizing:border-box}.notification-message,.notification-message.MuiTypography-root{word-wrap:break-word!important;overflow-wrap:break-word!important;word-break:break-word!important;white-space:normal!important}.notification-message.MuiTypography-root,.notification-title.MuiTypography-root{display:block!important;max-width:100%!important}.notification-title.MuiTypography-root{word-wrap:break-word!important;overflow-wrap:break-word!important;word-break:break-word!important;white-space:normal!important}.notification-time{font-size:11px;color:#94a3b8;font-weight:500}.notification-actions{display:flex;gap:8px;margin-top:12px;opacity:0;transform:translateY(10px);transition:all .3s ease}.notification-item:hover .notification-actions{opacity:1;transform:translateY(0)}.notification-action-button{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.notification-action-button.mark-read{background:linear-gradient(135deg,#10b981,#059669);color:white}.notification-action-button.mark-read:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.3)}.notification-action-button.view{background:linear-gradient(135deg,#3b82f6,#2563eb);color:white}.notification-action-button.view:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.notification-aggregated{padding:16px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid rgba(0,0,0,.06);cursor:pointer;transition:all .2s ease}.notification-aggregated:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);transform:translateX(2px)}.aggregated-count{font-size:24px;font-weight:700;color:#3b82f6;margin-bottom:4px}.aggregated-text{font-size:14px;color:#64748b;margin:0}.notification-menu-footer{border-top:1px solid rgba(0,0,0,.06);background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;justify-content:center;flex-shrink:0;flex-grow:0}.notification-menu-footer-button{flex:1;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center}.notification-menu-footer-button.settings{background:linear-gradient(135deg,#64748b,#475569);color:white}.notification-menu-footer-button.settings:hover{background:linear-gradient(135deg,#475569,#334155);transform:translateY(-1px);box-shadow:0 4px 12px rgba(100,116,139,.3)}.notification-menu-footer-button.all{background:linear-gradient(135deg,#3b82f6,#2563eb);color:white;width:100%}.notification-menu-footer-button.all:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-menu .MuiPaper-root{animation:slideDown .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.notification-item{animation:fadeInUp .4s ease-out;animation-fill-mode:both}.notification-item:first-child{animation-delay:.1s}.notification-item:nth-child(2){animation-delay:.15s}.notification-item:nth-child(3){animation-delay:.2s}.notification-item:nth-child(4){animation-delay:.25s}.notification-item:nth-child(5){animation-delay:.3s}@media (max-width:600px){.notification-menu .MuiPaper-root{min-width:320px;max-width:360px;margin-top:4px}.notification-menu-header{padding:16px 20px 12px}.notification-menu-title{font-size:16px}.notification-item{padding:14px 20px}.notification-title{font-size:14px}.notification-message{font-size:12px}.notification-menu-footer{padding:14px 20px}}