scythe410 commited on
Commit
ef17a0b
·
verified ·
1 Parent(s): 73338b0

Upload app/frontend/style.css with huggingface_hub

Browse files
Files changed (1) hide show
  1. app/frontend/style.css +534 -499
app/frontend/style.css CHANGED
@@ -1,499 +1,534 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
2
-
3
- :root {
4
- --bg-color: #EFEFEF;
5
- --card-bg: #FFFFFF;
6
- --text-main: #111111;
7
- --text-muted: #6B6B6B;
8
- --primary-blue: #0A5EFF;
9
- --primary-blue-hover: #004BE6;
10
- --border-radius-lg: 32px;
11
- --border-radius-md: 24px;
12
- --border-radius-pill: 50px;
13
- --shadow-soft: 0 16px 40px rgba(0,0,0,0.06);
14
- --shadow-glass: 0 8px 32px rgba(0,0,0,0.08);
15
- --glass-bg: rgba(255, 255, 255, 0.7);
16
- --glass-border: rgba(255, 255, 255, 0.5);
17
- }
18
-
19
- * {
20
- margin: 0;
21
- padding: 0;
22
- box-sizing: border-box;
23
- font-family: 'Inter', -apple-system, sans-serif;
24
- }
25
-
26
- body {
27
- background-color: var(--bg-color);
28
- color: var(--text-main);
29
- overflow-x: hidden;
30
- -webkit-font-smoothing: antialiased;
31
- }
32
-
33
- /* Base Utility Classes */
34
- .container {
35
- max-width: 1200px;
36
- margin: 0 auto;
37
- padding: 24px;
38
- }
39
-
40
- .title {
41
- font-size: 32px;
42
- font-weight: 800;
43
- color: var(--text-main);
44
- letter-spacing: -0.5px;
45
- }
46
-
47
- .subtitle {
48
- font-size: 16px;
49
- color: var(--text-muted);
50
- margin-top: 8px;
51
- font-weight: 500;
52
- }
53
-
54
- /* Modern Pill Buttons */
55
- .btn {
56
- display: inline-flex;
57
- align-items: center;
58
- justify-content: center;
59
- font-size: 16px;
60
- font-weight: 600;
61
- padding: 18px 32px;
62
- border-radius: var(--border-radius-pill);
63
- border: none;
64
- cursor: pointer;
65
- text-decoration: none;
66
- transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
67
- }
68
-
69
- .btn-primary {
70
- background-color: var(--primary-blue);
71
- color: white;
72
- box-shadow: 0 8px 24px rgba(10, 94, 255, 0.3);
73
- }
74
-
75
- .btn-primary:hover {
76
- background-color: var(--primary-blue-hover);
77
- transform: translateY(-2px);
78
- box-shadow: 0 12px 28px rgba(10, 94, 255, 0.4);
79
- }
80
-
81
- .btn-secondary {
82
- background-color: white;
83
- color: var(--text-main);
84
- box-shadow: 0 4px 12px rgba(0,0,0,0.05);
85
- }
86
-
87
- /* Glassmorphism Floating NavBar / UI Elements */
88
- .glass-panel {
89
- background: var(--glass-bg);
90
- backdrop-filter: blur(24px);
91
- -webkit-backdrop-filter: blur(24px);
92
- border: 1px solid var(--glass-border);
93
- border-radius: var(--border-radius-pill);
94
- }
95
-
96
- /* Cards */
97
- .card {
98
- background: var(--card-bg);
99
- border-radius: var(--border-radius-lg);
100
- padding: 32px;
101
- box-shadow: var(--shadow-soft);
102
- }
103
-
104
- /* Input Styles */
105
- .form-control {
106
- width: 100%;
107
- padding: 16px 24px;
108
- font-size: 16px;
109
- font-weight: 500;
110
- border: 1px solid #E0E0E0;
111
- border-radius: var(--border-radius-pill);
112
- background-color: #FAFAFA;
113
- transition: all 0.2s ease;
114
- outline: none;
115
- }
116
- .form-control:focus {
117
- border-color: var(--primary-blue);
118
- box-shadow: 0 0 0 4px rgba(10, 94, 255, 0.1);
119
- background-color: white;
120
- }
121
-
122
- /* Landing Page Specifics */
123
- .landing-hero {
124
- min-height: 80vh;
125
- display: flex;
126
- flex-direction: column;
127
- justify-content: center;
128
- align-items: center;
129
- text-align: center;
130
- padding-top: 60px;
131
- }
132
- .landing-hero h1 {
133
- font-size: 64px;
134
- font-weight: 800;
135
- letter-spacing: -2px;
136
- margin-bottom: 24px;
137
- max-width: 800px;
138
- line-height: 1.1;
139
- }
140
- .landing-hero p {
141
- font-size: 20px;
142
- color: var(--text-muted);
143
- max-width: 600px;
144
- margin-bottom: 48px;
145
- line-height: 1.5;
146
- }
147
-
148
- /* Feature Grid */
149
- .features-grid {
150
- display: grid;
151
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
152
- gap: 32px;
153
- margin-top: -40px;
154
- padding-bottom: 80px;
155
- }
156
- .feature-card {
157
- background: white;
158
- border-radius: var(--border-radius-md);
159
- padding: 32px;
160
- box-shadow: var(--shadow-soft);
161
- display: flex;
162
- flex-direction: column;
163
- align-items: flex-start;
164
- }
165
- .feature-icon {
166
- width: 48px;
167
- height: 48px;
168
- border-radius: 12px;
169
- background: #F0F5FF;
170
- color: var(--primary-blue);
171
- display: flex;
172
- align-items: center;
173
- justify-content: center;
174
- margin-bottom: 24px;
175
- }
176
- .feature-card h3 {
177
- font-size: 20px;
178
- font-weight: 700;
179
- margin-bottom: 12px;
180
- }
181
- .feature-card p {
182
- color: var(--text-muted);
183
- font-size: 15px;
184
- line-height: 1.5;
185
- }
186
-
187
- /* Nav */
188
- .modern-nav {
189
- position: fixed;
190
- top: 24px;
191
- left: 50%;
192
- transform: translateX(-50%);
193
- width: 90%;
194
- max-width: 1200px;
195
- display: flex;
196
- justify-content: space-between;
197
- align-items: center;
198
- padding: 16px 32px;
199
- z-index: 1000;
200
- box-shadow: var(--shadow-glass);
201
- }
202
- .nav-logo {
203
- font-weight: 800;
204
- font-size: 20px;
205
- color: var(--text-main);
206
- text-decoration: none;
207
- }
208
-
209
- /* --- NEW STYLES FOR EVALUATE PAGE & MOCKUP MATCHING --- */
210
-
211
- .mobile-container {
212
- max-width: 600px;
213
- padding: 0 24px;
214
- }
215
-
216
- .app-header {
217
- display: flex;
218
- justify-content: space-between;
219
- align-items: center;
220
- padding: 20px 24px;
221
- max-width: 600px;
222
- margin: 0 auto;
223
- }
224
-
225
- .icon-btn {
226
- width: 44px;
227
- height: 44px;
228
- border-radius: 50%;
229
- border: none;
230
- background: white;
231
- box-shadow: 0 4px 12px rgba(0,0,0,0.05);
232
- display: flex;
233
- justify-content: center;
234
- align-items: center;
235
- font-size: 20px;
236
- color: var(--text-main);
237
- cursor: pointer;
238
- }
239
-
240
- .icon-btn-dark {
241
- width: 44px;
242
- height: 44px;
243
- border-radius: 50%;
244
- border: none;
245
- background: var(--text-main);
246
- color: white;
247
- display: flex;
248
- justify-content: center;
249
- align-items: center;
250
- font-size: 20px;
251
- cursor: pointer;
252
- }
253
-
254
- .user-actions {
255
- display: flex;
256
- gap: 12px;
257
- align-items: center;
258
- }
259
-
260
- .avatar {
261
- width: 44px;
262
- height: 44px;
263
- border-radius: 50%;
264
- background: #DDD;
265
- display: flex;
266
- align-items: center;
267
- justify-content: center;
268
- font-size: 24px;
269
- color: #666;
270
- overflow: hidden;
271
- }
272
-
273
- .search-bar {
274
- display: flex;
275
- align-items: center;
276
- background: white;
277
- border-radius: var(--border-radius-pill);
278
- padding: 16px 20px;
279
- box-shadow: var(--shadow-soft);
280
- gap: 12px;
281
- }
282
-
283
- .search-bar ion-icon {
284
- font-size: 20px;
285
- color: var(--text-muted);
286
- }
287
-
288
- .search-bar input {
289
- flex: 1;
290
- border: none;
291
- outline: none;
292
- font-size: 16px;
293
- font-weight: 500;
294
- font-family: 'Inter', sans-serif;
295
- }
296
-
297
- .form-grid {
298
- display: grid;
299
- grid-template-columns: 1fr 1fr;
300
- gap: 16px;
301
- }
302
-
303
- .form-group label {
304
- display: block;
305
- font-size: 14px;
306
- font-weight: 600;
307
- color: var(--text-muted);
308
- margin-bottom: 8px;
309
- margin-left: 12px;
310
- }
311
-
312
- .upload-box {
313
- border: 2px dashed #D0D0D0;
314
- border-radius: var(--border-radius-md);
315
- background: #FAFAFA;
316
- padding: 40px 20px;
317
- text-align: center;
318
- cursor: pointer;
319
- transition: all 0.3s;
320
- }
321
-
322
- .upload-box.dragover {
323
- border-color: var(--primary-blue);
324
- background: #F0F5FF;
325
- }
326
-
327
- .upload-icon {
328
- font-size: 48px;
329
- color: #A0A0A0;
330
- margin-bottom: 12px;
331
- }
332
-
333
- .preview-grid {
334
- display: flex;
335
- flex-wrap: wrap;
336
- gap: 12px;
337
- margin-top: 16px;
338
- justify-content: center;
339
- }
340
-
341
- .preview-img {
342
- width: 60px;
343
- height: 60px;
344
- border-radius: 12px;
345
- object-fit: cover;
346
- border: 1px solid #EEE;
347
- }
348
-
349
- /* Results Hero Card */
350
- .car-hero-card {
351
- background: white;
352
- border-radius: var(--border-radius-lg);
353
- padding: 24px;
354
- box-shadow: var(--shadow-soft);
355
- position: relative;
356
- overflow: hidden;
357
- }
358
-
359
- .car-header {
360
- display: grid;
361
- grid-template-columns: 1fr auto;
362
- align-items: center;
363
- }
364
-
365
- .car-image-container {
366
- position: relative;
367
- width: 100%;
368
- height: 220px;
369
- margin: 20px 0;
370
- display: flex;
371
- justify-content: center;
372
- align-items: center;
373
- }
374
-
375
- .car-image-container img {
376
- max-width: 100%;
377
- max-height: 100%;
378
- object-fit: contain;
379
- }
380
-
381
- .value-badge {
382
- position: absolute;
383
- bottom: 20px;
384
- left: 0;
385
- padding: 12px 20px;
386
- border-radius: var(--border-radius-md);
387
- z-index: 10;
388
- }
389
-
390
- .specs-pills {
391
- display: flex;
392
- flex-wrap: wrap;
393
- gap: 8px;
394
- margin-bottom: 24px;
395
- }
396
-
397
- .spec-pill {
398
- background: #F6F6F6;
399
- padding: 12px 16px;
400
- border-radius: var(--border-radius-pill);
401
- display: inline-flex;
402
- align-items: center;
403
- gap: 8px;
404
- font-size: 14px;
405
- font-weight: 600;
406
- }
407
-
408
- .action-buttons {
409
- display: flex;
410
- gap: 12px;
411
- }
412
-
413
- .analysis-stats {
414
- display: grid;
415
- grid-template-columns: 1fr 1fr;
416
- gap: 16px;
417
- }
418
-
419
- .stat-box {
420
- background: white;
421
- padding: 20px;
422
- border-radius: var(--border-radius-md);
423
- box-shadow: var(--shadow-soft);
424
- text-align: center;
425
- }
426
-
427
- .stat-box h3 {
428
- font-size: 28px;
429
- font-weight: 800;
430
- margin-bottom: 4px;
431
- }
432
-
433
- .stat-box p {
434
- color: var(--text-muted);
435
- font-size: 14px;
436
- font-weight: 500;
437
- }
438
-
439
- .details-card {
440
- background: white;
441
- padding: 24px;
442
- border-radius: var(--border-radius-lg);
443
- box-shadow: var(--shadow-soft);
444
- }
445
-
446
- .damage-item {
447
- padding: 16px;
448
- background: #F9F9F9;
449
- border-radius: 16px;
450
- margin-bottom: 12px;
451
- display: flex;
452
- gap: 16px;
453
- }
454
-
455
- .damage-item-img {
456
- width: 60px;
457
- height: 60px;
458
- border-radius: 12px;
459
- object-fit: cover;
460
- }
461
-
462
- .floating-menu {
463
- position: fixed;
464
- right: 24px;
465
- top: 50%;
466
- transform: translateY(-50%);
467
- display: flex;
468
- flex-direction: column;
469
- gap: 12px;
470
- padding: 12px;
471
- border-radius: var(--border-radius-pill);
472
- box-shadow: var(--shadow-glass);
473
- z-index: 100;
474
- }
475
-
476
- .menu-btn {
477
- width: 48px;
478
- height: 48px;
479
- border-radius: 50%;
480
- border: none;
481
- background: transparent;
482
- color: var(--text-muted);
483
- font-size: 24px;
484
- display: flex;
485
- justify-content: center;
486
- align-items: center;
487
- cursor: pointer;
488
- transition: all 0.2s;
489
- }
490
-
491
- .menu-btn.active {
492
- background: var(--primary-blue);
493
- color: white;
494
- box-shadow: 0 4px 12px rgba(10, 94, 255, 0.3);
495
- }
496
-
497
- /* Animations */
498
- @keyframes spin { 100% { transform: rotate(360deg); } }
499
- .spin { animation: spin 1s linear infinite; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
2
+
3
+ :root {
4
+ --bg-color: #EFEFEF;
5
+ --card-bg: #FFFFFF;
6
+ --text-main: #111111;
7
+ --text-muted: #6B6B6B;
8
+ --primary-blue: #0A5EFF;
9
+ --primary-blue-hover: #004BE6;
10
+ --border-radius-lg: 32px;
11
+ --border-radius-md: 24px;
12
+ --border-radius-pill: 50px;
13
+ --shadow-soft: 0 16px 40px rgba(0,0,0,0.06);
14
+ --shadow-glass: 0 8px 32px rgba(0,0,0,0.08);
15
+ --glass-bg: rgba(255, 255, 255, 0.7);
16
+ --glass-border: rgba(255, 255, 255, 0.5);
17
+ }
18
+
19
+ * {
20
+ margin: 0;
21
+ padding: 0;
22
+ box-sizing: border-box;
23
+ font-family: 'Inter', -apple-system, sans-serif;
24
+ }
25
+
26
+ body {
27
+ background-color: var(--bg-color);
28
+ color: var(--text-main);
29
+ overflow-x: hidden;
30
+ -webkit-font-smoothing: antialiased;
31
+ }
32
+
33
+ /* Base Utility Classes */
34
+ .container {
35
+ max-width: 1200px;
36
+ margin: 0 auto;
37
+ padding: 24px;
38
+ }
39
+
40
+ .title {
41
+ font-size: 32px;
42
+ font-weight: 800;
43
+ color: var(--text-main);
44
+ letter-spacing: -0.5px;
45
+ }
46
+
47
+ .subtitle {
48
+ font-size: 16px;
49
+ color: var(--text-muted);
50
+ margin-top: 8px;
51
+ font-weight: 500;
52
+ }
53
+
54
+ /* Modern Pill Buttons */
55
+ .btn {
56
+ display: inline-flex;
57
+ align-items: center;
58
+ justify-content: center;
59
+ font-size: 16px;
60
+ font-weight: 600;
61
+ padding: 18px 32px;
62
+ border-radius: var(--border-radius-pill);
63
+ border: none;
64
+ cursor: pointer;
65
+ text-decoration: none;
66
+ transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
67
+ }
68
+
69
+ .btn-primary {
70
+ background-color: var(--primary-blue);
71
+ color: white;
72
+ box-shadow: 0 8px 24px rgba(10, 94, 255, 0.3);
73
+ }
74
+
75
+ .btn-primary:hover {
76
+ background-color: var(--primary-blue-hover);
77
+ transform: translateY(-2px);
78
+ box-shadow: 0 12px 28px rgba(10, 94, 255, 0.4);
79
+ }
80
+
81
+ .btn-secondary {
82
+ background-color: white;
83
+ color: var(--text-main);
84
+ box-shadow: 0 4px 12px rgba(0,0,0,0.05);
85
+ }
86
+
87
+ /* Glassmorphism Floating NavBar / UI Elements */
88
+ .glass-panel {
89
+ background: var(--glass-bg);
90
+ backdrop-filter: blur(24px);
91
+ -webkit-backdrop-filter: blur(24px);
92
+ border: 1px solid var(--glass-border);
93
+ border-radius: var(--border-radius-pill);
94
+ }
95
+
96
+ /* Cards */
97
+ .card {
98
+ background: var(--card-bg);
99
+ border-radius: var(--border-radius-lg);
100
+ padding: 32px;
101
+ box-shadow: var(--shadow-soft);
102
+ }
103
+
104
+ /* Input Styles */
105
+ .form-control {
106
+ width: 100%;
107
+ padding: 16px 24px;
108
+ font-size: 16px;
109
+ font-weight: 500;
110
+ border: 1px solid #E0E0E0;
111
+ border-radius: var(--border-radius-pill);
112
+ background-color: #FAFAFA;
113
+ transition: all 0.2s ease;
114
+ outline: none;
115
+ }
116
+ .form-control:focus {
117
+ border-color: var(--primary-blue);
118
+ box-shadow: 0 0 0 4px rgba(10, 94, 255, 0.1);
119
+ background-color: white;
120
+ }
121
+
122
+ /* Landing Page Specifics */
123
+ .landing-hero {
124
+ min-height: 80vh;
125
+ display: flex;
126
+ flex-direction: column;
127
+ justify-content: center;
128
+ align-items: center;
129
+ text-align: center;
130
+ padding-top: 60px;
131
+ }
132
+ .landing-hero h1 {
133
+ font-size: 64px;
134
+ font-weight: 800;
135
+ letter-spacing: -2px;
136
+ margin-bottom: 24px;
137
+ max-width: 800px;
138
+ line-height: 1.1;
139
+ }
140
+ .landing-hero p {
141
+ font-size: 20px;
142
+ color: var(--text-muted);
143
+ max-width: 600px;
144
+ margin-bottom: 48px;
145
+ line-height: 1.5;
146
+ }
147
+
148
+ /* Feature Grid */
149
+ .features-grid {
150
+ display: grid;
151
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
152
+ gap: 32px;
153
+ margin-top: -40px;
154
+ padding-bottom: 80px;
155
+ }
156
+ .feature-card {
157
+ background: white;
158
+ border-radius: var(--border-radius-md);
159
+ padding: 32px;
160
+ box-shadow: var(--shadow-soft);
161
+ display: flex;
162
+ flex-direction: column;
163
+ align-items: flex-start;
164
+ }
165
+ .feature-icon {
166
+ width: 48px;
167
+ height: 48px;
168
+ border-radius: 12px;
169
+ background: #F0F5FF;
170
+ color: var(--primary-blue);
171
+ display: flex;
172
+ align-items: center;
173
+ justify-content: center;
174
+ margin-bottom: 24px;
175
+ }
176
+ .feature-card h3 {
177
+ font-size: 20px;
178
+ font-weight: 700;
179
+ margin-bottom: 12px;
180
+ }
181
+ .feature-card p {
182
+ color: var(--text-muted);
183
+ font-size: 15px;
184
+ line-height: 1.5;
185
+ }
186
+
187
+ /* Nav */
188
+ .modern-nav {
189
+ position: fixed;
190
+ top: 24px;
191
+ left: 50%;
192
+ transform: translateX(-50%);
193
+ width: 90%;
194
+ max-width: 1200px;
195
+ display: flex;
196
+ justify-content: space-between;
197
+ align-items: center;
198
+ padding: 16px 32px;
199
+ z-index: 1000;
200
+ box-shadow: var(--shadow-glass);
201
+ }
202
+ .nav-logo {
203
+ font-weight: 800;
204
+ font-size: 20px;
205
+ color: var(--text-main);
206
+ text-decoration: none;
207
+ }
208
+
209
+ /* --- NEW STYLES FOR EVALUATE PAGE & MOCKUP MATCHING --- */
210
+
211
+ .mobile-container {
212
+ max-width: 600px;
213
+ padding: 0 24px;
214
+ }
215
+
216
+ .app-header {
217
+ display: flex;
218
+ justify-content: space-between;
219
+ align-items: center;
220
+ padding: 20px 24px;
221
+ max-width: 600px;
222
+ margin: 0 auto;
223
+ }
224
+
225
+ .icon-btn {
226
+ width: 44px;
227
+ height: 44px;
228
+ border-radius: 50%;
229
+ border: none;
230
+ background: white;
231
+ box-shadow: 0 4px 12px rgba(0,0,0,0.05);
232
+ display: flex;
233
+ justify-content: center;
234
+ align-items: center;
235
+ font-size: 20px;
236
+ color: var(--text-main);
237
+ cursor: pointer;
238
+ }
239
+
240
+ .icon-btn-dark {
241
+ width: 44px;
242
+ height: 44px;
243
+ border-radius: 50%;
244
+ border: none;
245
+ background: var(--text-main);
246
+ color: white;
247
+ display: flex;
248
+ justify-content: center;
249
+ align-items: center;
250
+ font-size: 20px;
251
+ cursor: pointer;
252
+ }
253
+
254
+ .user-actions {
255
+ display: flex;
256
+ gap: 12px;
257
+ align-items: center;
258
+ }
259
+
260
+ .avatar {
261
+ width: 44px;
262
+ height: 44px;
263
+ border-radius: 50%;
264
+ background: #DDD;
265
+ display: flex;
266
+ align-items: center;
267
+ justify-content: center;
268
+ font-size: 24px;
269
+ color: #666;
270
+ overflow: hidden;
271
+ }
272
+
273
+ .search-bar {
274
+ display: flex;
275
+ align-items: center;
276
+ background: white;
277
+ border-radius: var(--border-radius-pill);
278
+ padding: 16px 20px;
279
+ box-shadow: var(--shadow-soft);
280
+ gap: 12px;
281
+ }
282
+
283
+ .search-bar ion-icon {
284
+ font-size: 20px;
285
+ color: var(--text-muted);
286
+ }
287
+
288
+ .search-bar input {
289
+ flex: 1;
290
+ border: none;
291
+ outline: none;
292
+ font-size: 16px;
293
+ font-weight: 500;
294
+ font-family: 'Inter', sans-serif;
295
+ }
296
+
297
+ .form-grid {
298
+ display: grid;
299
+ grid-template-columns: 1fr 1fr;
300
+ gap: 16px;
301
+ }
302
+
303
+ .form-group label {
304
+ display: block;
305
+ font-size: 14px;
306
+ font-weight: 600;
307
+ color: var(--text-muted);
308
+ margin-bottom: 8px;
309
+ margin-left: 12px;
310
+ }
311
+
312
+ .upload-box {
313
+ border: 2px dashed #D0D0D0;
314
+ border-radius: var(--border-radius-md);
315
+ background: #FAFAFA;
316
+ padding: 40px 20px;
317
+ text-align: center;
318
+ cursor: pointer;
319
+ transition: all 0.3s;
320
+ }
321
+
322
+ .upload-box.dragover {
323
+ border-color: var(--primary-blue);
324
+ background: #F0F5FF;
325
+ }
326
+
327
+ .upload-icon {
328
+ font-size: 48px;
329
+ color: #A0A0A0;
330
+ margin-bottom: 12px;
331
+ }
332
+
333
+ .preview-grid {
334
+ display: flex;
335
+ flex-wrap: wrap;
336
+ gap: 12px;
337
+ margin-top: 16px;
338
+ justify-content: center;
339
+ }
340
+
341
+ .preview-img {
342
+ width: 60px;
343
+ height: 60px;
344
+ border-radius: 12px;
345
+ object-fit: cover;
346
+ border: 1px solid #EEE;
347
+ display: block;
348
+ }
349
+
350
+ /* Wrapper for each preview image — needed for the remove-button overlay */
351
+ .preview-wrapper {
352
+ position: relative;
353
+ display: inline-block;
354
+ line-height: 0;
355
+ }
356
+
357
+ /* Small × dismiss button in the top-right corner of each preview image */
358
+ .preview-remove-btn {
359
+ position: absolute;
360
+ top: -6px;
361
+ right: -6px;
362
+ width: 20px;
363
+ height: 20px;
364
+ border-radius: 50%;
365
+ background: rgba(30, 30, 30, 0.75);
366
+ color: #fff;
367
+ border: none;
368
+ cursor: pointer;
369
+ font-size: 13px;
370
+ line-height: 1;
371
+ display: flex;
372
+ align-items: center;
373
+ justify-content: center;
374
+ z-index: 10;
375
+ transition: background 0.18s, transform 0.15s;
376
+ padding: 0;
377
+ }
378
+ .preview-remove-btn:hover {
379
+ background: #ef4444;
380
+ transform: scale(1.15);
381
+ }
382
+
383
+
384
+ /* Results Hero Card */
385
+ .car-hero-card {
386
+ background: white;
387
+ border-radius: var(--border-radius-lg);
388
+ padding: 24px;
389
+ box-shadow: var(--shadow-soft);
390
+ position: relative;
391
+ overflow: hidden;
392
+ }
393
+
394
+ .car-header {
395
+ display: grid;
396
+ grid-template-columns: 1fr auto;
397
+ align-items: center;
398
+ }
399
+
400
+ .car-image-container {
401
+ position: relative;
402
+ width: 100%;
403
+ height: 220px;
404
+ margin: 20px 0;
405
+ display: flex;
406
+ justify-content: center;
407
+ align-items: center;
408
+ }
409
+
410
+ .car-image-container img {
411
+ max-width: 100%;
412
+ max-height: 100%;
413
+ object-fit: contain;
414
+ }
415
+
416
+ .value-badge {
417
+ position: absolute;
418
+ bottom: 20px;
419
+ left: 0;
420
+ padding: 12px 20px;
421
+ border-radius: var(--border-radius-md);
422
+ z-index: 10;
423
+ }
424
+
425
+ .specs-pills {
426
+ display: flex;
427
+ flex-wrap: wrap;
428
+ gap: 8px;
429
+ margin-bottom: 24px;
430
+ }
431
+
432
+ .spec-pill {
433
+ background: #F6F6F6;
434
+ padding: 12px 16px;
435
+ border-radius: var(--border-radius-pill);
436
+ display: inline-flex;
437
+ align-items: center;
438
+ gap: 8px;
439
+ font-size: 14px;
440
+ font-weight: 600;
441
+ }
442
+
443
+ .action-buttons {
444
+ display: flex;
445
+ gap: 12px;
446
+ }
447
+
448
+ .analysis-stats {
449
+ display: grid;
450
+ grid-template-columns: 1fr 1fr;
451
+ gap: 16px;
452
+ }
453
+
454
+ .stat-box {
455
+ background: white;
456
+ padding: 20px;
457
+ border-radius: var(--border-radius-md);
458
+ box-shadow: var(--shadow-soft);
459
+ text-align: center;
460
+ }
461
+
462
+ .stat-box h3 {
463
+ font-size: 28px;
464
+ font-weight: 800;
465
+ margin-bottom: 4px;
466
+ }
467
+
468
+ .stat-box p {
469
+ color: var(--text-muted);
470
+ font-size: 14px;
471
+ font-weight: 500;
472
+ }
473
+
474
+ .details-card {
475
+ background: white;
476
+ padding: 24px;
477
+ border-radius: var(--border-radius-lg);
478
+ box-shadow: var(--shadow-soft);
479
+ }
480
+
481
+ .damage-item {
482
+ padding: 16px;
483
+ background: #F9F9F9;
484
+ border-radius: 16px;
485
+ margin-bottom: 12px;
486
+ display: flex;
487
+ gap: 16px;
488
+ }
489
+
490
+ .damage-item-img {
491
+ width: 60px;
492
+ height: 60px;
493
+ border-radius: 12px;
494
+ object-fit: cover;
495
+ }
496
+
497
+ .floating-menu {
498
+ position: fixed;
499
+ right: 24px;
500
+ top: 50%;
501
+ transform: translateY(-50%);
502
+ display: flex;
503
+ flex-direction: column;
504
+ gap: 12px;
505
+ padding: 12px;
506
+ border-radius: var(--border-radius-pill);
507
+ box-shadow: var(--shadow-glass);
508
+ z-index: 100;
509
+ }
510
+
511
+ .menu-btn {
512
+ width: 48px;
513
+ height: 48px;
514
+ border-radius: 50%;
515
+ border: none;
516
+ background: transparent;
517
+ color: var(--text-muted);
518
+ font-size: 24px;
519
+ display: flex;
520
+ justify-content: center;
521
+ align-items: center;
522
+ cursor: pointer;
523
+ transition: all 0.2s;
524
+ }
525
+
526
+ .menu-btn.active {
527
+ background: var(--primary-blue);
528
+ color: white;
529
+ box-shadow: 0 4px 12px rgba(10, 94, 255, 0.3);
530
+ }
531
+
532
+ /* Animations */
533
+ @keyframes spin { 100% { transform: rotate(360deg); } }
534
+ .spin { animation: spin 1s linear infinite; }