userIdc2024 commited on
Commit
7012706
·
verified ·
1 Parent(s): 12c2987

Update frontend/styles.css

Browse files
Files changed (1) hide show
  1. frontend/styles.css +215 -0
frontend/styles.css CHANGED
@@ -171,6 +171,221 @@ body {
171
  display: none !important;
172
  }
173
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  /* ===== Error Banner ===== */
175
  .error-banner {
176
  margin-top: 24px;
 
171
  display: none !important;
172
  }
173
 
174
+ /* ===== Background Blobs ===== */
175
+ .blob {
176
+ position: fixed;
177
+ border-radius: 50%;
178
+ filter: blur(80px);
179
+ opacity: 0.15;
180
+ pointer-events: none;
181
+ z-index: 0;
182
+ }
183
+
184
+ .blob-1 {
185
+ width: 400px;
186
+ height: 400px;
187
+ background: var(--accent);
188
+ top: -200px;
189
+ right: -200px;
190
+ }
191
+
192
+ .blob-2 {
193
+ width: 300px;
194
+ height: 300px;
195
+ background: var(--accent-dark);
196
+ bottom: -150px;
197
+ left: -150px;
198
+ }
199
+
200
+ /* ===== Logo ===== */
201
+ .logo {
202
+ margin-bottom: 16px;
203
+ }
204
+
205
+ .logo-icon {
206
+ font-size: 2.5rem;
207
+ color: var(--accent);
208
+ display: inline-block;
209
+ }
210
+
211
+ .label-hint {
212
+ font-weight: 400;
213
+ text-transform: none;
214
+ letter-spacing: normal;
215
+ color: var(--text-muted);
216
+ }
217
+
218
+ /* ===== Spinner ===== */
219
+ .spinner {
220
+ display: inline-block;
221
+ width: 14px;
222
+ height: 14px;
223
+ border: 2px solid rgba(255, 255, 255, 0.3);
224
+ border-top-color: #fff;
225
+ border-radius: 50%;
226
+ animation: spin 0.6s linear infinite;
227
+ }
228
+
229
+ @keyframes spin {
230
+ to {
231
+ transform: rotate(360deg);
232
+ }
233
+ }
234
+
235
+ /* ===== Multi-select Component ===== */
236
+ .multiselect {
237
+ position: relative;
238
+ width: 100%;
239
+ }
240
+
241
+ .multiselect-selected {
242
+ min-height: 48px;
243
+ padding: 12px 16px;
244
+ background: var(--bg);
245
+ border: 1px solid var(--border);
246
+ border-radius: var(--radius-sm);
247
+ cursor: pointer;
248
+ display: flex;
249
+ flex-wrap: wrap;
250
+ gap: 8px;
251
+ align-items: center;
252
+ transition: border-color 0.2s, box-shadow 0.2s;
253
+ }
254
+
255
+ .multiselect-selected:hover {
256
+ border-color: var(--accent);
257
+ }
258
+
259
+ .multiselect-placeholder {
260
+ color: var(--text-muted);
261
+ font-size: 0.95rem;
262
+ }
263
+
264
+ .multiselect-tag {
265
+ display: inline-flex;
266
+ align-items: center;
267
+ gap: 6px;
268
+ padding: 6px 12px;
269
+ background: rgba(201, 164, 108, 0.15);
270
+ border: 1px solid rgba(201, 164, 108, 0.3);
271
+ border-radius: 6px;
272
+ color: var(--accent-light);
273
+ font-size: 0.85rem;
274
+ font-weight: 500;
275
+ }
276
+
277
+ .multiselect-tag-remove {
278
+ cursor: pointer;
279
+ font-size: 1.2rem;
280
+ line-height: 1;
281
+ color: var(--accent);
282
+ transition: color 0.2s;
283
+ padding: 0 2px;
284
+ }
285
+
286
+ .multiselect-tag-remove:hover {
287
+ color: var(--danger);
288
+ }
289
+
290
+ .multiselect-dropdown {
291
+ position: absolute;
292
+ top: calc(100% + 8px);
293
+ left: 0;
294
+ right: 0;
295
+ background: var(--surface);
296
+ border: 1px solid var(--border);
297
+ border-radius: var(--radius-sm);
298
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
299
+ z-index: 1000;
300
+ max-height: 300px;
301
+ display: flex;
302
+ flex-direction: column;
303
+ overflow: hidden;
304
+ }
305
+
306
+ .multiselect-search {
307
+ padding: 12px 16px;
308
+ background: var(--bg);
309
+ border: none;
310
+ border-bottom: 1px solid var(--border);
311
+ color: var(--text);
312
+ font-family: inherit;
313
+ font-size: 0.95rem;
314
+ outline: none;
315
+ }
316
+
317
+ .multiselect-search:focus {
318
+ border-bottom-color: var(--accent);
319
+ }
320
+
321
+ .multiselect-search::placeholder {
322
+ color: var(--text-muted);
323
+ }
324
+
325
+ .multiselect-options {
326
+ max-height: 240px;
327
+ overflow-y: auto;
328
+ padding: 8px;
329
+ }
330
+
331
+ .multiselect-option {
332
+ display: flex;
333
+ align-items: center;
334
+ gap: 12px;
335
+ padding: 10px 12px;
336
+ cursor: pointer;
337
+ border-radius: 6px;
338
+ transition: background 0.2s;
339
+ font-size: 0.95rem;
340
+ }
341
+
342
+ .multiselect-option:hover {
343
+ background: var(--surface-hover);
344
+ }
345
+
346
+ .multiselect-option.selected {
347
+ background: rgba(201, 164, 108, 0.1);
348
+ color: var(--accent-light);
349
+ }
350
+
351
+ .multiselect-option .check {
352
+ width: 18px;
353
+ height: 18px;
354
+ display: flex;
355
+ align-items: center;
356
+ justify-content: center;
357
+ border: 1px solid var(--border);
358
+ border-radius: 4px;
359
+ flex-shrink: 0;
360
+ color: var(--accent);
361
+ font-weight: bold;
362
+ font-size: 0.9rem;
363
+ }
364
+
365
+ .multiselect-option.selected .check {
366
+ background: var(--accent);
367
+ border-color: var(--accent);
368
+ color: #fff;
369
+ }
370
+
371
+ /* Scrollbar styling for multiselect options */
372
+ .multiselect-options::-webkit-scrollbar {
373
+ width: 8px;
374
+ }
375
+
376
+ .multiselect-options::-webkit-scrollbar-track {
377
+ background: var(--bg);
378
+ }
379
+
380
+ .multiselect-options::-webkit-scrollbar-thumb {
381
+ background: var(--border);
382
+ border-radius: 4px;
383
+ }
384
+
385
+ .multiselect-options::-webkit-scrollbar-thumb:hover {
386
+ background: var(--accent-dark);
387
+ }
388
+
389
  /* ===== Error Banner ===== */
390
  .error-banner {
391
  margin-top: 24px;