blob: 1fd5e0a4e6fd1eb1270a38b37b929abd4fd29981 [file] [log] [blame]
DREW5b1883e2025-06-07 10:41:32 +08001/* Administer.css */
2
22301080a93bebb2025-05-27 19:48:11 +08003.administer-container {
22301080a93bebb2025-05-27 19:48:11 +08004 max-width: 1200px;
5 margin: 0 auto;
DREW5b1883e2025-06-07 10:41:32 +08006 padding: 20px;
7 font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
8 color: #333;
22301080a93bebb2025-05-27 19:48:11 +08009}
10
DREW5b1883e2025-06-07 10:41:32 +080011.administer-container h1 {
12 text-align: center;
13 color: #2c3e50;
14 margin-bottom: 30px;
15 font-size: 28px;
16 font-weight: 600;
22301080a93bebb2025-05-27 19:48:11 +080017}
18
19/* 选项卡样式 */
20.tab-container {
21 display: flex;
22 margin-bottom: 20px;
23 border-bottom: 1px solid #ddd;
24}
25
26.tab-button {
27 padding: 10px 20px;
28 background: none;
29 border: none;
30 cursor: pointer;
31 font-size: 16px;
DREW5b1883e2025-06-07 10:41:32 +080032 color: #555;
33 transition: all 0.3s ease;
22301080a93bebb2025-05-27 19:48:11 +080034 border-bottom: 3px solid transparent;
DREW5b1883e2025-06-07 10:41:32 +080035 margin-right: 5px;
36}
37
38.tab-button:hover {
39 color: #3498db;
22301080a93bebb2025-05-27 19:48:11 +080040}
41
42.tab-button.active {
DREW5b1883e2025-06-07 10:41:32 +080043 color: #3498db;
44 border-bottom: 3px solid #3498db;
45 font-weight: 600;
22301080a93bebb2025-05-27 19:48:11 +080046}
47
DREW5b1883e2025-06-07 10:41:32 +080048/* 搜索区域 */
49.search-container {
50 display: flex;
22301080a93bebb2025-05-27 19:48:11 +080051 margin-bottom: 20px;
DREW5b1883e2025-06-07 10:41:32 +080052 gap: 10px;
22301080a93bebb2025-05-27 19:48:11 +080053}
54
DREW5b1883e2025-06-07 10:41:32 +080055.search-input {
56 flex: 1;
57 padding: 10px 15px;
58 border: 1px solid #ddd;
59 border-radius: 4px;
60 font-size: 14px;
61 transition: border 0.3s;
62}
63
64.search-input:focus {
65 outline: none;
66 border-color: #3498db;
67}
68
69.search-button, .reset-button {
70 padding: 10px 20px;
71 border: none;
72 border-radius: 4px;
73 cursor: pointer;
74 font-size: 14px;
75 transition: background-color 0.3s;
76}
77
78.search-button {
79 background-color: #3498db;
80 color: white;
81}
82
83.search-button:hover {
84 background-color: #2980b9;
85}
86
87.reset-button {
88 background-color: #f1f1f1;
89 color: #333;
90}
91
92.reset-button:hover {
93 background-color: #ddd;
94}
95
96/* 表格样式 */
97.user-table, .discount-table, .announcement-table {
98 width: 100%;
99 border-collapse: collapse;
100 margin-top: 20px;
101 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
102}
103
104.user-table th,
105.discount-table th,
106.announcement-table th {
107 background-color: #3498db;
108 color: white;
109 padding: 12px 15px;
110 text-align: left;
111}
112
113.user-table td,
114.discount-table td,
115.announcement-table td {
116 padding: 12px 15px;
117 border-bottom: 1px solid #ddd;
118}
119
120.user-table tr:nth-child(even),
121.discount-table tr:nth-child(even),
122.announcement-table tr:nth-child(even) {
22301080a93bebb2025-05-27 19:48:11 +0800123 background-color: #f9f9f9;
DREW5b1883e2025-06-07 10:41:32 +0800124}
125
126.user-table tr:hover,
127.discount-table tr:hover,
128.announcement-table tr:hover {
129 background-color: #f1f1f1;
130}
131
132/* 权限选择框 */
133.authority-select {
134 padding: 8px 12px;
135 border: 1px solid #ddd;
136 border-radius: 4px;
137 background-color: white;
138 cursor: pointer;
139}
140
141.authority-select:focus {
142 outline: none;
143 border-color: #3498db;
144}
145
146/* 错误消息 */
147.error-message {
148 color: #e74c3c;
149 background-color: #fadbd8;
150 padding: 10px 15px;
151 border-radius: 4px;
152 margin-bottom: 15px;
153 border-left: 4px solid #e74c3c;
154}
155
156/* 加载状态 */
157.loading-message {
158 color: #3498db;
159 text-align: center;
160 padding: 15px;
161 font-style: italic;
162}
163
164/* 折扣卡片 */
165.current-discount-section {
166 margin-bottom: 30px;
22301080a93bebb2025-05-27 19:48:11 +0800167 padding: 20px;
DREW5b1883e2025-06-07 10:41:32 +0800168 background-color: #f8f9fa;
169 border-radius: 8px;
170 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
171}
172
173.current-discount-section h3 {
174 margin-top: 0;
175 color: #2c3e50;
176 border-bottom: 1px solid #eee;
177 padding-bottom: 10px;
178}
179
180.current-discount-card {
181 background-color: white;
182 padding: 15px;
183 border-radius: 6px;
184 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
185 margin-top: 15px;
186}
187
188.current-discount-card p {
189 margin: 8px 0;
190}
191
192.current-discount-card strong {
193 color: #2c3e50;
194 margin-right: 10px;
195}
196
197/* 表单样式 */
198.add-discount-form, .announcement-form {
199 background-color: #f8f9fa;
200 padding: 20px;
201 border-radius: 8px;
202 margin-bottom: 30px;
203 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
204}
205
206.add-discount-form h3, .announcement-form h3 {
207 margin-top: 0;
208 color: #2c3e50;
209 border-bottom: 1px solid #eee;
210 padding-bottom: 10px;
22301080a93bebb2025-05-27 19:48:11 +0800211}
212
213.form-group {
214 margin-bottom: 15px;
215}
216
217.form-group label {
DREW5b1883e2025-06-07 10:41:32 +0800218 display: block;
219 margin-bottom: 8px;
220 font-weight: 500;
221 color: #2c3e50;
22301080a93bebb2025-05-27 19:48:11 +0800222}
223
DREW5b1883e2025-06-07 10:41:32 +0800224.form-group input[type="text"],
225.form-group textarea,
226.form-group select {
22301080a93bebb2025-05-27 19:48:11 +0800227 width: 100%;
DREW5b1883e2025-06-07 10:41:32 +0800228 padding: 10px 15px;
22301080a93bebb2025-05-27 19:48:11 +0800229 border: 1px solid #ddd;
DREW5b1883e2025-06-07 10:41:32 +0800230 border-radius: 4px;
231 font-size: 14px;
232 transition: border 0.3s;
22301080a93bebb2025-05-27 19:48:11 +0800233}
234
DREW5b1883e2025-06-07 10:41:32 +0800235.form-group textarea {
236 min-height: 100px;
237 resize: vertical;
22301080a93bebb2025-05-27 19:48:11 +0800238}
239
DREW5b1883e2025-06-07 10:41:32 +0800240.form-group input[type="text"]:focus,
241.form-group textarea:focus,
242.form-group select:focus {
243 outline: none;
244 border-color: #3498db;
22301080a93bebb2025-05-27 19:48:11 +0800245}
246
DREW5b1883e2025-06-07 10:41:32 +0800247/* 日期选择器样式 */
248.react-datepicker-wrapper {
249 width: 100%;
22301080a93bebb2025-05-27 19:48:11 +0800250}
251
DREW5b1883e2025-06-07 10:41:32 +0800252.react-datepicker__input-container input {
253 width: 100%;
254 padding: 10px 15px;
255 border: 1px solid #ddd;
256 border-radius: 4px;
22301080a93bebb2025-05-27 19:48:11 +0800257 font-size: 14px;
258}
259
DREW5b1883e2025-06-07 10:41:32 +0800260/* 按钮样式 */
261button {
262 padding: 10px 20px;
263 background-color: #3498db;
264 color: white;
265 border: none;
22301080a93bebb2025-05-27 19:48:11 +0800266 border-radius: 4px;
DREW5b1883e2025-06-07 10:41:32 +0800267 cursor: pointer;
268 font-size: 14px;
269 transition: background-color 0.3s;
DREWae420b22025-06-02 14:07:20 +0800270}
271
DREW5b1883e2025-06-07 10:41:32 +0800272button:hover {
273 background-color: #2980b9;
DREWae420b22025-06-02 14:07:20 +0800274}
275
DREW5b1883e2025-06-07 10:41:32 +0800276.delete-button {
277 background-color: #e74c3c;
DREWae420b22025-06-02 14:07:20 +0800278}
279
DREW5b1883e2025-06-07 10:41:32 +0800280.delete-button:hover {
281 background-color: #c0392b;
DREWae420b22025-06-02 14:07:20 +0800282}
283
DREW5b1883e2025-06-07 10:41:32 +0800284/* 响应式调整 */
285@media (max-width: 768px) {
286 .administer-container {
287 padding: 15px;
288 }
289
290 .tab-container {
291 flex-wrap: wrap;
292 }
293
294 .tab-button {
295 padding: 8px 15px;
296 font-size: 14px;
297 }
298
299 .user-table, .discount-table, .announcement-table {
300 display: block;
301 overflow-x: auto;
302 }
303
304 .search-container {
305 flex-direction: column;
306 }
307
308 .search-button, .reset-button {
309 width: 100%;
310 }
22301080a93bebb2025-05-27 19:48:11 +0800311}