main
css 126 lines 2.7 KB
Raw
1 /* ===== NOTIFICATION SYSTEM STYLES ===== */
2
3 /* Notification Toggle Button */
4 .notification-toggle {
5 display: inline-flex;
6 align-items: center;
7 justify-content: center;
8 position: relative;
9 padding: 0;
10 background: rgba(255, 255, 255, 0.05);
11 border: 1px solid rgba(255, 255, 255, 0.1);
12 border-radius: 6px;
13 color: var(--color-text);
14 cursor: pointer;
15 transition: background-color 0.2s ease, border-color 0.2s ease,
16 box-shadow 0.2s ease, opacity 0.2s ease;
17 font-size: 1rem;
18 width: 36px;
19 height: 36px;
20 flex-shrink: 0;
21 margin: 0;
22 box-sizing: border-box;
23 text-align: center;
24 }
25
26 .notification-toggle:hover {
27 background: rgba(255, 255, 255, 0.1);
28 border-color: rgba(255, 255, 255, 0.2);
29 box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08),
30 0 4px 12px rgba(0, 0, 0, 0.18);
31 }
32
33 .notification-toggle .notification-icon {
34 display: flex;
35 align-items: center;
36 justify-content: center;
37 font-size: 1rem;
38 width: 100%;
39 height: 100%;
40 text-align: center;
41 line-height: 1;
42 vertical-align: middle;
43 margin: 0;
44 padding: 0;
45 }
46
47 .notification-toggle.has-unread {
48 border-color: #2196F3;
49 background: rgba(33, 150, 243, 0.1);
50 animation: pulse 2s infinite;
51 }
52
53 .notification-badge {
54 position: absolute;
55 top: -8px;
56 right: -8px;
57 background: #F44336;
58 color: white;
59 font-size: 0.7rem;
60 font-weight: bold;
61 padding: 0.2rem 0.4rem;
62 border-radius: 10px;
63 min-width: 1.2rem;
64 text-align: center;
65 line-height: 1;
66 border: 2px solid var(--bg-color);
67 z-index: 1;
68 display: flex;
69 align-items: center;
70 justify-content: center;
71 }
72
73 .notification-toggle.disabled {
74 opacity: 0.4;
75 cursor: not-allowed;
76 }
77
78 .notification-toggle.has-notifications {
79 opacity: 1;
80 }
81
82 .notification-toggle.disabled:hover {
83 background: rgba(255, 255, 255, 0.05);
84 border-color: rgba(255, 255, 255, 0.1);
85 box-shadow: none;
86 }
87
88
89
90 /* Light Mode Styles */
91 .light-mode .notification-toggle {
92 background: rgba(0, 0, 0, 0.05);
93 border-color: rgba(0, 0, 0, 0.1);
94 }
95
96 .light-mode .notification-toggle:hover {
97 background: rgba(0, 0, 0, 0.1);
98 border-color: rgba(0, 0, 0, 0.2);
99 }
100
101 .light-mode .notification-toggle.has-unread {
102 border-color: #2196F3;
103 background: rgba(33, 150, 243, 0.1);
104 }
105
106 .light-mode .notification-toggle.disabled:hover {
107 background: rgba(0, 0, 0, 0.05);
108 border-color: rgba(0, 0, 0, 0.1);
109 }
110
111
112
113 /* Animations */
114 @keyframes pulse {
115 0%, 100% { transform: scale(1); }
116 50% { transform: scale(1.05); }
117 }
118
119 /* Mobile Responsive */
120 @media (max-width: 768px) {
121 .notification-toggle {
122 min-width: 40px;
123 min-height: 40px;
124 padding: 0.4rem;
125 }
126 }