@jjlmoya/utils-alcohol 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1218 +0,0 @@
1
- .balancer-app {
2
- max-width: 72rem;
3
- margin: 0 auto;
4
- padding: 0.5rem;
5
- color: #1e293b;
6
- }
7
-
8
- .theme-dark .balancer-app {
9
- color: #f1f5f9;
10
- }
11
-
12
- .balancer-card {
13
- background: #fff;
14
- border: 1px solid #e2e8f0;
15
- border-radius: 1.25rem;
16
- overflow: clip;
17
- box-shadow: 0 4px 20px rgba(0,0,0,0.06);
18
- }
19
-
20
- .theme-dark .balancer-card {
21
- background: #0f172a;
22
- border-color: #1e293b;
23
- }
24
-
25
- .balancer-header {
26
- display: flex;
27
- flex-direction: column;
28
- gap: 1rem;
29
- align-items: center;
30
- padding: 1rem 1.5rem;
31
- border-bottom: 1px solid #e2e8f0;
32
- }
33
-
34
- @media (min-width: 768px) {
35
- .balancer-header {
36
- flex-direction: row;
37
- justify-content: space-between;
38
- }
39
- }
40
-
41
- .theme-dark .balancer-header {
42
- border-color: #1e293b;
43
- }
44
-
45
- .balancer-title {
46
- font-size: 1.25rem;
47
- font-weight: 700;
48
- display: flex;
49
- align-items: center;
50
- gap: 0.5rem;
51
- margin: 0;
52
- }
53
-
54
- .balancer-title-icon {
55
- color: #6366f1;
56
- font-size: 1.5rem;
57
- display: flex;
58
- }
59
-
60
- .balancer-version {
61
- font-size: 0.75rem;
62
- padding: 0.25rem 0.5rem;
63
- background: #e0e7ff;
64
- color: #4f46e5;
65
- border-radius: 9999px;
66
- }
67
-
68
- .theme-dark .balancer-version {
69
- background: #1e1b4b;
70
- color: #a5b4fc;
71
- }
72
-
73
- .balancer-actions {
74
- display: flex;
75
- align-items: center;
76
- gap: 0.75rem;
77
- }
78
-
79
- .btn-primary {
80
- display: flex;
81
- align-items: center;
82
- gap: 0.5rem;
83
- padding: 0.5rem 1rem;
84
- background: #4f46e5;
85
- color: #fff;
86
- border: none;
87
- border-radius: 0.75rem;
88
- font-weight: 700;
89
- font-size: 0.875rem;
90
- cursor: pointer;
91
- box-shadow: 0 4px 12px rgba(99,102,241,0.3);
92
- transition: background 0.2s;
93
- }
94
-
95
- .btn-primary:hover {
96
- background: #4338ca;
97
- }
98
-
99
- .btn-secondary {
100
- display: flex;
101
- align-items: center;
102
- gap: 0.5rem;
103
- padding: 0.5rem 1rem;
104
- background: #f1f5f9;
105
- color: #475569;
106
- border: none;
107
- border-radius: 0.75rem;
108
- font-weight: 500;
109
- font-size: 0.875rem;
110
- cursor: pointer;
111
- transition: background 0.2s;
112
- }
113
-
114
- .theme-dark .btn-secondary {
115
- background: #1e293b;
116
- color: #94a3b8;
117
- }
118
-
119
- .btn-secondary:hover {
120
- background: #e0e7ff;
121
- color: #4f46e5;
122
- }
123
-
124
- .theme-dark .btn-secondary:hover {
125
- background: rgba(99,102,241,0.2);
126
- }
127
-
128
- .btn-danger {
129
- display: flex;
130
- align-items: center;
131
- gap: 0.5rem;
132
- padding: 0.5rem;
133
- color: #ef4444;
134
- background: none;
135
- border: none;
136
- border-radius: 0.75rem;
137
- cursor: pointer;
138
- font-weight: 700;
139
- font-size: 0.875rem;
140
- transition: background 0.2s;
141
- }
142
-
143
- .btn-danger:hover {
144
- background: #fef2f2;
145
- }
146
-
147
- .theme-dark .btn-danger:hover {
148
- background: rgba(239,68,68,0.1);
149
- }
150
-
151
- .btn-danger-solid {
152
- background: #ef4444;
153
- color: #fff;
154
- border: none;
155
- border-radius: 0.75rem;
156
- font-weight: 700;
157
- padding: 0.75rem;
158
- cursor: pointer;
159
- transition: background 0.2s;
160
- box-shadow: 0 4px 12px rgba(239,68,68,0.3);
161
- }
162
-
163
- .btn-danger-solid:hover {
164
- background: #dc2626;
165
- }
166
-
167
- .balancer-grid {
168
- display: grid;
169
- align-items: start;
170
- }
171
-
172
- @media (min-width: 1024px) {
173
- .balancer-grid {
174
- grid-template-columns: 7fr 5fr;
175
- }
176
- }
177
-
178
- .recipe-column {
179
- display: flex;
180
- flex-direction: column;
181
- gap: 1.5rem;
182
- padding: 1.5rem;
183
- }
184
-
185
- @media (min-width: 1024px) {
186
- .recipe-column {
187
- border-right: 1px solid #e2e8f0;
188
- }
189
- }
190
-
191
- .theme-dark .recipe-column {
192
- border-color: #1e293b;
193
- }
194
-
195
- .recipe-container {
196
- min-height: 300px;
197
- display: flex;
198
- flex-direction: column;
199
- gap: 1rem;
200
- }
201
-
202
- .empty-state {
203
- display: flex;
204
- flex-direction: column;
205
- align-items: center;
206
- justify-content: center;
207
- padding: 4rem 1rem;
208
- border: 2px dashed #e2e8f0;
209
- border-radius: 1.5rem;
210
- background: rgba(248,250,252,0.5);
211
- }
212
-
213
- .theme-dark .empty-state {
214
- border-color: #334155;
215
- background: rgba(30,41,59,0.5);
216
- }
217
-
218
- .empty-icon-wrap {
219
- width: 5rem;
220
- height: 5rem;
221
- background: #e0e7ff;
222
- color: #6366f1;
223
- border-radius: 50%;
224
- display: flex;
225
- align-items: center;
226
- justify-content: center;
227
- font-size: 2.5rem;
228
- margin-bottom: 1rem;
229
- }
230
-
231
- .theme-dark .empty-icon-wrap {
232
- background: rgba(99,102,241,0.2);
233
- }
234
-
235
- .empty-flask-icon {
236
- width: 2.5rem;
237
- height: 2.5rem;
238
- }
239
-
240
- .empty-title {
241
- font-size: 1.125rem;
242
- font-weight: 700;
243
- color: #334155;
244
- margin: 0 0 0.5rem;
245
- }
246
-
247
- .theme-dark .empty-title {
248
- color: #e2e8f0;
249
- }
250
-
251
- .empty-desc {
252
- color: #64748b;
253
- font-size: 0.875rem;
254
- margin: 0 0 1.5rem;
255
- max-width: 20rem;
256
- text-align: center;
257
- }
258
-
259
- .theme-dark .empty-desc {
260
- color: #94a3b8;
261
- }
262
-
263
- .btn-add-first {
264
- padding: 0.75rem 1.5rem;
265
- font-size: 1rem;
266
- }
267
-
268
- .btn-add-more {
269
- width: 100%;
270
- padding: 1rem;
271
- border: 2px dashed #cbd5e1;
272
- border-radius: 1rem;
273
- color: #64748b;
274
- background: none;
275
- cursor: pointer;
276
- font-weight: 700;
277
- display: flex;
278
- align-items: center;
279
- justify-content: center;
280
- gap: 0.5rem;
281
- transition: all 0.2s;
282
- }
283
-
284
- .theme-dark .btn-add-more {
285
- border-color: #334155;
286
- }
287
-
288
- .btn-add-more:hover {
289
- border-color: #6366f1;
290
- color: #6366f1;
291
- }
292
-
293
- .add-more-icon {
294
- font-size: 1.5rem;
295
- }
296
-
297
- .dashboard-column {
298
- display: flex;
299
- flex-direction: column;
300
- position: sticky;
301
- top: 0;
302
- background: #f8fafc;
303
- }
304
-
305
- .theme-dark .dashboard-column {
306
- background: rgba(0,0,0,0.15);
307
- }
308
-
309
- .flavor-card {
310
- padding: 1.5rem;
311
- border-bottom: 1px solid #e2e8f0;
312
- position: relative;
313
- overflow: hidden;
314
- }
315
-
316
- .theme-dark .flavor-card {
317
- border-color: #1e293b;
318
- }
319
-
320
- .flavor-card-accent {
321
- position: absolute;
322
- top: 0;
323
- left: 0;
324
- right: 0;
325
- height: 3px;
326
- background: linear-gradient(to right, #6366f1, #a855f7, #ec4899);
327
- }
328
-
329
- .flavor-card-header {
330
- display: flex;
331
- justify-content: space-between;
332
- align-items: flex-start;
333
- margin-bottom: 1rem;
334
- }
335
-
336
- .flavor-card-title {
337
- font-size: 1.125rem;
338
- font-weight: 700;
339
- margin: 0;
340
- }
341
-
342
- .abv-badge {
343
- padding: 0.25rem 0.75rem;
344
- border-radius: 9999px;
345
- background: #f1f5f9;
346
- font-size: 0.75rem;
347
- font-weight: 700;
348
- color: #64748b;
349
- }
350
-
351
- .theme-dark .abv-badge {
352
- background: #1e293b;
353
- }
354
-
355
- .radar-wrap {
356
- position: relative;
357
- width: 100%;
358
- max-width: 280px;
359
- margin: 0 auto;
360
- aspect-ratio: 1;
361
- }
362
-
363
- .radar-svg {
364
- width: 100%;
365
- height: 100%;
366
- filter: drop-shadow(0 4px 12px rgba(0,0,0,0.1));
367
- }
368
-
369
- .radar-bg-poly {
370
- stroke: #e2e8f0;
371
- }
372
-
373
- .theme-dark .radar-bg-poly {
374
- stroke: #334155;
375
- }
376
-
377
- .radar-shape {
378
- fill: rgba(99,102,241,0.2);
379
- stroke: #6366f1;
380
- transition: all 0.7s;
381
- }
382
-
383
- .radar-dot {
384
- fill: #4f46e5;
385
- transition: all 0.7s;
386
- }
387
-
388
- .radar-label {
389
- position: absolute;
390
- font-size: 0.625rem;
391
- text-transform: uppercase;
392
- font-weight: 700;
393
- color: #94a3b8;
394
- letter-spacing: 0.05em;
395
- background: #f8fafc;
396
- padding: 0 2px;
397
- }
398
-
399
- .theme-dark .radar-label {
400
- background: transparent;
401
- }
402
-
403
- .radar-top {
404
- top: 0;
405
- left: 50%;
406
- transform: translateX(-50%) translateY(-0.5rem);
407
- }
408
-
409
- .radar-right-top {
410
- top: 35%;
411
- right: 0;
412
- transform: translateX(0.5rem);
413
- }
414
-
415
- .radar-right-bot {
416
- bottom: 15%;
417
- right: 0;
418
- transform: translateX(0.5rem);
419
- }
420
-
421
- .radar-left-bot {
422
- bottom: 15%;
423
- left: 0;
424
- transform: translateX(-0.5rem);
425
- }
426
-
427
- .radar-left-top {
428
- top: 35%;
429
- left: 0;
430
- transform: translateX(-1rem);
431
- }
432
-
433
- .stats-grid {
434
- display: grid;
435
- grid-template-columns: repeat(3, 1fr);
436
- padding: 1rem 1.5rem;
437
- border-bottom: 1px solid #e2e8f0;
438
- gap: 0.75rem;
439
- }
440
-
441
- .theme-dark .stats-grid {
442
- border-color: #1e293b;
443
- }
444
-
445
- .stat-card {
446
- padding: 0.75rem;
447
- border-radius: 0.75rem;
448
- border: 1px solid #e2e8f0;
449
- text-align: center;
450
- }
451
-
452
- .theme-dark .stat-card {
453
- border-color: #1e293b;
454
- }
455
-
456
- .stat-card-label {
457
- font-size: 0.75rem;
458
- color: #94a3b8;
459
- text-transform: uppercase;
460
- font-weight: 700;
461
- margin-bottom: 0.25rem;
462
- }
463
-
464
- .stat-card-value {
465
- font-size: 1.25rem;
466
- font-weight: 900;
467
- color: #334155;
468
- }
469
-
470
- .theme-dark .stat-card-value {
471
- color: #e2e8f0;
472
- }
473
-
474
- .stat-value-amber {
475
- color: #f59e0b;
476
- }
477
-
478
- .stat-card-unit {
479
- font-size: 0.75rem;
480
- color: #94a3b8;
481
- font-weight: 400;
482
- margin-left: 0.25rem;
483
- }
484
-
485
- .stat-card-color {
486
- display: flex;
487
- flex-direction: column;
488
- align-items: center;
489
- }
490
-
491
- .color-swatch {
492
- width: 2rem;
493
- height: 2rem;
494
- border-radius: 50%;
495
- box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
496
- border: 2px solid #f1f5f9;
497
- overflow: hidden;
498
- margin-top: 0.5rem;
499
- }
500
-
501
- .theme-dark .color-swatch {
502
- border-color: #334155;
503
- }
504
-
505
- .color-swatch-inner {
506
- width: 100%;
507
- height: 100%;
508
- background: transparent;
509
- transition: background-color 0.5s;
510
- }
511
-
512
- .balance-card {
513
- padding: 1.25rem 1.5rem;
514
- border-bottom: 1px solid #e2e8f0;
515
- }
516
-
517
- .theme-dark .balance-card {
518
- border-color: #1e293b;
519
- }
520
-
521
- .balance-card-header {
522
- display: flex;
523
- align-items: center;
524
- justify-content: space-between;
525
- margin-bottom: 1.5rem;
526
- }
527
-
528
- .balance-card-title {
529
- font-size: 0.875rem;
530
- font-weight: 700;
531
- color: #64748b;
532
- text-transform: uppercase;
533
- letter-spacing: 0.1em;
534
- margin: 0;
535
- }
536
-
537
- .balance-verdict {
538
- font-size: 1rem;
539
- font-weight: 900;
540
- color: #cbd5e1;
541
- }
542
-
543
- .balance-track {
544
- position: relative;
545
- height: 1rem;
546
- background: #f1f5f9;
547
- border-radius: 9999px;
548
- margin: 0 0.5rem 2rem;
549
- }
550
-
551
- .theme-dark .balance-track {
552
- background: #1e293b;
553
- }
554
-
555
- .balance-zone {
556
- position: absolute;
557
- top: 0;
558
- height: 100%;
559
- width: 30%;
560
- }
561
-
562
- .balance-zone-left {
563
- left: 0;
564
- background: linear-gradient(to right, rgba(132,204,22,0.2), rgba(132,204,22,0.05));
565
- border-radius: 9999px 0 0 9999px;
566
- }
567
-
568
- .balance-zone-right {
569
- right: 0;
570
- background: linear-gradient(to left, rgba(245,158,11,0.2), rgba(245,158,11,0.05));
571
- border-radius: 0 9999px 9999px 0;
572
- }
573
-
574
- .balance-center-line {
575
- position: absolute;
576
- left: 50%;
577
- top: 0;
578
- height: 100%;
579
- width: 4px;
580
- background: rgba(203,213,225,0.5);
581
- transform: translateX(-50%);
582
- }
583
-
584
- .balance-needle {
585
- position: absolute;
586
- top: 50%;
587
- transform: translate(-50%, -50%);
588
- width: 1.5rem;
589
- height: 1.5rem;
590
- background: #fff;
591
- border: 4px solid #0f172a;
592
- border-radius: 50%;
593
- box-shadow: 0 2px 8px rgba(0,0,0,0.2);
594
- transition: left 0.5s;
595
- z-index: 1;
596
- }
597
-
598
- .theme-dark .balance-needle {
599
- background: #334155;
600
- border-color: #fff;
601
- }
602
-
603
- .balance-labels {
604
- display: flex;
605
- justify-content: space-between;
606
- font-size: 0.625rem;
607
- font-weight: 700;
608
- text-transform: uppercase;
609
- letter-spacing: 0.1em;
610
- padding: 0 0.25rem;
611
- }
612
-
613
- .balance-lbl-acid {
614
- color: #65a30d;
615
- }
616
-
617
- .balance-lbl-mid {
618
- color: #cbd5e1;
619
- }
620
-
621
- .balance-lbl-sweet {
622
- color: #d97706;
623
- }
624
-
625
- .fix-box {
626
- background: #eef2ff;
627
- padding: 1.25rem 1.5rem;
628
- display: flex;
629
- gap: 1rem;
630
- border-top: 1px solid #e0e7ff;
631
- }
632
-
633
- .theme-dark .fix-box {
634
- background: rgba(99,102,241,0.08);
635
- border-color: rgba(99,102,241,0.2);
636
- }
637
-
638
- .fix-icon-wrap {
639
- width: 2.5rem;
640
- height: 2.5rem;
641
- border-radius: 50%;
642
- background: #e0e7ff;
643
- color: #4f46e5;
644
- flex-shrink: 0;
645
- display: flex;
646
- align-items: center;
647
- justify-content: center;
648
- font-size: 1.25rem;
649
- }
650
-
651
- .theme-dark .fix-icon-wrap {
652
- background: rgba(99,102,241,0.2);
653
- color: #818cf8;
654
- }
655
-
656
- .fix-icon {
657
- width: 1.5rem;
658
- height: 1.5rem;
659
- }
660
-
661
- .fix-title {
662
- font-weight: 700;
663
- color: #1e1b4b;
664
- margin: 0 0 0.25rem;
665
- font-size: 0.875rem;
666
- }
667
-
668
- .theme-dark .fix-title {
669
- color: #c7d2fe;
670
- }
671
-
672
- .fix-text {
673
- font-size: 0.875rem;
674
- color: rgba(30,27,75,0.8);
675
- line-height: 1.6;
676
- margin: 0;
677
- }
678
-
679
- .theme-dark .fix-text {
680
- color: #a5b4fc;
681
- }
682
-
683
- .modal-dialog {
684
- margin: auto;
685
- border: none;
686
- background: transparent;
687
- padding: 0;
688
- width: 100%;
689
- max-width: 42rem;
690
- border-radius: 1.5rem;
691
- box-shadow: 0 25px 50px rgba(0,0,0,0.25);
692
- }
693
-
694
- .modal-dialog::backdrop {
695
- background: rgba(15,23,42,0.4);
696
- backdrop-filter: blur(4px);
697
- }
698
-
699
- .modal-dialog-wide {
700
- max-width: 56rem;
701
- }
702
-
703
- .modal-dialog-sm {
704
- max-width: 24rem;
705
- }
706
-
707
- .modal-body {
708
- background: #fff;
709
- border: 1px solid #e2e8f0;
710
- border-radius: 1.5rem;
711
- overflow: hidden;
712
- max-height: 85vh;
713
- display: flex;
714
- flex-direction: column;
715
- }
716
-
717
- .theme-dark .modal-body {
718
- background: #0f172a;
719
- border-color: #1e293b;
720
- }
721
-
722
- .modal-header {
723
- padding: 1.5rem;
724
- border-bottom: 1px solid #f1f5f9;
725
- background: rgba(248,250,252,0.8);
726
- backdrop-filter: blur(4px);
727
- position: sticky;
728
- top: 0;
729
- z-index: 1;
730
- }
731
-
732
- .theme-dark .modal-header {
733
- background: rgba(15,23,42,0.8);
734
- border-color: #1e293b;
735
- }
736
-
737
- .modal-header-row {
738
- display: flex;
739
- justify-content: space-between;
740
- align-items: center;
741
- margin-bottom: 1rem;
742
- }
743
-
744
- .modal-header-simple {
745
- display: flex;
746
- justify-content: space-between;
747
- align-items: center;
748
- }
749
-
750
- .modal-title {
751
- font-size: 1.25rem;
752
- font-weight: 700;
753
- margin: 0;
754
- }
755
-
756
- .modal-title-with-icon {
757
- display: flex;
758
- align-items: center;
759
- gap: 0.5rem;
760
- }
761
-
762
- .modal-title-icon {
763
- color: #6366f1;
764
- width: 1.5rem;
765
- height: 1.5rem;
766
- }
767
-
768
- .modal-close-btn {
769
- padding: 0.5rem;
770
- background: none;
771
- border: none;
772
- border-radius: 50%;
773
- cursor: pointer;
774
- color: #64748b;
775
- display: flex;
776
- transition: background 0.2s;
777
- }
778
-
779
- .modal-close-btn:hover {
780
- background: #f1f5f9;
781
- }
782
-
783
- .theme-dark .modal-close-btn:hover {
784
- background: #1e293b;
785
- }
786
-
787
- .modal-search-wrap {
788
- position: relative;
789
- }
790
-
791
- .modal-search-icon {
792
- position: absolute;
793
- left: 0.75rem;
794
- top: 50%;
795
- transform: translateY(-50%);
796
- color: #94a3b8;
797
- width: 1.25rem;
798
- height: 1.25rem;
799
- }
800
-
801
- .modal-search-input {
802
- width: 100%;
803
- padding: 0.75rem 1rem 0.75rem 2.5rem;
804
- background: #fff;
805
- border: 2px solid #e2e8f0;
806
- border-radius: 0.75rem;
807
- outline: none;
808
- transition: border-color 0.2s;
809
- box-sizing: border-box;
810
- }
811
-
812
- .theme-dark .modal-search-input {
813
- background: #1e293b;
814
- border-color: #334155;
815
- color: #f1f5f9;
816
- }
817
-
818
- .modal-search-input:focus {
819
- border-color: #6366f1;
820
- }
821
-
822
- .modal-scroll {
823
- flex: 1;
824
- overflow-y: auto;
825
- padding: 1rem;
826
- }
827
-
828
- .modal-scroll-bg {
829
- background: #f8fafc;
830
- }
831
-
832
- .theme-dark .modal-scroll-bg {
833
- background: rgba(0,0,0,0.1);
834
- }
835
-
836
- .ing-grid {
837
- display: grid;
838
- gap: 0.75rem;
839
- }
840
-
841
- @media (min-width: 640px) {
842
- .ing-grid {
843
- grid-template-columns: 1fr 1fr;
844
- }
845
- }
846
-
847
- .ing-select-btn {
848
- display: flex;
849
- align-items: center;
850
- gap: 0.75rem;
851
- padding: 0.75rem;
852
- background: #f8fafc;
853
- border: 1px solid transparent;
854
- border-radius: 0.75rem;
855
- cursor: pointer;
856
- text-align: left;
857
- transition: all 0.15s;
858
- }
859
-
860
- .theme-dark .ing-select-btn {
861
- background: rgba(30,41,59,0.5);
862
- }
863
-
864
- .ing-select-btn:hover {
865
- background: #eef2ff;
866
- border-color: #c7d2fe;
867
- }
868
-
869
- .theme-dark .ing-select-btn:hover {
870
- background: rgba(99,102,241,0.1);
871
- border-color: rgba(99,102,241,0.4);
872
- }
873
-
874
- .ing-icon-wrap {
875
- width: 2.5rem;
876
- height: 2.5rem;
877
- border-radius: 0.5rem;
878
- display: flex;
879
- align-items: center;
880
- justify-content: center;
881
- font-size: 1.25rem;
882
- flex-shrink: 0;
883
- box-shadow: 0 1px 3px rgba(0,0,0,0.1);
884
- }
885
-
886
- .ing-icon-spirit {
887
- background: #e0e7ff;
888
- color: #4f46e5;
889
- }
890
-
891
- .ing-icon-citrus {
892
- background: #ecfccb;
893
- color: #65a30d;
894
- }
895
-
896
- .ing-icon-syrup {
897
- background: #fef3c7;
898
- color: #d97706;
899
- }
900
-
901
- .ing-icon-other {
902
- background: #f1f5f9;
903
- color: #475569;
904
- }
905
-
906
- .ing-info {
907
- display: flex;
908
- flex-direction: column;
909
- }
910
-
911
- .ing-name {
912
- font-weight: 700;
913
- color: #334155;
914
- font-size: 0.875rem;
915
- }
916
-
917
- .theme-dark .ing-name {
918
- color: #e2e8f0;
919
- }
920
-
921
- .ing-select-btn:hover .ing-name {
922
- color: #4f46e5;
923
- }
924
-
925
- .theme-dark .ing-select-btn:hover .ing-name {
926
- color: #818cf8;
927
- }
928
-
929
- .ing-meta {
930
- font-size: 0.625rem;
931
- color: #94a3b8;
932
- font-weight: 700;
933
- text-transform: uppercase;
934
- letter-spacing: 0.05em;
935
- margin-top: 0.125rem;
936
- }
937
-
938
- .presets-grid {
939
- display: grid;
940
- gap: 1rem;
941
- margin-bottom: 2rem;
942
- }
943
-
944
- @media (min-width: 768px) {
945
- .presets-grid {
946
- grid-template-columns: 1fr 1fr;
947
- }
948
- }
949
-
950
- @media (min-width: 1024px) {
951
- .presets-grid {
952
- grid-template-columns: repeat(3, 1fr);
953
- }
954
- }
955
-
956
- .preset-load-btn {
957
- display: flex;
958
- flex-direction: column;
959
- gap: 0.5rem;
960
- padding: 1rem;
961
- background: #fff;
962
- border: 1px solid #e2e8f0;
963
- border-radius: 0.75rem;
964
- text-align: left;
965
- cursor: pointer;
966
- transition: all 0.15s;
967
- box-shadow: 0 1px 3px rgba(0,0,0,0.05);
968
- }
969
-
970
- .theme-dark .preset-load-btn {
971
- background: #1e293b;
972
- border-color: #334155;
973
- }
974
-
975
- .preset-load-btn:hover {
976
- border-color: #6366f1;
977
- box-shadow: 0 4px 12px rgba(0,0,0,0.1);
978
- }
979
-
980
- .preset-icon-row {
981
- display: flex;
982
- align-items: center;
983
- gap: 0.5rem;
984
- color: #6366f1;
985
- margin-bottom: 0.25rem;
986
- }
987
-
988
- .preset-icon {
989
- width: 1.25rem;
990
- height: 1.25rem;
991
- }
992
-
993
- .preset-name {
994
- font-weight: 700;
995
- color: #0f172a;
996
- font-size: 0.875rem;
997
- }
998
-
999
- .theme-dark .preset-name {
1000
- color: #fff;
1001
- }
1002
-
1003
- .preset-desc {
1004
- font-size: 0.75rem;
1005
- color: #64748b;
1006
- line-height: 1.4;
1007
- margin: 0;
1008
- display: -webkit-box;
1009
- -webkit-line-clamp: 2;
1010
- -webkit-box-orient: vertical;
1011
- overflow: hidden;
1012
- }
1013
-
1014
- .section-heading {
1015
- font-size: 0.75rem;
1016
- font-weight: 700;
1017
- text-transform: uppercase;
1018
- color: #94a3b8;
1019
- letter-spacing: 0.1em;
1020
- margin: 0 0 1rem;
1021
- }
1022
-
1023
- .saved-section {
1024
- margin-bottom: 2rem;
1025
- }
1026
-
1027
- .confirm-body {
1028
- background: #fff;
1029
- border: 1px solid #e2e8f0;
1030
- border-radius: 1.5rem;
1031
- padding: 1.5rem;
1032
- display: flex;
1033
- flex-direction: column;
1034
- align-items: center;
1035
- gap: 1rem;
1036
- text-align: center;
1037
- }
1038
-
1039
- .theme-dark .confirm-body {
1040
- background: #0f172a;
1041
- border-color: #1e293b;
1042
- }
1043
-
1044
- .confirm-icon-wrap {
1045
- width: 4rem;
1046
- height: 4rem;
1047
- border-radius: 50%;
1048
- background: #fef2f2;
1049
- color: #ef4444;
1050
- display: flex;
1051
- align-items: center;
1052
- justify-content: center;
1053
- font-size: 1.875rem;
1054
- margin-bottom: 0.5rem;
1055
- }
1056
-
1057
- .theme-dark .confirm-icon-wrap {
1058
- background: rgba(239,68,68,0.2);
1059
- }
1060
-
1061
- .confirm-icon {
1062
- width: 2.5rem;
1063
- height: 2.5rem;
1064
- }
1065
-
1066
- .confirm-title {
1067
- font-size: 1.25rem;
1068
- font-weight: 700;
1069
- margin: 0 0 0.5rem;
1070
- }
1071
-
1072
- .confirm-text {
1073
- color: #64748b;
1074
- font-size: 0.875rem;
1075
- margin: 0;
1076
- }
1077
-
1078
- .theme-dark .confirm-text {
1079
- color: #94a3b8;
1080
- }
1081
-
1082
- .confirm-actions {
1083
- display: flex;
1084
- gap: 0.75rem;
1085
- width: 100%;
1086
- margin-top: 0.5rem;
1087
- }
1088
-
1089
- .btn-confirm {
1090
- flex: 1;
1091
- padding: 0.75rem;
1092
- }
1093
-
1094
- .recipe-row {
1095
- background: #fff;
1096
- border-radius: 1rem;
1097
- padding: 1rem;
1098
- box-shadow: 0 1px 3px rgba(0,0,0,0.05);
1099
- border: 1px solid #f1f5f9;
1100
- }
1101
-
1102
- .theme-dark .recipe-row {
1103
- background: #0f172a;
1104
- border-color: #1e293b;
1105
- }
1106
-
1107
- .recipe-row-top {
1108
- display: flex;
1109
- align-items: center;
1110
- justify-content: space-between;
1111
- margin-bottom: 0.75rem;
1112
- }
1113
-
1114
- .recipe-row-info {
1115
- display: flex;
1116
- align-items: center;
1117
- gap: 0.75rem;
1118
- }
1119
-
1120
- .recipe-row-name {
1121
- font-weight: 700;
1122
- color: #334155;
1123
- }
1124
-
1125
- .theme-dark .recipe-row-name {
1126
- color: #e2e8f0;
1127
- }
1128
-
1129
- .recipe-row-type {
1130
- font-size: 0.625rem;
1131
- background: #f1f5f9;
1132
- padding: 0.125rem 0.5rem;
1133
- border-radius: 0.25rem;
1134
- color: #64748b;
1135
- font-weight: 700;
1136
- text-transform: uppercase;
1137
- }
1138
-
1139
- .theme-dark .recipe-row-type {
1140
- background: #1e293b;
1141
- }
1142
-
1143
- .recipe-row-del {
1144
- opacity: 0;
1145
- transition: opacity 0.2s;
1146
- }
1147
-
1148
- .recipe-row:hover .recipe-row-del {
1149
- opacity: 1;
1150
- }
1151
-
1152
- .recipe-row-controls {
1153
- display: flex;
1154
- align-items: center;
1155
- gap: 1rem;
1156
- }
1157
-
1158
- .recipe-range {
1159
- flex: 1;
1160
- height: 0.5rem;
1161
- border-radius: 0.5rem;
1162
- appearance: none;
1163
- cursor: pointer;
1164
- accent-color: #4f46e5;
1165
- background: #e2e8f0;
1166
- }
1167
-
1168
- .theme-dark .recipe-range {
1169
- background: #334155;
1170
- }
1171
-
1172
- .recipe-number-wrap {
1173
- position: relative;
1174
- width: 5rem;
1175
- }
1176
-
1177
- .recipe-number {
1178
- width: 100%;
1179
- background: #f8fafc;
1180
- border: 1px solid #e2e8f0;
1181
- border-radius: 0.5rem;
1182
- padding: 0.25rem 0.5rem;
1183
- text-align: right;
1184
- font-weight: 700;
1185
- color: #334155;
1186
- font-size: 0.875rem;
1187
- box-sizing: border-box;
1188
- }
1189
-
1190
- .theme-dark .recipe-number {
1191
- background: #1e293b;
1192
- border-color: #334155;
1193
- color: #e2e8f0;
1194
- }
1195
-
1196
- .text-indigo-400 {
1197
- color: #818cf8;
1198
- }
1199
-
1200
- .text-amber-400 {
1201
- color: #fbbf24;
1202
- }
1203
-
1204
- .text-red-500 {
1205
- color: #ef4444;
1206
- }
1207
-
1208
- .text-lime-400 {
1209
- color: #a3e635;
1210
- }
1211
-
1212
- .text-emerald-400 {
1213
- color: #34d399;
1214
- }
1215
-
1216
- .text-yellow-400 {
1217
- color: #facc15;
1218
- }