@pitcher/css 2025.10.1-7.1760702145485

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.
Files changed (2) hide show
  1. package/package.json +21 -0
  2. package/pitcher-ui.css +1348 -0
package/package.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "@pitcher/css",
3
+ "version": "2025.10.17.1760702145485",
4
+ "description": "Pitcher UI Framework - A comprehensive CSS framework with components for building modern web applications",
5
+ "main": "pitcher-ui.css",
6
+ "style": "pitcher-ui.css",
7
+ "files": [
8
+ "pitcher-ui.css",
9
+ "README.md"
10
+ ],
11
+ "keywords": [
12
+ "css",
13
+ "ui",
14
+ "framework",
15
+ "pitcher",
16
+ "components",
17
+ "design-system"
18
+ ],
19
+ "author": "Pitcher",
20
+ "license": "MIT"
21
+ }
package/pitcher-ui.css ADDED
@@ -0,0 +1,1348 @@
1
+ /* Pitcher UI Framework - Extended CSS */
2
+
3
+ :root {
4
+ /* Primary Colors */
5
+ --p-primary: #29335C;
6
+ --p-primary2: #4E5983;
7
+ --p-primary3: #7E88B1;
8
+ --p-primary4: #BFC5DF;
9
+ --p-primary5: #E0E2ED;
10
+ --p-primary6: #F7F8FB;
11
+ --p-base: #FFFFFF;
12
+
13
+ /* Status Colors */
14
+ --p-success: #57A40F;
15
+ --p-success2: #F9FFE9;
16
+ --p-success3: #2F6E06;
17
+ --p-error: #BC1637;
18
+ --p-error2: #FEF7F5;
19
+ --p-error3: #6D0738;
20
+ --p-warning: #E5C302;
21
+ --p-warning2: #FDF9CB;
22
+ --p-warning3: #846A00;
23
+ --p-info: #5BBFE3;
24
+ --p-info2: #F2FDFF;
25
+ --p-info3: #C8F3FA;
26
+ --p-accent: #CC0000;
27
+
28
+ /* Text Colors */
29
+ --p-text: #212121;
30
+ --p-text2: #757575;
31
+ --p-text3: #BDBDBD;
32
+
33
+ /* Gray Scale */
34
+ --rsk-color-gray-900: #1a1f36;
35
+ --rsk-color-gray-800: #3c4257;
36
+ --rsk-color-gray-700: #3c4257;
37
+ --rsk-color-gray-600: #515669;
38
+ --rsk-color-gray-500: #697386;
39
+ --rsk-color-gray-400: #9ea0aa;
40
+ --rsk-color-gray-300: #a5acb8;
41
+ --rsk-color-gray-200: #dddee1;
42
+ --rsk-color-gray-100: #e4e8ee;
43
+
44
+ /* Brand Colors */
45
+ --rsk-color-brand-500: #e95744;
46
+ --rsk-color-brand-700: #e4321b;
47
+ --rsk-color-brand-900: #891e10;
48
+
49
+ /* Spacing */
50
+ --spacing-0: 0;
51
+ --spacing-1: 0.25rem;
52
+ --spacing-2: 0.5rem;
53
+ --spacing-3: 0.75rem;
54
+ --spacing-4: 1rem;
55
+ --spacing-5: 1.25rem;
56
+ --spacing-6: 1.5rem;
57
+ --spacing-7: 2rem;
58
+ --spacing-8: 2.5rem;
59
+
60
+ /* Border Radius */
61
+ --radius-sm: 2px;
62
+ --radius-md: 4px;
63
+ --radius-lg: 8px;
64
+ --radius-xl: 36px;
65
+
66
+ /* Shadows */
67
+ --shadow-sm: 1px 1px 2px 0 rgba(0, 0, 0, 0.12);
68
+ --shadow-md: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
69
+ --shadow-lg: 4px 4px 8px 0 rgba(0, 0, 0, 0.12);
70
+
71
+ /* Typography */
72
+ --font-family: "Roboto", sans-serif;
73
+ --font-size-xs: 0.75rem;
74
+ --font-size-sm: 0.875rem;
75
+ --font-size-md: 1rem;
76
+ --font-size-lg: 1.125rem;
77
+ --font-size-xl: 1.266rem;
78
+ --font-size-2xl: 1.5rem;
79
+ --font-size-3xl: 1.75rem;
80
+
81
+ --font-weight-normal: 400;
82
+ --font-weight-medium: 500;
83
+ --font-weight-semibold: 600;
84
+ --font-weight-bold: 700;
85
+
86
+ --line-height-none: 1;
87
+ --line-height-tight: 1.25;
88
+ --line-height-snug: 1.375;
89
+ --line-height-normal: 1.5;
90
+ --line-height-relaxed: 1.625;
91
+ --line-height-loose: 2;
92
+
93
+ --letter-spacing-tighter: -0.05em;
94
+ --letter-spacing-tight: -0.025em;
95
+ --letter-spacing-normal: 0;
96
+ --letter-spacing-wide: 0.025em;
97
+ --letter-spacing-wider: 0.05em;
98
+ --letter-spacing-widest: 0.1em;
99
+ }
100
+
101
+ * {
102
+ box-sizing: border-box;
103
+ }
104
+
105
+ body {
106
+ font-family: var(--font-family);
107
+ font-size: var(--font-size-md);
108
+ color: var(--p-text);
109
+ background: #f9f9fb;
110
+ line-height: 1.5;
111
+ margin: 0;
112
+ padding: 20px;
113
+ }
114
+
115
+ h1, h2, h3, h4, h5, h6 {
116
+ margin: 0;
117
+ color: var(--p-primary);
118
+ line-height: var(--line-height-tight);
119
+ letter-spacing: var(--letter-spacing-tight);
120
+ }
121
+
122
+ h1 { font-size: var(--font-size-3xl); font-weight: 600; }
123
+ h2 { font-size: var(--font-size-2xl); font-weight: 600; }
124
+ h3 { font-size: var(--font-size-xl); font-weight: 500; }
125
+ h4 { font-size: var(--font-size-lg); font-weight: 500; }
126
+ h5 { font-size: var(--font-size-md); font-weight: 500; }
127
+ h6 { font-size: var(--font-size-sm); font-weight: 500; }
128
+
129
+ p {
130
+ line-height: var(--line-height-relaxed);
131
+ margin: 0 0 1rem 0;
132
+ }
133
+
134
+ .p-lead {
135
+ font-size: var(--font-size-lg);
136
+ line-height: var(--line-height-relaxed);
137
+ font-weight: var(--font-weight-normal);
138
+ color: var(--p-text);
139
+ }
140
+
141
+ .p-small {
142
+ font-size: var(--font-size-xs);
143
+ line-height: var(--line-height-normal);
144
+ }
145
+
146
+ /* Buttons */
147
+ .p-btn {
148
+ display: inline-flex;
149
+ align-items: center;
150
+ justify-content: center;
151
+ padding: 8px 16px;
152
+ font-size: var(--font-size-sm);
153
+ font-weight: var(--font-weight-medium);
154
+ font-family: var(--font-family);
155
+ border: none;
156
+ border-radius: var(--radius-md);
157
+ cursor: pointer;
158
+ transition: all 0.2s;
159
+ text-decoration: none;
160
+ gap: 8px;
161
+ white-space: nowrap;
162
+ text-transform: uppercase;
163
+ letter-spacing: 0.5px;
164
+ }
165
+
166
+ .p-btn:disabled {
167
+ opacity: 0.5;
168
+ cursor: not-allowed;
169
+ }
170
+
171
+ .p-btn-primary {
172
+ background: var(--p-primary);
173
+ color: white;
174
+ }
175
+
176
+ .p-btn-primary:hover:not(:disabled) {
177
+ background: var(--p-primary2);
178
+ }
179
+
180
+ .p-btn-secondary {
181
+ background: var(--p-primary6);
182
+ color: var(--p-primary);
183
+ border: 1px solid var(--rsk-color-gray-200);
184
+ }
185
+
186
+ .p-btn-secondary:hover:not(:disabled) {
187
+ background: var(--p-primary5);
188
+ }
189
+
190
+ .p-btn-success {
191
+ background: var(--p-success);
192
+ color: white;
193
+ }
194
+
195
+ .p-btn-success:hover:not(:disabled) {
196
+ background: var(--p-success3);
197
+ }
198
+
199
+ .p-btn-danger {
200
+ background: var(--p-error);
201
+ color: white;
202
+ }
203
+
204
+ .p-btn-danger:hover:not(:disabled) {
205
+ background: var(--p-error3);
206
+ }
207
+
208
+ .p-btn-warning {
209
+ background: var(--p-warning);
210
+ color: var(--p-warning3);
211
+ }
212
+
213
+ .p-btn-warning:hover:not(:disabled) {
214
+ background: #d4b000;
215
+ }
216
+
217
+ .p-btn-info {
218
+ background: var(--p-info);
219
+ color: white;
220
+ }
221
+
222
+ .p-btn-info:hover:not(:disabled) {
223
+ background: #2d9fc9;
224
+ }
225
+
226
+ .p-btn-text {
227
+ background: transparent;
228
+ color: var(--p-primary);
229
+ border: none;
230
+ }
231
+
232
+ .p-btn-text:hover:not(:disabled) {
233
+ background: var(--p-primary6);
234
+ }
235
+
236
+ .p-btn-sm {
237
+ padding: 4px 12px;
238
+ font-size: var(--font-size-xs);
239
+ }
240
+
241
+ .p-btn-lg {
242
+ padding: 12px 24px;
243
+ font-size: var(--font-size-md);
244
+ }
245
+
246
+ .p-btn-block {
247
+ width: 100%;
248
+ display: flex;
249
+ }
250
+
251
+ /* Inputs & Form Elements */
252
+ .p-form-group {
253
+ margin-bottom: var(--spacing-4);
254
+ }
255
+
256
+ .p-label {
257
+ display: block;
258
+ font-size: var(--font-size-sm);
259
+ font-weight: var(--font-weight-medium);
260
+ color: var(--p-text);
261
+ margin-bottom: var(--spacing-2);
262
+ }
263
+
264
+ .p-label.required::after {
265
+ content: " *";
266
+ color: var(--p-error);
267
+ }
268
+
269
+ .p-input, .p-select, .p-textarea {
270
+ padding: 8px 12px;
271
+ font-size: var(--font-size-sm);
272
+ font-family: var(--font-family);
273
+ border: 1px solid var(--rsk-color-gray-200);
274
+ border-radius: var(--radius-md);
275
+ background: white;
276
+ color: var(--p-text);
277
+ width: 100%;
278
+ transition: border-color 0.2s;
279
+ }
280
+
281
+ .p-input:focus, .p-select:focus, .p-textarea:focus {
282
+ outline: none;
283
+ border-color: var(--p-primary);
284
+ box-shadow: 0 0 0 3px rgba(41, 51, 92, 0.1);
285
+ }
286
+
287
+ .p-input::placeholder, .p-textarea::placeholder {
288
+ color: var(--p-text3);
289
+ }
290
+
291
+ .p-textarea {
292
+ resize: vertical;
293
+ min-height: 100px;
294
+ }
295
+
296
+ .p-input.error, .p-select.error, .p-textarea.error {
297
+ border-color: var(--p-error);
298
+ }
299
+
300
+ .p-input-error {
301
+ font-size: var(--font-size-xs);
302
+ color: var(--p-error);
303
+ margin-top: var(--spacing-1);
304
+ }
305
+
306
+ .p-input-hint {
307
+ font-size: var(--font-size-xs);
308
+ color: var(--p-text2);
309
+ margin-top: var(--spacing-1);
310
+ }
311
+
312
+ /* Checkbox & Radio */
313
+ .p-checkbox, .p-radio {
314
+ display: flex;
315
+ align-items: center;
316
+ gap: var(--spacing-2);
317
+ cursor: pointer;
318
+ margin-bottom: var(--spacing-2);
319
+ }
320
+
321
+ .p-checkbox input, .p-radio input {
322
+ cursor: pointer;
323
+ width: 18px;
324
+ height: 18px;
325
+ accent-color: var(--p-primary);
326
+ }
327
+
328
+ .p-checkbox label, .p-radio label {
329
+ cursor: pointer;
330
+ font-size: var(--font-size-sm);
331
+ margin: 0;
332
+ }
333
+
334
+ /* Alert/Callout */
335
+ .p-alert {
336
+ padding: var(--spacing-3) var(--spacing-4);
337
+ border-radius: var(--radius-md);
338
+ border-left: 4px solid;
339
+ margin-bottom: var(--spacing-4);
340
+ display: flex;
341
+ gap: var(--spacing-3);
342
+ }
343
+
344
+ .p-alert-success {
345
+ background: var(--p-success2);
346
+ border-color: var(--p-success);
347
+ color: var(--p-success3);
348
+ }
349
+
350
+ .p-alert-error {
351
+ background: var(--p-error2);
352
+ border-color: var(--p-error);
353
+ color: var(--p-error);
354
+ }
355
+
356
+ .p-alert-warning {
357
+ background: var(--p-warning2);
358
+ border-color: var(--p-warning);
359
+ color: var(--p-warning3);
360
+ }
361
+
362
+ .p-alert-info {
363
+ background: var(--p-info2);
364
+ border-color: var(--p-info);
365
+ color: var(--p-info);
366
+ }
367
+
368
+ .p-alert-title {
369
+ font-weight: var(--font-weight-semibold);
370
+ margin-bottom: var(--spacing-1);
371
+ }
372
+
373
+ /* Badge/Pill */
374
+ .p-badge {
375
+ display: inline-block;
376
+ padding: 2px 8px;
377
+ font-size: var(--font-size-xs);
378
+ font-weight: var(--font-weight-medium);
379
+ border-radius: var(--radius-xl);
380
+ background: var(--p-primary6);
381
+ color: var(--p-primary);
382
+ }
383
+
384
+ .p-badge-success {
385
+ background: var(--p-success2);
386
+ color: var(--p-success3);
387
+ }
388
+
389
+ .p-badge-error {
390
+ background: var(--p-error2);
391
+ color: var(--p-error);
392
+ }
393
+
394
+ .p-badge-warning {
395
+ background: var(--p-warning2);
396
+ color: var(--p-warning3);
397
+ }
398
+
399
+ .p-badge-info {
400
+ background: var(--p-info2);
401
+ color: var(--p-info);
402
+ }
403
+
404
+ /* Tag */
405
+ .p-tag {
406
+ display: inline-flex;
407
+ align-items: center;
408
+ padding: 4px 8px;
409
+ font-size: var(--font-size-xs);
410
+ border-radius: var(--radius-md);
411
+ background: var(--p-primary6);
412
+ color: var(--p-primary);
413
+ gap: 4px;
414
+ }
415
+
416
+ .p-tag-success {
417
+ background: var(--p-success2);
418
+ color: var(--p-success3);
419
+ }
420
+
421
+ .p-tag-error {
422
+ background: var(--p-error2);
423
+ color: var(--p-error);
424
+ }
425
+
426
+ .p-tag-warning {
427
+ background: var(--p-warning2);
428
+ color: var(--p-warning3);
429
+ }
430
+
431
+ .p-tag-info {
432
+ background: var(--p-info2);
433
+ color: var(--p-info);
434
+ }
435
+
436
+ /* Toggle Switch */
437
+ .p-toggle {
438
+ position: relative;
439
+ display: inline-block;
440
+ width: 44px;
441
+ height: 24px;
442
+ }
443
+
444
+ .p-toggle input {
445
+ opacity: 0;
446
+ width: 0;
447
+ height: 0;
448
+ }
449
+
450
+ .p-toggle-slider {
451
+ position: absolute;
452
+ cursor: pointer;
453
+ top: 0;
454
+ left: 0;
455
+ right: 0;
456
+ bottom: 0;
457
+ background: var(--rsk-color-gray-300);
458
+ transition: 0.3s;
459
+ border-radius: 24px;
460
+ }
461
+
462
+ .p-toggle-slider:before {
463
+ position: absolute;
464
+ content: "";
465
+ height: 18px;
466
+ width: 18px;
467
+ left: 3px;
468
+ bottom: 3px;
469
+ background: white;
470
+ transition: 0.3s;
471
+ border-radius: 50%;
472
+ }
473
+
474
+ .p-toggle input:checked + .p-toggle-slider {
475
+ background: var(--p-success);
476
+ }
477
+
478
+ .p-toggle input:checked + .p-toggle-slider:before {
479
+ transform: translateX(20px);
480
+ }
481
+
482
+ .p-toggle:disabled {
483
+ opacity: 0.5;
484
+ cursor: not-allowed;
485
+ }
486
+
487
+ /* Card */
488
+ .p-card {
489
+ background: white;
490
+ border-radius: var(--radius-md);
491
+ box-shadow: var(--shadow-md);
492
+ overflow: visible;
493
+ }
494
+
495
+ .p-card-header {
496
+ font-size: var(--font-size-lg);
497
+ font-weight: var(--font-weight-semibold);
498
+ padding: var(--spacing-4);
499
+ background: var(--p-primary6);
500
+ border-bottom: 1px solid var(--rsk-color-gray-100);
501
+ color: var(--p-primary);
502
+ }
503
+
504
+ .p-card-body {
505
+ padding: var(--spacing-4);
506
+ color: var(--p-text);
507
+ }
508
+
509
+ .p-card-footer {
510
+ padding: var(--spacing-3) var(--spacing-4);
511
+ background: var(--p-primary6);
512
+ border-top: 1px solid var(--rsk-color-gray-100);
513
+ display: flex;
514
+ justify-content: flex-end;
515
+ gap: var(--spacing-2);
516
+ }
517
+
518
+ /* Panel/Container */
519
+ .p-panel {
520
+ background: white;
521
+ border: 1px solid var(--rsk-color-gray-200);
522
+ border-radius: var(--radius-md);
523
+ padding: var(--spacing-4);
524
+ margin-bottom: var(--spacing-4);
525
+ }
526
+
527
+ /* Table */
528
+ .p-table {
529
+ width: 100%;
530
+ border-collapse: collapse;
531
+ background: white;
532
+ }
533
+
534
+ .p-table th {
535
+ text-align: left;
536
+ padding: 12px 16px;
537
+ font-size: var(--font-size-sm);
538
+ font-weight: var(--font-weight-medium);
539
+ color: var(--rsk-color-gray-700);
540
+ background: var(--p-primary6);
541
+ border-bottom: 1px solid var(--rsk-color-gray-200);
542
+ }
543
+
544
+ .p-table td {
545
+ padding: 12px 16px;
546
+ font-size: var(--font-size-sm);
547
+ border-bottom: 1px solid var(--rsk-color-gray-100);
548
+ color: var(--p-text);
549
+ }
550
+
551
+ .p-table tr:hover {
552
+ background: var(--p-primary6);
553
+ }
554
+
555
+ .p-table-sm td {
556
+ padding: 8px 12px;
557
+ }
558
+
559
+ .p-table-striped tbody tr:nth-child(odd) {
560
+ background: var(--p-primary6);
561
+ }
562
+
563
+ /* Pagination */
564
+ .p-pagination {
565
+ display: flex;
566
+ gap: var(--spacing-1);
567
+ align-items: center;
568
+ justify-content: center;
569
+ margin-top: var(--spacing-4);
570
+ }
571
+
572
+ .p-pagination-item {
573
+ padding: 6px 10px;
574
+ border: 1px solid var(--rsk-color-gray-200);
575
+ border-radius: var(--radius-md);
576
+ background: white;
577
+ cursor: pointer;
578
+ font-size: var(--font-size-sm);
579
+ transition: all 0.2s;
580
+ }
581
+
582
+ .p-pagination-item:hover {
583
+ border-color: var(--p-primary);
584
+ color: var(--p-primary);
585
+ }
586
+
587
+ .p-pagination-item.active {
588
+ background: var(--p-primary);
589
+ color: white;
590
+ border-color: var(--p-primary);
591
+ }
592
+
593
+ .p-pagination-item.disabled {
594
+ opacity: 0.5;
595
+ cursor: not-allowed;
596
+ }
597
+
598
+ /* Breadcrumb */
599
+ .p-breadcrumb {
600
+ display: flex;
601
+ gap: var(--spacing-2);
602
+ align-items: center;
603
+ font-size: var(--font-size-sm);
604
+ margin-bottom: var(--spacing-4);
605
+ }
606
+
607
+ .p-breadcrumb-item {
608
+ color: var(--p-text2);
609
+ }
610
+
611
+ .p-breadcrumb-item.active {
612
+ color: var(--p-primary);
613
+ font-weight: var(--font-weight-medium);
614
+ }
615
+
616
+ .p-breadcrumb-separator {
617
+ color: var(--p-text3);
618
+ }
619
+
620
+ /* Badge Count */
621
+ .p-badge-count {
622
+ display: inline-flex;
623
+ align-items: center;
624
+ justify-content: center;
625
+ min-width: 20px;
626
+ height: 20px;
627
+ padding: 0 6px;
628
+ background: var(--p-error);
629
+ color: white;
630
+ border-radius: var(--radius-xl);
631
+ font-size: var(--font-size-xs);
632
+ font-weight: var(--font-weight-bold);
633
+ }
634
+
635
+ /* Modal/Dialog */
636
+ .p-modal {
637
+ display: none;
638
+ position: fixed;
639
+ z-index: 1000;
640
+ left: 0;
641
+ top: 0;
642
+ width: 100%;
643
+ height: 100%;
644
+ background: rgba(0, 0, 0, 0.4);
645
+ }
646
+
647
+ .p-modal.active {
648
+ display: flex;
649
+ align-items: center;
650
+ justify-content: center;
651
+ }
652
+
653
+ .p-modal-content {
654
+ background: white;
655
+ border-radius: var(--radius-md);
656
+ max-width: 500px;
657
+ width: 90%;
658
+ box-shadow: var(--shadow-lg);
659
+ }
660
+
661
+ .p-modal-header {
662
+ padding: var(--spacing-4);
663
+ border-bottom: 1px solid var(--rsk-color-gray-200);
664
+ display: flex;
665
+ justify-content: space-between;
666
+ align-items: center;
667
+ }
668
+
669
+ .p-modal-title {
670
+ font-size: var(--font-size-lg);
671
+ font-weight: var(--font-weight-semibold);
672
+ }
673
+
674
+ .p-modal-close {
675
+ background: none;
676
+ border: none;
677
+ font-size: var(--font-size-lg);
678
+ cursor: pointer;
679
+ color: var(--p-text2);
680
+ }
681
+
682
+ .p-modal-body {
683
+ padding: var(--spacing-4);
684
+ }
685
+
686
+ .p-modal-footer {
687
+ padding: var(--spacing-3) var(--spacing-4);
688
+ border-top: 1px solid var(--rsk-color-gray-200);
689
+ display: flex;
690
+ justify-content: flex-end;
691
+ gap: var(--spacing-2);
692
+ }
693
+
694
+ /* Spinner/Loader */
695
+ .p-spinner {
696
+ display: inline-block;
697
+ width: 20px;
698
+ height: 20px;
699
+ border: 3px solid var(--rsk-color-gray-200);
700
+ border-radius: 50%;
701
+ border-top-color: var(--p-primary);
702
+ animation: spin 0.8s linear infinite;
703
+ }
704
+
705
+ @keyframes spin {
706
+ to { transform: rotate(360deg); }
707
+ }
708
+
709
+ /* Progress Bar */
710
+ .p-progress {
711
+ width: 100%;
712
+ height: 8px;
713
+ background: var(--rsk-color-gray-200);
714
+ border-radius: 4px;
715
+ overflow: hidden;
716
+ margin: var(--spacing-3) 0;
717
+ }
718
+
719
+ .p-progress-bar {
720
+ height: 100%;
721
+ background: var(--p-primary);
722
+ transition: width 0.3s;
723
+ border-radius: 4px;
724
+ }
725
+
726
+ .p-progress-bar.success {
727
+ background: var(--p-success);
728
+ }
729
+
730
+ .p-progress-bar.error {
731
+ background: var(--p-error);
732
+ }
733
+
734
+ .p-progress-bar.warning {
735
+ background: var(--p-warning);
736
+ }
737
+
738
+ /* Tabs */
739
+ .p-tabs {
740
+ display: flex;
741
+ gap: var(--spacing-2);
742
+ margin-bottom: var(--spacing-4);
743
+ border-bottom: 1px solid var(--rsk-color-gray-200);
744
+ background: var(--p-primary6);
745
+ padding: var(--spacing-2) var(--spacing-2) 0;
746
+ border-radius: var(--radius-md) var(--radius-md) 0 0;
747
+ }
748
+
749
+ .p-tab {
750
+ padding: var(--spacing-3) var(--spacing-5);
751
+ font-size: var(--font-size-sm);
752
+ font-weight: var(--font-weight-medium);
753
+ color: var(--p-text2);
754
+ background: transparent;
755
+ border: 1px solid transparent;
756
+ border-bottom: none;
757
+ border-radius: var(--radius-md) var(--radius-md) 0 0;
758
+ cursor: pointer;
759
+ transition: all 0.2s;
760
+ white-space: nowrap;
761
+ text-transform: uppercase;
762
+ letter-spacing: 0.5px;
763
+ position: relative;
764
+ }
765
+
766
+ .p-tab:hover:not(:disabled) {
767
+ color: var(--p-primary);
768
+ background: rgba(255, 255, 255, 0.5);
769
+ }
770
+
771
+ .p-tab.active {
772
+ color: var(--p-primary);
773
+ background: white;
774
+ border-color: var(--rsk-color-gray-200);
775
+ border-bottom-color: white;
776
+ font-weight: var(--font-weight-semibold);
777
+ }
778
+
779
+ .p-tab:disabled {
780
+ opacity: 0.4;
781
+ cursor: not-allowed;
782
+ }
783
+
784
+ .p-tab-content {
785
+ padding: var(--spacing-4) 0;
786
+ }
787
+
788
+ /* Accordion */
789
+ .p-accordion {
790
+ border: 1px solid var(--rsk-color-gray-200);
791
+ border-radius: var(--radius-md);
792
+ overflow: hidden;
793
+ }
794
+
795
+ .p-accordion-item {
796
+ border-bottom: 1px solid var(--rsk-color-gray-200);
797
+ }
798
+
799
+ .p-accordion-item:last-child {
800
+ border-bottom: none;
801
+ }
802
+
803
+ .p-accordion-header {
804
+ display: flex;
805
+ justify-content: space-between;
806
+ align-items: center;
807
+ padding: var(--spacing-3) var(--spacing-4);
808
+ background: white;
809
+ cursor: pointer;
810
+ font-weight: var(--font-weight-medium);
811
+ transition: background 0.2s;
812
+ user-select: none;
813
+ }
814
+
815
+ .p-accordion-header:hover {
816
+ background: var(--p-primary6);
817
+ }
818
+
819
+ .p-accordion-icon {
820
+ transition: transform 0.3s;
821
+ font-size: var(--font-size-lg);
822
+ color: var(--p-text2);
823
+ }
824
+
825
+ .p-accordion-item.active .p-accordion-icon {
826
+ transform: rotate(180deg);
827
+ }
828
+
829
+ .p-accordion-body {
830
+ max-height: 0;
831
+ overflow: hidden;
832
+ transition: max-height 0.3s ease;
833
+ }
834
+
835
+ .p-accordion-item.active .p-accordion-body {
836
+ max-height: 500px;
837
+ }
838
+
839
+ .p-accordion-content {
840
+ padding: var(--spacing-3) var(--spacing-4);
841
+ background: var(--p-primary6);
842
+ color: var(--p-text);
843
+ }
844
+
845
+ /* Tooltip */
846
+ .p-tooltip {
847
+ position: relative;
848
+ display: inline-block;
849
+ }
850
+
851
+ .p-tooltip-text {
852
+ visibility: hidden;
853
+ opacity: 0;
854
+ position: absolute;
855
+ z-index: 1000;
856
+ background: var(--p-primary);
857
+ color: white;
858
+ padding: 6px 12px;
859
+ border-radius: var(--radius-md);
860
+ font-size: var(--font-size-xs);
861
+ white-space: nowrap;
862
+ transition: opacity 0.3s;
863
+ pointer-events: none;
864
+ bottom: 125%;
865
+ left: 50%;
866
+ transform: translateX(-50%);
867
+ }
868
+
869
+ .p-tooltip-text::after {
870
+ content: "";
871
+ position: absolute;
872
+ top: 100%;
873
+ left: 50%;
874
+ margin-left: -5px;
875
+ border-width: 5px;
876
+ border-style: solid;
877
+ border-color: var(--p-primary) transparent transparent transparent;
878
+ }
879
+
880
+ .p-tooltip:hover .p-tooltip-text {
881
+ visibility: visible;
882
+ opacity: 1;
883
+ }
884
+
885
+ .p-tooltip-text.right {
886
+ left: 125%;
887
+ top: 50%;
888
+ bottom: auto;
889
+ transform: translateY(-50%);
890
+ }
891
+
892
+ .p-tooltip-text.right::after {
893
+ top: 50%;
894
+ left: -5px;
895
+ margin-left: 0;
896
+ margin-top: -5px;
897
+ border-color: transparent var(--p-primary) transparent transparent;
898
+ }
899
+
900
+ .p-tooltip-text.bottom {
901
+ top: 125%;
902
+ bottom: auto;
903
+ }
904
+
905
+ .p-tooltip-text.bottom::after {
906
+ top: -10px;
907
+ border-color: transparent transparent var(--p-primary) transparent;
908
+ }
909
+
910
+ /* Dropdown */
911
+ .p-dropdown {
912
+ position: relative;
913
+ display: inline-block;
914
+ z-index: 100;
915
+ }
916
+
917
+ .p-dropdown-menu {
918
+ display: none;
919
+ position: absolute;
920
+ top: 100%;
921
+ left: 0;
922
+ z-index: 10000;
923
+ min-width: 180px;
924
+ background: white;
925
+ border: 1px solid var(--rsk-color-gray-200);
926
+ border-radius: var(--radius-md);
927
+ box-shadow: var(--shadow-lg);
928
+ margin-top: var(--spacing-1);
929
+ padding: var(--spacing-1) 0;
930
+ }
931
+
932
+ .p-dropdown.active .p-dropdown-menu {
933
+ display: block;
934
+ }
935
+
936
+ .p-dropdown-item {
937
+ display: flex;
938
+ align-items: center;
939
+ padding: var(--spacing-2) var(--spacing-4);
940
+ font-size: var(--font-size-sm);
941
+ color: var(--p-text);
942
+ cursor: pointer;
943
+ transition: background 0.2s;
944
+ text-decoration: none;
945
+ gap: var(--spacing-2);
946
+ }
947
+
948
+ .p-dropdown-item:hover {
949
+ background: var(--p-primary6);
950
+ }
951
+
952
+ .p-dropdown-divider {
953
+ height: 1px;
954
+ background: var(--rsk-color-gray-200);
955
+ margin: var(--spacing-1) 0;
956
+ }
957
+
958
+ .p-dropdown-header {
959
+ padding: var(--spacing-2) var(--spacing-4);
960
+ font-size: var(--font-size-xs);
961
+ color: var(--p-text2);
962
+ font-weight: var(--font-weight-semibold);
963
+ text-transform: uppercase;
964
+ letter-spacing: 0.05em;
965
+ }
966
+
967
+ /* Toast Notification */
968
+ .p-toast-container {
969
+ position: fixed;
970
+ top: var(--spacing-4);
971
+ right: var(--spacing-4);
972
+ z-index: 9999;
973
+ display: flex;
974
+ flex-direction: column;
975
+ gap: var(--spacing-2);
976
+ max-width: 400px;
977
+ }
978
+
979
+ .p-toast {
980
+ display: flex;
981
+ align-items: flex-start;
982
+ gap: var(--spacing-3);
983
+ padding: var(--spacing-3) var(--spacing-4);
984
+ background: white;
985
+ border-radius: var(--radius-md);
986
+ box-shadow: var(--shadow-lg);
987
+ border-left: 4px solid;
988
+ animation: slideInRight 0.3s ease;
989
+ }
990
+
991
+ @keyframes slideInRight {
992
+ from {
993
+ transform: translateX(100%);
994
+ opacity: 0;
995
+ }
996
+ to {
997
+ transform: translateX(0);
998
+ opacity: 1;
999
+ }
1000
+ }
1001
+
1002
+ .p-toast.hiding {
1003
+ animation: slideOutRight 0.3s ease;
1004
+ }
1005
+
1006
+ @keyframes slideOutRight {
1007
+ from {
1008
+ transform: translateX(0);
1009
+ opacity: 1;
1010
+ }
1011
+ to {
1012
+ transform: translateX(100%);
1013
+ opacity: 0;
1014
+ }
1015
+ }
1016
+
1017
+ .p-toast-success {
1018
+ border-color: var(--p-success);
1019
+ }
1020
+
1021
+ .p-toast-error {
1022
+ border-color: var(--p-error);
1023
+ }
1024
+
1025
+ .p-toast-warning {
1026
+ border-color: var(--p-warning);
1027
+ }
1028
+
1029
+ .p-toast-info {
1030
+ border-color: var(--p-info);
1031
+ }
1032
+
1033
+ .p-toast-content {
1034
+ flex: 1;
1035
+ }
1036
+
1037
+ .p-toast-title {
1038
+ font-weight: var(--font-weight-semibold);
1039
+ margin-bottom: var(--spacing-1);
1040
+ font-size: var(--font-size-sm);
1041
+ }
1042
+
1043
+ .p-toast-message {
1044
+ font-size: var(--font-size-sm);
1045
+ color: var(--p-text2);
1046
+ }
1047
+
1048
+ .p-toast-close {
1049
+ background: none;
1050
+ border: none;
1051
+ cursor: pointer;
1052
+ color: var(--p-text3);
1053
+ font-size: var(--font-size-lg);
1054
+ line-height: 1;
1055
+ padding: 0;
1056
+ }
1057
+
1058
+ /* Skeleton Loader */
1059
+ .p-skeleton {
1060
+ background: linear-gradient(90deg, var(--p-primary6) 25%, var(--p-primary5) 50%, var(--p-primary6) 75%);
1061
+ background-size: 200% 100%;
1062
+ animation: shimmer 1.5s infinite;
1063
+ border-radius: var(--radius-md);
1064
+ }
1065
+
1066
+ @keyframes shimmer {
1067
+ 0% {
1068
+ background-position: 200% 0;
1069
+ }
1070
+ 100% {
1071
+ background-position: -200% 0;
1072
+ }
1073
+ }
1074
+
1075
+ .p-skeleton-text {
1076
+ height: 1rem;
1077
+ margin-bottom: var(--spacing-2);
1078
+ }
1079
+
1080
+ .p-skeleton-text:last-child {
1081
+ margin-bottom: 0;
1082
+ width: 80%;
1083
+ }
1084
+
1085
+ .p-skeleton-title {
1086
+ height: 1.5rem;
1087
+ width: 60%;
1088
+ margin-bottom: var(--spacing-3);
1089
+ }
1090
+
1091
+ .p-skeleton-circle {
1092
+ border-radius: 50%;
1093
+ }
1094
+
1095
+ .p-skeleton-button {
1096
+ height: 40px;
1097
+ width: 100px;
1098
+ }
1099
+
1100
+ /* Avatar */
1101
+ .p-avatar {
1102
+ display: inline-flex;
1103
+ align-items: center;
1104
+ justify-content: center;
1105
+ border-radius: 50%;
1106
+ background: var(--p-primary);
1107
+ color: white;
1108
+ font-weight: var(--font-weight-medium);
1109
+ overflow: hidden;
1110
+ flex-shrink: 0;
1111
+ }
1112
+
1113
+ .p-avatar-sm {
1114
+ width: 32px;
1115
+ height: 32px;
1116
+ font-size: var(--font-size-xs);
1117
+ }
1118
+
1119
+ .p-avatar-md {
1120
+ width: 40px;
1121
+ height: 40px;
1122
+ font-size: var(--font-size-sm);
1123
+ }
1124
+
1125
+ .p-avatar-lg {
1126
+ width: 56px;
1127
+ height: 56px;
1128
+ font-size: var(--font-size-lg);
1129
+ }
1130
+
1131
+ .p-avatar-xl {
1132
+ width: 80px;
1133
+ height: 80px;
1134
+ font-size: var(--font-size-2xl);
1135
+ }
1136
+
1137
+ .p-avatar img {
1138
+ width: 100%;
1139
+ height: 100%;
1140
+ object-fit: cover;
1141
+ }
1142
+
1143
+ .p-avatar-group {
1144
+ display: inline-flex;
1145
+ align-items: center;
1146
+ }
1147
+
1148
+ .p-avatar-group .p-avatar {
1149
+ margin-left: -8px;
1150
+ border: 2px solid white;
1151
+ }
1152
+
1153
+ .p-avatar-group .p-avatar:first-child {
1154
+ margin-left: 0;
1155
+ }
1156
+
1157
+ /* List Group */
1158
+ .p-list-group {
1159
+ border: 1px solid var(--rsk-color-gray-200);
1160
+ border-radius: var(--radius-md);
1161
+ overflow: hidden;
1162
+ }
1163
+
1164
+ .p-list-item {
1165
+ display: flex;
1166
+ align-items: center;
1167
+ padding: var(--spacing-3) var(--spacing-4);
1168
+ background: white;
1169
+ border-bottom: 1px solid var(--rsk-color-gray-200);
1170
+ transition: background 0.2s;
1171
+ text-decoration: none;
1172
+ color: var(--p-text);
1173
+ gap: var(--spacing-3);
1174
+ }
1175
+
1176
+ .p-list-item:last-child {
1177
+ border-bottom: none;
1178
+ }
1179
+
1180
+ .p-list-item:hover {
1181
+ background: var(--p-primary6);
1182
+ }
1183
+
1184
+ .p-list-item.active {
1185
+ background: var(--p-primary6);
1186
+ color: var(--p-primary);
1187
+ font-weight: var(--font-weight-medium);
1188
+ }
1189
+
1190
+ .p-list-item.disabled {
1191
+ opacity: 0.5;
1192
+ cursor: not-allowed;
1193
+ }
1194
+
1195
+ .p-list-item-icon {
1196
+ color: var(--p-text2);
1197
+ font-size: var(--font-size-lg);
1198
+ }
1199
+
1200
+ .p-list-item-content {
1201
+ flex: 1;
1202
+ }
1203
+
1204
+ .p-list-item-title {
1205
+ font-weight: var(--font-weight-medium);
1206
+ margin-bottom: var(--spacing-1);
1207
+ }
1208
+
1209
+ .p-list-item-description {
1210
+ font-size: var(--font-size-sm);
1211
+ color: var(--p-text2);
1212
+ }
1213
+
1214
+ /* File Upload */
1215
+ .p-file-upload {
1216
+ position: relative;
1217
+ display: inline-block;
1218
+ }
1219
+
1220
+ .p-file-upload input[type="file"] {
1221
+ position: absolute;
1222
+ opacity: 0;
1223
+ width: 0;
1224
+ height: 0;
1225
+ }
1226
+
1227
+ .p-file-upload-label {
1228
+ display: inline-flex;
1229
+ align-items: center;
1230
+ justify-content: center;
1231
+ padding: 8px 16px;
1232
+ font-size: var(--font-size-sm);
1233
+ font-weight: var(--font-weight-medium);
1234
+ border: 2px dashed var(--rsk-color-gray-300);
1235
+ border-radius: var(--radius-md);
1236
+ background: var(--p-primary6);
1237
+ color: var(--p-primary);
1238
+ cursor: pointer;
1239
+ transition: all 0.2s;
1240
+ gap: 8px;
1241
+ min-width: 200px;
1242
+ }
1243
+
1244
+ .p-file-upload-label:hover {
1245
+ border-color: var(--p-primary);
1246
+ background: white;
1247
+ }
1248
+
1249
+ .p-file-upload-label.dragging {
1250
+ border-color: var(--p-primary);
1251
+ background: var(--p-primary5);
1252
+ }
1253
+
1254
+ .p-file-upload-text {
1255
+ text-align: center;
1256
+ }
1257
+
1258
+ .p-file-upload-filename {
1259
+ display: block;
1260
+ margin-top: var(--spacing-2);
1261
+ font-size: var(--font-size-sm);
1262
+ color: var(--p-text2);
1263
+ }
1264
+
1265
+ /* Utility Classes */
1266
+ .p-text-primary { color: var(--p-primary); }
1267
+ .p-text-success { color: var(--p-success); }
1268
+ .p-text-error { color: var(--p-error); }
1269
+ .p-text-warning { color: var(--p-warning); }
1270
+ .p-text-info { color: var(--p-info); }
1271
+ .p-text-gray { color: var(--p-text2); }
1272
+ .p-text-muted { color: var(--p-text3); }
1273
+
1274
+ .p-bg-primary { background: var(--p-primary6); }
1275
+ .p-bg-white { background: white; }
1276
+ .p-bg-success { background: var(--p-success2); }
1277
+ .p-bg-error { background: var(--p-error2); }
1278
+
1279
+ .p-text-xs { font-size: var(--font-size-xs); }
1280
+ .p-text-sm { font-size: var(--font-size-sm); }
1281
+ .p-text-md { font-size: var(--font-size-md); }
1282
+ .p-text-lg { font-size: var(--font-size-lg); }
1283
+
1284
+ .p-font-normal { font-weight: var(--font-weight-normal); }
1285
+ .p-font-medium { font-weight: var(--font-weight-medium); }
1286
+ .p-font-semibold { font-weight: var(--font-weight-semibold); }
1287
+ .p-font-bold { font-weight: var(--font-weight-bold); }
1288
+
1289
+ .p-m-0 { margin: 0; }
1290
+ .p-m-1 { margin: var(--spacing-1); }
1291
+ .p-m-2 { margin: var(--spacing-2); }
1292
+ .p-m-3 { margin: var(--spacing-3); }
1293
+ .p-m-4 { margin: var(--spacing-4); }
1294
+
1295
+ .p-p-0 { padding: 0; }
1296
+ .p-p-1 { padding: var(--spacing-1); }
1297
+ .p-p-2 { padding: var(--spacing-2); }
1298
+ .p-p-3 { padding: var(--spacing-3); }
1299
+ .p-p-4 { padding: var(--spacing-4); }
1300
+
1301
+ .p-mt-1 { margin-top: var(--spacing-1); }
1302
+ .p-mt-2 { margin-top: var(--spacing-2); }
1303
+ .p-mt-3 { margin-top: var(--spacing-3); }
1304
+ .p-mt-4 { margin-top: var(--spacing-4); }
1305
+
1306
+ .p-mb-1 { margin-bottom: var(--spacing-1); }
1307
+ .p-mb-2 { margin-bottom: var(--spacing-2); }
1308
+ .p-mb-3 { margin-bottom: var(--spacing-3); }
1309
+ .p-mb-4 { margin-bottom: var(--spacing-4); }
1310
+
1311
+ .p-flex { display: flex; }
1312
+ .p-flex-col { flex-direction: column; }
1313
+ .p-flex-wrap { flex-wrap: wrap; }
1314
+ .p-items-center { align-items: center; }
1315
+ .p-justify-between { justify-content: space-between; }
1316
+ .p-justify-center { justify-content: center; }
1317
+ .p-justify-end { justify-content: flex-end; }
1318
+ .p-gap-1 { gap: var(--spacing-1); }
1319
+ .p-gap-2 { gap: var(--spacing-2); }
1320
+ .p-gap-3 { gap: var(--spacing-3); }
1321
+ .p-gap-4 { gap: var(--spacing-4); }
1322
+
1323
+ .p-w-full { width: 100%; }
1324
+ .p-text-center { text-align: center; }
1325
+ .p-text-right { text-align: right; }
1326
+ .p-text-left { text-align: left; }
1327
+
1328
+ .p-text-underline { text-decoration: underline; }
1329
+ .p-text-line-through { text-decoration: line-through; }
1330
+ .p-text-no-underline { text-decoration: none; }
1331
+
1332
+ .p-text-uppercase { text-transform: uppercase; }
1333
+ .p-text-lowercase { text-transform: lowercase; }
1334
+ .p-text-capitalize { text-transform: capitalize; }
1335
+
1336
+ .p-leading-none { line-height: var(--line-height-none); }
1337
+ .p-leading-tight { line-height: var(--line-height-tight); }
1338
+ .p-leading-snug { line-height: var(--line-height-snug); }
1339
+ .p-leading-normal { line-height: var(--line-height-normal); }
1340
+ .p-leading-relaxed { line-height: var(--line-height-relaxed); }
1341
+ .p-leading-loose { line-height: var(--line-height-loose); }
1342
+
1343
+ .p-tracking-tighter { letter-spacing: var(--letter-spacing-tighter); }
1344
+ .p-tracking-tight { letter-spacing: var(--letter-spacing-tight); }
1345
+ .p-tracking-normal { letter-spacing: var(--letter-spacing-normal); }
1346
+ .p-tracking-wide { letter-spacing: var(--letter-spacing-wide); }
1347
+ .p-tracking-wider { letter-spacing: var(--letter-spacing-wider); }
1348
+ .p-tracking-widest { letter-spacing: var(--letter-spacing-widest); }