Mhdeusi commited on
Commit
52b4658
·
verified ·
1 Parent(s): 20f7144

Create auth.css

Browse files
Files changed (1) hide show
  1. css/auth.css +435 -0
css/auth.css ADDED
@@ -0,0 +1,435 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* استایل‌های مخصوص صفحات احراز هویت */
2
+ .auth-container {
3
+ min-height: 100vh;
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
8
+ padding: 20px;
9
+ }
10
+
11
+ .auth-card {
12
+ background: white;
13
+ border-radius: 20px;
14
+ padding: 40px;
15
+ box-shadow: 0 20px 60px rgba(0,0,0,0.1);
16
+ width: 100%;
17
+ max-width: 450px;
18
+ animation: slideUp 0.5s ease-out;
19
+ }
20
+
21
+ @keyframes slideUp {
22
+ from {
23
+ opacity: 0;
24
+ transform: translateY(30px);
25
+ }
26
+ to {
27
+ opacity: 1;
28
+ transform: translateY(0);
29
+ }
30
+ }
31
+
32
+ .auth-logo {
33
+ text-align: center;
34
+ margin-bottom: 30px;
35
+ }
36
+
37
+ .auth-logo h1 {
38
+ color: #4a5568;
39
+ margin-bottom: 10px;
40
+ font-size: 28px;
41
+ font-weight: 700;
42
+ }
43
+
44
+ .auth-logo p {
45
+ color: #718096;
46
+ font-size: 16px;
47
+ line-height: 1.5;
48
+ }
49
+
50
+ .auth-form .form-group {
51
+ margin-bottom: 20px;
52
+ }
53
+
54
+ .auth-form label {
55
+ display: block;
56
+ margin-bottom: 8px;
57
+ color: #4a5568;
58
+ font-weight: 600;
59
+ font-size: 14px;
60
+ }
61
+
62
+ .auth-form input,
63
+ .auth-form select,
64
+ .auth-form textarea {
65
+ width: 100%;
66
+ padding: 12px 16px;
67
+ border: 2px solid #e2e8f0;
68
+ border-radius: 10px;
69
+ font-size: 16px;
70
+ transition: all 0.3s ease;
71
+ font-family: inherit;
72
+ }
73
+
74
+ .auth-form input:focus,
75
+ .auth-form select:focus,
76
+ .auth-form textarea:focus {
77
+ outline: none;
78
+ border-color: #667eea;
79
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
80
+ }
81
+
82
+ .auth-form input:invalid:not(:focus):not(:placeholder-shown) {
83
+ border-color: #fc8181;
84
+ }
85
+
86
+ .auth-form input:valid:not(:focus):not(:placeholder-shown) {
87
+ border-color: #48bb78;
88
+ }
89
+
90
+ .form-row {
91
+ display: grid;
92
+ grid-template-columns: 1fr 1fr;
93
+ gap: 15px;
94
+ }
95
+
96
+ .btn-auth {
97
+ width: 100%;
98
+ padding: 14px;
99
+ background: #667eea;
100
+ color: white;
101
+ border: none;
102
+ border-radius: 10px;
103
+ font-size: 16px;
104
+ font-weight: 600;
105
+ cursor: pointer;
106
+ transition: all 0.3s ease;
107
+ position: relative;
108
+ overflow: hidden;
109
+ }
110
+
111
+ .btn-auth:hover {
112
+ background: #5a67d8;
113
+ transform: translateY(-2px);
114
+ box-shadow: 0 10px 20px rgba(102, 126, 234, 0.3);
115
+ }
116
+
117
+ .btn-auth:active {
118
+ transform: translateY(0);
119
+ }
120
+
121
+ .btn-auth:disabled {
122
+ background: #a0aec0;
123
+ cursor: not-allowed;
124
+ transform: none;
125
+ box-shadow: none;
126
+ }
127
+
128
+ .btn-auth.loading::after {
129
+ content: '';
130
+ position: absolute;
131
+ top: 50%;
132
+ left: 50%;
133
+ width: 20px;
134
+ height: 20px;
135
+ margin: -10px 0 0 -10px;
136
+ border: 2px solid transparent;
137
+ border-top: 2px solid white;
138
+ border-radius: 50%;
139
+ animation: spin 1s linear infinite;
140
+ }
141
+
142
+ @keyframes spin {
143
+ 0% { transform: rotate(0deg); }
144
+ 100% { transform: rotate(360deg); }
145
+ }
146
+
147
+ .auth-links {
148
+ text-align: center;
149
+ margin-top: 25px;
150
+ padding-top: 25px;
151
+ border-top: 1px solid #e2e8f0;
152
+ }
153
+
154
+ .auth-links a {
155
+ color: #667eea;
156
+ text-decoration: none;
157
+ margin: 0 8px;
158
+ transition: all 0.3s ease;
159
+ font-size: 14px;
160
+ }
161
+
162
+ .auth-links a:hover {
163
+ color: #5a67d8;
164
+ text-decoration: underline;
165
+ }
166
+
167
+ .error-message {
168
+ background: #fed7d7;
169
+ color: #742a2a;
170
+ padding: 12px 16px;
171
+ border-radius: 8px;
172
+ margin-bottom: 20px;
173
+ text-align: center;
174
+ display: none;
175
+ border-right: 4px solid #f56565;
176
+ animation: shake 0.5s ease-in-out;
177
+ }
178
+
179
+ .success-message {
180
+ background: #c6f6d5;
181
+ color: #22543d;
182
+ padding: 12px 16px;
183
+ border-radius: 8px;
184
+ margin-bottom: 20px;
185
+ text-align: center;
186
+ display: none;
187
+ border-right: 4px solid #48bb78;
188
+ animation: slideDown 0.5s ease-out;
189
+ }
190
+
191
+ @keyframes shake {
192
+ 0%, 100% { transform: translateX(0); }
193
+ 25% { transform: translateX(-5px); }
194
+ 75% { transform: translateX(5px); }
195
+ }
196
+
197
+ @keyframes slideDown {
198
+ from {
199
+ opacity: 0;
200
+ transform: translateY(-10px);
201
+ }
202
+ to {
203
+ opacity: 1;
204
+ transform: translateY(0);
205
+ }
206
+ }
207
+
208
+ .password-strength {
209
+ margin-top: 8px;
210
+ font-size: 12px;
211
+ font-weight: 600;
212
+ }
213
+
214
+ .strength-weak {
215
+ color: #e53e3e;
216
+ }
217
+
218
+ .strength-medium {
219
+ color: #dd6b20;
220
+ }
221
+
222
+ .strength-strong {
223
+ color: #38a169;
224
+ }
225
+
226
+ .demo-accounts {
227
+ margin-top: 30px;
228
+ padding-top: 25px;
229
+ border-top: 1px solid #e2e8f0;
230
+ }
231
+
232
+ .demo-accounts h3 {
233
+ text-align: center;
234
+ color: #718096;
235
+ font-size: 14px;
236
+ margin-bottom: 15px;
237
+ font-weight: 600;
238
+ }
239
+
240
+ .demo-account-item {
241
+ display: flex;
242
+ justify-content: space-between;
243
+ align-items: center;
244
+ padding: 8px 0;
245
+ border-bottom: 1px solid #f7fafc;
246
+ }
247
+
248
+ .demo-account-item:last-child {
249
+ border-bottom: none;
250
+ }
251
+
252
+ .demo-account-item span:first-child {
253
+ color: #4a5568;
254
+ font-size: 13px;
255
+ }
256
+
257
+ .demo-account-item span:last-child {
258
+ color: #2d3748;
259
+ font-weight: 600;
260
+ font-size: 13px;
261
+ }
262
+
263
+ /* استایل‌های مخصوص بخش احراز هویت در صفحه اصلی */
264
+ .auth-section {
265
+ background: white;
266
+ border-radius: 15px;
267
+ padding: 20px;
268
+ margin-bottom: 20px;
269
+ box-shadow: 0 5px 15px rgba(0,0,0,0.1);
270
+ }
271
+
272
+ .user-welcome {
273
+ display: flex;
274
+ align-items: center;
275
+ gap: 15px;
276
+ padding: 10px;
277
+ }
278
+
279
+ .user-avatar {
280
+ width: 50px;
281
+ height: 50px;
282
+ border-radius: 50%;
283
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
284
+ display: flex;
285
+ align-items: center;
286
+ justify-content: center;
287
+ color: white;
288
+ font-weight: bold;
289
+ font-size: 18px;
290
+ }
291
+
292
+ .user-info {
293
+ flex: 1;
294
+ }
295
+
296
+ .welcome-text {
297
+ display: block;
298
+ color: #4a5568;
299
+ font-weight: 600;
300
+ font-size: 16px;
301
+ }
302
+
303
+ .user-role {
304
+ display: block;
305
+ color: #718096;
306
+ font-size: 14px;
307
+ margin-top: 4px;
308
+ }
309
+
310
+ .auth-actions {
311
+ text-align: center;
312
+ padding: 20px;
313
+ }
314
+
315
+ .auth-actions p {
316
+ color: #718096;
317
+ margin-bottom: 20px;
318
+ font-size: 15px;
319
+ }
320
+
321
+ .auth-buttons {
322
+ display: flex;
323
+ gap: 12px;
324
+ justify-content: center;
325
+ }
326
+
327
+ .btn {
328
+ padding: 10px 24px;
329
+ border: none;
330
+ border-radius: 8px;
331
+ cursor: pointer;
332
+ font-weight: 600;
333
+ transition: all 0.3s ease;
334
+ font-size: 14px;
335
+ }
336
+
337
+ .btn-primary {
338
+ background: #667eea;
339
+ color: white;
340
+ }
341
+
342
+ .btn-primary:hover {
343
+ background: #5a67d8;
344
+ transform: translateY(-2px);
345
+ box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
346
+ }
347
+
348
+ .btn-secondary {
349
+ background: #e2e8f0;
350
+ color: #4a5568;
351
+ }
352
+
353
+ .btn-secondary:hover {
354
+ background: #cbd5e0;
355
+ transform: translateY(-2px);
356
+ }
357
+
358
+ .btn-outline {
359
+ background: transparent;
360
+ color: #667eea;
361
+ border: 2px solid #667eea;
362
+ }
363
+
364
+ .btn-outline:hover {
365
+ background: #667eea;
366
+ color: white;
367
+ }
368
+
369
+ .btn-sm {
370
+ padding: 8px 16px;
371
+ font-size: 13px;
372
+ }
373
+
374
+ /* استایل‌های فرم در صفحه اصلی */
375
+ .login-modal,
376
+ .register-modal {
377
+ position: fixed;
378
+ top: 0;
379
+ left: 0;
380
+ width: 100%;
381
+ height: 100%;
382
+ background: rgba(0,0,0,0.5);
383
+ display: flex;
384
+ justify-content: center;
385
+ align-items: center;
386
+ z-index: 1000;
387
+ animation: fadeIn 0.3s ease-out;
388
+ }
389
+
390
+ .modal-content {
391
+ background: white;
392
+ padding: 30px;
393
+ border-radius: 15px;
394
+ max-width: 400px;
395
+ width: 90%;
396
+ animation: scaleIn 0.3s ease-out;
397
+ }
398
+
399
+ @keyframes fadeIn {
400
+ from { opacity: 0; }
401
+ to { opacity: 1; }
402
+ }
403
+
404
+ @keyframes scaleIn {
405
+ from {
406
+ opacity: 0;
407
+ transform: scale(0.9);
408
+ }
409
+ to {
410
+ opacity: 1;
411
+ transform: scale(1);
412
+ }
413
+ }
414
+
415
+ .modal h3 {
416
+ margin-bottom: 20px;
417
+ text-align: center;
418
+ color: #4a5568;
419
+ font-size: 20px;
420
+ }
421
+
422
+ .modal-close {
423
+ position: absolute;
424
+ top: 15px;
425
+ left: 15px;
426
+ background: none;
427
+ border: none;
428
+ font-size: 24px;
429
+ cursor: pointer;
430
+ color: #718096;
431
+ }
432
+
433
+ .modal-close:hover {
434
+ color: #4a5568;
435
+ }