/* Notification Settings Panel Styles */ .notification-settings { max-width: 800px; margin: 0 auto; padding: 20px; } .notification-settings h2 { margin-bottom: 30px; color: #fff; } .settings-section { background: #1e1e2e; border-radius: 8px; padding: 20px; margin-bottom: 30px; } .settings-section h3 { margin-top: 0; margin-bottom: 10px; color: #4fc3f7; } .section-desc { color: #aaa; font-size: 0.9em; margin-bottom: 20px; } /* Channel Cards */ .channels-list { display: grid; gap: 15px; margin-bottom: 20px; } .channel-card { background: #252538; border: 1px solid #3a3a4a; border-radius: 8px; padding: 15px; } .channel-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; } .channel-type { font-weight: 600; color: #81c784; text-transform: uppercase; font-size: 0.85em; } .channel-actions { display: flex; gap: 10px; } .channel-details { color: #aaa; font-size: 0.9em; } .channel-url { color: #888; font-family: monospace; } /* Buttons */ .btn { padding: 10px 20px; border: none; border-radius: 6px; font-size: 14px; cursor: pointer; transition: all 0.2s; display: inline-flex; align-items: center; gap: 8px; } .btn-primary { background: #4fc3f7; color: #000; } .btn-primary:hover { background: #29b6f6; } .btn-secondary { background: #3a3a4a; color: #fff; } .btn-secondary:hover { background: #4a4a5a; } .btn-icon { background: none; border: none; font-size: 18px; cursor: pointer; padding: 5px; opacity: 0.7; transition: opacity 0.2s; } .btn-icon:hover { opacity: 1; } /* Quiet Hours Configuration */ .quiet-hours-config { display: flex; flex-direction: column; gap: 20px; } .checkbox-label { display: flex; align-items: center; gap: 10px; color: #fff; cursor: pointer; } .checkbox-label input[type="checkbox"] { width: 18px; height: 18px; cursor: pointer; } .time-range { display: flex; gap: 20px; } .time-field { display: flex; flex-direction: column; gap: 5px; } .time-field label { color: #aaa; font-size: 0.9em; } .time-field input { padding: 8px 12px; background: #2a2a3a; border: 1px solid #3a3a4a; border-radius: 4px; color: #fff; font-size: 14px; } .days-selector { display: flex; flex-direction: column; gap: 10px; } .day-checkbox { display: flex; gap: 15px; } .day-checkbox-label { display: flex; align-items: center; gap: 5px; color: #fff; cursor: pointer; font-size: 0.9em; } .day-checkbox-input { width: 16px; height: 16px; cursor: pointer; } /* Batching Configuration */ .batching-config { display: flex; flex-direction: column; gap: 15px; } .batch-window, .max-batch-size { display: flex; flex-direction: column; gap: 5px; } .batch-window label, .max-batch-size label { color: #aaa; font-size: 0.9em; } .batch-window input, .max-batch-size input { padding: 8px 12px; background: #2a2a3a; border: 1px solid #3a3a4a; border-radius: 4px; color: #fff; font-size: 14px; max-width: 150px; } /* Event Type Toggles */ .event-types { display: flex; flex-direction: column; gap: 12px; } .event-type-toggle { display: flex; align-items: center; gap: 15px; padding: 10px; background: #252538; border-radius: 6px; } .event-type-info { display: flex; flex-direction: column; } .event-type-label { color: #fff; font-weight: 500; } .event-type-desc { color: #888; font-size: 0.85em; } /* Toggle Switch */ .toggle-switch { position: relative; display: inline-block; width: 44px; height: 24px; } .toggle-switch input { opacity: 0; width: 0; height: 0; } .toggle-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #3a3a4a; transition: 0.3s; border-radius: 24px; } .toggle-slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: #fff; transition: 0.3s; border-radius: 50%; } .toggle-switch input:checked + .toggle-slider { background-color: #4fc3f7; } .toggle-switch input:checked + .toggle-slider:before { transform: translateX(20px); } /* Modal */ .modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.7); display: flex; align-items: center; justify-content: center; z-index: 1000; } .modal.hidden { display: none; } .modal-content { background: #1e1e2e; border-radius: 12px; width: 90%; max-width: 500px; max-height: 90vh; overflow-y: auto; } .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid #3a3a4a; } .modal-header h3 { margin: 0; color: #fff; } .close-modal { background: none; border: none; color: #888; font-size: 24px; cursor: pointer; padding: 5px; line-height: 1; } .close-modal:hover { color: #fff; } .modal-body { padding: 20px; } /* Form Styles */ .form-group { margin-bottom: 20px; } .form-group label { display: block; color: #aaa; font-size: 0.9em; margin-bottom: 8px; } .form-group input, .form-group select { width: 100%; padding: 10px 12px; background: #2a2a3a; border: 1px solid #3a3a4a; border-radius: 6px; color: #fff; font-size: 14px; box-sizing: border-box; } .auth-fields { display: flex; gap: 10px; } .auth-fields input { flex: 1; } .event-types-selector { margin-top: 20px; } .event-types-selector label { display: block; color: #aaa; font-size: 0.9em; margin-bottom: 10px; } #modal-event-types { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; } .form-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 20px; } /* Toast Notifications */ .toast { position: fixed; bottom: 20px; right: 20px; padding: 15px 20px; border-radius: 8px; color: #fff; font-size: 14px; z-index: 2000; animation: slideIn 0.3s ease-out; } .toast-success { background: #43a047; } .toast-error { background: #e53935; } .toast-hiding { animation: fadeOut 0.3s ease-out forwards; } @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } @keyframes fadeOut { to { opacity: 0; } } /* Empty State */ .empty-state { text-align: center; color: #666; padding: 40px 20px; font-style: italic; } /* Responsive Design */ @media (max-width: 600px) { .notification-settings { padding: 15px; } .settings-section { padding: 15px; } .time-range { flex-direction: column; gap: 10px; } .channels-list { grid-template-columns: 1fr; } .modal-content { width: 95%; } #modal-event-types { grid-template-columns: 1fr; } } /* Settings Tabs */ .settings-tabs { display: flex; gap: 4px; margin-bottom: 20px; border-bottom: 1px solid #3a3a4a; } .settings-tab { flex: 1; padding: 12px 16px; background: transparent; border: none; color: #888; font-size: 14px; cursor: pointer; transition: all 0.2s; border-bottom: 2px solid transparent; } .settings-tab:hover { color: #fff; background: rgba(255, 255, 255, 0.05); } .settings-tab.active { color: #4fc3f7; border-bottom-color: #4fc3f7; }