JackSparrow89 commited on
Commit
c3d00ce
·
verified ·
1 Parent(s): 8eca49d

Update static/style.css

Browse files
Files changed (1) hide show
  1. static/style.css +454 -405
static/style.css CHANGED
@@ -1,405 +1,454 @@
1
- /* static/style.css */
2
-
3
- * { margin:0; padding:0; box-sizing:border-box; }
4
-
5
- body {
6
- font-family: "Segoe UI", Arial, sans-serif;
7
- background: #f4f6f9;
8
- color: #1a1a2e;
9
- min-height: 100vh;
10
- }
11
-
12
- /* NAV */
13
- nav {
14
- background: #1a3a5c;
15
- padding: 0.8rem 2rem;
16
- display: flex;
17
- align-items: center;
18
- gap: 2rem;
19
- }
20
- nav .brand {
21
- color: #fff;
22
- font-size: 1.05rem;
23
- font-weight: 700;
24
- text-decoration: none;
25
- }
26
- nav a {
27
- color: #a8c8e8;
28
- text-decoration: none;
29
- font-size: 0.9rem;
30
- }
31
- nav a:hover { color: #fff; }
32
-
33
- /* CONTAINER */
34
- .container {
35
- max-width: 1100px;
36
- margin: 0 auto;
37
- padding: 2rem 1.5rem;
38
- }
39
-
40
- /* HERO */
41
- .hero {
42
- text-align: center;
43
- padding: 3rem 1rem 1.5rem;
44
- }
45
- .hero h1 {
46
- font-size: 2rem;
47
- color: #1a3a5c;
48
- margin-bottom: 0.4rem;
49
- }
50
- .hero p {
51
- color: #777;
52
- font-size: 0.98rem;
53
- margin-bottom: 1.8rem;
54
- }
55
-
56
- /* STATS PILLS */
57
- .stats {
58
- display: flex;
59
- justify-content: center;
60
- gap: 1rem;
61
- margin-bottom: 2rem;
62
- flex-wrap: wrap;
63
- }
64
- .stat-pill {
65
- background: #e8f0fa;
66
- color: #1a3a5c;
67
- padding: 0.35rem 1rem;
68
- border-radius: 20px;
69
- font-size: 0.85rem;
70
- font-weight: 600;
71
- }
72
-
73
- /* SEARCH BOX */
74
- .search-card {
75
- background: #fff;
76
- border-radius: 10px;
77
- box-shadow: 0 2px 16px rgba(0,0,0,0.08);
78
- padding: 1.6rem;
79
- max-width: 720px;
80
- margin: 0 auto 1.5rem;
81
- }
82
- .search-row {
83
- display: flex;
84
- gap: 0.6rem;
85
- margin-bottom: 0.85rem;
86
- }
87
- .search-input {
88
- flex: 1;
89
- padding: 0.72rem 1rem;
90
- border: 1.5px solid #d0dbe8;
91
- border-radius: 7px;
92
- font-size: 1rem;
93
- outline: none;
94
- transition: border 0.2s;
95
- }
96
- .search-input:focus { border-color: #1a3a5c; }
97
- .btn-search {
98
- padding: 0.72rem 1.6rem;
99
- background: #1a3a5c;
100
- color: #fff;
101
- border: none;
102
- border-radius: 7px;
103
- font-size: 0.95rem;
104
- font-weight: 700;
105
- cursor: pointer;
106
- transition: background 0.2s;
107
- }
108
- .btn-search:hover { background: #0f2a44; }
109
- .filters {
110
- display: flex;
111
- gap: 1.2rem;
112
- align-items: center;
113
- flex-wrap: wrap;
114
- }
115
- .filters label { font-size: 0.85rem; color: #666; }
116
- .filters select {
117
- padding: 0.32rem 0.7rem;
118
- border: 1.5px solid #d0dbe8;
119
- border-radius: 5px;
120
- font-size: 0.85rem;
121
- background: #fff;
122
- cursor: pointer;
123
- }
124
-
125
- /* SAMPLE QUERIES */
126
- .sample-queries {
127
- text-align: center;
128
- margin-top: 0.8rem;
129
- }
130
- .sample-queries p {
131
- font-size: 0.82rem;
132
- color: #999;
133
- margin-bottom: 0.5rem;
134
- }
135
- .sample-btn {
136
- background: #e8f0fa;
137
- border: none;
138
- border-radius: 14px;
139
- padding: 0.28rem 0.85rem;
140
- font-size: 0.8rem;
141
- color: #1a3a5c;
142
- cursor: pointer;
143
- margin: 0.2rem;
144
- transition: background 0.2s;
145
- }
146
- .sample-btn:hover { background: #ccdcf0; }
147
-
148
- /* ERROR */
149
- .error-box {
150
- background: #fff0f0;
151
- border: 1px solid #f0c0c0;
152
- border-radius: 7px;
153
- padding: 0.7rem 1rem;
154
- color: #a00;
155
- font-size: 0.9rem;
156
- margin-bottom: 1rem;
157
- max-width: 720px;
158
- margin-left: auto;
159
- margin-right: auto;
160
- }
161
-
162
- /* RESULTS PAGE LAYOUT */
163
- .results-layout {
164
- display: grid;
165
- grid-template-columns: 1fr 320px;
166
- gap: 1.5rem;
167
- align-items: start;
168
- margin-top: 1.5rem;
169
- }
170
-
171
- /* RESULTS HEADER */
172
- .results-header {
173
- margin-bottom: 1rem;
174
- padding-bottom: 0.6rem;
175
- border-bottom: 2px solid #e0e8f0;
176
- }
177
- .results-header h2 {
178
- font-size: 1.15rem;
179
- color: #1a3a5c;
180
- }
181
- .results-meta {
182
- font-size: 0.83rem;
183
- color: #999;
184
- margin-top: 0.25rem;
185
- }
186
- .expanded-tag {
187
- background: #f0f4f8;
188
- border-radius: 6px;
189
- padding: 0.45rem 0.85rem;
190
- font-size: 0.83rem;
191
- color: #555;
192
- margin-bottom: 0.85rem;
193
- }
194
-
195
- /* RESULT CARD */
196
- .result-card {
197
- background: #fff;
198
- border-radius: 8px;
199
- padding: 1rem 1.2rem;
200
- margin-bottom: 0.8rem;
201
- box-shadow: 0 1px 6px rgba(0,0,0,0.06);
202
- border-left: 3px solid #1a3a5c;
203
- transition: box-shadow 0.15s;
204
- }
205
- .result-card:hover { box-shadow: 0 3px 14px rgba(0,0,0,0.1); }
206
- .result-top {
207
- display: flex;
208
- justify-content: space-between;
209
- align-items: flex-start;
210
- margin-bottom: 0.4rem;
211
- }
212
- .result-title {
213
- font-size: 0.95rem;
214
- font-weight: 700;
215
- color: #1a3a5c;
216
- word-break: break-all;
217
- }
218
- .result-score {
219
- font-size: 0.8rem;
220
- background: #e8f0fa;
221
- color: #1a3a5c;
222
- padding: 0.18rem 0.55rem;
223
- border-radius: 12px;
224
- font-weight: 700;
225
- white-space: nowrap;
226
- margin-left: 0.8rem;
227
- }
228
- .result-snippet {
229
- font-size: 0.88rem;
230
- color: #444;
231
- line-height: 1.55;
232
- }
233
- .result-footer {
234
- margin-top: 0.5rem;
235
- }
236
- .badge {
237
- font-size: 0.74rem;
238
- padding: 0.15rem 0.55rem;
239
- border-radius: 10px;
240
- font-weight: 600;
241
- }
242
- .badge-scifact { background: #e0f0e8; color: #1a5c2e; }
243
- .badge-nfcorpus { background: #fce8e8; color: #7a1a1a; }
244
- .badge-file { background: #e8eaf0; color: #3a3a6c; }
245
-
246
- .no-results {
247
- text-align: center;
248
- padding: 3rem;
249
- color: #999;
250
- }
251
-
252
- /* QUERY PANELS (right side) */
253
- .query-panel {
254
- background: #fff;
255
- border-radius: 8px;
256
- box-shadow: 0 1px 6px rgba(0,0,0,0.06);
257
- overflow: hidden;
258
- margin-bottom: 1rem;
259
- }
260
- .panel-header {
261
- display: flex;
262
- justify-content: space-between;
263
- align-items: center;
264
- padding: 0.6rem 1rem;
265
- font-size: 0.88rem;
266
- font-weight: 700;
267
- }
268
- .panel-header.scifact { background: #e0f0e8; color: #1a5c2e; }
269
- .panel-header.nfcorpus { background: #fce8e8; color: #7a1a1a; }
270
- .panel-count {
271
- background: rgba(0,0,0,0.1);
272
- border-radius: 10px;
273
- padding: 0.1rem 0.5rem;
274
- font-size: 0.75rem;
275
- }
276
- .query-item {
277
- padding: 0.55rem 1rem;
278
- border-bottom: 1px solid #f0f4f8;
279
- }
280
- .query-item:last-child { border-bottom: none; }
281
- .query-id { font-size: 0.72rem; color: #bbb; margin-bottom: 0.15rem; }
282
- .query-text { font-size: 0.85rem; color: #333; line-height: 1.45; }
283
- .panel-empty {
284
- padding: 0.75rem 1rem;
285
- font-size: 0.83rem;
286
- color: #bbb;
287
- font-style: italic;
288
- }
289
- .panel-info {
290
- background: #f7fafd;
291
- border-radius: 7px;
292
- padding: 0.7rem 0.9rem;
293
- font-size: 0.78rem;
294
- color: #888;
295
- line-height: 1.55;
296
- }
297
-
298
- /* DASHBOARD */
299
- .dash-title {
300
- font-size: 1.4rem;
301
- color: #1a3a5c;
302
- font-weight: 700;
303
- margin-bottom: 0.3rem;
304
- }
305
- .dash-sub {
306
- color: #999;
307
- font-size: 0.88rem;
308
- margin-bottom: 1.5rem;
309
- }
310
- .dash-grid {
311
- display: grid;
312
- grid-template-columns: 1fr 1fr;
313
- gap: 1.2rem;
314
- margin-bottom: 2rem;
315
- }
316
- .metric-card {
317
- background: #fff;
318
- border-radius: 8px;
319
- padding: 1.2rem 1.4rem;
320
- box-shadow: 0 1px 6px rgba(0,0,0,0.06);
321
- }
322
- .metric-card h3 {
323
- font-size: 1rem;
324
- color: #1a3a5c;
325
- margin-bottom: 1rem;
326
- padding-bottom: 0.5rem;
327
- border-bottom: 1.5px solid #e0e8f0;
328
- }
329
- .metric-row {
330
- display: flex;
331
- align-items: center;
332
- margin-bottom: 0.65rem;
333
- }
334
- .metric-label {
335
- width: 95px;
336
- font-size: 0.85rem;
337
- color: #666;
338
- }
339
- .bar-wrap {
340
- flex: 1;
341
- background: #e8f0fa;
342
- border-radius: 4px;
343
- height: 8px;
344
- overflow: hidden;
345
- margin: 0 0.7rem;
346
- }
347
- .bar {
348
- height: 100%;
349
- border-radius: 4px;
350
- background: #1a3a5c;
351
- }
352
- .bar.green { background: #2d7a4f; }
353
- .bar.amber { background: #c07020; }
354
- .metric-val {
355
- width: 52px;
356
- text-align: right;
357
- font-size: 0.9rem;
358
- font-weight: 700;
359
- color: #1a3a5c;
360
- }
361
- .section-label {
362
- font-size: 1.05rem;
363
- font-weight: 700;
364
- color: #1a3a5c;
365
- margin: 1.5rem 0 0.7rem;
366
- }
367
- .table-card {
368
- background: #fff;
369
- border-radius: 8px;
370
- box-shadow: 0 1px 6px rgba(0,0,0,0.06);
371
- overflow: hidden;
372
- margin-bottom: 1.5rem;
373
- }
374
- .table-card table {
375
- width: 100%;
376
- border-collapse: collapse;
377
- font-size: 0.88rem;
378
- }
379
- .table-card th {
380
- background: #1a3a5c;
381
- color: #fff;
382
- padding: 0.6rem 1rem;
383
- text-align: left;
384
- font-weight: 600;
385
- }
386
- .table-card td {
387
- padding: 0.55rem 1rem;
388
- border-bottom: 1px solid #eef2f7;
389
- color: #333;
390
- }
391
- .table-card tr:last-child td { border-bottom: none; }
392
- .table-card tr:nth-child(even) td { background: #f7fafd; }
393
- .table-card tr.best td {
394
- font-weight: 700;
395
- color: #1a3a5c;
396
- background: #eaf4ff;
397
- }
398
-
399
- /* RESPONSIVE */
400
- @media (max-width: 700px) {
401
- .results-layout { grid-template-columns: 1fr; }
402
- .dash-grid { grid-template-columns: 1fr; }
403
- .search-row { flex-direction: column; }
404
- .hero h1 { font-size: 1.5rem; }
405
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* static/style.css */
2
+
3
+ * { margin:0; padding:0; box-sizing:border-box; }
4
+
5
+ body {
6
+ font-family: "Segoe UI", Arial, sans-serif;
7
+ background: #f4f6f9;
8
+ color: #1a1a2e;
9
+ min-height: 100vh;
10
+ }
11
+
12
+ /* NAV */
13
+ nav {
14
+ background: #1a3a5c;
15
+ padding: 0.8rem 2rem;
16
+ display: flex;
17
+ align-items: center;
18
+ gap: 2rem;
19
+ }
20
+ nav .brand {
21
+ color: #fff;
22
+ font-size: 1.05rem;
23
+ font-weight: 700;
24
+ text-decoration: none;
25
+ }
26
+ nav a {
27
+ color: #a8c8e8;
28
+ text-decoration: none;
29
+ font-size: 0.9rem;
30
+ }
31
+ nav a:hover { color: #fff; }
32
+
33
+ /* CONTAINER */
34
+ .container {
35
+ max-width: 1100px;
36
+ margin: 0 auto;
37
+ padding: 2rem 1.5rem;
38
+ }
39
+
40
+ /* HERO */
41
+ .hero {
42
+ text-align: center;
43
+ padding: 3rem 1rem 1.5rem;
44
+ }
45
+ .hero h1 {
46
+ font-size: 2rem;
47
+ color: #1a3a5c;
48
+ margin-bottom: 0.4rem;
49
+ }
50
+ .hero p {
51
+ color: #777;
52
+ font-size: 0.98rem;
53
+ margin-bottom: 1.8rem;
54
+ }
55
+
56
+ /* STATS PILLS */
57
+ .stats {
58
+ display: flex;
59
+ justify-content: center;
60
+ gap: 1rem;
61
+ margin-bottom: 2rem;
62
+ flex-wrap: wrap;
63
+ }
64
+ .stat-pill {
65
+ background: #e8f0fa;
66
+ color: #1a3a5c;
67
+ padding: 0.35rem 1rem;
68
+ border-radius: 20px;
69
+ font-size: 0.85rem;
70
+ font-weight: 600;
71
+ }
72
+
73
+ /* SEARCH BOX */
74
+ .search-card {
75
+ background: #fff;
76
+ border-radius: 10px;
77
+ box-shadow: 0 2px 16px rgba(0,0,0,0.08);
78
+ padding: 1.6rem;
79
+ max-width: 720px;
80
+ margin: 0 auto 1.5rem;
81
+ }
82
+ .search-row {
83
+ display: flex;
84
+ gap: 0.6rem;
85
+ margin-bottom: 0.85rem;
86
+ }
87
+ .search-input {
88
+ flex: 1;
89
+ padding: 0.72rem 1rem;
90
+ border: 1.5px solid #d0dbe8;
91
+ border-radius: 7px;
92
+ font-size: 1rem;
93
+ outline: none;
94
+ transition: border 0.2s;
95
+ }
96
+ .search-input:focus { border-color: #1a3a5c; }
97
+ .btn-search {
98
+ padding: 0.72rem 1.6rem;
99
+ background: #1a3a5c;
100
+ color: #fff;
101
+ border: none;
102
+ border-radius: 7px;
103
+ font-size: 0.95rem;
104
+ font-weight: 700;
105
+ cursor: pointer;
106
+ transition: background 0.2s;
107
+ }
108
+ .btn-search:hover { background: #0f2a44; }
109
+ .filters {
110
+ display: flex;
111
+ gap: 1.2rem;
112
+ align-items: center;
113
+ flex-wrap: wrap;
114
+ }
115
+ .filters label { font-size: 0.85rem; color: #666; }
116
+ .filters select {
117
+ padding: 0.32rem 0.7rem;
118
+ border: 1.5px solid #d0dbe8;
119
+ border-radius: 5px;
120
+ font-size: 0.85rem;
121
+ background: #fff;
122
+ cursor: pointer;
123
+ }
124
+
125
+ /* SAMPLE QUERIES */
126
+ .sample-queries {
127
+ text-align: center;
128
+ margin-top: 0.8rem;
129
+ }
130
+ .sample-queries p {
131
+ font-size: 0.82rem;
132
+ color: #999;
133
+ margin-bottom: 0.5rem;
134
+ }
135
+ .sample-btn {
136
+ background: #e8f0fa;
137
+ border: none;
138
+ border-radius: 14px;
139
+ padding: 0.28rem 0.85rem;
140
+ font-size: 0.8rem;
141
+ color: #1a3a5c;
142
+ cursor: pointer;
143
+ margin: 0.2rem;
144
+ transition: background 0.2s;
145
+ }
146
+ .sample-btn:hover { background: #ccdcf0; }
147
+
148
+ /* ERROR */
149
+ .error-box {
150
+ background: #fff0f0;
151
+ border: 1px solid #f0c0c0;
152
+ border-radius: 7px;
153
+ padding: 0.7rem 1rem;
154
+ color: #a00;
155
+ font-size: 0.9rem;
156
+ margin-bottom: 1rem;
157
+ max-width: 720px;
158
+ margin-left: auto;
159
+ margin-right: auto;
160
+ }
161
+
162
+ /* RESULTS PAGE LAYOUT */
163
+ .results-layout {
164
+ display: grid;
165
+ grid-template-columns: 1fr 320px;
166
+ gap: 1.5rem;
167
+ align-items: start;
168
+ margin-top: 1.5rem;
169
+ }
170
+
171
+ /* RESULTS HEADER */
172
+ .results-header {
173
+ margin-bottom: 1rem;
174
+ padding-bottom: 0.6rem;
175
+ border-bottom: 2px solid #e0e8f0;
176
+ }
177
+ .results-header h2 {
178
+ font-size: 1.15rem;
179
+ color: #1a3a5c;
180
+ }
181
+ .results-meta {
182
+ font-size: 0.83rem;
183
+ color: #999;
184
+ margin-top: 0.25rem;
185
+ }
186
+ .expanded-tag {
187
+ background: #f0f4f8;
188
+ border-radius: 6px;
189
+ padding: 0.45rem 0.85rem;
190
+ font-size: 0.83rem;
191
+ color: #555;
192
+ margin-bottom: 0.85rem;
193
+ }
194
+
195
+ /* RESULT CARD */
196
+ .result-card {
197
+ display: block;
198
+ background: #fff;
199
+ border-radius: 8px;
200
+ padding: 1rem 1.2rem;
201
+ margin-bottom: 0.8rem;
202
+ box-shadow: 0 1px 6px rgba(0,0,0,0.06);
203
+ border-left: 3px solid #1a3a5c;
204
+ color: inherit;
205
+ text-decoration: none;
206
+ transition: box-shadow 0.15s;
207
+ }
208
+ .result-card:hover { box-shadow: 0 3px 14px rgba(0,0,0,0.1); }
209
+ .result-top {
210
+ display: flex;
211
+ justify-content: space-between;
212
+ align-items: flex-start;
213
+ margin-bottom: 0.4rem;
214
+ }
215
+ .result-title {
216
+ font-size: 0.95rem;
217
+ font-weight: 700;
218
+ color: #1a3a5c;
219
+ word-break: break-all;
220
+ }
221
+ .result-score {
222
+ font-size: 0.8rem;
223
+ background: #e8f0fa;
224
+ color: #1a3a5c;
225
+ padding: 0.18rem 0.55rem;
226
+ border-radius: 12px;
227
+ font-weight: 700;
228
+ white-space: nowrap;
229
+ margin-left: 0.8rem;
230
+ }
231
+ .result-snippet {
232
+ font-size: 0.88rem;
233
+ color: #444;
234
+ line-height: 1.55;
235
+ }
236
+ .result-footer {
237
+ margin-top: 0.5rem;
238
+ }
239
+ .badge {
240
+ font-size: 0.74rem;
241
+ padding: 0.15rem 0.55rem;
242
+ border-radius: 10px;
243
+ font-weight: 600;
244
+ }
245
+ .badge-scifact { background: #e0f0e8; color: #1a5c2e; }
246
+ .badge-nfcorpus { background: #fce8e8; color: #7a1a1a; }
247
+ .badge-file { background: #e8eaf0; color: #3a3a6c; }
248
+
249
+ .no-results {
250
+ text-align: center;
251
+ padding: 3rem;
252
+ color: #999;
253
+ }
254
+
255
+ /* QUERY PANELS (right side) */
256
+ .query-panel {
257
+ background: #fff;
258
+ border-radius: 8px;
259
+ box-shadow: 0 1px 6px rgba(0,0,0,0.06);
260
+ overflow: hidden;
261
+ margin-bottom: 1rem;
262
+ }
263
+ .panel-header {
264
+ display: flex;
265
+ justify-content: space-between;
266
+ align-items: center;
267
+ padding: 0.6rem 1rem;
268
+ font-size: 0.88rem;
269
+ font-weight: 700;
270
+ }
271
+ .panel-header.scifact { background: #e0f0e8; color: #1a5c2e; }
272
+ .panel-header.nfcorpus { background: #fce8e8; color: #7a1a1a; }
273
+ .panel-count {
274
+ background: rgba(0,0,0,0.1);
275
+ border-radius: 10px;
276
+ padding: 0.1rem 0.5rem;
277
+ font-size: 0.75rem;
278
+ }
279
+ .query-item {
280
+ padding: 0.55rem 1rem;
281
+ border-bottom: 1px solid #f0f4f8;
282
+ }
283
+ .query-item:last-child { border-bottom: none; }
284
+ .query-id { font-size: 0.72rem; color: #bbb; margin-bottom: 0.15rem; }
285
+ .query-text { font-size: 0.85rem; color: #333; line-height: 1.45; }
286
+ .panel-empty {
287
+ padding: 0.75rem 1rem;
288
+ font-size: 0.83rem;
289
+ color: #bbb;
290
+ font-style: italic;
291
+ }
292
+ .panel-info {
293
+ background: #f7fafd;
294
+ border-radius: 7px;
295
+ padding: 0.7rem 0.9rem;
296
+ font-size: 0.78rem;
297
+ color: #888;
298
+ line-height: 1.55;
299
+ }
300
+
301
+ /* DOCUMENT VIEW */
302
+ .document-view {
303
+ background: #fff;
304
+ border-radius: 8px;
305
+ box-shadow: 0 1px 6px rgba(0,0,0,0.06);
306
+ overflow: hidden;
307
+ }
308
+ .document-header {
309
+ border-bottom: 1px solid #e0e8f0;
310
+ padding: 1.2rem 1.4rem;
311
+ }
312
+ .back-link {
313
+ color: #1a3a5c;
314
+ display: inline-block;
315
+ font-size: 0.85rem;
316
+ font-weight: 700;
317
+ margin-bottom: 0.75rem;
318
+ text-decoration: none;
319
+ }
320
+ .back-link:hover { text-decoration: underline; }
321
+ .document-source {
322
+ color: #777;
323
+ font-size: 0.78rem;
324
+ font-weight: 700;
325
+ letter-spacing: 0.04em;
326
+ text-transform: uppercase;
327
+ }
328
+ .document-header h1 {
329
+ color: #1a3a5c;
330
+ font-size: 1.25rem;
331
+ line-height: 1.35;
332
+ margin: 0.25rem 0;
333
+ }
334
+ .document-path {
335
+ color: #999;
336
+ font-size: 0.82rem;
337
+ word-break: break-all;
338
+ }
339
+ .document-text {
340
+ color: #333;
341
+ font: inherit;
342
+ line-height: 1.65;
343
+ padding: 1.4rem;
344
+ white-space: pre-wrap;
345
+ }
346
+
347
+ /* DASHBOARD */
348
+ .dash-title {
349
+ font-size: 1.4rem;
350
+ color: #1a3a5c;
351
+ font-weight: 700;
352
+ margin-bottom: 0.3rem;
353
+ }
354
+ .dash-sub {
355
+ color: #999;
356
+ font-size: 0.88rem;
357
+ margin-bottom: 1.5rem;
358
+ }
359
+ .dash-grid {
360
+ display: grid;
361
+ grid-template-columns: 1fr 1fr;
362
+ gap: 1.2rem;
363
+ margin-bottom: 2rem;
364
+ }
365
+ .metric-card {
366
+ background: #fff;
367
+ border-radius: 8px;
368
+ padding: 1.2rem 1.4rem;
369
+ box-shadow: 0 1px 6px rgba(0,0,0,0.06);
370
+ }
371
+ .metric-card h3 {
372
+ font-size: 1rem;
373
+ color: #1a3a5c;
374
+ margin-bottom: 1rem;
375
+ padding-bottom: 0.5rem;
376
+ border-bottom: 1.5px solid #e0e8f0;
377
+ }
378
+ .metric-row {
379
+ display: flex;
380
+ align-items: center;
381
+ margin-bottom: 0.65rem;
382
+ }
383
+ .metric-label {
384
+ width: 95px;
385
+ font-size: 0.85rem;
386
+ color: #666;
387
+ }
388
+ .bar-wrap {
389
+ flex: 1;
390
+ background: #e8f0fa;
391
+ border-radius: 4px;
392
+ height: 8px;
393
+ overflow: hidden;
394
+ margin: 0 0.7rem;
395
+ }
396
+ .bar {
397
+ height: 100%;
398
+ border-radius: 4px;
399
+ background: #1a3a5c;
400
+ }
401
+ .bar.green { background: #2d7a4f; }
402
+ .bar.amber { background: #c07020; }
403
+ .metric-val {
404
+ width: 52px;
405
+ text-align: right;
406
+ font-size: 0.9rem;
407
+ font-weight: 700;
408
+ color: #1a3a5c;
409
+ }
410
+ .section-label {
411
+ font-size: 1.05rem;
412
+ font-weight: 700;
413
+ color: #1a3a5c;
414
+ margin: 1.5rem 0 0.7rem;
415
+ }
416
+ .table-card {
417
+ background: #fff;
418
+ border-radius: 8px;
419
+ box-shadow: 0 1px 6px rgba(0,0,0,0.06);
420
+ overflow: hidden;
421
+ margin-bottom: 1.5rem;
422
+ }
423
+ .table-card table {
424
+ width: 100%;
425
+ border-collapse: collapse;
426
+ font-size: 0.88rem;
427
+ }
428
+ .table-card th {
429
+ background: #1a3a5c;
430
+ color: #fff;
431
+ padding: 0.6rem 1rem;
432
+ text-align: left;
433
+ font-weight: 600;
434
+ }
435
+ .table-card td {
436
+ padding: 0.55rem 1rem;
437
+ border-bottom: 1px solid #eef2f7;
438
+ color: #333;
439
+ }
440
+ .table-card tr:last-child td { border-bottom: none; }
441
+ .table-card tr:nth-child(even) td { background: #f7fafd; }
442
+ .table-card tr.best td {
443
+ font-weight: 700;
444
+ color: #1a3a5c;
445
+ background: #eaf4ff;
446
+ }
447
+
448
+ /* RESPONSIVE */
449
+ @media (max-width: 700px) {
450
+ .results-layout { grid-template-columns: 1fr; }
451
+ .dash-grid { grid-template-columns: 1fr; }
452
+ .search-row { flex-direction: column; }
453
+ .hero h1 { font-size: 1.5rem; }
454
+ }