@kanunilabs/pivotgrid-react 1.0.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.
@@ -0,0 +1,2203 @@
1
+ /* ─────────────────────────────────────────────────────────────
2
+ KANUNILABS ERP — PivotGrid Isolated Theme System
3
+ Provides complete encapsulation and immunity from host CSS
4
+ ───────────────────────────────────────────────────────────── */
5
+
6
+ .kanuni-pivot-root {
7
+ /* Base Resets for the container itself */
8
+ box-sizing: border-box;
9
+ font-family: inherit;
10
+ line-height: 1.5;
11
+ -webkit-font-smoothing: antialiased;
12
+ -moz-osx-font-smoothing: grayscale;
13
+
14
+ /* ─────────────────────────────────────────────────────────
15
+ Theme Tokens
16
+ ───────────────────────────────────────────────────────── */
17
+ --pivot-bg: #ffffff;
18
+ --pivot-surface: #ffffff;
19
+ --pivot-surface-hover: #f3f4f6; /* zinc-100 */
20
+ --pivot-surface-header: #f8fafc; /* slate-50 */
21
+ --pivot-border: #e2e8f0; /* slate-200 */
22
+
23
+ --pivot-text: #0f172a; /* slate-900 */
24
+ --pivot-text-muted: #64748b; /* slate-500 */
25
+
26
+ --pivot-primary: #0ea5e9; /* sky-500 */
27
+ --pivot-primary-foreground: #ffffff;
28
+ --pivot-primary-hover: #0284c7; /* sky-600 */
29
+
30
+ --pivot-success: #22c55e; /* green-500 */
31
+ --pivot-danger: #ef4444; /* red-500 */
32
+ --pivot-warning: #f59e0b; /* amber-500 */
33
+ --pivot-info: #3b82f6; /* blue-500 */
34
+
35
+ /* ─────────────────────────────────────────────────────────
36
+ Spacing Tokens (Base 4px system)
37
+ ───────────────────────────────────────────────────────── */
38
+ --pivot-space-0: 0px;
39
+ --pivot-space-1: 4px;
40
+ --pivot-space-1-5: 6px;
41
+ --pivot-space-2: 8px;
42
+ --pivot-space-3: 12px;
43
+ --pivot-space-4: 16px;
44
+ --pivot-space-5: 20px;
45
+ --pivot-space-6: 24px;
46
+ --pivot-space-8: 32px;
47
+ --pivot-space-12: 48px;
48
+
49
+ /* ─────────────────────────────────────────────────────────
50
+ Typography Tokens
51
+ ───────────────────────────────────────────────────────── */
52
+ --pivot-text-xs: 11px;
53
+ --pivot-text-sm: 13px;
54
+ --pivot-text-base: 14px;
55
+ --pivot-text-lg: 16px;
56
+ --pivot-text-xl: 18px;
57
+
58
+ /* ─────────────────────────────────────────────────────────
59
+ Structural Tokens
60
+ ───────────────────────────────────────────────────────── */
61
+ --pivot-overlay-bg: rgba(0, 0, 0, 0.5);
62
+ --pivot-modal-bg: var(--pivot-surface);
63
+
64
+ /* Unified Shadow System */
65
+ --pivot-shadow-none: none;
66
+ --pivot-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
67
+ --pivot-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
68
+ --pivot-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
69
+ --pivot-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
70
+
71
+ /* Unified Border Radius System */
72
+ --pivot-radius-none: 0px;
73
+ --pivot-radius-sm: 4px;
74
+ --pivot-radius-md: 6px;
75
+ --pivot-radius-lg: 8px;
76
+ --pivot-radius-xl: 12px;
77
+ --pivot-radius-full: 9999px;
78
+
79
+ /* Default text and background for the component */
80
+ color: var(--pivot-text);
81
+ background-color: var(--pivot-bg);
82
+ font-size: var(--pivot-text-base);
83
+ }
84
+
85
+ /* ─────────────────────────────────────────────────────────────
86
+ Strict Resets
87
+ Prevents host application CSS from bleeding in
88
+ ───────────────────────────────────────────────────────────── */
89
+
90
+ .kanuni-pivot-root *,
91
+ .kanuni-pivot-root *::before,
92
+ .kanuni-pivot-root *::after {
93
+ box-sizing: border-box;
94
+ }
95
+
96
+ /* Table Reset */
97
+ .kanuni-pivot-root table {
98
+ border-collapse: separate !important; /* Critical for virtualization */
99
+ border-spacing: 0 !important;
100
+ width: auto;
101
+ margin: 0;
102
+ padding: 0;
103
+ background: transparent;
104
+ table-layout: auto;
105
+ }
106
+
107
+ .kanuni-pivot-root th,
108
+ .kanuni-pivot-root td {
109
+ padding: 0;
110
+ margin: 0;
111
+ border: none;
112
+ background: transparent;
113
+ color: inherit;
114
+ font-size: inherit;
115
+ font-weight: inherit;
116
+ text-align: left;
117
+ vertical-align: middle;
118
+ }
119
+
120
+ /* Form Elements Reset */
121
+ .kanuni-pivot-root button {
122
+ background: transparent;
123
+ border: none;
124
+ padding: 0;
125
+ margin: 0;
126
+ font: inherit;
127
+ color: inherit;
128
+ cursor: pointer;
129
+ outline: none;
130
+ appearance: none;
131
+ }
132
+
133
+ .kanuni-pivot-root input,
134
+ .kanuni-pivot-root select {
135
+ font: inherit;
136
+ color: inherit;
137
+ margin: 0;
138
+ outline: none;
139
+ box-shadow: none;
140
+ background: transparent;
141
+ }
142
+
143
+ /* Typography Reset */
144
+ .kanuni-pivot-root h1,
145
+ .kanuni-pivot-root h2,
146
+ .kanuni-pivot-root h3,
147
+ .kanuni-pivot-root p {
148
+ margin: 0;
149
+ padding: 0;
150
+ font-weight: normal;
151
+ color: inherit;
152
+ }
153
+
154
+ .kanuni-pivot-root ul,
155
+ .kanuni-pivot-root ol {
156
+ margin: 0;
157
+ padding: 0;
158
+ list-style: none;
159
+ }
160
+
161
+ /* ─────────────────────────────────────────────────────────────
162
+ Shared Layout Utilities (Internal to PivotGrid)
163
+ Replaces basic Tailwind classes
164
+ ───────────────────────────────────────────────────────────── */
165
+
166
+ .pivot-flex { display: flex; }
167
+ .pivot-flex-col { display: flex; flex-direction: column; }
168
+ .pivot-flex-1 { flex: 1; min-width: 0; min-height: 0; }
169
+ .pivot-items-center { align-items: center; }
170
+ .pivot-justify-center { justify-content: center; }
171
+ .pivot-justify-between { justify-content: space-between; }
172
+ .pivot-justify-end { justify-content: flex-end; }
173
+ .pivot-gap-1 { gap: var(--pivot-space-1); }
174
+ .pivot-gap-2 { gap: var(--pivot-space-2); }
175
+ .pivot-gap-3 { gap: var(--pivot-space-3); }
176
+ .pivot-gap-4 { gap: var(--pivot-space-4); }
177
+
178
+ .pivot-w-full { width: 100%; }
179
+ .pivot-h-full { height: 100%; }
180
+
181
+ .pivot-relative { position: relative; }
182
+ .pivot-absolute { position: absolute; }
183
+
184
+ .pivot-hidden { display: none !important; }
185
+ .pivot-block { display: block; }
186
+
187
+ .pivot-truncate {
188
+ overflow: hidden;
189
+ text-overflow: ellipsis;
190
+ white-space: nowrap;
191
+ }
192
+
193
+ .pivot-text-sm { font-size: var(--pivot-text-sm); }
194
+ .pivot-text-xs { font-size: var(--pivot-text-xs); }
195
+ .pivot-text-lg { font-size: var(--pivot-text-lg); }
196
+ .pivot-font-medium { font-weight: 500; }
197
+ .pivot-font-semibold { font-weight: 600; }
198
+ .pivot-font-bold { font-weight: 700; }
199
+
200
+ .pivot-text-muted { color: var(--pivot-text-muted); }
201
+ .pivot-text-primary { color: var(--pivot-primary); }
202
+ .pivot-text-danger { color: var(--pivot-danger); }
203
+ .pivot-text-success { color: var(--pivot-success); }
204
+ .pivot-text-warning { color: var(--pivot-warning); }
205
+
206
+ .pivot-bg-surface { background-color: var(--pivot-surface); }
207
+ .pivot-bg-primary { background-color: var(--pivot-primary); color: var(--pivot-primary-foreground); }
208
+
209
+ /* Custom Scrollbar for Pivot */
210
+ .pivot-custom-scrollbar,
211
+ .custom-scrollbar {
212
+ scrollbar-width: thin;
213
+ scrollbar-color: color-mix(in srgb, var(--pivot-border) 80%, transparent) transparent;
214
+ }
215
+
216
+ .pivot-custom-scrollbar::-webkit-scrollbar,
217
+ .custom-scrollbar::-webkit-scrollbar {
218
+ width: 8px;
219
+ height: 8px;
220
+ }
221
+
222
+ .pivot-custom-scrollbar::-webkit-scrollbar-track,
223
+ .custom-scrollbar::-webkit-scrollbar-track {
224
+ background: transparent;
225
+ }
226
+
227
+ .pivot-custom-scrollbar::-webkit-scrollbar-thumb,
228
+ .custom-scrollbar::-webkit-scrollbar-thumb {
229
+ background-color: color-mix(in srgb, var(--pivot-border) 80%, transparent);
230
+ border-radius: var(--pivot-radius-full);
231
+ border: 2px solid transparent;
232
+ background-clip: padding-box;
233
+ }
234
+
235
+ .pivot-custom-scrollbar::-webkit-scrollbar-thumb:hover,
236
+ .custom-scrollbar::-webkit-scrollbar-thumb:hover {
237
+ background-color: var(--pivot-text-muted);
238
+ }
239
+
240
+ /* ─────────────────────────────────────────────────────────────
241
+ Interaction State Standards
242
+ ───────────────────────────────────────────────────────────── */
243
+
244
+ /* Hover State */
245
+ .pivot-state-hover { transition: all 0.2s; }
246
+ .pivot-state-hover:hover {
247
+ background-color: var(--pivot-surface-hover);
248
+ color: var(--pivot-text);
249
+ }
250
+
251
+ /* Active State */
252
+ .pivot-state-active:active {
253
+ transform: scale(0.98);
254
+ background-color: color-mix(in srgb, var(--pivot-border) 40%, var(--pivot-surface));
255
+ }
256
+
257
+ /* Focus State */
258
+ .pivot-state-focus:focus-visible {
259
+ outline: 2px solid var(--pivot-primary);
260
+ outline-offset: 2px;
261
+ }
262
+
263
+ /* Disabled State */
264
+ .pivot-state-disabled,
265
+ .pivot-state-disabled:hover {
266
+ opacity: 0.5;
267
+ cursor: not-allowed;
268
+ pointer-events: none;
269
+ background-color: var(--pivot-surface);
270
+ }
271
+
272
+ /* Selected State */
273
+ .pivot-state-selected {
274
+ background-color: color-mix(in srgb, var(--pivot-primary) 10%, transparent) !important;
275
+ color: var(--pivot-primary) !important;
276
+ border-color: color-mix(in srgb, var(--pivot-primary) 30%, transparent) !important;
277
+ }
278
+
279
+ /* Drag-Over State */
280
+ .pivot-state-drag-over {
281
+ background-color: color-mix(in srgb, var(--pivot-primary) 15%, transparent) !important;
282
+ border: 2px dashed var(--pivot-primary) !important;
283
+ }
284
+
285
+ /* Animations */
286
+ @keyframes pivot-fade-in {
287
+ from { opacity: 0; }
288
+ to { opacity: 1; }
289
+ }
290
+ @keyframes pivot-zoom-in {
291
+ from { opacity: 0; transform: scale(0.95); }
292
+ to { opacity: 1; transform: scale(1); }
293
+ }
294
+ @keyframes pivot-slide-up {
295
+ from { opacity: 0; transform: translateY(10px); }
296
+ to { opacity: 1; transform: translateY(0); }
297
+ }
298
+ /* Loading spinner. The grid's loader uses `animation: datagrid-spin …`
299
+ inline; without this keyframe the spinner rendered frozen. Transform-based
300
+ so it stays compositor-accelerated. */
301
+ @keyframes datagrid-spin {
302
+ from { transform: rotate(0deg); }
303
+ to { transform: rotate(360deg); }
304
+ }
305
+
306
+ .pivot-animate-fade-in { animation: pivot-fade-in 0.2s ease-out; }
307
+ .pivot-animate-zoom-in { animation: pivot-zoom-in 0.2s ease-out; }
308
+ .pivot-animate-slide-up { animation: pivot-slide-up 0.2s ease-out; }
309
+
310
+ /* ─────────────────────────────────────────────────────────────
311
+ Portal/Modal Root
312
+ For elements rendered outside the main PivotGrid DOM
313
+ ───────────────────────────────────────────────────────────── */
314
+
315
+ .kanuni-pivot-portal-root {
316
+ /* Dynamic theme variables are injected by PivotPortal now */
317
+
318
+ position: relative;
319
+ z-index: 9999;
320
+ font-family: inherit;
321
+ color: var(--pivot-text);
322
+ font-size: 14px;
323
+ }
324
+
325
+ .kanuni-pivot-portal-root *,
326
+ .kanuni-pivot-portal-root *::before,
327
+ .kanuni-pivot-portal-root *::after {
328
+ box-sizing: border-box;
329
+ }
330
+
331
+ .kanuni-pivot-portal-root button {
332
+ background: transparent;
333
+ border: none;
334
+ padding: 0;
335
+ margin: 0;
336
+ font: inherit;
337
+ color: inherit;
338
+ cursor: pointer;
339
+ outline: none;
340
+ appearance: none;
341
+ }
342
+
343
+ .kanuni-pivot-portal-root input,
344
+ .kanuni-pivot-portal-root select {
345
+ font: inherit;
346
+ color: inherit;
347
+ margin: 0;
348
+ outline: none;
349
+ box-shadow: none;
350
+ background: transparent;
351
+ }
352
+
353
+ .kanuni-pivot-portal-root h1,
354
+ .kanuni-pivot-portal-root h2,
355
+ .kanuni-pivot-portal-root h3,
356
+ .kanuni-pivot-portal-root p {
357
+ margin: 0;
358
+ padding: 0;
359
+ font-weight: normal;
360
+ color: inherit;
361
+ }
362
+
363
+ /* ─────────────────────────────────────────────────────────────
364
+ Component Specific Styles
365
+ ───────────────────────────────────────────────────────────── */
366
+
367
+ .kanuni-pivot-table {
368
+ border-collapse: separate !important;
369
+ border-spacing: 0;
370
+ }
371
+
372
+ .kanuni-pivot-table .kanuni-pivot-cell {
373
+ max-width: 250px;
374
+ /* Deterministic row metrics: 27px line + 1px bottom border = ROW_HEIGHT
375
+ (28px, see PivotGridBody). Vertical padding stays 0 so a body row can
376
+ never grow past ROW_HEIGHT regardless of the host page's font size —
377
+ otherwise the left/right panes drift apart row by row. */
378
+ padding: 0 var(--pivot-space-2);
379
+ line-height: 27px;
380
+ white-space: nowrap;
381
+ overflow: hidden;
382
+ text-overflow: ellipsis;
383
+ border-bottom: 1px solid var(--pivot-border);
384
+ border-right: 1px solid var(--pivot-border);
385
+ }
386
+
387
+ .kanuni-pivot-table .kanuni-pivot-header-cell {
388
+ max-width: 250px;
389
+ padding: var(--pivot-space-1-5) var(--pivot-space-2);
390
+ /* 19px line + 2×4px inline padding + 1px border = ROW_HEIGHT (28px). */
391
+ line-height: 19px;
392
+ white-space: nowrap;
393
+ overflow: hidden;
394
+ text-overflow: ellipsis;
395
+ color: var(--pivot-text-header, var(--pivot-text));
396
+ }
397
+
398
+ /* Row header cells */
399
+ .kanuni-pivot-table .kanuni-pivot-row-header {
400
+ font-size: var(--pivot-text-sm);
401
+ font-weight: 400;
402
+ color: var(--pivot-text);
403
+ border-right: 1px solid var(--pivot-border);
404
+ border-bottom: 1px solid var(--pivot-border);
405
+ border-left: 2px solid var(--pivot-group-border, transparent);
406
+ background: var(--pivot-surface);
407
+ vertical-align: top;
408
+ max-width: 300px;
409
+ overflow: hidden;
410
+ text-overflow: ellipsis;
411
+ white-space: nowrap;
412
+ }
413
+
414
+ .kanuni-pivot-table .kanuni-pivot-row-expandable {
415
+ cursor: pointer;
416
+ transition: background-color 0.2s;
417
+ }
418
+
419
+ .kanuni-pivot-table .kanuni-pivot-row-expandable:hover {
420
+ background: var(--pivot-surface-hover);
421
+ }
422
+
423
+ /* Expand/collapse icon (+/- box) */
424
+ .kanuni-pivot-expand-icon {
425
+ display: inline-flex;
426
+ align-items: center;
427
+ justify-content: center;
428
+ width: var(--pivot-space-3);
429
+ height: var(--pivot-space-3);
430
+ border: 1px solid var(--pivot-border);
431
+ background: var(--pivot-surface);
432
+ color: var(--pivot-text-muted);
433
+ font-family: monospace;
434
+ font-size: var(--pivot-text-xs);
435
+ line-height: 1;
436
+ border-radius: var(--pivot-radius-sm);
437
+ transition: all 0.15s;
438
+ }
439
+
440
+ .kanuni-pivot-row-expandable:hover .kanuni-pivot-expand-icon,
441
+ .kanuni-pivot-header-cell:hover .kanuni-pivot-expand-icon {
442
+ border-color: var(--pivot-primary);
443
+ color: var(--pivot-primary);
444
+ }
445
+
446
+ /* Zebra Striping */
447
+ .kanuni-pivot-striped .kanuni-pivot-table .kanuni-pivot-row:nth-child(even) .kanuni-pivot-cell {
448
+ background-color: var(--pivot-stripe-bg, var(--pivot-surface-hover));
449
+ }
450
+
451
+ /* Total cells (subtotals & grand total) */
452
+ .kanuni-pivot-table .kanuni-pivot-cell-total {
453
+ background: var(--pivot-total-bg, color-mix(in srgb, var(--pivot-border) 40%, var(--pivot-surface))) !important;
454
+ font-weight: 600;
455
+ }
456
+
457
+ /* Subtotal row */
458
+ .kanuni-pivot-table .kanuni-pivot-subtotal-row {
459
+ background: var(--pivot-total-bg, color-mix(in srgb, var(--pivot-border) 30%, var(--pivot-surface)));
460
+ }
461
+
462
+ .kanuni-pivot-table .kanuni-pivot-subtotal-row .kanuni-pivot-cell {
463
+ font-weight: 600;
464
+ background: var(--pivot-total-bg, color-mix(in srgb, var(--pivot-border) 30%, var(--pivot-surface)));
465
+ }
466
+
467
+ /* Grand total row */
468
+ .kanuni-pivot-table .kanuni-pivot-grand-total-row {
469
+ background: var(--pivot-total-bg, color-mix(in srgb, var(--pivot-border) 50%, var(--pivot-surface)));
470
+ }
471
+
472
+ .kanuni-pivot-table .kanuni-pivot-grand-total-row .kanuni-pivot-cell {
473
+ font-weight: 700;
474
+ background: var(--pivot-total-bg, color-mix(in srgb, var(--pivot-border) 50%, var(--pivot-surface)));
475
+ /* Drawn as an inset shadow (not border-top) so the grand-total row stays
476
+ exactly ROW_HEIGHT tall — a real border would add 2px and desync the
477
+ left/right panes. */
478
+ box-shadow: inset 0 2px 0 0 var(--pivot-border);
479
+ }
480
+
481
+ /* Corner cell (row field headers in corner) */
482
+ .kanuni-pivot-table .kanuni-pivot-header-corner {
483
+ background: color-mix(in srgb, var(--pivot-border) 20%, var(--pivot-surface)) !important;
484
+ border-right: 1px solid var(--pivot-border);
485
+ border-bottom: 1px solid var(--pivot-border);
486
+ }
487
+
488
+ /* Header total columns */
489
+ .kanuni-pivot-table .kanuni-pivot-header-total {
490
+ background: color-mix(in srgb, var(--pivot-border) 40%, var(--pivot-surface)) !important;
491
+ font-weight: 600 !important;
492
+ }
493
+
494
+ /* Focused cell */
495
+ .kanuni-pivot-table .kanuni-pivot-cell-focused {
496
+ outline: 2px solid var(--pivot-primary);
497
+ outline-offset: -2px;
498
+ background: color-mix(in srgb, var(--pivot-primary) 8%, transparent) !important;
499
+ }
500
+
501
+ /* Selected cell */
502
+ .kanuni-pivot-table .kanuni-pivot-cell-selected {
503
+ background: color-mix(in srgb, var(--pivot-primary) 12%, transparent) !important;
504
+ color: var(--pivot-primary) !important;
505
+ font-weight: 500;
506
+ }
507
+
508
+
509
+
510
+ .kanuni-pivot-dropdown-divider {
511
+ margin: var(--pivot-space-1) 0;
512
+ border-top: 1px solid var(--pivot-border);
513
+ }
514
+
515
+ /* Filter icon state */
516
+ .kanuni-pivot-filter-icon.kanuni-pivot-is-filtered {
517
+ color: var(--pivot-icon-active, var(--pivot-danger));
518
+ }
519
+ .kanuni-pivot-filter-icon:not(.kanuni-pivot-is-filtered):hover {
520
+ opacity: 0.7 !important;
521
+ }
522
+
523
+ /* Resize Handles */
524
+ .kanuni-pivot-resize-handle {
525
+ position: absolute;
526
+ top: 0;
527
+ bottom: 0;
528
+ width: 6px;
529
+ cursor: col-resize;
530
+ z-index: 10;
531
+ }
532
+ .kanuni-pivot-resize-handle:hover,
533
+ .kanuni-pivot-resize-handle:active {
534
+ background-color: var(--pivot-primary);
535
+ opacity: 0.5;
536
+ }
537
+
538
+ /* ─────────────────────────────────────────────────────────────
539
+ Report Menu Styles
540
+ ───────────────────────────────────────────────────────────── */
541
+ .kanuni-pivot-report-btn {
542
+ display: flex;
543
+ align-items: center;
544
+ gap: 8px;
545
+ padding: 6px 12px;
546
+ border-radius: var(--pivot-border-radius);
547
+ transition: all 0.2s;
548
+ font-size: 14px;
549
+ font-weight: 500;
550
+ }
551
+ .kanuni-pivot-report-btn--open {
552
+ background-color: var(--pivot-primary);
553
+ color: var(--pivot-primary-foreground);
554
+ box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
555
+ }
556
+ .kanuni-pivot-report-btn--active {
557
+ background-color: color-mix(in srgb, var(--pivot-primary) 10%, transparent);
558
+ color: var(--pivot-primary);
559
+ border: 1px solid color-mix(in srgb, var(--pivot-primary) 20%, transparent);
560
+ }
561
+ .kanuni-pivot-report-btn--active:hover {
562
+ background-color: color-mix(in srgb, var(--pivot-primary) 20%, transparent);
563
+ }
564
+ .kanuni-pivot-report-btn--default {
565
+ color: var(--pivot-text-muted);
566
+ border: 1px solid transparent;
567
+ }
568
+ .kanuni-pivot-report-btn--default:hover {
569
+ border-color: color-mix(in srgb, var(--pivot-border) 50%, transparent);
570
+ background-color: var(--pivot-surface);
571
+ color: var(--pivot-text);
572
+ }
573
+
574
+ .kanuni-pivot-report-dropdown {
575
+ position: absolute;
576
+ left: 0;
577
+ bottom: 100%;
578
+ margin-bottom: 4px;
579
+ width: 256px;
580
+ background-color: var(--pivot-surface);
581
+ border: 1px solid var(--pivot-border);
582
+ border-radius: var(--pivot-border-radius-lg);
583
+ box-shadow: var(--pivot-shadow-md);
584
+ padding: 4px 0;
585
+ z-index: 50;
586
+ }
587
+
588
+ .kanuni-pivot-report-section-title {
589
+ padding: 6px 12px;
590
+ font-size: 10px;
591
+ font-weight: 700;
592
+ color: var(--pivot-text-muted);
593
+ text-transform: uppercase;
594
+ letter-spacing: 0.05em;
595
+ background-color: color-mix(in srgb, var(--pivot-surface-header) 30%, transparent);
596
+ border-bottom: 1px solid color-mix(in srgb, var(--pivot-border) 50%, transparent);
597
+ margin-bottom: 4px;
598
+ }
599
+
600
+ .kanuni-pivot-report-item {
601
+ width: 100%;
602
+ text-align: left;
603
+ padding: 8px 16px;
604
+ display: flex;
605
+ align-items: center;
606
+ gap: 12px;
607
+ font-size: 14px;
608
+ color: var(--pivot-text);
609
+ transition: background-color 0.15s;
610
+ }
611
+ .kanuni-pivot-report-item:hover {
612
+ background-color: color-mix(in srgb, var(--pivot-primary) 5%, transparent);
613
+ }
614
+
615
+ .kanuni-pivot-report-list {
616
+ max-height: 192px;
617
+ overflow-y: auto;
618
+ }
619
+
620
+ .kanuni-pivot-report-list-item {
621
+ display: flex;
622
+ align-items: center;
623
+ justify-content: space-between;
624
+ padding: 4px 8px;
625
+ margin: 0 4px;
626
+ border-radius: var(--pivot-border-radius);
627
+ border: 1px solid transparent;
628
+ }
629
+ .kanuni-pivot-report-list-item:hover {
630
+ background-color: var(--pivot-surface-hover);
631
+ }
632
+ .kanuni-pivot-report-list-item--active {
633
+ background-color: color-mix(in srgb, var(--pivot-primary) 5%, transparent);
634
+ border-color: color-mix(in srgb, var(--pivot-primary) 20%, transparent);
635
+ }
636
+ .kanuni-pivot-report-list-item:hover .kanuni-pivot-report-actions {
637
+ opacity: 1;
638
+ }
639
+
640
+ .kanuni-pivot-report-list-btn {
641
+ flex: 1;
642
+ display: flex;
643
+ align-items: center;
644
+ gap: 8px;
645
+ text-align: left;
646
+ overflow: hidden;
647
+ padding: 4px 8px;
648
+ }
649
+
650
+ .kanuni-pivot-report-actions {
651
+ display: flex;
652
+ align-items: center;
653
+ gap: 4px;
654
+ opacity: 0;
655
+ transition: opacity 0.2s;
656
+ }
657
+
658
+ .kanuni-pivot-action-btn {
659
+ padding: 4px;
660
+ color: var(--pivot-text-muted);
661
+ border-radius: var(--pivot-border-radius-sm);
662
+ transition: all 0.15s;
663
+ }
664
+ .kanuni-pivot-action-btn--warning:hover {
665
+ color: var(--pivot-warning);
666
+ background-color: color-mix(in srgb, var(--pivot-warning) 10%, transparent);
667
+ }
668
+ .kanuni-pivot-action-btn--danger:hover {
669
+ color: var(--pivot-danger);
670
+ background-color: color-mix(in srgb, var(--pivot-danger) 10%, transparent);
671
+ }
672
+
673
+ /* ─────────────────────────────────────────────────────────────
674
+ Modal Styles
675
+ ───────────────────────────────────────────────────────────── */
676
+ .kanuni-pivot-modal-overlay {
677
+ position: fixed;
678
+ inset: 0;
679
+ background-color: var(--pivot-overlay-bg);
680
+ backdrop-filter: blur(2px);
681
+ z-index: 99998;
682
+ }
683
+
684
+ .kanuni-pivot-modal {
685
+ position: fixed;
686
+ left: 50%;
687
+ top: 50%;
688
+ transform: translate(-50%, -50%);
689
+ width: 100%;
690
+ max-width: 450px;
691
+ background-color: var(--pivot-modal-bg);
692
+ border: 1px solid var(--pivot-border);
693
+ border-radius: var(--pivot-border-radius-lg);
694
+ box-shadow: var(--pivot-shadow-xl);
695
+ padding: 24px;
696
+ z-index: 99999;
697
+ display: flex;
698
+ flex-direction: column;
699
+ gap: 16px;
700
+ }
701
+
702
+ .kanuni-pivot-modal-header {
703
+ display: flex;
704
+ flex-direction: column;
705
+ gap: 6px;
706
+ }
707
+
708
+ .kanuni-pivot-modal-title {
709
+ font-size: 18px;
710
+ font-weight: 600;
711
+ color: var(--pivot-text);
712
+ display: flex;
713
+ justify-content: space-between;
714
+ align-items: center;
715
+ }
716
+
717
+ .kanuni-pivot-modal-close {
718
+ padding: 6px;
719
+ border-radius: 50%;
720
+ color: var(--pivot-text-muted);
721
+ transition: background-color 0.15s;
722
+ }
723
+ .kanuni-pivot-modal-close:hover {
724
+ background-color: var(--pivot-surface-hover);
725
+ }
726
+
727
+ .kanuni-pivot-modal-desc {
728
+ font-size: 14px;
729
+ color: var(--pivot-text-muted);
730
+ }
731
+
732
+ .kanuni-pivot-form-group {
733
+ display: flex;
734
+ flex-direction: column;
735
+ gap: 8px;
736
+ }
737
+
738
+ .kanuni-pivot-label {
739
+ font-size: 14px;
740
+ font-weight: 500;
741
+ color: var(--pivot-text);
742
+ }
743
+
744
+ .kanuni-pivot-input {
745
+ width: 100%;
746
+ height: 36px;
747
+ padding: 4px 12px;
748
+ border-radius: var(--pivot-border-radius);
749
+ border: 1px solid var(--pivot-border);
750
+ background-color: transparent;
751
+ color: var(--pivot-text);
752
+ font-size: 14px;
753
+ transition: border-color 0.15s, box-shadow 0.15s;
754
+ }
755
+ .kanuni-pivot-input:focus {
756
+ outline: none;
757
+ border-color: var(--pivot-primary);
758
+ box-shadow: 0 0 0 1px var(--pivot-primary);
759
+ }
760
+
761
+ .kanuni-pivot-checkbox-group {
762
+ display: flex;
763
+ align-items: center;
764
+ gap: 8px;
765
+ cursor: pointer;
766
+ }
767
+
768
+ .kanuni-pivot-checkbox {
769
+ width: 16px;
770
+ height: 16px;
771
+ border-radius: var(--pivot-border-radius-sm);
772
+ border: 1px solid var(--pivot-border);
773
+ cursor: pointer;
774
+ }
775
+ .kanuni-pivot-checkbox:checked {
776
+ background-color: var(--pivot-primary);
777
+ border-color: var(--pivot-primary);
778
+ }
779
+
780
+ .kanuni-pivot-modal-footer {
781
+ display: flex;
782
+ justify-content: flex-end;
783
+ gap: 8px;
784
+ margin-top: 8px;
785
+ }
786
+
787
+ .kanuni-pivot-btn {
788
+ display: inline-flex;
789
+ align-items: center;
790
+ justify-content: center;
791
+ gap: 8px;
792
+ height: 36px;
793
+ padding: 0 16px;
794
+ border-radius: var(--pivot-border-radius);
795
+ font-size: 14px;
796
+ font-weight: 500;
797
+ transition: all 0.15s;
798
+ cursor: pointer;
799
+ }
800
+ .kanuni-pivot-btn:disabled {
801
+ opacity: 0.5;
802
+ cursor: not-allowed;
803
+ }
804
+ .kanuni-pivot-btn--outline {
805
+ background-color: transparent;
806
+ border: 1px solid var(--pivot-border);
807
+ color: var(--pivot-text);
808
+ }
809
+ .kanuni-pivot-btn--outline:hover:not(:disabled) {
810
+ background-color: var(--pivot-surface-hover);
811
+ }
812
+ .kanuni-pivot-btn--primary {
813
+ background-color: var(--pivot-primary);
814
+ border: 1px solid var(--pivot-primary);
815
+ color: var(--pivot-primary-foreground);
816
+ }
817
+ .kanuni-pivot-btn--primary:hover:not(:disabled) {
818
+ background-color: var(--pivot-primary-hover);
819
+ }
820
+
821
+ /* ─────────────────────────────────────────────────────────────
822
+ Footer / Toolbar Styles
823
+ ───────────────────────────────────────────────────────────── */
824
+ .kanuni-pivot-footer-btn {
825
+ padding: 6px;
826
+ border-radius: var(--pivot-border-radius);
827
+ color: var(--pivot-text-muted);
828
+ background-color: transparent;
829
+ border: 1px solid transparent;
830
+ transition: all 0.2s;
831
+ display: inline-flex;
832
+ align-items: center;
833
+ justify-content: center;
834
+ }
835
+ .kanuni-pivot-footer-btn:hover {
836
+ color: var(--pivot-text);
837
+ background-color: var(--pivot-surface);
838
+ border-color: color-mix(in srgb, var(--pivot-border) 50%, transparent);
839
+ }
840
+ .kanuni-pivot-footer-btn:focus {
841
+ outline: none;
842
+ }
843
+ .kanuni-pivot-footer-btn--active {
844
+ background-color: var(--pivot-primary);
845
+ color: var(--pivot-primary-foreground);
846
+ box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
847
+ }
848
+ .kanuni-pivot-footer-divider {
849
+ height: 16px;
850
+ width: 1px;
851
+ background-color: var(--pivot-border);
852
+ margin: 0 4px;
853
+ }
854
+
855
+ /* ─────────────────────────────────────────────────────────────
856
+ Area Strips & Field Chips Styles
857
+ ───────────────────────────────────────────────────────────── */
858
+ .kanuni-pivot-area-dropzone {
859
+ flex: 1;
860
+ display: flex;
861
+ flex-direction: column;
862
+ background-color: var(--pivot-bg);
863
+ border: 1px solid color-mix(in srgb, var(--pivot-border) 60%, transparent);
864
+ border-radius: var(--pivot-border-radius-sm);
865
+ overflow: hidden;
866
+ min-height: 42px;
867
+ transition: border-color 0.2s;
868
+ }
869
+ .kanuni-pivot-area-dropzone:hover {
870
+ border-color: var(--pivot-border);
871
+ }
872
+
873
+ .kanuni-pivot-area-header {
874
+ display: flex;
875
+ align-items: center;
876
+ gap: 6px;
877
+ padding: 4px 8px;
878
+ background-color: color-mix(in srgb, var(--pivot-surface-header) 50%, var(--pivot-bg));
879
+ border-bottom: 1px solid color-mix(in srgb, var(--pivot-border) 40%, transparent);
880
+ font-size: 10px;
881
+ font-weight: 700;
882
+ color: var(--pivot-text-muted);
883
+ text-transform: uppercase;
884
+ letter-spacing: 0.05em;
885
+ }
886
+
887
+ .kanuni-pivot-area-content {
888
+ flex: 1;
889
+ display: flex;
890
+ flex-wrap: wrap;
891
+ gap: 4px;
892
+ padding: 4px;
893
+ align-items: flex-start;
894
+ align-content: flex-start;
895
+ }
896
+
897
+ .kanuni-pivot-field-chip {
898
+ display: flex;
899
+ align-items: center;
900
+ gap: 4px;
901
+ padding: 4px 6px;
902
+ background-color: var(--pivot-surface);
903
+ color: var(--pivot-text);
904
+ border: 1px solid color-mix(in srgb, var(--pivot-border) 80%, transparent);
905
+ box-shadow: var(--pivot-shadow-sm);
906
+ border-radius: var(--pivot-border-radius-sm);
907
+ font-size: 12px;
908
+ font-weight: 500;
909
+ transition: all 0.2s;
910
+ }
911
+ .kanuni-pivot-field-chip:hover {
912
+ border-color: color-mix(in srgb, var(--pivot-primary) 50%, transparent);
913
+ background-color: color-mix(in srgb, var(--pivot-primary) 5%, transparent);
914
+ }
915
+ .kanuni-pivot-field-chip.is-dragging {
916
+ opacity: 0.5;
917
+ box-shadow: 0 0 0 2px var(--pivot-primary);
918
+ cursor: grabbing !important;
919
+ }
920
+
921
+ .kanuni-pivot-field-chip-actions {
922
+ display: flex;
923
+ align-items: center;
924
+ gap: 2px;
925
+ margin-left: 4px;
926
+ opacity: 0;
927
+ transition: opacity 0.2s;
928
+ }
929
+ .kanuni-pivot-field-chip:hover .kanuni-pivot-field-chip-actions {
930
+ opacity: 1;
931
+ }
932
+ .kanuni-pivot-field-chip-actions.is-filtered {
933
+ opacity: 1;
934
+ }
935
+
936
+ .kanuni-pivot-chip-btn {
937
+ padding: 2px;
938
+ border-radius: var(--pivot-border-radius-sm);
939
+ transition: all 0.15s;
940
+ background: transparent;
941
+ color: var(--pivot-text-muted);
942
+ }
943
+ .kanuni-pivot-chip-btn:hover {
944
+ background-color: var(--pivot-surface-hover);
945
+ color: var(--pivot-primary);
946
+ }
947
+ .kanuni-pivot-chip-btn--danger:hover {
948
+ background-color: color-mix(in srgb, var(--pivot-danger) 10%, transparent);
949
+ color: var(--pivot-danger);
950
+ }
951
+
952
+ /* ─────────────────────────────────────────────────────────────
953
+ Filter Popup Styles
954
+ ───────────────────────────────────────────────────────────── */
955
+ .kanuni-pivot-dropdown-menu {
956
+ position: absolute;
957
+ background-color: var(--pivot-surface);
958
+ border: 1px solid var(--pivot-border);
959
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0,0,0,0.02);
960
+ border-radius: var(--pivot-radius-lg);
961
+ padding: 8px;
962
+ z-index: 1000;
963
+ display: flex;
964
+ flex-direction: column;
965
+ gap: 4px;
966
+ min-width: 220px;
967
+ }
968
+ .kanuni-pivot-dropdown-item {
969
+ width: 100%;
970
+ text-align: left;
971
+ padding: 12px 18px; /* Increased padding as requested */
972
+ font-size: 14px;
973
+ font-weight: 400;
974
+ color: var(--pivot-text);
975
+ background: transparent;
976
+ border: none;
977
+ border-radius: 6px;
978
+ cursor: pointer;
979
+ display: flex;
980
+ align-items: center;
981
+ gap: 12px;
982
+ transition: background-color 0.15s ease-in-out;
983
+ }
984
+ .kanuni-pivot-dropdown-item:hover {
985
+ background-color: var(--pivot-surface-hover);
986
+ }
987
+ .kanuni-pivot-dropdown-item svg {
988
+ color: var(--pivot-text-muted);
989
+ flex-shrink: 0;
990
+ transition: color 0.15s;
991
+ }
992
+ .kanuni-pivot-dropdown-item:hover svg {
993
+ color: var(--pivot-text);
994
+ }
995
+ .kanuni-pivot-dropdown-item-danger {
996
+ color: var(--pivot-danger);
997
+ }
998
+ .kanuni-pivot-dropdown-item-danger svg {
999
+ color: var(--pivot-danger) !important;
1000
+ }
1001
+ .kanuni-pivot-dropdown-item-danger:hover {
1002
+ background-color: color-mix(in srgb, var(--pivot-danger) 8%, transparent);
1003
+ color: var(--pivot-danger);
1004
+ }
1005
+
1006
+ /* Fullscreen mode overrides for dropdowns */
1007
+ .pivot-is-fullscreen .kanuni-pivot-dropdown-menu,
1008
+ .pivot-is-fullscreen .dropdown-menu {
1009
+ padding: 12px !important;
1010
+ gap: 4px !important;
1011
+ }
1012
+ .pivot-is-fullscreen .kanuni-pivot-dropdown-item,
1013
+ .pivot-is-fullscreen .dropdown-item {
1014
+ padding: 12px 16px !important;
1015
+ }
1016
+ .pivot-is-fullscreen .kanuni-pivot-report-section-title {
1017
+ padding: 10px 16px !important;
1018
+ }
1019
+ .kanuni-pivot-dropdown-divider {
1020
+ height: 1px;
1021
+ background-color: var(--pivot-border);
1022
+ margin: 4px -6px;
1023
+ }
1024
+ .kanuni-pivot-popup {
1025
+ position: fixed;
1026
+ z-index: 9999;
1027
+ background-color: var(--pivot-surface);
1028
+ border: 1px solid var(--pivot-border);
1029
+ border-radius: var(--pivot-border-radius);
1030
+ box-shadow: var(--pivot-shadow-lg);
1031
+ display: flex;
1032
+ flex-direction: column;
1033
+ overflow: hidden;
1034
+ color: var(--pivot-text);
1035
+ font-size: 13px;
1036
+ }
1037
+
1038
+ .kanuni-pivot-popup-header {
1039
+ padding: 8px;
1040
+ border-bottom: 1px solid var(--pivot-border);
1041
+ display: flex;
1042
+ flex-direction: column;
1043
+ gap: 8px;
1044
+ }
1045
+
1046
+ .kanuni-pivot-popup-search {
1047
+ position: relative;
1048
+ display: flex;
1049
+ align-items: center;
1050
+ }
1051
+ .kanuni-pivot-popup-search-icon {
1052
+ position: absolute;
1053
+ left: 8px;
1054
+ color: var(--pivot-text-muted);
1055
+ }
1056
+ .kanuni-pivot-popup-search-input {
1057
+ width: 100%;
1058
+ padding: 6px 8px 6px 28px;
1059
+ border: 1px solid var(--pivot-border);
1060
+ border-radius: var(--pivot-border-radius-sm);
1061
+ background-color: var(--pivot-surface);
1062
+ color: var(--pivot-text);
1063
+ font-size: 13px;
1064
+ outline: none;
1065
+ transition: border-color 0.15s;
1066
+ }
1067
+ .kanuni-pivot-popup-search-input:focus {
1068
+ border-color: var(--pivot-primary);
1069
+ }
1070
+
1071
+ .kanuni-pivot-popup-actions {
1072
+ display: flex;
1073
+ gap: 8px;
1074
+ }
1075
+ .kanuni-pivot-popup-action-btn {
1076
+ font-size: 11px;
1077
+ background: transparent;
1078
+ border: none;
1079
+ padding: 0;
1080
+ cursor: pointer;
1081
+ transition: opacity 0.15s;
1082
+ }
1083
+ .kanuni-pivot-popup-action-btn:hover {
1084
+ text-decoration: underline;
1085
+ }
1086
+ .kanuni-pivot-popup-action-btn--primary {
1087
+ color: var(--pivot-primary);
1088
+ }
1089
+ .kanuni-pivot-popup-action-btn--danger {
1090
+ color: var(--pivot-danger);
1091
+ }
1092
+
1093
+ .kanuni-pivot-popup-list {
1094
+ flex: 1;
1095
+ overflow-y: auto;
1096
+ min-height: 0;
1097
+ }
1098
+
1099
+ .kanuni-pivot-popup-item {
1100
+ display: flex;
1101
+ align-items: center;
1102
+ gap: 8px;
1103
+ padding: 4px 8px;
1104
+ cursor: pointer;
1105
+ user-select: none;
1106
+ outline: none;
1107
+ }
1108
+ .kanuni-pivot-popup-item:hover,
1109
+ .kanuni-pivot-popup-item:focus {
1110
+ background-color: var(--pivot-surface-hover);
1111
+ }
1112
+ .kanuni-pivot-popup-item--active {
1113
+ background-color: color-mix(in srgb, var(--pivot-primary) 10%, transparent);
1114
+ }
1115
+ .kanuni-pivot-popup-item--checked {
1116
+ background-color: color-mix(in srgb, var(--pivot-primary) 5%, transparent);
1117
+ }
1118
+
1119
+ .kanuni-pivot-popup-footer {
1120
+ padding: 8px;
1121
+ border-top: 1px solid var(--pivot-border);
1122
+ display: flex;
1123
+ align-items: center;
1124
+ justify-content: flex-end;
1125
+ gap: 8px;
1126
+ flex-shrink: 0;
1127
+ }
1128
+
1129
+ /* ─────────────────────────────────────────────────────────────
1130
+ Prefilter Builder Styles
1131
+ ───────────────────────────────────────────────────────────── */
1132
+ .kanuni-pivot-prefilter-group {
1133
+ display: flex;
1134
+ flex-direction: column;
1135
+ gap: 12px;
1136
+ }
1137
+ .kanuni-pivot-prefilter-group--nested {
1138
+ padding-left: 24px;
1139
+ border-left: 2px solid color-mix(in srgb, var(--pivot-primary) 30%, transparent);
1140
+ padding-top: 8px;
1141
+ padding-bottom: 8px;
1142
+ }
1143
+
1144
+ .kanuni-pivot-prefilter-header {
1145
+ display: flex;
1146
+ align-items: center;
1147
+ gap: 8px;
1148
+ }
1149
+
1150
+ .kanuni-pivot-prefilter-select-logic {
1151
+ background-color: color-mix(in srgb, var(--pivot-primary) 10%, transparent);
1152
+ color: var(--pivot-primary);
1153
+ border: 1px solid color-mix(in srgb, var(--pivot-primary) 20%, transparent);
1154
+ border-radius: var(--pivot-border-radius-sm);
1155
+ padding: 4px 8px;
1156
+ font-size: 14px;
1157
+ font-weight: 700;
1158
+ text-transform: uppercase;
1159
+ cursor: pointer;
1160
+ outline: none;
1161
+ transition: background-color 0.15s;
1162
+ }
1163
+ .kanuni-pivot-prefilter-select-logic:hover {
1164
+ background-color: color-mix(in srgb, var(--pivot-primary) 20%, transparent);
1165
+ }
1166
+
1167
+ .kanuni-pivot-prefilter-action {
1168
+ padding: 4px;
1169
+ border-radius: var(--pivot-border-radius-sm);
1170
+ transition: all 0.15s;
1171
+ background: transparent;
1172
+ color: var(--pivot-text-muted);
1173
+ border: none;
1174
+ cursor: pointer;
1175
+ display: flex;
1176
+ align-items: center;
1177
+ justify-content: center;
1178
+ }
1179
+ .kanuni-pivot-prefilter-action:hover {
1180
+ background-color: var(--pivot-surface-hover);
1181
+ }
1182
+ .kanuni-pivot-prefilter-action--success {
1183
+ color: var(--pivot-success);
1184
+ }
1185
+ .kanuni-pivot-prefilter-action--danger {
1186
+ color: var(--pivot-danger);
1187
+ }
1188
+ .kanuni-pivot-prefilter-action--danger:hover {
1189
+ background-color: color-mix(in srgb, var(--pivot-danger) 10%, transparent);
1190
+ }
1191
+
1192
+ .kanuni-pivot-prefilter-btn-group {
1193
+ font-size: 12px;
1194
+ padding: 4px 8px;
1195
+ font-weight: 600;
1196
+ border-radius: var(--pivot-border-radius-sm);
1197
+ border: 1px solid var(--pivot-border);
1198
+ color: var(--pivot-text-muted);
1199
+ background: transparent;
1200
+ cursor: pointer;
1201
+ transition: all 0.15s;
1202
+ }
1203
+ .kanuni-pivot-prefilter-btn-group:hover {
1204
+ background-color: var(--pivot-surface-hover);
1205
+ }
1206
+
1207
+ .kanuni-pivot-prefilter-conditions {
1208
+ display: flex;
1209
+ flex-direction: column;
1210
+ gap: 8px;
1211
+ padding-left: 16px;
1212
+ }
1213
+
1214
+ .kanuni-pivot-prefilter-condition {
1215
+ display: flex;
1216
+ align-items: center;
1217
+ gap: 8px;
1218
+ padding: 6px;
1219
+ margin-left: -6px;
1220
+ border-radius: var(--pivot-border-radius);
1221
+ border: 1px solid transparent;
1222
+ transition: all 0.15s;
1223
+ }
1224
+ .kanuni-pivot-prefilter-condition:hover {
1225
+ background-color: var(--pivot-surface);
1226
+ border-color: var(--pivot-border);
1227
+ }
1228
+ .kanuni-pivot-prefilter-condition .kanuni-pivot-prefilter-action--danger {
1229
+ opacity: 0;
1230
+ }
1231
+ .kanuni-pivot-prefilter-condition:hover .kanuni-pivot-prefilter-action--danger {
1232
+ opacity: 1;
1233
+ }
1234
+
1235
+ .kanuni-pivot-prefilter-select {
1236
+ background-color: var(--pivot-surface);
1237
+ border: 1px solid var(--pivot-border);
1238
+ border-radius: var(--pivot-border-radius-sm);
1239
+ padding: 4px 8px;
1240
+ font-size: 14px;
1241
+ color: var(--pivot-text);
1242
+ outline: none;
1243
+ transition: border-color 0.15s;
1244
+ }
1245
+ .kanuni-pivot-prefilter-select:focus,
1246
+ .kanuni-pivot-prefilter-select:hover {
1247
+ border-color: var(--pivot-primary);
1248
+ }
1249
+
1250
+ /* ─────────────────────────────────────────────────────────────
1251
+ Chart Overlay & Modal Styles
1252
+ ───────────────────────────────────────────────────────────── */
1253
+ .kanuni-pivot-chart-overlay {
1254
+ width: 100%;
1255
+ background-color: var(--pivot-surface);
1256
+ border: 1px solid var(--pivot-border);
1257
+ border-radius: var(--pivot-border-radius-lg);
1258
+ padding: 16px;
1259
+ flex-shrink: 0;
1260
+ box-shadow: var(--pivot-shadow-sm);
1261
+ position: relative;
1262
+ display: flex;
1263
+ flex-direction: column;
1264
+ }
1265
+
1266
+ .kanuni-pivot-chart-actions {
1267
+ position: absolute;
1268
+ top: 8px;
1269
+ right: 8px;
1270
+ display: flex;
1271
+ gap: 4px;
1272
+ z-index: 50;
1273
+ background-color: color-mix(in srgb, var(--pivot-surface) 80%, transparent);
1274
+ padding: 4px;
1275
+ border-radius: var(--pivot-border-radius-sm);
1276
+ backdrop-filter: blur(4px);
1277
+ border: 1px solid var(--pivot-border);
1278
+ box-shadow: var(--pivot-shadow-sm);
1279
+ opacity: 0;
1280
+ transition: opacity 0.2s;
1281
+ }
1282
+ .kanuni-pivot-chart-overlay:hover .kanuni-pivot-chart-actions,
1283
+ .kanuni-pivot-chart-actions:hover {
1284
+ opacity: 1;
1285
+ }
1286
+
1287
+ .kanuni-pivot-chart-action-btn {
1288
+ padding: 6px;
1289
+ border-radius: var(--pivot-border-radius-sm);
1290
+ background: transparent;
1291
+ border: none;
1292
+ cursor: pointer;
1293
+ transition: all 0.2s;
1294
+ display: flex;
1295
+ align-items: center;
1296
+ justify-content: center;
1297
+ }
1298
+ .kanuni-pivot-chart-action-btn:hover {
1299
+ background-color: var(--pivot-surface-hover);
1300
+ }
1301
+ .kanuni-pivot-chart-action-btn--primary { color: var(--pivot-primary); }
1302
+ .kanuni-pivot-chart-action-btn--primary:hover { background-color: color-mix(in srgb, var(--pivot-primary) 10%, transparent); }
1303
+ .kanuni-pivot-chart-action-btn--danger { color: var(--pivot-danger); }
1304
+ .kanuni-pivot-chart-action-btn--danger:hover { background-color: color-mix(in srgb, var(--pivot-danger) 10%, transparent); }
1305
+ .kanuni-pivot-chart-action-btn--success { color: var(--pivot-success); }
1306
+ .kanuni-pivot-chart-action-btn--success:hover { background-color: color-mix(in srgb, var(--pivot-success) 10%, transparent); }
1307
+
1308
+
1309
+ /* ───── Tailwind utilities (compiled & scoped under .kanuni-pivot-root) ───── */
1310
+ /*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
1311
+ @layer properties;
1312
+ @layer theme, components, utilities;
1313
+ @layer theme {
1314
+ :root, :host {
1315
+ --color-black: #000;
1316
+ --spacing: 0.25rem;
1317
+ --text-xs: 0.75rem;
1318
+ --text-xs--line-height: calc(1 / 0.75);
1319
+ --text-sm: 0.875rem;
1320
+ --text-sm--line-height: calc(1.25 / 0.875);
1321
+ --font-weight-semibold: 600;
1322
+ --font-weight-bold: 700;
1323
+ --tracking-wider: 0.05em;
1324
+ --radius-sm: 0.25rem;
1325
+ --radius-md: 0.375rem;
1326
+ --radius-lg: 0.5rem;
1327
+ --radius-xl: 0.75rem;
1328
+ --ease-out: cubic-bezier(0, 0, 0.2, 1);
1329
+ --animate-spin: spin 1s linear infinite;
1330
+ --blur-md: 12px;
1331
+ --default-transition-duration: 150ms;
1332
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1333
+ }
1334
+ }
1335
+ @layer utilities {
1336
+ .kanuni-pivot-root .pointer-events-auto {
1337
+ pointer-events: auto;
1338
+ }
1339
+ .kanuni-pivot-root .pointer-events-none {
1340
+ pointer-events: none;
1341
+ }
1342
+ .kanuni-pivot-root .collapse {
1343
+ visibility: collapse;
1344
+ }
1345
+ .kanuni-pivot-root .visible {
1346
+ visibility: visible;
1347
+ }
1348
+ .kanuni-pivot-root .absolute {
1349
+ position: absolute;
1350
+ }
1351
+ .kanuni-pivot-root .fixed {
1352
+ position: fixed;
1353
+ }
1354
+ .kanuni-pivot-root .relative {
1355
+ position: relative;
1356
+ }
1357
+ .kanuni-pivot-root .static {
1358
+ position: static;
1359
+ }
1360
+ .kanuni-pivot-root .sticky {
1361
+ position: sticky;
1362
+ }
1363
+ .kanuni-pivot-root .inset-0 {
1364
+ inset: 0;
1365
+ }
1366
+ .kanuni-pivot-root .start-3 {
1367
+ inset-inline-start: calc(var(--spacing) * 3);
1368
+ }
1369
+ .kanuni-pivot-root .top-0 {
1370
+ top: 0;
1371
+ }
1372
+ .kanuni-pivot-root .top-1\/2 {
1373
+ top: calc(1 / 2 * 100%);
1374
+ }
1375
+ .kanuni-pivot-root .right-0 {
1376
+ right: 0;
1377
+ }
1378
+ .kanuni-pivot-root .bottom-0 {
1379
+ bottom: 0;
1380
+ }
1381
+ .kanuni-pivot-root .left-0 {
1382
+ left: 0;
1383
+ }
1384
+ .kanuni-pivot-root .z-50 {
1385
+ z-index: 50;
1386
+ }
1387
+ .kanuni-pivot-root .z-\[51\] {
1388
+ z-index: 51;
1389
+ }
1390
+ .kanuni-pivot-root .z-\[100\] {
1391
+ z-index: 100;
1392
+ }
1393
+ .kanuni-pivot-root .container {
1394
+ width: 100%;
1395
+ @media (width >= 40rem) {
1396
+ max-width: 40rem;
1397
+ }
1398
+ @media (width >= 48rem) {
1399
+ max-width: 48rem;
1400
+ }
1401
+ @media (width >= 64rem) {
1402
+ max-width: 64rem;
1403
+ }
1404
+ @media (width >= 80rem) {
1405
+ max-width: 80rem;
1406
+ }
1407
+ @media (width >= 96rem) {
1408
+ max-width: 96rem;
1409
+ }
1410
+ }
1411
+ .kanuni-pivot-root .m-0 {
1412
+ margin: 0;
1413
+ }
1414
+ .kanuni-pivot-root .mb-2 {
1415
+ margin-bottom: calc(var(--spacing) * 2);
1416
+ }
1417
+ .kanuni-pivot-root .block {
1418
+ display: block;
1419
+ }
1420
+ .kanuni-pivot-root .flex {
1421
+ display: flex;
1422
+ }
1423
+ .kanuni-pivot-root .grid {
1424
+ display: grid;
1425
+ }
1426
+ .kanuni-pivot-root .hidden {
1427
+ display: none;
1428
+ }
1429
+ .kanuni-pivot-root .inline {
1430
+ display: inline;
1431
+ }
1432
+ .kanuni-pivot-root .inline-block {
1433
+ display: inline-block;
1434
+ }
1435
+ .kanuni-pivot-root .inline-flex {
1436
+ display: inline-flex;
1437
+ }
1438
+ .kanuni-pivot-root .table {
1439
+ display: table;
1440
+ }
1441
+ .kanuni-pivot-root .h-1\.5 {
1442
+ height: calc(var(--spacing) * 1.5);
1443
+ }
1444
+ .kanuni-pivot-root .h-2 {
1445
+ height: calc(var(--spacing) * 2);
1446
+ }
1447
+ .kanuni-pivot-root .h-3 {
1448
+ height: calc(var(--spacing) * 3);
1449
+ }
1450
+ .kanuni-pivot-root .h-4 {
1451
+ height: calc(var(--spacing) * 4);
1452
+ }
1453
+ .kanuni-pivot-root .h-8 {
1454
+ height: calc(var(--spacing) * 8);
1455
+ }
1456
+ .kanuni-pivot-root .h-\[95vh\] {
1457
+ height: 95vh;
1458
+ }
1459
+ .kanuni-pivot-root .h-full {
1460
+ height: 100%;
1461
+ }
1462
+ .kanuni-pivot-root .w-1\.5 {
1463
+ width: calc(var(--spacing) * 1.5);
1464
+ }
1465
+ .kanuni-pivot-root .w-2 {
1466
+ width: calc(var(--spacing) * 2);
1467
+ }
1468
+ .kanuni-pivot-root .w-3 {
1469
+ width: calc(var(--spacing) * 3);
1470
+ }
1471
+ .kanuni-pivot-root .w-4 {
1472
+ width: calc(var(--spacing) * 4);
1473
+ }
1474
+ .kanuni-pivot-root .w-8 {
1475
+ width: calc(var(--spacing) * 8);
1476
+ }
1477
+ .kanuni-pivot-root .w-\[95vw\] {
1478
+ width: 95vw;
1479
+ }
1480
+ .kanuni-pivot-root .w-full {
1481
+ width: 100%;
1482
+ }
1483
+ .kanuni-pivot-root .flex-1 {
1484
+ flex: 1;
1485
+ }
1486
+ .kanuni-pivot-root .-translate-y-1\/2 {
1487
+ --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
1488
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1489
+ }
1490
+ .kanuni-pivot-root .transform {
1491
+ transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
1492
+ }
1493
+ .kanuni-pivot-root .animate-spin {
1494
+ animation: var(--animate-spin);
1495
+ }
1496
+ .kanuni-pivot-root .cursor-e-resize {
1497
+ cursor: e-resize;
1498
+ }
1499
+ .kanuni-pivot-root .cursor-move {
1500
+ cursor: move;
1501
+ }
1502
+ .kanuni-pivot-root .cursor-n-resize {
1503
+ cursor: n-resize;
1504
+ }
1505
+ .kanuni-pivot-root .cursor-ne-resize {
1506
+ cursor: ne-resize;
1507
+ }
1508
+ .kanuni-pivot-root .cursor-nw-resize {
1509
+ cursor: nw-resize;
1510
+ }
1511
+ .kanuni-pivot-root .cursor-pointer {
1512
+ cursor: pointer;
1513
+ }
1514
+ .kanuni-pivot-root .cursor-s-resize {
1515
+ cursor: s-resize;
1516
+ }
1517
+ .kanuni-pivot-root .cursor-se-resize {
1518
+ cursor: se-resize;
1519
+ }
1520
+ .kanuni-pivot-root .cursor-sw-resize {
1521
+ cursor: sw-resize;
1522
+ }
1523
+ .kanuni-pivot-root .cursor-w-resize {
1524
+ cursor: w-resize;
1525
+ }
1526
+ .kanuni-pivot-root .resize {
1527
+ resize: both;
1528
+ }
1529
+ .kanuni-pivot-root .auto-rows-fr {
1530
+ grid-auto-rows: minmax(0, 1fr);
1531
+ }
1532
+ .kanuni-pivot-root .grid-cols-1 {
1533
+ grid-template-columns: repeat(1, minmax(0, 1fr));
1534
+ }
1535
+ .kanuni-pivot-root .flex-col {
1536
+ flex-direction: column;
1537
+ }
1538
+ .kanuni-pivot-root .items-center {
1539
+ align-items: center;
1540
+ }
1541
+ .kanuni-pivot-root .items-end {
1542
+ align-items: flex-end;
1543
+ }
1544
+ .kanuni-pivot-root .justify-between {
1545
+ justify-content: space-between;
1546
+ }
1547
+ .kanuni-pivot-root .justify-center {
1548
+ justify-content: center;
1549
+ }
1550
+ .kanuni-pivot-root .justify-end {
1551
+ justify-content: flex-end;
1552
+ }
1553
+ .kanuni-pivot-root .gap-2 {
1554
+ gap: calc(var(--spacing) * 2);
1555
+ }
1556
+ .kanuni-pivot-root .gap-3 {
1557
+ gap: calc(var(--spacing) * 3);
1558
+ }
1559
+ .kanuni-pivot-root .truncate {
1560
+ overflow: hidden;
1561
+ text-overflow: ellipsis;
1562
+ white-space: nowrap;
1563
+ }
1564
+ .kanuni-pivot-root .overflow-auto {
1565
+ overflow: auto;
1566
+ }
1567
+ .kanuni-pivot-root .overflow-hidden {
1568
+ overflow: hidden;
1569
+ }
1570
+ .kanuni-pivot-root .overflow-y-auto {
1571
+ overflow-y: auto;
1572
+ }
1573
+ .kanuni-pivot-root .rounded {
1574
+ border-radius: 0.25rem;
1575
+ }
1576
+ .kanuni-pivot-root .rounded-full {
1577
+ border-radius: calc(infinity * 1px);
1578
+ }
1579
+ .kanuni-pivot-root .rounded-lg {
1580
+ border-radius: var(--radius-lg);
1581
+ }
1582
+ .kanuni-pivot-root .rounded-md {
1583
+ border-radius: var(--radius-md);
1584
+ }
1585
+ .kanuni-pivot-root .rounded-sm {
1586
+ border-radius: var(--radius-sm);
1587
+ }
1588
+ .kanuni-pivot-root .rounded-xl {
1589
+ border-radius: var(--radius-xl);
1590
+ }
1591
+ .kanuni-pivot-root .border {
1592
+ border-style: var(--tw-border-style);
1593
+ border-width: 1px;
1594
+ }
1595
+ .kanuni-pivot-root .border-e-2 {
1596
+ border-inline-end-style: var(--tw-border-style);
1597
+ border-inline-end-width: 2px;
1598
+ }
1599
+ .kanuni-pivot-root .border-b {
1600
+ border-bottom-style: var(--tw-border-style);
1601
+ border-bottom-width: 1px;
1602
+ }
1603
+ .kanuni-pivot-root .border-b-2 {
1604
+ border-bottom-style: var(--tw-border-style);
1605
+ border-bottom-width: 2px;
1606
+ }
1607
+ .kanuni-pivot-root .border-border {
1608
+ border-color: var(--pivot-border);
1609
+ }
1610
+ .kanuni-pivot-root .border-border\/60 {
1611
+ border-color: var(--pivot-border);
1612
+ @supports (color: color-mix(in lab, red, red)) {
1613
+ border-color: color-mix(in oklab, var(--pivot-border) 60%, transparent);
1614
+ }
1615
+ }
1616
+ .kanuni-pivot-root .border-border\/80 {
1617
+ border-color: var(--pivot-border);
1618
+ @supports (color: color-mix(in lab, red, red)) {
1619
+ border-color: color-mix(in oklab, var(--pivot-border) 80%, transparent);
1620
+ }
1621
+ }
1622
+ .kanuni-pivot-root .border-muted-fg {
1623
+ border-color: var(--pivot-text-muted);
1624
+ }
1625
+ .kanuni-pivot-root .border-primary {
1626
+ border-color: var(--pivot-primary);
1627
+ }
1628
+ .kanuni-pivot-root .bg-black\/40 {
1629
+ background-color: color-mix(in srgb, #000 40%, transparent);
1630
+ @supports (color: color-mix(in lab, red, red)) {
1631
+ background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
1632
+ }
1633
+ }
1634
+ .kanuni-pivot-root .bg-surface {
1635
+ background-color: var(--pivot-surface);
1636
+ }
1637
+ .kanuni-pivot-root .bg-surface-header\/90 {
1638
+ background-color: var(--pivot-surface-header);
1639
+ @supports (color: color-mix(in lab, red, red)) {
1640
+ background-color: color-mix(in oklab, var(--pivot-surface-header) 90%, transparent);
1641
+ }
1642
+ }
1643
+ .kanuni-pivot-root .bg-surface-hover\/50 {
1644
+ background-color: var(--pivot-surface-hover);
1645
+ @supports (color: color-mix(in lab, red, red)) {
1646
+ background-color: color-mix(in oklab, var(--pivot-surface-hover) 50%, transparent);
1647
+ }
1648
+ }
1649
+ .kanuni-pivot-root .bg-surface-sunken\/30 {
1650
+ background-color: var(--pivot-surface-hover);
1651
+ @supports (color: color-mix(in lab, red, red)) {
1652
+ background-color: color-mix(in oklab, var(--pivot-surface-hover) 30%, transparent);
1653
+ }
1654
+ }
1655
+ .kanuni-pivot-root .bg-surface\/80 {
1656
+ background-color: var(--pivot-surface);
1657
+ @supports (color: color-mix(in lab, red, red)) {
1658
+ background-color: color-mix(in oklab, var(--pivot-surface) 80%, transparent);
1659
+ }
1660
+ }
1661
+ .kanuni-pivot-root .p-0\.5 {
1662
+ padding: calc(var(--spacing) * 0.5);
1663
+ }
1664
+ .kanuni-pivot-root .p-1\.5 {
1665
+ padding: calc(var(--spacing) * 1.5);
1666
+ }
1667
+ .kanuni-pivot-root .p-2 {
1668
+ padding: calc(var(--spacing) * 2);
1669
+ }
1670
+ .kanuni-pivot-root .p-3 {
1671
+ padding: calc(var(--spacing) * 3);
1672
+ }
1673
+ .kanuni-pivot-root .px-1 {
1674
+ padding-inline: var(--spacing);
1675
+ }
1676
+ .kanuni-pivot-root .ps-9 {
1677
+ padding-inline-start: calc(var(--spacing) * 9);
1678
+ }
1679
+ .kanuni-pivot-root .text-sm {
1680
+ font-size: var(--text-sm);
1681
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1682
+ }
1683
+ .kanuni-pivot-root .text-xs {
1684
+ font-size: var(--text-xs);
1685
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1686
+ }
1687
+ .kanuni-pivot-root .text-\[11px\] {
1688
+ font-size: 11px;
1689
+ }
1690
+ .kanuni-pivot-root .text-\[13px\] {
1691
+ font-size: 13px;
1692
+ }
1693
+ .kanuni-pivot-root .text-\[15px\] {
1694
+ font-size: 15px;
1695
+ }
1696
+ .kanuni-pivot-root .font-bold {
1697
+ --tw-font-weight: var(--font-weight-bold);
1698
+ font-weight: var(--font-weight-bold);
1699
+ }
1700
+ .kanuni-pivot-root .font-semibold {
1701
+ --tw-font-weight: var(--font-weight-semibold);
1702
+ font-weight: var(--font-weight-semibold);
1703
+ }
1704
+ .kanuni-pivot-root .tracking-wider {
1705
+ --tw-tracking: var(--tracking-wider);
1706
+ letter-spacing: var(--tracking-wider);
1707
+ }
1708
+ .kanuni-pivot-root .text-muted-fg {
1709
+ color: var(--pivot-text-muted);
1710
+ }
1711
+ .kanuni-pivot-root .text-muted-fg\/80 {
1712
+ color: var(--pivot-text-muted);
1713
+ @supports (color: color-mix(in lab, red, red)) {
1714
+ color: color-mix(in oklab, var(--pivot-text-muted) 80%, transparent);
1715
+ }
1716
+ }
1717
+ .kanuni-pivot-root .text-surface-header-fg {
1718
+ color: var(--pivot-text);
1719
+ }
1720
+ .kanuni-pivot-root .uppercase {
1721
+ text-transform: uppercase;
1722
+ }
1723
+ .kanuni-pivot-root .italic {
1724
+ font-style: italic;
1725
+ }
1726
+ .kanuni-pivot-root .tabular-nums {
1727
+ --tw-numeric-spacing: tabular-nums;
1728
+ font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
1729
+ }
1730
+ .kanuni-pivot-root .opacity-0 {
1731
+ opacity: 0%;
1732
+ }
1733
+ .kanuni-pivot-root .opacity-50 {
1734
+ opacity: 50%;
1735
+ }
1736
+ .kanuni-pivot-root .opacity-60 {
1737
+ opacity: 60%;
1738
+ }
1739
+ .kanuni-pivot-root .opacity-100 {
1740
+ opacity: 100%;
1741
+ }
1742
+ .kanuni-pivot-root .shadow-2xl {
1743
+ --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
1744
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1745
+ }
1746
+ .kanuni-pivot-root .shadow-sm {
1747
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1748
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1749
+ }
1750
+ .kanuni-pivot-root .outline {
1751
+ outline-style: var(--tw-outline-style);
1752
+ outline-width: 1px;
1753
+ }
1754
+ .kanuni-pivot-root .filter {
1755
+ filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
1756
+ }
1757
+ .kanuni-pivot-root .backdrop-blur-\[2px\] {
1758
+ --tw-backdrop-blur: blur(2px);
1759
+ -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
1760
+ backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
1761
+ }
1762
+ .kanuni-pivot-root .backdrop-blur-md {
1763
+ --tw-backdrop-blur: blur(var(--blur-md));
1764
+ -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
1765
+ backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
1766
+ }
1767
+ .kanuni-pivot-root .transition {
1768
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
1769
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1770
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1771
+ }
1772
+ .kanuni-pivot-root .transition-all {
1773
+ transition-property: all;
1774
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1775
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1776
+ }
1777
+ .kanuni-pivot-root .transition-colors {
1778
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
1779
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1780
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1781
+ }
1782
+ .kanuni-pivot-root .transition-opacity {
1783
+ transition-property: opacity;
1784
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1785
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1786
+ }
1787
+ .kanuni-pivot-root .duration-300 {
1788
+ --tw-duration: 300ms;
1789
+ transition-duration: 300ms;
1790
+ }
1791
+ .kanuni-pivot-root .ease-out {
1792
+ --tw-ease: var(--ease-out);
1793
+ transition-timing-function: var(--ease-out);
1794
+ }
1795
+ .kanuni-pivot-root .select-all {
1796
+ -webkit-user-select: all;
1797
+ user-select: all;
1798
+ }
1799
+ .kanuni-pivot-root .select-none {
1800
+ -webkit-user-select: none;
1801
+ user-select: none;
1802
+ }
1803
+ .kanuni-pivot-root .group-hover\:opacity-70 {
1804
+ &:is(:where(.group):hover *) {
1805
+ @media (hover: hover) {
1806
+ opacity: 70%;
1807
+ }
1808
+ }
1809
+ }
1810
+ .kanuni-pivot-root .hover\:border-primary\/40 {
1811
+ &:hover {
1812
+ @media (hover: hover) {
1813
+ border-color: var(--pivot-primary);
1814
+ @supports (color: color-mix(in lab, red, red)) {
1815
+ border-color: color-mix(in oklab, var(--pivot-primary) 40%, transparent);
1816
+ }
1817
+ }
1818
+ }
1819
+ }
1820
+ .kanuni-pivot-root .hover\:bg-danger\/10 {
1821
+ &:hover {
1822
+ @media (hover: hover) {
1823
+ background-color: var(--pivot-danger);
1824
+ @supports (color: color-mix(in lab, red, red)) {
1825
+ background-color: color-mix(in oklab, var(--pivot-danger) 10%, transparent);
1826
+ }
1827
+ }
1828
+ }
1829
+ }
1830
+ .kanuni-pivot-root .hover\:text-danger {
1831
+ &:hover {
1832
+ @media (hover: hover) {
1833
+ color: var(--pivot-danger);
1834
+ }
1835
+ }
1836
+ }
1837
+ .kanuni-pivot-root .hover\:opacity-100 {
1838
+ &:hover {
1839
+ @media (hover: hover) {
1840
+ opacity: 100%;
1841
+ }
1842
+ }
1843
+ }
1844
+ .kanuni-pivot-root .focus\:border-primary {
1845
+ &:focus {
1846
+ border-color: var(--pivot-primary);
1847
+ }
1848
+ }
1849
+ .kanuni-pivot-root .focus\:ring-1 {
1850
+ &:focus {
1851
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1852
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1853
+ }
1854
+ }
1855
+ .kanuni-pivot-root .focus\:ring-primary\/20 {
1856
+ &:focus {
1857
+ --tw-ring-color: var(--pivot-primary);
1858
+ @supports (color: color-mix(in lab, red, red)) {
1859
+ --tw-ring-color: color-mix(in oklab, var(--pivot-primary) 20%, transparent);
1860
+ }
1861
+ }
1862
+ }
1863
+ .kanuni-pivot-root .focus\:outline-none {
1864
+ &:focus {
1865
+ --tw-outline-style: none;
1866
+ outline-style: none;
1867
+ }
1868
+ }
1869
+ .kanuni-pivot-root .sm\:grid-cols-2 {
1870
+ @media (width >= 40rem) {
1871
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1872
+ }
1873
+ }
1874
+ .kanuni-pivot-root .md\:w-\[40\%\] {
1875
+ @media (width >= 48rem) {
1876
+ width: 40%;
1877
+ }
1878
+ }
1879
+ .kanuni-pivot-root .md\:w-\[60\%\] {
1880
+ @media (width >= 48rem) {
1881
+ width: 60%;
1882
+ }
1883
+ }
1884
+ .kanuni-pivot-root .md\:flex-row {
1885
+ @media (width >= 48rem) {
1886
+ flex-direction: row;
1887
+ }
1888
+ }
1889
+ .kanuni-pivot-root .md\:border-r {
1890
+ @media (width >= 48rem) {
1891
+ border-right-style: var(--tw-border-style);
1892
+ border-right-width: 1px;
1893
+ }
1894
+ }
1895
+ .kanuni-pivot-root .md\:border-b-0 {
1896
+ @media (width >= 48rem) {
1897
+ border-bottom-style: var(--tw-border-style);
1898
+ border-bottom-width: 0px;
1899
+ }
1900
+ }
1901
+ }
1902
+ @property --tw-translate-x {
1903
+ syntax: "*";
1904
+ inherits: false;
1905
+ initial-value: 0;
1906
+ }
1907
+ @property --tw-translate-y {
1908
+ syntax: "*";
1909
+ inherits: false;
1910
+ initial-value: 0;
1911
+ }
1912
+ @property --tw-translate-z {
1913
+ syntax: "*";
1914
+ inherits: false;
1915
+ initial-value: 0;
1916
+ }
1917
+ @property --tw-rotate-x {
1918
+ syntax: "*";
1919
+ inherits: false;
1920
+ }
1921
+ @property --tw-rotate-y {
1922
+ syntax: "*";
1923
+ inherits: false;
1924
+ }
1925
+ @property --tw-rotate-z {
1926
+ syntax: "*";
1927
+ inherits: false;
1928
+ }
1929
+ @property --tw-skew-x {
1930
+ syntax: "*";
1931
+ inherits: false;
1932
+ }
1933
+ @property --tw-skew-y {
1934
+ syntax: "*";
1935
+ inherits: false;
1936
+ }
1937
+ @property --tw-border-style {
1938
+ syntax: "*";
1939
+ inherits: false;
1940
+ initial-value: solid;
1941
+ }
1942
+ @property --tw-font-weight {
1943
+ syntax: "*";
1944
+ inherits: false;
1945
+ }
1946
+ @property --tw-tracking {
1947
+ syntax: "*";
1948
+ inherits: false;
1949
+ }
1950
+ @property --tw-ordinal {
1951
+ syntax: "*";
1952
+ inherits: false;
1953
+ }
1954
+ @property --tw-slashed-zero {
1955
+ syntax: "*";
1956
+ inherits: false;
1957
+ }
1958
+ @property --tw-numeric-figure {
1959
+ syntax: "*";
1960
+ inherits: false;
1961
+ }
1962
+ @property --tw-numeric-spacing {
1963
+ syntax: "*";
1964
+ inherits: false;
1965
+ }
1966
+ @property --tw-numeric-fraction {
1967
+ syntax: "*";
1968
+ inherits: false;
1969
+ }
1970
+ @property --tw-shadow {
1971
+ syntax: "*";
1972
+ inherits: false;
1973
+ initial-value: 0 0 #0000;
1974
+ }
1975
+ @property --tw-shadow-color {
1976
+ syntax: "*";
1977
+ inherits: false;
1978
+ }
1979
+ @property --tw-shadow-alpha {
1980
+ syntax: "<percentage>";
1981
+ inherits: false;
1982
+ initial-value: 100%;
1983
+ }
1984
+ @property --tw-inset-shadow {
1985
+ syntax: "*";
1986
+ inherits: false;
1987
+ initial-value: 0 0 #0000;
1988
+ }
1989
+ @property --tw-inset-shadow-color {
1990
+ syntax: "*";
1991
+ inherits: false;
1992
+ }
1993
+ @property --tw-inset-shadow-alpha {
1994
+ syntax: "<percentage>";
1995
+ inherits: false;
1996
+ initial-value: 100%;
1997
+ }
1998
+ @property --tw-ring-color {
1999
+ syntax: "*";
2000
+ inherits: false;
2001
+ }
2002
+ @property --tw-ring-shadow {
2003
+ syntax: "*";
2004
+ inherits: false;
2005
+ initial-value: 0 0 #0000;
2006
+ }
2007
+ @property --tw-inset-ring-color {
2008
+ syntax: "*";
2009
+ inherits: false;
2010
+ }
2011
+ @property --tw-inset-ring-shadow {
2012
+ syntax: "*";
2013
+ inherits: false;
2014
+ initial-value: 0 0 #0000;
2015
+ }
2016
+ @property --tw-ring-inset {
2017
+ syntax: "*";
2018
+ inherits: false;
2019
+ }
2020
+ @property --tw-ring-offset-width {
2021
+ syntax: "<length>";
2022
+ inherits: false;
2023
+ initial-value: 0px;
2024
+ }
2025
+ @property --tw-ring-offset-color {
2026
+ syntax: "*";
2027
+ inherits: false;
2028
+ initial-value: #fff;
2029
+ }
2030
+ @property --tw-ring-offset-shadow {
2031
+ syntax: "*";
2032
+ inherits: false;
2033
+ initial-value: 0 0 #0000;
2034
+ }
2035
+ @property --tw-outline-style {
2036
+ syntax: "*";
2037
+ inherits: false;
2038
+ initial-value: solid;
2039
+ }
2040
+ @property --tw-blur {
2041
+ syntax: "*";
2042
+ inherits: false;
2043
+ }
2044
+ @property --tw-brightness {
2045
+ syntax: "*";
2046
+ inherits: false;
2047
+ }
2048
+ @property --tw-contrast {
2049
+ syntax: "*";
2050
+ inherits: false;
2051
+ }
2052
+ @property --tw-grayscale {
2053
+ syntax: "*";
2054
+ inherits: false;
2055
+ }
2056
+ @property --tw-hue-rotate {
2057
+ syntax: "*";
2058
+ inherits: false;
2059
+ }
2060
+ @property --tw-invert {
2061
+ syntax: "*";
2062
+ inherits: false;
2063
+ }
2064
+ @property --tw-opacity {
2065
+ syntax: "*";
2066
+ inherits: false;
2067
+ }
2068
+ @property --tw-saturate {
2069
+ syntax: "*";
2070
+ inherits: false;
2071
+ }
2072
+ @property --tw-sepia {
2073
+ syntax: "*";
2074
+ inherits: false;
2075
+ }
2076
+ @property --tw-drop-shadow {
2077
+ syntax: "*";
2078
+ inherits: false;
2079
+ }
2080
+ @property --tw-drop-shadow-color {
2081
+ syntax: "*";
2082
+ inherits: false;
2083
+ }
2084
+ @property --tw-drop-shadow-alpha {
2085
+ syntax: "<percentage>";
2086
+ inherits: false;
2087
+ initial-value: 100%;
2088
+ }
2089
+ @property --tw-drop-shadow-size {
2090
+ syntax: "*";
2091
+ inherits: false;
2092
+ }
2093
+ @property --tw-backdrop-blur {
2094
+ syntax: "*";
2095
+ inherits: false;
2096
+ }
2097
+ @property --tw-backdrop-brightness {
2098
+ syntax: "*";
2099
+ inherits: false;
2100
+ }
2101
+ @property --tw-backdrop-contrast {
2102
+ syntax: "*";
2103
+ inherits: false;
2104
+ }
2105
+ @property --tw-backdrop-grayscale {
2106
+ syntax: "*";
2107
+ inherits: false;
2108
+ }
2109
+ @property --tw-backdrop-hue-rotate {
2110
+ syntax: "*";
2111
+ inherits: false;
2112
+ }
2113
+ @property --tw-backdrop-invert {
2114
+ syntax: "*";
2115
+ inherits: false;
2116
+ }
2117
+ @property --tw-backdrop-opacity {
2118
+ syntax: "*";
2119
+ inherits: false;
2120
+ }
2121
+ @property --tw-backdrop-saturate {
2122
+ syntax: "*";
2123
+ inherits: false;
2124
+ }
2125
+ @property --tw-backdrop-sepia {
2126
+ syntax: "*";
2127
+ inherits: false;
2128
+ }
2129
+ @property --tw-duration {
2130
+ syntax: "*";
2131
+ inherits: false;
2132
+ }
2133
+ @property --tw-ease {
2134
+ syntax: "*";
2135
+ inherits: false;
2136
+ }
2137
+ @keyframes spin {
2138
+ to {
2139
+ transform: rotate(360deg);
2140
+ }
2141
+ }
2142
+ @layer properties {
2143
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
2144
+ *, .kanuni-pivot-root ::before, .kanuni-pivot-root ::after, ::backdrop {
2145
+ --tw-translate-x: 0;
2146
+ --tw-translate-y: 0;
2147
+ --tw-translate-z: 0;
2148
+ --tw-rotate-x: initial;
2149
+ --tw-rotate-y: initial;
2150
+ --tw-rotate-z: initial;
2151
+ --tw-skew-x: initial;
2152
+ --tw-skew-y: initial;
2153
+ --tw-border-style: solid;
2154
+ --tw-font-weight: initial;
2155
+ --tw-tracking: initial;
2156
+ --tw-ordinal: initial;
2157
+ --tw-slashed-zero: initial;
2158
+ --tw-numeric-figure: initial;
2159
+ --tw-numeric-spacing: initial;
2160
+ --tw-numeric-fraction: initial;
2161
+ --tw-shadow: 0 0 #0000;
2162
+ --tw-shadow-color: initial;
2163
+ --tw-shadow-alpha: 100%;
2164
+ --tw-inset-shadow: 0 0 #0000;
2165
+ --tw-inset-shadow-color: initial;
2166
+ --tw-inset-shadow-alpha: 100%;
2167
+ --tw-ring-color: initial;
2168
+ --tw-ring-shadow: 0 0 #0000;
2169
+ --tw-inset-ring-color: initial;
2170
+ --tw-inset-ring-shadow: 0 0 #0000;
2171
+ --tw-ring-inset: initial;
2172
+ --tw-ring-offset-width: 0px;
2173
+ --tw-ring-offset-color: #fff;
2174
+ --tw-ring-offset-shadow: 0 0 #0000;
2175
+ --tw-outline-style: solid;
2176
+ --tw-blur: initial;
2177
+ --tw-brightness: initial;
2178
+ --tw-contrast: initial;
2179
+ --tw-grayscale: initial;
2180
+ --tw-hue-rotate: initial;
2181
+ --tw-invert: initial;
2182
+ --tw-opacity: initial;
2183
+ --tw-saturate: initial;
2184
+ --tw-sepia: initial;
2185
+ --tw-drop-shadow: initial;
2186
+ --tw-drop-shadow-color: initial;
2187
+ --tw-drop-shadow-alpha: 100%;
2188
+ --tw-drop-shadow-size: initial;
2189
+ --tw-backdrop-blur: initial;
2190
+ --tw-backdrop-brightness: initial;
2191
+ --tw-backdrop-contrast: initial;
2192
+ --tw-backdrop-grayscale: initial;
2193
+ --tw-backdrop-hue-rotate: initial;
2194
+ --tw-backdrop-invert: initial;
2195
+ --tw-backdrop-opacity: initial;
2196
+ --tw-backdrop-saturate: initial;
2197
+ --tw-backdrop-sepia: initial;
2198
+ --tw-duration: initial;
2199
+ --tw-ease: initial;
2200
+ }
2201
+ }
2202
+ }
2203
+