gekina commited on
Commit
d3872f6
·
verified ·
1 Parent(s): 900ee0b

Update src/Styles.css

Browse files
Files changed (1) hide show
  1. src/Styles.css +104 -558
src/Styles.css CHANGED
@@ -1,575 +1,121 @@
1
- * {
2
- margin: 0;
3
- padding: 0;
4
- box-sizing: border-box;
5
- }
6
-
7
- html {
8
- scroll-behavior: smooth;
9
- }
10
-
11
  body {
12
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
13
- 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
14
- sans-serif;
15
- line-height: 1.6;
16
- color: #333;
17
- background-color: #f8f9fa;
18
- overflow-x: hidden;
19
- }
20
-
21
- /* Layout umum */
22
- .container {
23
- max-width: 1200px;
24
- margin: 0 auto;
25
- padding: 0 20px;
26
- width: 100%;
27
- }
28
-
29
- /* ================================================= */
30
- /* HEADER STYLES */
31
- /* ================================================= */
32
-
33
- .header {
34
- background: white;
35
- padding: 0.8rem 0;
36
- position: sticky;
37
- top: 0;
38
- z-index: 1000;
39
- box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
40
- border-bottom: 1px solid #e0e0e0;
41
- }
42
-
43
- .header-content {
44
- display: flex;
45
- justify-content: space-between;
46
- align-items: center;
47
- }
48
-
49
- .logo-container {
50
- display: flex;
51
- align-items: center;
52
- gap: 15px;
53
- padding: 0;
54
- }
55
-
56
- .header-logo {
57
- width: 50px;
58
- height: 50px;
59
- object-fit: contain;
60
- display: block;
61
- transition: all 0.3s ease;
62
- cursor: pointer;
63
- }
64
-
65
- .header-logo:hover {
66
- transform: scale(1.03);
67
- }
68
-
69
- .logo-text {
70
- font-size: 1.8rem;
71
- font-weight: 700;
72
- color: #2a5298;
73
- text-decoration: none;
74
- letter-spacing: -0.5px;
75
- }
76
-
77
- /* Navigation Right */
78
- .nav-right {
79
- display: flex;
80
- align-items: center;
81
- gap: 2.5rem;
82
- }
83
-
84
- .nav-link {
85
- color: #2a5298;
86
- text-decoration: none;
87
- font-weight: 600;
88
- font-size: 1.1rem;
89
- padding: 0.6rem 0;
90
- position: relative;
91
- transition: all 0.3s ease;
92
- letter-spacing: 0.3px;
93
- cursor: pointer;
94
  }
95
 
96
- .nav-link:hover {
97
- color: #1e3c72;
98
- }
99
 
