.notifications-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header-left{align-items:center;gap:1rem;display:flex}.notifications-header h1{background:linear-gradient(135deg,#ffd600 0%,#ffc107 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.4rem;font-weight:700}.unread-count{background:var(--error-color);color:#fff;text-align:center;border-radius:50%;min-width:1.5rem;padding:.25rem .5rem;font-size:.8rem;font-weight:600}.mark-all-read-btn{background:var(--accent-color);color:var(--bg-primary);cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600;transition:all .2s}.mark-all-read-btn:hover{background:#e6c100}.notifications-container{background:var(--bg-secondary);border-radius:12px;min-height:60vh;padding:2rem;transition:background .3s}.notifications-container.filter-all{background:var(--bg-secondary)}.notifications-container.filter-unread{background:linear-gradient(135deg, var(--bg-secondary) 0%, #ffd6000d 100%)}.notifications-container.filter-co-owner-invite{background:linear-gradient(135deg, var(--bg-secondary) 0%, #4ecdc40d 100%)}.notifications-container.filter-file-shared{background:linear-gradient(135deg, var(--bg-secondary) 0%, #87ceeb0d 100%)}.notifications-filters{border-bottom:1px solid var(--border-color);gap:.5rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.filter-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #ffc107;border-radius:3px;padding:.5rem 1rem;font-size:1.3rem;font-weight:500;transition:all .2s}.filter-btn:hover{color:var(--text-primary);background:#ffd6001a}.filter-btn.active{background:var(--accent-color);color:var(--bg-primary)}.notifications-list{flex-direction:column;gap:1rem;display:flex}.notification-item{background:var(--bg-primary);border-left:4px solid var(--border-color);box-sizing:border-box;border-radius:8px;align-items:flex-start;gap:1rem;width:100%;padding:1.25rem;transition:all .2s;display:flex;position:relative}.notification-item.unread{border-left-color:var(--accent-color);background:linear-gradient(135deg, var(--bg-primary) 0%, #ffd6000d 100%)}.notification-item.co-owner-invite{border-left-color:#4ecdc4}.notification-item.file-shared{border:2px solid #87ceeb}.notification-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.notification-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.notification-title{color:var(--text-primary);margin:0;font-weight:600}.notification-time{color:var(--text-secondary);font-size:.8rem}.notification-message{color:var(--text-secondary);word-break:break-word;overflow-wrap:break-word;margin:0 0 .5rem;font-size:.95rem;line-height:1.5}.notification-actions{align-items:center;gap:.5rem;display:flex}.notification-action-btn{border:2px solid var(--accent-color);cursor:pointer;border-radius:4px;padding:.375rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s}.accept-btn{background:var(--success-color);color:#fff;border:2px solid var(--accent-color)}.accept-btn:hover{background:#388e3c}.decline-btn{background:var(--error-color);color:#fff;border:2px solid var(--accent-color)}.decline-btn:hover{background:#d32f2f}.view-btn{background:var(--accent-color);color:var(--bg-primary);border:2px solid var(--accent-color)}.view-btn:hover{background:#e6c100}.delete-btn{color:var(--text-secondary);border:2px solid var(--accent-color);background:0 0}.delete-btn:hover{color:var(--error-color);border-color:var(--error-color)}.mark-read-btn{color:var(--text-secondary);border:2px solid var(--accent-color);background:0 0}.mark-read-btn:hover{color:var(--accent-color);border-color:var(--accent-color)}.notification-badge{background:var(--accent-color);border-radius:50%;width:8px;height:8px;position:absolute;top:.5rem;right:.5rem}.notification-item.read .notification-badge{display:none}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem}.empty-state svg{opacity:.5;width:4rem;height:4rem;margin-bottom:1rem}.empty-state h3{color:var(--text-primary);margin-bottom:.5rem}.notification-type-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;margin-right:.75rem;display:inline-flex}.notification-type-icon.co-owner-invite{color:#4ecdc4;background:#4ecdc433}.notification-type-icon.file-shared{color:#87ceeb;background:#87ceeb33}.notification-type-icon.announcement{color:var(--accent-color);background:#ffd60033}.notification-type-icon.event-posted{color:#93c5fd;background:#93c5fd33}.notification-type-icon.group-invite{color:#22c55e;background:#22c55e33}.notification-type-icon.form-due{color:#fb923c;background:#fb923c33}.notification-type-icon.form-posted{color:#a855f7;background:#a855f733}.notification-type-icon.resource-shared{color:#0ea5e9;background:#0ea5e933}.notification-type-icon.grade-release{color:#22c55e;background:#22c55e33}.notification-content{flex-direction:column;flex:1;align-items:flex-start;gap:.25rem;min-width:0;display:flex}.notification-details{flex:1}@media (max-width:768px){.notifications-header{flex-direction:column;align-items:flex-start;gap:1rem}.notifications-filters,.notification-actions{flex-wrap:wrap}.notification-header{flex-direction:column;gap:.5rem}}.confirmation-dialog-backdrop{z-index:3000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.confirmation-dialog{background:var(--bg-secondary);border-radius:12px;min-width:400px;max-width:500px;padding:2rem;animation:.3s modalSlideIn;box-shadow:0 10px 25px #0000004d}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.confirmation-dialog h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.2rem}.confirmation-dialog p{color:var(--text-secondary);margin:0 0 2rem;line-height:1.5}.confirmation-dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.confirmation-dialog button{cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-weight:600;transition:all .2s}.confirmation-cancel-btn{color:var(--text-secondary);border:2px solid var(--border-color);background:0 0}.confirmation-cancel-btn:hover{color:var(--text-primary);border-color:var(--text-primary)}.confirmation-confirm-btn{background:var(--error-color);color:#fff;border:2px solid var(--error-color)}.confirmation-confirm-btn:hover{background:#d32f2f;border-color:#d32f2f}#emailPreferencesModal{z-index:9999;opacity:0;visibility:hidden;justify-content:center;align-items:center;width:100%;height:100vh;transition:opacity .3s,visibility .3s;display:none;position:fixed;top:0;left:0}#emailPreferencesModal.active{opacity:1;visibility:visible;display:flex}#emailPreferencesModal .modal-content{border:3px solid var(--accent-color);opacity:0;background:#090622;border-radius:12px;width:90%;max-width:600px;max-height:90vh;transition:opacity .3s,transform .3s;overflow-y:auto;transform:translateY(-20px);box-shadow:0 10px 25px #0000004d}#emailPreferencesModal.active .modal-content{opacity:1;transform:translateY(0)}#emailPreferencesModal .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}#emailPreferencesModal .modal-header h2{color:var(--text-primary);margin:0;font-size:1.5rem}#emailPreferencesModal .close-modal-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1.5rem;transition:color .2s}#emailPreferencesModal .close-modal-btn:hover{color:var(--text-primary)}#emailPreferencesModal .modal-body{padding:1.5rem}#emailPreferencesModal .modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;display:flex}#emailPreferencesModal .preference-section{margin-bottom:2rem}#emailPreferencesModal .preference-section h3{color:var(--text-primary);margin:0 0 1.5rem}#emailPreferencesModal .preference-option{border-radius:8px;align-items:center;margin-bottom:1rem;padding:.75rem;transition:background-color .2s;display:flex}#emailPreferencesModal .preference-option:hover{background-color:#ffd6000d}#emailPreferencesModal .preference-option input:checked~.preference-label{color:var(--success-color);font-weight:600}#emailPreferencesModal .preference-label{color:var(--text-primary);margin-left:1rem;transition:color .2s}#emailPreferencesModal .notification-types{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1rem}#emailPreferencesModal .notification-types h4{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.switch{width:46px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#374151;border:2px solid #4b5563;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:#9ca3af;width:14px;height:14px;transition:all .3s;position:absolute;bottom:2px;left:2px}input:checked+.slider{background-color:#059669;border-color:#10b981}input:checked+.slider:before{background-color:#d1fae5;transform:translate(24px)}input:disabled+.slider{opacity:.5;cursor:not-allowed;background-color:#1f2937;border-color:#374151}input:disabled+.slider:before{background-color:#4b5563}.slider:hover{border-color:#6b7280}input:checked+.slider:hover{border-color:#34d399}input:disabled+.slider:hover{border-color:#374151}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}#emailPreferencesModal .save-btn,#emailPreferencesModal .cancel-btn{cursor:pointer;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}#emailPreferencesModal .save-btn{background:var(--success-color);color:#fff;border:none;box-shadow:0 2px 4px #0000001a}#emailPreferencesModal .save-btn:hover{background:#2e7d32;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}#emailPreferencesModal .cancel-btn{color:var(--text-secondary);border:2px solid var(--border-color);background:0 0}#emailPreferencesModal .cancel-btn:hover{color:var(--text-primary);border-color:var(--text-primary);background:#ffffff0d}.email-preferences-btn{color:var(--text-secondary);border:2px solid var(--accent-color);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:600;transition:all .2s;display:flex}.email-preferences-btn:hover{color:var(--accent-color);background:#ffd6001a}.email-preferences-btn .icon{stroke:currentColor;width:1.2rem;height:1.2rem}