100
- .nav-link::after {
101
- content: '';
102
- position: absolute;
103
- bottom: 0;
104
- left: 0;
105
- width: 0;
106
- height: 3px;
107
- background: linear-gradient(90deg, #2a5298, #1e3c72);
108
- border-radius: 2px;
109
- transition: width 0.3s ease;
110
- }
111
 
112
- .nav-link:hover::after {
113
- width: 100%;
114
- }
 
 
115
 
116
  .primary-btn, .nav-diagnosa {
117
- background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
118
- color: white;
119
- padding: 0.6rem 2rem;
120
- border-radius: 30px;
121
- font-weight: 600;
122
- text-decoration: none;
123
- transition: all 0.3s ease;
124
- border: none;
125
- cursor: pointer;
126
- font-size: 1rem;
127
- letter-spacing: 0.3px;
128
- display: inline-block;
129
- text-align: center;
130
- box-shadow: 0 4px 12px rgba(42, 82, 152, 0.25);
131
- min-width: 120px;
132
- }
133
-
134
- .primary-btn:hover, .nav-diagnosa:hover {
135
- background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
136
- color: white;
137
- transform: translateY(-3px);
138
- box-shadow: 0 8px 20px rgba(42, 82, 152, 0.35);
139
  }
 
140
 
141
- /* ================================================= */
142
- /* HERO STYLES */
143
- /* ================================================= */
144
  .hero {
145
- min-height: 500px;
146
- position: relative;
147
- overflow: hidden;
148
- padding: 0;
149
- color: white;
150
- background-image:
151
- linear-gradient(rgba(42, 82, 152, 0.7), rgba(42, 82, 152, 0.7)),
152
- url('./assets/images/hero doctor.jpg');
153
- background-size: cover;
154
- background-position: center 20%;
155
- background-repeat: no-repeat;
156
- background-attachment: fixed;
157
- }
158
-
159
- .hero-content {
160
- display: flex;
161
- align-items: center;
162
- justify-content: flex-start;
163
- gap: 3rem;
164
- padding: 4rem 0;
165
- height: 100%;
166
- min-height: 500px;
167
- }
168
-
169
- .hero-text {
170
- flex: 1;
171
- max-width: 100%;
172
- color: white;
173
- padding-top: 0;
174
- animation: fadeInUp 0.8s ease-out;
175
- text-align: left;
176
- }
177
-
178
- .hero h1 {
179
- font-size: 2.8rem;
180
- margin-bottom: 1rem;
181
- color: white;
182
- line-height: 1.2;
183
- font-weight: 700;
184
- text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
185
- }
186
-
187
- .hero-subtitle {
188
- font-size: 1.25rem;
189
- opacity: 0.9;
190
- margin-bottom: 2rem;
191
- display: block;
192
- color: white;
193
- max-width: 600px;
194
- line-height: 1.6;
195
- }
196
-
197
- .hero-buttons-left {
198
- display: flex;
199
- justify-content: flex-start;
200
- margin-top: 2rem;
201
- }
202
-
203
- .hero-diagnosis-btn {
204
- padding: 1.2rem 3rem;
205
- font-size: 1.2rem;
206
- border-radius: 15px;
207
- position: relative;
208
- min-width: 250px;
209
- background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
210
- color: white;
211
- border: none;
212
- cursor: pointer;
213
- font-weight: 600;
214
- box-shadow: 0 6px 20px rgba(42, 82, 152, 0.3);
215
- transition: all 0.3s ease;
216
- }
217
-
218
- .hero-diagnosis-btn:hover {
219
- transform: translateY(-3px);
220
- box-shadow: 0 10px 25px rgba(42, 82, 152, 0.4);
221
- }
222
-
223
- @keyframes fadeInUp {
224
- from { opacity: 0; transform: translateY(30px); }
225
- to { opacity: 1; transform: translateY(0); }
226
- }
227
-
228
- /* ================================================= */
229
- /* FEATURES SECTION */
230
- /* ================================================= */
231
- .features {
232
- padding: 5rem 0;
233
- background: white;
234
- }
235
-
236
- .section-title {
237
- text-align: center;
238
- margin-bottom: 3rem;
239
- color: #1e3c72;
240
- font-size: 2.2rem;
241
- font-weight: 700;
242
- position: relative;
243
- padding-bottom: 15px;
244
- }
245
-
246
- .section-title::after {
247
- content: '';
248
- position: absolute;
249
- bottom: 0;
250
- left: 50%;
251
- transform: translateX(-50%);
252
- width: 60px;
253
- height: 4px;
254
- background: linear-gradient(90deg, #1e3c72, #2a5298);
255
- border-radius: 2px;
256
- }
257
-
258
- .features-grid {
259
- display: block;
260
- margin-top: 2rem;
261
- }
262
-
263
- .feature-card {
264
- background: #f8f9fa;
265
- border-radius: 15px;
266
- padding: 3rem;
267
- margin-bottom: 2rem;
268
- display: flex;
269
- align-items: center;
270
- gap: 3rem;
271
- box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
272
- transition: all 0.3s ease;
273
- overflow: hidden;
274
- position: relative;
275
- }
276
-
277
- .feature-card::before {
278
- content: '';
279
- position: absolute;
280
- top: 0;
281
- left: 0;
282
- width: 5px;
283
- height: 100%;
284
- background: linear-gradient(180deg, #1e3c72, #2a5298);
285
- border-radius: 5px 0 0 5px;
286
- }
287
-
288
- .feature-card:hover {
289
- transform: translateY(-5px);
290
- box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
291
- }
292
-
293
  .feature-card-left-image { flex-direction: row; }
294
  .feature-card-right-image { flex-direction: row-reverse; }
295
-
296
- .feature-image-container {
297
- flex: 0 0 40%;
298
- max-width: 400px;
299
- height: 250px;
300
- border-radius: 10px;
301
- overflow: hidden;
302
- box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
303
- transition: all 0.3s ease;
304
- }
305
-
306
- .feature-card:hover .feature-image-container {
307
- transform: scale(1.02);
308
- box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2);
309
- }
310
-
311
- .feature-image {
312
- width: 100%;
313
- height: 100%;
314
- object-fit: cover;
315
- transition: transform 0.5s ease;
316
- }
317
-
318
  .feature-card:hover .feature-image { transform: scale(1.05); }
319
-
320
  .feature-text-content { flex: 1; text-align: left; }
 
 
 
 
 
 
 
 
 
 
 
 
 
321
 
322
- .feature-header {
323
- display: flex;
324
- align-items: center;
325
- gap: 15px;
326
- margin-bottom: 1rem;
327
- }
328
-
329
- .feature-icon {
330
- font-size: 2.8rem;
331
- color: #2a5298;
332
- margin-bottom: 0;
333
- }
334
-
335
- .feature-card h3 {
336
- color: #1e3c72;
337
- margin-bottom: 0;
338
- font-size: 1.6rem;
339
- font-weight: 600;
340
- }
341
-
342
- .feature-card p {
343
- color: #555;
344
- line-height: 1.7;
345
- font-size: 1rem;
346
- }
347
-
348
- /* ================================================= */
349
- /* PRIVACY SECTION */
350
- /* ================================================= */
351
- .privacy {
352
- padding: 5rem 0;
353
- background: #f1f8ff;
354
- position: relative;
355
- overflow: hidden;
356
- }
357
-
358
- .privacy::before {
359
- content: '';
360
- position: absolute;
361
- top: 0;
362
- left: 0;
363
- width: 100%;
364
- height: 100%;
365
- background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M0,0 L100,0 L100,100 Z" fill="rgba(255,255,255,0.1)"/></svg>');
366
- background-size: cover;
367
- opacity: 0.3;
368
- }
369
-
370
- .privacy-content {
371
- max-width: 800px;
372
- margin: 0 auto;
373
- text-align: center;
374
- padding: 3rem;
375
- background: white;
376
- border-radius: 15px;
377
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
378
- position: relative;
379
- z-index: 1;
380
- animation: fadeIn 0.8s ease-out;
381
- }
382
-
383
- .privacy h2 {
384
- color: #1e3c72;
385
- margin-bottom: 1.5rem;
386
- font-size: 2.2rem;
387
- font-weight: 700;
388
- }
389
-
390
- .privacy p {
391
- margin-bottom: 1.5rem;
392
- color: #555;
393
- line-height: 1.7;
394
- font-size: 1.05rem;
395
- }
396
-
397
- .security-badge {
398
- display: inline-flex;
399
- align-items: center;
400
- gap: 12px;
401
- background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
402
- color: white;
403
- padding: 1rem 2rem;
404
- border-radius: 25px;
405
- margin-top: 1.5rem;
406
- font-weight: 600;
407
- font-size: 1.1rem;
408
- box-shadow: 0 4px 10px rgba(46, 125, 50, 0.1);
409
- transition: all 0.3s ease;
410
- }
411
-
412
- .security-badge:hover {
413
- transform: translateY(-2px);
414
- box-shadow: 0 6px 15px rgba(46, 125, 50, 0.15);
415
- }
416
-
417
- /* ================================================= */
418
  /* FOOTER */
419
- /* ================================================= */
420
- .footer {
421
- background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
422
- color: white;
423
- padding: 4rem 0 2rem;
424
- text-align: center;
425
- position: relative;
426
- }
427
-
428
- .footer::before {
429
- content: '';
430
- position: absolute;
431
- top: 0;
432
- left: 0;
433
- width: 100%;
434
- height: 5px;
435
- background: white
436
- }
437
-
438
- .footer-content {
439
- display: flex;
440
- flex-direction: column;
441
- align-items: center;
442
- gap: 2rem;
443
- position: relative;
444
- z-index: 1;
445
- }
446
-
447
- .footer-logo {
448
- font-size: 2.2rem;
449
- font-weight: 700;
450
- color: white;
451
- text-decoration: none;
452
- margin-bottom: 1rem;
453
- text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
454
- }
455
-
456
- .footer-tagline {
457
- font-size: 1.15rem;
458
- opacity: 0.9;
459
- max-width: 600px;
460
- margin: 0 auto 2rem;
461
- line-height: 1.6;
462
- }
463
-
464
- .footer-bottom {
465
- margin-top: 3rem;
466
- padding-top: 2rem;
467
- border-top: 1px solid rgba(255, 255, 255, 0.1);
468
- width: 100%;
469
- font-size: 0.9rem;
470
- opacity: 0.7;
471
- }
472
-
473
- /* ================================================= */
474
- /* PROFILE DROPDOWN STYLES (BARU) */
475
- /* ================================================= */
476
- .profile-menu-container {
477
- position: relative;
478
- display: inline-block;
479
- }
480
-
481
- .profile-btn {
482
- background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
483
- color: white;
484
- padding: 0.5rem 1.2rem;
485
- border-radius: 30px;
486
- border: none;
487
- cursor: pointer;
488
- display: flex;
489
- align-items: center;
490
- gap: 10px;
491
- font-weight: 600;
492
- box-shadow: 0 4px 10px rgba(42, 82, 152, 0.2);
493
- transition: all 0.2s;
494
- }
495
-
496
- .profile-btn:hover {
497
- transform: translateY(-2px);
498
- box-shadow: 0 6px 15px rgba(42, 82, 152, 0.3);
499
- }
500
-
501
- .avatar-circle {
502
- width: 24px;
503
- height: 24px;
504
- background-color: rgba(255, 255, 255, 0.3);
505
- border-radius: 50%;
506
- display: flex;
507
- align-items: center;
508
- justify-content: center;
509
- font-size: 0.8rem;
510
- }
511
-
512
- .dropdown-menu {
513
- position: absolute;
514
- top: 120%;
515
- right: 0;
516
- background-color: white;
517
- min-width: 200px;
518
- box-shadow: 0 8px 20px rgba(0,0,0,0.15);
519
- border-radius: 10px;
520
- padding: 10px 0;
521
- z-index: 2000;
522
- border: 1px solid #eee;
523
- animation: fadeIn 0.2s ease-in-out;
524
- }
525
-
526
- .dropdown-header {
527
- padding: 10px 20px;
528
- border-bottom: 1px solid #f0f0f0;
529
- margin-bottom: 5px;
530
- }
531
-
532
- .user-name-display {
533
- font-weight: bold;
534
- color: #2a5298;
535
- display: block;
536
- }
537
-
538
- .user-role-display {
539
- font-size: 0.8rem;
540
- color: #888;
541
- }
542
-
543
- .dropdown-item {
544
- display: block;
545
- width: 100%;
546
- padding: 10px 20px;
547
- text-align: left;
548
- background: none;
549
- border: none;
550
- color: #333;
551
- cursor: pointer;
552
- font-size: 0.95rem;
553
- transition: background 0.2s;
554
- }
555
-
556
- .dropdown-item:hover {
557
- background-color: #f5f7fb;
558
- color: #2a5298;
559
- }
560
-
561
- .dropdown-item.logout {
562
- color: #e74c3c;
563
- border-top: 1px solid #f0f0f0;
564
- margin-top: 5px;
565
- }
566
-
567
- .dropdown-item.logout:hover {
568
- background-color: #fff5f5;
569
- color: #c0392b;
570
- }
571
-
572
- @keyframes fadeIn {
573
- from { opacity: 0; transform: translateY(-10px); }
574
- to { opacity: 1; transform: translateY(0); }
575
  }
 
1
+ * { margin: 0; padding: 0; box-sizing: border-box; }
2
+ html { scroll-behavior: smooth; }
 
 
 
 
 
 
 
 
3
  body {
4
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
5
+ line-height: 1.6; color: #333; background-color: #f8f9fa; overflow-x: hidden;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  }
7
 
8
+ .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; width: 100%; }
 
 
9
 
10
+ /* HEADER */
11
+ .header { background: white; padding: 0.8rem 0; position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1); border-bottom: 1px solid #e0e0e0; }
12
+ .header-content { display: flex; justify-content: space-between; align-items: center; }
13
+ .logo-container { display: flex; align-items: center; gap: 15px; padding: 0; }
14
+ .header-logo { width: 50px; height: 50px; object-fit: contain; display: block; transition: all 0.3s ease; cursor: pointer; }
15
+ .header-logo:hover { transform: scale(1.03); }
 
 
 
 
 
16
 
17
+ .nav-right { display: flex; align-items: center; gap: 2.5rem; }
18
+ .nav-link { color: #2a5298; text-decoration: none; font-weight: 600; font-size: 1.1rem; padding: 0.6rem 0; position: relative; transition: all 0.3s ease; letter-spacing: 0.3px; cursor: pointer; }
19
+ .nav-link:hover { color: #1e3c72; }
20
+ .nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 3px; background: linear-gradient(90deg, #2a5298, #1e3c72); border-radius: 2px; transition: width 0.3s ease; }
21
+ .nav-link:hover::after { width: 100%; }
22
 
23
  .primary-btn, .nav-diagnosa {
24
+ background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%); color: white; padding: 0.6rem 2rem; border-radius: 30px; font-weight: 600; text-decoration: none; transition: all 0.3s ease; border: none; cursor: pointer; font-size: 1rem; letter-spacing: 0.3px; display: inline-block; text-align: center; box-shadow: 0 4px 12px rgba(42, 82, 152, 0.25); min-width: 120px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  }
26
+ .primary-btn:hover, .nav-diagnosa:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(42, 82, 152, 0.35); }
27
 
28
+ /* HERO */
 
 
29
  .hero {
30
+ min-height: 500px; position: relative; overflow: hidden; padding: 0; color: white;
31
+ background-image: linear-gradient(rgba(42, 82, 152, 0.7), rgba(42, 82, 152, 0.7)), url('./assets/images/hero doctor.jpg');
32
+ background-size: cover; background-position: center 20%; background-repeat: no-repeat; background-attachment: fixed;
33
+ }
34
+ .hero-content { display: flex; align-items: center; justify-content: flex-start; gap: 3rem; padding: 4rem 0; height: 100%; min-height: 500px; }
35
+ .hero-text { flex: 1; max-width: 100%; color: white; padding-top: 0; animation: fadeInUp 0.8s ease-out; text-align: left; }
36
+ .hero h1 { font-size: 2.8rem; margin-bottom: 1rem; color: white; line-height: 1.2; font-weight: 700; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); }
37
+ .hero-subtitle { font-size: 1.25rem; opacity: 0.9; margin-bottom: 2rem; display: block; color: white; max-width: 600px; line-height: 1.6; }
38
+ .hero-buttons-left { display: flex; justify-content: flex-start; margin-top: 2rem; }
39
+ .hero-diagnosis-btn { padding: 1.2rem 3rem; font-size: 1.2rem; border-radius: 15px; position: relative; min-width: 250px; background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%); color: white; border: none; cursor: pointer; font-weight: 600; box-shadow: 0 6px 20px rgba(42, 82, 152, 0.3); transition: all 0.3s ease; }
40
+ .hero-diagnosis-btn:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(42, 82, 152, 0.4); }
41
+ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
42
+
43
+ /* FEATURES */
44
+ .features { padding: 5rem 0; background: white; }
45
+ .section-title { text-align: center; margin-bottom: 3rem; color: #1e3c72; font-size: 2.2rem; font-weight: 700; position: relative; padding-bottom: 15px; }
46
+ .section-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 60px; height: 4px; background: linear-gradient(90deg, #1e3c72, #2a5298); border-radius: 2px; }
47
+ .features-grid { display: block; margin-top: 2rem; }
48
+ .feature-card { background: #f8f9fa; border-radius: 15px; padding: 3rem; margin-bottom: 2rem; display: flex; align-items: center; gap: 3rem; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); transition: all 0.3s ease; overflow: hidden; position: relative; }
49
+ .feature-card::before { content: ''; position: absolute; top: 0; left: 0; width: 5px; height: 100%; background: linear-gradient(180deg, #1e3c72, #2a5298); border-radius: 5px 0 0 5px; }
50
+ .feature-card:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  .feature-card-left-image { flex-direction: row; }
52
  .feature-card-right-image { flex-direction: row-reverse; }
53
+ .feature-image-container { flex: 0 0 40%; max-width: 400px; height: 250px; border-radius: 10px; overflow: hidden; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); transition: all 0.3s ease; }
54
+ .feature-card:hover .feature-image-container { transform: scale(1.02); box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2); }
55
+ .feature-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  .feature-card:hover .feature-image { transform: scale(1.05); }
 
57
  .feature-text-content { flex: 1; text-align: left; }
58
+ .feature-header { display: flex; align-items: center; gap: 15px; margin-bottom: 1rem; }
59
+ .feature-icon { font-size: 2.8rem; color: #2a5298; margin-bottom: 0; }
60
+ .feature-card h3 { color: #1e3c72; margin-bottom: 0; font-size: 1.6rem; font-weight: 600; }
61
+ .feature-card p { color: #555; line-height: 1.7; font-size: 1rem; }
62
+
63
+ /* PRIVACY */
64
+ .privacy { padding: 5rem 0; background: #f1f8ff; position: relative; overflow: hidden; }
65
+ .privacy::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M0,0 L100,0 L100,100 Z" fill="rgba(255,255,255,0.1)"/></svg>'); background-size: cover; opacity: 0.3; }
66
+ .privacy-content { max-width: 800px; margin: 0 auto; text-align: center; padding: 3rem; background: white; border-radius: 15px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); position: relative; z-index: 1; animation: fadeIn 0.8s ease-out; }
67
+ .privacy h2 { color: #1e3c72; margin-bottom: 1.5rem; font-size: 2.2rem; font-weight: 700; }
68
+ .privacy p { margin-bottom: 1.5rem; color: #555; line-height: 1.7; font-size: 1.05rem; }
69
+ .security-badge { display: inline-flex; align-items: center; gap: 12px; background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); color: white; padding: 1rem 2rem; border-radius: 25px; margin-top: 1.5rem; font-weight: 600; font-size: 1.1rem; box-shadow: 0 4px 10px rgba(46, 125, 50, 0.1); transition: all 0.3s ease; }
70
+ .security-badge:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(46, 125, 50, 0.15); }
71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  /* FOOTER */
73
+ .footer { background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); color: white; padding: 4rem 0 2rem; text-align: center; position: relative; }
74
+ .footer::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 5px; background: white }
75
+ .footer-content { display: flex; flex-direction: column; align-items: center; gap: 2rem; position: relative; z-index: 1; }
76
+ .footer-logo { font-size: 2.2rem; font-weight: 700; color: white; text-decoration: none; margin-bottom: 1rem; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); }
77
+ .footer-tagline { font-size: 1.15rem; opacity: 0.9; max-width: 600px; margin: 0 auto 2rem; line-height: 1.6; }
78
+ .footer-bottom { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255, 255, 255, 0.1); width: 100%; font-size: 0.9rem; opacity: 0.7; }
79
+
80
+ /* PROFILE BTN */
81
+ .profile-btn { background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%); color: white; padding: 0.5rem 1.2rem; border-radius: 30px; border: none; cursor: pointer; display: flex; align-items: center; gap: 10px; font-weight: 600; box-shadow: 0 4px 10px rgba(42, 82, 152, 0.2); transition: all 0.2s; }
82
+ .profile-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(42, 82, 152, 0.3); }
83
+ .avatar-circle { width: 24px; height: 24px; background-color: rgba(255, 255, 255, 0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; }
84
+
85
+ /* MODAL PROFIL STYLES (SESUAI GAMBAR) */
86
+ .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); display: flex; justify-content: center; align-items: center; z-index: 2000; backdrop-filter: blur(2px); }
87
+ .modal-profile-card { background: white; width: 700px; max-width: 90%; border-radius: 12px; padding: 40px; position: relative; box-shadow: 0 10px 40px rgba(0,0,0,0.15); animation: popUp 0.3s ease-out; }
88
+ .close-btn-absolute { position: absolute; top: 15px; right: 20px; background: none; border: none; font-size: 24px; color: #999; cursor: pointer; }
89
+ .profile-layout { display: flex; gap: 40px; margin-bottom: 30px; align-items: flex-start; }
90
+ .profile-left { flex: 0 0 auto; }
91
+ .avatar-large-placeholder { width: 160px; height: 160px; background-color: #d9d9d9; border-radius: 50%; }
92
+ .profile-right { flex: 1; display: flex; flex-direction: column; gap: 15px; }
93
+ .profile-input-group { position: relative; width: 100%; }
94
+ .profile-input { width: 100%; padding: 10px 15px; border: 1px solid #ddd; border-radius: 6px; font-size: 1rem; color: #333; outline: none; }
95
+ .profile-input.bg-gray { background-color: #f8f9fa; color: #666; }
96
+ .edit-icon { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #1e3c72; cursor: pointer; }
97
+ .profile-actions-row { display: flex; gap: 10px; }
98
+ .btn-outline-small { padding: 8px 15px; border: 1px solid #3f51b5; background: white; color: #3f51b5; border-radius: 4px; font-size: 0.9rem; cursor: pointer; transition: all 0.2s; }
99
+ .btn-outline-small:hover { background-color: #f0f4ff; }
100
+ .btn-logout-red { background-color: #ff0000; color: white; border: none; padding: 8px 20px; border-radius: 4px; font-weight: 600; cursor: pointer; width: fit-content; margin-top: 5px; }
101
+ .btn-logout-red:hover { background-color: #cc0000; }
102
+ .profile-divider { border: 0; border-top: 1px solid #eee; margin: 20px 0; }
103
+ .profile-bottom-settings { display: flex; flex-direction: column; gap: 15px; }
104
+ .setting-row { display: flex; justify-content: space-between; align-items: center; }
105
+ .setting-label { font-size: 1rem; color: #1e3c72; }
106
+ .bold-text { font-weight: 600; }
107
+ .btn-outline-box { padding: 6px 20px; border: 1px solid #1e3c72; background: white; color: #1e3c72; border-radius: 4px; cursor: pointer; }
108
+ .btn-delete-red { background-color: #ff0000; color: white; border: none; padding: 6px 25px; border-radius: 4px; font-weight: 600; cursor: pointer; }
109
+ @keyframes popUp { from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }
110
+
111
+ /* ADMIN DASHBOARD (TAMBAHAN) */
112
+ .modal-content { background: white; padding: 25px; border-radius: 15px; width: 90%; max-width: 350px; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.2); animation: popUp 0.3s; }
113
+ .modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; border-bottom: 1px solid #eee; padding-bottom: 10px; }
114
+ .close-btn { background: none; border: none; font-size: 1.5rem; cursor: pointer; color: #999; }
115
+
116
+ @media (max-width: 768px) {
117
+ .modal-profile-card { padding: 20px; width: 95%; }
118
+ .profile-layout { flex-direction: column; align-items: center; }
119
+ .profile-actions-row { justify-content: center; }
120
+ .btn-logout-red { margin: 10px auto 0; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  }